diff --git a/fonts/Gotham-Black.eot b/fonts/Gotham-Black.eot new file mode 100755 index 0000000..850ec13 Binary files /dev/null and b/fonts/Gotham-Black.eot differ diff --git a/fonts/Gotham-Black.svg b/fonts/Gotham-Black.svg new file mode 100755 index 0000000..286fe52 --- /dev/null +++ b/fonts/Gotham-Black.svg @@ -0,0 +1,9844 @@ + + + + +Created by FontForge 20170731 at Tue Jan 4 19:49:22 2022 + By Aleksey,,, +Copyright (C) 2001, 2011 Hoefler & Co. http://www.typography.com |DCNT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Gotham-Black.ttf b/fonts/Gotham-Black.ttf new file mode 100755 index 0000000..50afa0f Binary files /dev/null and b/fonts/Gotham-Black.ttf differ diff --git a/fonts/Gotham-Black.woff b/fonts/Gotham-Black.woff new file mode 100755 index 0000000..703cdd1 Binary files /dev/null and b/fonts/Gotham-Black.woff differ diff --git a/fonts/Gotham-Black.woff2 b/fonts/Gotham-Black.woff2 new file mode 100755 index 0000000..9913869 Binary files /dev/null and b/fonts/Gotham-Black.woff2 differ diff --git a/fonts/demo.html b/fonts/demo.html new file mode 100755 index 0000000..bc80143 --- /dev/null +++ b/fonts/demo.html @@ -0,0 +1,192 @@ + + + + + + + + + Transfonter demo + + + + +
+
+

Gotham Black

+
.your-style {
+    font-family: 'Gotham';
+    font-weight: 900;
+    font-style: normal;
+}
+
+<link rel="preload" href="Gotham-Black.woff2" as="font" type="font/woff2" crossorigin>
+
+

+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~ +

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+
+
+ +
+ + diff --git a/fonts/stylesheet.css b/fonts/stylesheet.css new file mode 100755 index 0000000..acd5212 --- /dev/null +++ b/fonts/stylesheet.css @@ -0,0 +1,13 @@ +@font-face { + font-family: 'Gotham'; + src: url('Gotham-Black.eot'); + src: url('Gotham-Black.eot?#iefix') format('embedded-opentype'), + url('Gotham-Black.woff2') format('woff2'), + url('Gotham-Black.woff') format('woff'), + url('Gotham-Black.ttf') format('truetype'), + url('Gotham-Black.svg#Gotham-Black') format('svg'); + font-weight: 200; + font-style: normal; + font-display: swap; +} + diff --git a/images/detal1.svg b/images/detal1.svg new file mode 100755 index 0000000..f05875c --- /dev/null +++ b/images/detal1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/images/detal2.svg b/images/detal2.svg new file mode 100755 index 0000000..83c347a --- /dev/null +++ b/images/detal2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/images/detal3.svg b/images/detal3.svg new file mode 100755 index 0000000..544a350 --- /dev/null +++ b/images/detal3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/images/hot-link-new.svg b/images/hot-link-new.svg new file mode 100755 index 0000000..60d2bb1 --- /dev/null +++ b/images/hot-link-new.svg @@ -0,0 +1,4 @@ + + + + diff --git a/images/hot-links-hot.svg b/images/hot-links-hot.svg new file mode 100755 index 0000000..50d23fb --- /dev/null +++ b/images/hot-links-hot.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/hot-links-like.svg b/images/hot-links-like.svg new file mode 100755 index 0000000..ec84959 --- /dev/null +++ b/images/hot-links-like.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/icons/Phone.svg b/images/icons/Phone.svg new file mode 100755 index 0000000..236696e --- /dev/null +++ b/images/icons/Phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/Pin.svg b/images/icons/Pin.svg new file mode 100755 index 0000000..b019334 --- /dev/null +++ b/images/icons/Pin.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/arrow-left.svg b/images/icons/arrow-left.svg new file mode 100755 index 0000000..bfd5a02 --- /dev/null +++ b/images/icons/arrow-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/arrow-right.svg b/images/icons/arrow-right.svg new file mode 100755 index 0000000..6c1cd52 --- /dev/null +++ b/images/icons/arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/btn-up.svg b/images/icons/btn-up.svg new file mode 100755 index 0000000..f17fb52 --- /dev/null +++ b/images/icons/btn-up.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/images/icons/cart-icon.svg b/images/icons/cart-icon.svg new file mode 100755 index 0000000..01a0528 --- /dev/null +++ b/images/icons/cart-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/icons/email.svg b/images/icons/email.svg new file mode 100755 index 0000000..516abef --- /dev/null +++ b/images/icons/email.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/facebook.svg b/images/icons/facebook.svg new file mode 100755 index 0000000..be91d6b --- /dev/null +++ b/images/icons/facebook.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/images/icons/heart.svg b/images/icons/heart.svg new file mode 100755 index 0000000..acf90b5 --- /dev/null +++ b/images/icons/heart.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/icn_arrow-gray.svg b/images/icons/icn_arrow-gray.svg new file mode 100755 index 0000000..90a65e9 --- /dev/null +++ b/images/icons/icn_arrow-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/icn_arrow.svg b/images/icons/icn_arrow.svg new file mode 100755 index 0000000..4daf1ee --- /dev/null +++ b/images/icons/icn_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/icon_close_xxs.svg b/images/icons/icon_close_xxs.svg new file mode 100755 index 0000000..3c23e37 --- /dev/null +++ b/images/icons/icon_close_xxs.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/instagram.svg b/images/icons/instagram.svg new file mode 100755 index 0000000..40e6a86 --- /dev/null +++ b/images/icons/instagram.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/icons/line-icon.svg b/images/icons/line-icon.svg new file mode 100755 index 0000000..91fc90d --- /dev/null +++ b/images/icons/line-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/linkidin.svg b/images/icons/linkidin.svg new file mode 100755 index 0000000..a4381b1 --- /dev/null +++ b/images/icons/linkidin.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/images/icons/phone-icon.svg b/images/icons/phone-icon.svg new file mode 100755 index 0000000..22e7948 --- /dev/null +++ b/images/icons/phone-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/planet-icon.svg b/images/icons/planet-icon.svg new file mode 100755 index 0000000..73675da --- /dev/null +++ b/images/icons/planet-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/icons/red.svg b/images/icons/red.svg new file mode 100755 index 0000000..f844acd --- /dev/null +++ b/images/icons/red.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/images/icons/send_24px.svg b/images/icons/send_24px.svg new file mode 100755 index 0000000..6d23165 --- /dev/null +++ b/images/icons/send_24px.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/socials.svg b/images/icons/socials.svg new file mode 100755 index 0000000..d85e73e --- /dev/null +++ b/images/icons/socials.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/icons/twitter.svg b/images/icons/twitter.svg new file mode 100755 index 0000000..a857873 --- /dev/null +++ b/images/icons/twitter.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/images/icons/user-icon.svg b/images/icons/user-icon.svg new file mode 100755 index 0000000..8133e39 --- /dev/null +++ b/images/icons/user-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/images/icons/white_planet.svg b/images/icons/white_planet.svg new file mode 100755 index 0000000..5ccba27 --- /dev/null +++ b/images/icons/white_planet.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/icons/youtube.svg b/images/icons/youtube.svg new file mode 100755 index 0000000..e1033ed --- /dev/null +++ b/images/icons/youtube.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/images/icons/zoom-icon.svg b/images/icons/zoom-icon.svg new file mode 100755 index 0000000..6a4bff7 --- /dev/null +++ b/images/icons/zoom-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/logo/logo-black.svg b/images/logo/logo-black.svg new file mode 100755 index 0000000..6261786 --- /dev/null +++ b/images/logo/logo-black.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/logo/logo.svg b/images/logo/logo.svg new file mode 100755 index 0000000..d38f9cb --- /dev/null +++ b/images/logo/logo.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/made-in-france.svg b/images/made-in-france.svg new file mode 100755 index 0000000..5119ba6 --- /dev/null +++ b/images/made-in-france.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/images/plate1.svg b/images/plate1.svg new file mode 100755 index 0000000..f05875c --- /dev/null +++ b/images/plate1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/node_modules/.bin/prettier b/node_modules/.bin/prettier new file mode 120000 index 0000000..a478df3 --- /dev/null +++ b/node_modules/.bin/prettier @@ -0,0 +1 @@ +../prettier/bin-prettier.js \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100755 index 0000000..64e7ac7 --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,19 @@ +{ + "name": "Unlimited Display", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + } + } +} diff --git a/node_modules/prettier/LICENSE b/node_modules/prettier/LICENSE new file mode 100755 index 0000000..5767e34 --- /dev/null +++ b/node_modules/prettier/LICENSE @@ -0,0 +1,7 @@ +Copyright © James Long and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/prettier/README.md b/node_modules/prettier/README.md new file mode 100755 index 0000000..14ced8d --- /dev/null +++ b/node_modules/prettier/README.md @@ -0,0 +1,111 @@ +![Prettier Banner](https://raw.githubusercontent.com/prettier/prettier-logo/master/images/prettier-banner-light.png) + +

Opinionated Code Formatter

+ +

+ + JavaScript + · TypeScript + · Flow + · JSX + · JSON + +
+ + CSS + · SCSS + · Less + +
+ + HTML + · Vue + · Angular + +
+ + GraphQL + · Markdown + · YAML + +
+ + + Your favorite language? + + +

+ +

+ + Github Actions Build Status + + Github Actions Build Status + + Github Actions Build Status + + Codecov Coverage Status + + Blazing Fast +
+ + npm version + + weekly downloads from npm + + code style: prettier + + Chat on Gitter + + Follow Prettier on Twitter +

+ +## Intro + +Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary. + +### Input + + +```js +foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne()); +``` + +### Output + +```js +foo( + reallyLongArg(), + omgSoManyParameters(), + IShouldRefactorThis(), + isThereSeriouslyAnotherOne() +); +``` + +Prettier can be run [in your editor](https://prettier.io/docs/en/editors.html) on-save, in a [pre-commit hook](https://prettier.io/docs/en/precommit.html), or in [CI environments](https://prettier.io/docs/en/cli.html#list-different) to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again! + +--- + +**[Documentation](https://prettier.io/docs/en/)** + + +[Install](https://prettier.io/docs/en/install.html) · +[Options](https://prettier.io/docs/en/options.html) · +[CLI](https://prettier.io/docs/en/cli.html) · +[API](https://prettier.io/docs/en/api.html) + +**[Playground](https://prettier.io/playground/)** + +--- + +## Badge + +Show the world you're using _Prettier_ → [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) + +```md +[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/node_modules/prettier/bin-prettier.js b/node_modules/prettier/bin-prettier.js new file mode 100755 index 0000000..9dba800 --- /dev/null +++ b/node_modules/prettier/bin-prettier.js @@ -0,0 +1,20229 @@ +#!/usr/bin/env node +'use strict'; + +var require$$0$2 = require('path'); +var require$$0$5 = require('fs'); +var require$$0$1 = require('os'); +var require$$1 = require('tty'); +var require$$0$3 = require('util'); +var require$$0$4 = require('stream'); +var require$$0$6 = require('events'); +var require$$0$7 = require('readline'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2); +var require$$0__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$0$5); +var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$1); +var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1); +var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3); +var require$$0__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4); +var require$$0__default$5 = /*#__PURE__*/_interopDefaultLegacy(require$$0$6); +var require$$0__default$6 = /*#__PURE__*/_interopDefaultLegacy(require$$0$7); + +var require$$0 = require("./package.json"); + +var semverCompare$1 = function cmp(a, b) { + var pa = a.split('.'); + var pb = b.split('.'); + + for (var i = 0; i < 3; i++) { + var na = Number(pa[i]); + var nb = Number(pb[i]); + if (na > nb) return 1; + if (nb > na) return -1; + if (!isNaN(na) && isNaN(nb)) return 1; + if (isNaN(na) && !isNaN(nb)) return -1; + } + + return 0; +}; + +var semverCompare = semverCompare$1; + +var pleaseUpgradeNode = function pleaseUpgradeNode(pkg, opts) { + var opts = opts || {}; + var requiredVersion = pkg.engines.node.replace('>=', ''); + var currentVersion = process.version.replace('v', ''); + + if (semverCompare(currentVersion, requiredVersion) === -1) { + if (opts.message) { + console.error(opts.message(requiredVersion)); + } else { + console.error(pkg.name + ' requires at least version ' + requiredVersion + ' of Node, please upgrade'); + } + + if (opts.hasOwnProperty('exitCode')) { + process.exit(opts.exitCode); + } else { + process.exit(1); + } + } +}; + +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global$r = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global$r == 'object' && global$r) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + +var objectGetOwnPropertyDescriptor = {}; + +var fails$8 = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +var fails$7 = fails$8; + +// Detect IE8's incomplete defineProperty implementation +var descriptors = !fails$7(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + +var call$7 = Function.prototype.call; + +var functionCall = call$7.bind ? call$7.bind(call$7) : function () { + return call$7.apply(call$7, arguments); +}; + +var objectPropertyIsEnumerable = {}; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor$1(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +var createPropertyDescriptor$3 = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +var FunctionPrototype$1 = Function.prototype; +var bind$3 = FunctionPrototype$1.bind; +var call$6 = FunctionPrototype$1.call; +var callBind = bind$3 && bind$3.bind(call$6); + +var functionUncurryThis = bind$3 ? function (fn) { + return fn && callBind(call$6, fn); +} : function (fn) { + return fn && function () { + return call$6.apply(fn, arguments); + }; +}; + +var uncurryThis$c = functionUncurryThis; + +var toString$5 = uncurryThis$c({}.toString); +var stringSlice = uncurryThis$c(''.slice); + +var classofRaw$1 = function (it) { + return stringSlice(toString$5(it), 8, -1); +}; + +var global$q = global$r; +var uncurryThis$b = functionUncurryThis; +var fails$6 = fails$8; +var classof$5 = classofRaw$1; + +var Object$4 = global$q.Object; +var split = uncurryThis$b(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var indexedObject = fails$6(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object$4('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof$5(it) == 'String' ? split(it, '') : Object$4(it); +} : Object$4; + +var global$p = global$r; + +var TypeError$a = global$p.TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +var requireObjectCoercible$2 = function (it) { + if (it == undefined) throw TypeError$a("Can't call method on " + it); + return it; +}; + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = indexedObject; +var requireObjectCoercible$1 = requireObjectCoercible$2; + +var toIndexedObject$4 = function (it) { + return IndexedObject(requireObjectCoercible$1(it)); +}; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +var isCallable$b = function (argument) { + return typeof argument == 'function'; +}; + +var isCallable$a = isCallable$b; + +var isObject$d = function (it) { + return typeof it == 'object' ? it !== null : isCallable$a(it); +}; + +var global$o = global$r; +var isCallable$9 = isCallable$b; + +var aFunction = function (argument) { + return isCallable$9(argument) ? argument : undefined; +}; + +var getBuiltIn$5 = function (namespace, method) { + return arguments.length < 2 ? aFunction(global$o[namespace]) : global$o[namespace] && global$o[namespace][method]; +}; + +var uncurryThis$a = functionUncurryThis; + +var objectIsPrototypeOf = uncurryThis$a({}.isPrototypeOf); + +var getBuiltIn$4 = getBuiltIn$5; + +var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || ''; + +var global$n = global$r; +var userAgent$2 = engineUserAgent; + +var process$1 = global$n.process; +var Deno = global$n.Deno; +var versions = process$1 && process$1.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent$2) { + match = userAgent$2.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent$2.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +var engineV8Version = version; + +/* eslint-disable es/no-symbol -- required for testing */ + +var V8_VERSION = engineV8Version; +var fails$5 = fails$8; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$5(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/* eslint-disable es/no-symbol -- required for testing */ + +var NATIVE_SYMBOL$1 = nativeSymbol; + +var useSymbolAsUid = NATIVE_SYMBOL$1 + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + +var global$m = global$r; +var getBuiltIn$3 = getBuiltIn$5; +var isCallable$8 = isCallable$b; +var isPrototypeOf$1 = objectIsPrototypeOf; +var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; + +var Object$3 = global$m.Object; + +var isSymbol$6 = USE_SYMBOL_AS_UID$1 ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn$3('Symbol'); + return isCallable$8($Symbol) && isPrototypeOf$1($Symbol.prototype, Object$3(it)); +}; + +var global$l = global$r; + +var String$3 = global$l.String; + +var tryToString$3 = function (argument) { + try { + return String$3(argument); + } catch (error) { + return 'Object'; + } +}; + +var global$k = global$r; +var isCallable$7 = isCallable$b; +var tryToString$2 = tryToString$3; + +var TypeError$9 = global$k.TypeError; + +// `Assert: IsCallable(argument) is true` +var aCallable$5 = function (argument) { + if (isCallable$7(argument)) return argument; + throw TypeError$9(tryToString$2(argument) + ' is not a function'); +}; + +var aCallable$4 = aCallable$5; + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +var getMethod$3 = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable$4(func); +}; + +var global$j = global$r; +var call$5 = functionCall; +var isCallable$6 = isCallable$b; +var isObject$c = isObject$d; + +var TypeError$8 = global$j.TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +var ordinaryToPrimitive$1 = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable$6(fn = input.toString) && !isObject$c(val = call$5(fn, input))) return val; + if (isCallable$6(fn = input.valueOf) && !isObject$c(val = call$5(fn, input))) return val; + if (pref !== 'string' && isCallable$6(fn = input.toString) && !isObject$c(val = call$5(fn, input))) return val; + throw TypeError$8("Can't convert object to primitive value"); +}; + +var shared$3 = {exports: {}}; + +var global$i = global$r; + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty$3 = Object.defineProperty; + +var setGlobal$3 = function (key, value) { + try { + defineProperty$3(global$i, key, { value: value, configurable: true, writable: true }); + } catch (error) { + global$i[key] = value; + } return value; +}; + +var global$h = global$r; +var setGlobal$2 = setGlobal$3; + +var SHARED = '__core-js_shared__'; +var store$3 = global$h[SHARED] || setGlobal$2(SHARED, {}); + +var sharedStore = store$3; + +var store$2 = sharedStore; + +(shared$3.exports = function (key, value) { + return store$2[key] || (store$2[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.19.1', + mode: 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); + +var global$g = global$r; +var requireObjectCoercible = requireObjectCoercible$2; + +var Object$2 = global$g.Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +var toObject$4 = function (argument) { + return Object$2(requireObjectCoercible(argument)); +}; + +var uncurryThis$9 = functionUncurryThis; +var toObject$3 = toObject$4; + +var hasOwnProperty$b = uncurryThis$9({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty$b(toObject$3(it), key); +}; + +var uncurryThis$8 = functionUncurryThis; + +var id = 0; +var postfix = Math.random(); +var toString$4 = uncurryThis$8(1.0.toString); + +var uid$2 = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$4(++id + postfix, 36); +}; + +var global$f = global$r; +var shared$2 = shared$3.exports; +var hasOwn$6 = hasOwnProperty_1; +var uid$1 = uid$2; +var NATIVE_SYMBOL = nativeSymbol; +var USE_SYMBOL_AS_UID = useSymbolAsUid; + +var WellKnownSymbolsStore = shared$2('wks'); +var Symbol$7 = global$f.Symbol; +var symbolFor = Symbol$7 && Symbol$7['for']; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$7 : Symbol$7 && Symbol$7.withoutSetter || uid$1; + +var wellKnownSymbol$7 = function (name) { + if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn$6(Symbol$7, name)) { + WellKnownSymbolsStore[name] = Symbol$7[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } return WellKnownSymbolsStore[name]; +}; + +var global$e = global$r; +var call$4 = functionCall; +var isObject$b = isObject$d; +var isSymbol$5 = isSymbol$6; +var getMethod$2 = getMethod$3; +var ordinaryToPrimitive = ordinaryToPrimitive$1; +var wellKnownSymbol$6 = wellKnownSymbol$7; + +var TypeError$7 = global$e.TypeError; +var TO_PRIMITIVE = wellKnownSymbol$6('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +var toPrimitive$1 = function (input, pref) { + if (!isObject$b(input) || isSymbol$5(input)) return input; + var exoticToPrim = getMethod$2(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call$4(exoticToPrim, input, pref); + if (!isObject$b(result) || isSymbol$5(result)) return result; + throw TypeError$7("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +var toPrimitive = toPrimitive$1; +var isSymbol$4 = isSymbol$6; + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +var toPropertyKey$3 = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol$4(key) ? key : key + ''; +}; + +var global$d = global$r; +var isObject$a = isObject$d; + +var document$1 = global$d.document; +// typeof document.createElement is 'object' in old IE +var EXISTS$1 = isObject$a(document$1) && isObject$a(document$1.createElement); + +var documentCreateElement$1 = function (it) { + return EXISTS$1 ? document$1.createElement(it) : {}; +}; + +var DESCRIPTORS$5 = descriptors; +var fails$4 = fails$8; +var createElement = documentCreateElement$1; + +// Thank's IE8 for his funny defineProperty +var ie8DomDefine = !DESCRIPTORS$5 && !fails$4(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +var DESCRIPTORS$4 = descriptors; +var call$3 = functionCall; +var propertyIsEnumerableModule = objectPropertyIsEnumerable; +var createPropertyDescriptor$2 = createPropertyDescriptor$3; +var toIndexedObject$3 = toIndexedObject$4; +var toPropertyKey$2 = toPropertyKey$3; +var hasOwn$5 = hasOwnProperty_1; +var IE8_DOM_DEFINE$1 = ie8DomDefine; + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +objectGetOwnPropertyDescriptor.f = DESCRIPTORS$4 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject$3(O); + P = toPropertyKey$2(P); + if (IE8_DOM_DEFINE$1) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn$5(O, P)) return createPropertyDescriptor$2(!call$3(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +var objectDefineProperty = {}; + +var global$c = global$r; +var isObject$9 = isObject$d; + +var String$2 = global$c.String; +var TypeError$6 = global$c.TypeError; + +// `Assert: Type(argument) is Object` +var anObject$7 = function (argument) { + if (isObject$9(argument)) return argument; + throw TypeError$6(String$2(argument) + ' is not an object'); +}; + +var global$b = global$r; +var DESCRIPTORS$3 = descriptors; +var IE8_DOM_DEFINE = ie8DomDefine; +var anObject$6 = anObject$7; +var toPropertyKey$1 = toPropertyKey$3; + +var TypeError$5 = global$b.TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +objectDefineProperty.f = DESCRIPTORS$3 ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject$6(O); + P = toPropertyKey$1(P); + anObject$6(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError$5('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +var DESCRIPTORS$2 = descriptors; +var definePropertyModule$4 = objectDefineProperty; +var createPropertyDescriptor$1 = createPropertyDescriptor$3; + +var createNonEnumerableProperty$3 = DESCRIPTORS$2 ? function (object, key, value) { + return definePropertyModule$4.f(object, key, createPropertyDescriptor$1(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +var redefine$1 = {exports: {}}; + +var uncurryThis$7 = functionUncurryThis; +var isCallable$5 = isCallable$b; +var store$1 = sharedStore; + +var functionToString = uncurryThis$7(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable$5(store$1.inspectSource)) { + store$1.inspectSource = function (it) { + return functionToString(it); + }; +} + +var inspectSource$3 = store$1.inspectSource; + +var global$a = global$r; +var isCallable$4 = isCallable$b; +var inspectSource$2 = inspectSource$3; + +var WeakMap$4 = global$a.WeakMap; + +var nativeWeakMap = isCallable$4(WeakMap$4) && /native code/.test(inspectSource$2(WeakMap$4)); + +var shared$1 = shared$3.exports; +var uid = uid$2; + +var keys$4 = shared$1('keys'); + +var sharedKey$2 = function (key) { + return keys$4[key] || (keys$4[key] = uid(key)); +}; + +var hiddenKeys$4 = {}; + +var NATIVE_WEAK_MAP = nativeWeakMap; +var global$9 = global$r; +var uncurryThis$6 = functionUncurryThis; +var isObject$8 = isObject$d; +var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; +var hasOwn$4 = hasOwnProperty_1; +var shared = sharedStore; +var sharedKey$1 = sharedKey$2; +var hiddenKeys$3 = hiddenKeys$4; + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError$4 = global$9.TypeError; +var WeakMap$3 = global$9.WeakMap; +var set, get$2, has; + +var enforce = function (it) { + return has(it) ? get$2(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject$8(it) || (state = get$2(it)).type !== TYPE) { + throw TypeError$4('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap$3()); + var wmget = uncurryThis$6(store.get); + var wmhas = uncurryThis$6(store.has); + var wmset = uncurryThis$6(store.set); + set = function (it, metadata) { + if (wmhas(store, it)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get$2 = function (it) { + return wmget(store, it) || {}; + }; + has = function (it) { + return wmhas(store, it); + }; +} else { + var STATE = sharedKey$1('state'); + hiddenKeys$3[STATE] = true; + set = function (it, metadata) { + if (hasOwn$4(it, STATE)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty$2(it, STATE, metadata); + return metadata; + }; + get$2 = function (it) { + return hasOwn$4(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn$4(it, STATE); + }; +} + +var internalState = { + set: set, + get: get$2, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +var DESCRIPTORS$1 = descriptors; +var hasOwn$3 = hasOwnProperty_1; + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS$1 && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn$3(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS$1 || (DESCRIPTORS$1 && getDescriptor(FunctionPrototype, 'name').configurable)); + +var functionName = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +var global$8 = global$r; +var isCallable$3 = isCallable$b; +var hasOwn$2 = hasOwnProperty_1; +var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; +var setGlobal$1 = setGlobal$3; +var inspectSource$1 = inspectSource$3; +var InternalStateModule = internalState; +var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; + +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(String).split('String'); + +(redefine$1.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var name = options && options.name !== undefined ? options.name : key; + var state; + if (isCallable$3(value)) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + createNonEnumerableProperty$1(value, 'name', name); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } + } + if (O === global$8) { + if (simple) O[key] = value; + else setGlobal$1(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty$1(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return isCallable$3(this) && getInternalState(this).source || inspectSource$1(this); +}); + +var objectGetOwnPropertyNames = {}; + +var ceil = Math.ceil; +var floor$1 = Math.floor; + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +var toIntegerOrInfinity$3 = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- safe + return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number); +}; + +var toIntegerOrInfinity$2 = toIntegerOrInfinity$3; + +var max = Math.max; +var min$1 = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +var toAbsoluteIndex$1 = function (index, length) { + var integer = toIntegerOrInfinity$2(index); + return integer < 0 ? max(integer + length, 0) : min$1(integer, length); +}; + +var toIntegerOrInfinity$1 = toIntegerOrInfinity$3; + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +var toLength$1 = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +var toLength = toLength$1; + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +var lengthOfArrayLike$6 = function (obj) { + return toLength(obj.length); +}; + +var toIndexedObject$2 = toIndexedObject$4; +var toAbsoluteIndex = toAbsoluteIndex$1; +var lengthOfArrayLike$5 = lengthOfArrayLike$6; + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject$2($this); + var length = lengthOfArrayLike$5(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +var arrayIncludes = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + +var uncurryThis$5 = functionUncurryThis; +var hasOwn$1 = hasOwnProperty_1; +var toIndexedObject$1 = toIndexedObject$4; +var indexOf = arrayIncludes.indexOf; +var hiddenKeys$2 = hiddenKeys$4; + +var push$1 = uncurryThis$5([].push); + +var objectKeysInternal = function (object, names) { + var O = toIndexedObject$1(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O, key) && push$1(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn$1(O, key = names[i++])) { + ~indexOf(result, key) || push$1(result, key); + } + return result; +}; + +// IE8- don't enum bug keys +var enumBugKeys$3 = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +var internalObjectKeys$1 = objectKeysInternal; +var enumBugKeys$2 = enumBugKeys$3; + +var hiddenKeys$1 = enumBugKeys$2.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys$1(O, hiddenKeys$1); +}; + +var objectGetOwnPropertySymbols = {}; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; + +var getBuiltIn$2 = getBuiltIn$5; +var uncurryThis$4 = functionUncurryThis; +var getOwnPropertyNamesModule = objectGetOwnPropertyNames; +var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; +var anObject$5 = anObject$7; + +var concat = uncurryThis$4([].concat); + +// all object keys, includes non-enumerable and symbols +var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject$5(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +var hasOwn = hasOwnProperty_1; +var ownKeys = ownKeys$1; +var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; +var definePropertyModule$3 = objectDefineProperty; + +var copyConstructorProperties$1 = function (target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule$3.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + +var fails$3 = fails$8; +var isCallable$2 = isCallable$b; + +var replacement = /#|\.prototype\./; + +var isForced$1 = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : isCallable$2(detection) ? fails$3(detection) + : !!detection; +}; + +var normalize = isForced$1.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced$1.data = {}; +var NATIVE = isForced$1.NATIVE = 'N'; +var POLYFILL = isForced$1.POLYFILL = 'P'; + +var isForced_1 = isForced$1; + +var global$7 = global$r; +var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; +var createNonEnumerableProperty = createNonEnumerableProperty$3; +var redefine = redefine$1.exports; +var setGlobal = setGlobal$3; +var copyConstructorProperties = copyConstructorProperties$1; +var isForced = isForced_1; + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +var _export = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global$7; + } else if (STATIC) { + target = global$7[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global$7[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + +var wellKnownSymbol$5 = wellKnownSymbol$7; + +var TO_STRING_TAG$1 = wellKnownSymbol$5('toStringTag'); +var test$1 = {}; + +test$1[TO_STRING_TAG$1] = 'z'; + +var toStringTagSupport = String(test$1) === '[object z]'; + +var global$6 = global$r; +var TO_STRING_TAG_SUPPORT = toStringTagSupport; +var isCallable$1 = isCallable$b; +var classofRaw = classofRaw$1; +var wellKnownSymbol$4 = wellKnownSymbol$7; + +var TO_STRING_TAG = wellKnownSymbol$4('toStringTag'); +var Object$1 = global$6.Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +var classof$4 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; +}; + +var global$5 = global$r; +var classof$3 = classof$4; + +var String$1 = global$5.String; + +var toString$3 = function (argument) { + if (classof$3(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + return String$1(argument); +}; + +var uncurryThis$3 = functionUncurryThis; + +var arraySlice$1 = uncurryThis$3([].slice); + +var arraySlice = arraySlice$1; + +var floor = Math.floor; + +var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge$3( + array, + mergeSort(arraySlice(array, 0, middle), comparefn), + mergeSort(arraySlice(array, middle), comparefn), + comparefn + ); +}; + +var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; +}; + +var merge$3 = function (array, left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } return array; +}; + +var arraySort = mergeSort; + +var fails$2 = fails$8; + +var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails$2(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +var userAgent$1 = engineUserAgent; + +var firefox = userAgent$1.match(/firefox\/(\d+)/i); + +var engineFfVersion = !!firefox && +firefox[1]; + +var UA = engineUserAgent; + +var engineIsIeOrEdge = /MSIE|Trident/.test(UA); + +var userAgent = engineUserAgent; + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +var engineWebkitVersion = !!webkit && +webkit[1]; + +var $$3 = _export; +var uncurryThis$2 = functionUncurryThis; +var aCallable$3 = aCallable$5; +var toObject$2 = toObject$4; +var lengthOfArrayLike$4 = lengthOfArrayLike$6; +var toString$2 = toString$3; +var fails$1 = fails$8; +var internalSort = arraySort; +var arrayMethodIsStrict = arrayMethodIsStrict$1; +var FF = engineFfVersion; +var IE_OR_EDGE = engineIsIeOrEdge; +var V8 = engineV8Version; +var WEBKIT = engineWebkitVersion; + +var test = []; +var un$Sort = uncurryThis$2(test.sort); +var push = uncurryThis$2(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails$1(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails$1(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails$1(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString$2(x) > toString$2(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$$3({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable$3(comparefn); + + var array = toObject$2(this); + + if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike$4(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } +}); + +var fastJsonStableStringify = function (data, opts) { + if (!opts) opts = {}; + if (typeof opts === 'function') opts = { + cmp: opts + }; + var cycles = typeof opts.cycles === 'boolean' ? opts.cycles : false; + + var cmp = opts.cmp && function (f) { + return function (node) { + return function (a, b) { + var aobj = { + key: a, + value: node[a] + }; + var bobj = { + key: b, + value: node[b] + }; + return f(aobj, bobj); + }; + }; + }(opts.cmp); + + var seen = []; + return function stringify(node) { + if (node && node.toJSON && typeof node.toJSON === 'function') { + node = node.toJSON(); + } + + if (node === undefined) return; + if (typeof node == 'number') return isFinite(node) ? '' + node : 'null'; + if (typeof node !== 'object') return JSON.stringify(node); + var i, out; + + if (Array.isArray(node)) { + out = '['; + + for (i = 0; i < node.length; i++) { + if (i) out += ','; + out += stringify(node[i]) || 'null'; + } + + return out + ']'; + } + + if (node === null) return 'null'; + + if (seen.indexOf(node) !== -1) { + if (cycles) return JSON.stringify('__cycle__'); + throw new TypeError('Converting circular structure to JSON'); + } + + var seenIndex = seen.push(node) - 1; + var keys = Object.keys(node).sort(cmp && cmp(node)); + out = ''; + + for (i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = stringify(node[key]); + if (!value) continue; + if (out) out += ','; + out += JSON.stringify(key) + ':' + value; + } + + seen.splice(seenIndex, 1); + return '{' + out + '}'; + }(data); +}; + +var require$$3 = require("./index.js"); + +var ansiStyles$1 = {exports: {}}; + +var colorName = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; + +/* MIT license */ +/* eslint-disable no-mixed-operators */ + +const cssKeywords = colorName; // NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +const reverseKeywords = {}; + +for (const key of Object.keys(cssKeywords)) { + reverseKeywords[cssKeywords[key]] = key; +} + +const convert$1 = { + rgb: { + channels: 3, + labels: 'rgb' + }, + hsl: { + channels: 3, + labels: 'hsl' + }, + hsv: { + channels: 3, + labels: 'hsv' + }, + hwb: { + channels: 3, + labels: 'hwb' + }, + cmyk: { + channels: 4, + labels: 'cmyk' + }, + xyz: { + channels: 3, + labels: 'xyz' + }, + lab: { + channels: 3, + labels: 'lab' + }, + lch: { + channels: 3, + labels: 'lch' + }, + hex: { + channels: 1, + labels: ['hex'] + }, + keyword: { + channels: 1, + labels: ['keyword'] + }, + ansi16: { + channels: 1, + labels: ['ansi16'] + }, + ansi256: { + channels: 1, + labels: ['ansi256'] + }, + hcg: { + channels: 3, + labels: ['h', 'c', 'g'] + }, + apple: { + channels: 3, + labels: ['r16', 'g16', 'b16'] + }, + gray: { + channels: 1, + labels: ['gray'] + } +}; +var conversions$2 = convert$1; // Hide .channels and .labels properties + +for (const model of Object.keys(convert$1)) { + if (!('channels' in convert$1[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert$1[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert$1[model].labels.length !== convert$1[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + const { + channels, + labels + } = convert$1[model]; + delete convert$1[model].channels; + delete convert$1[model].labels; + Object.defineProperty(convert$1[model], 'channels', { + value: channels + }); + Object.defineProperty(convert$1[model], 'labels', { + value: labels + }); +} + +convert$1.rgb.hsl = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + const l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert$1.rgb.hsv = function (rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + + const diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [h * 360, s * 100, v * 100]; +}; + +convert$1.rgb.hwb = function (rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert$1.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; +}; + +convert$1.rgb.cmyk = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; +}; + +function comparativeDistance(x, y) { + /* + See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + */ + return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; +} + +convert$1.rgb.keyword = function (rgb) { + const reversed = reverseKeywords[rgb]; + + if (reversed) { + return reversed; + } + + let currentClosestDistance = Infinity; + let currentClosestKeyword; + + for (const keyword of Object.keys(cssKeywords)) { + const value = cssKeywords[keyword]; // Compute comparative distance + + const distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest + + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + + return currentClosestKeyword; +}; + +convert$1.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; + +convert$1.rgb.xyz = function (rgb) { + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; // Assume sRGB + + r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92; + g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92; + b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92; + const x = r * 0.4124 + g * 0.3576 + b * 0.1805; + const y = r * 0.2126 + g * 0.7152 + b * 0.0722; + const z = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z * 100]; +}; + +convert$1.rgb.lab = function (rgb) { + const xyz = convert$1.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; + +convert$1.hsl.rgb = function (hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + const t1 = 2 * l - t2; + const rgb = [0, 0, 0]; + + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + + if (t3 < 0) { + t3++; + } + + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert$1.hsl.hsv = function (hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; +}; + +convert$1.hsv.rgb = function (hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - s * f); + const t = 255 * v * (1 - s * (1 - f)); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + + case 1: + return [q, v, p]; + + case 2: + return [p, v, t]; + + case 3: + return [p, q, v]; + + case 4: + return [t, p, v]; + + case 5: + return [v, p, q]; + } +}; + +convert$1.hsv.hsl = function (hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; +}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb + + +convert$1.hwb.rgb = function (hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; // Wh + bl cant be > 1 + + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + const n = wh + f * (v - wh); // Linear interpolation + + let r; + let g; + let b; + /* eslint-disable max-statements-per-line,no-multi-spaces */ + + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + + case 1: + r = n; + g = v; + b = wh; + break; + + case 2: + r = wh; + g = v; + b = n; + break; + + case 3: + r = wh; + g = n; + b = v; + break; + + case 4: + r = n; + g = wh; + b = v; + break; + + case 5: + r = v; + g = wh; + b = n; + break; + } + /* eslint-enable max-statements-per-line,no-multi-spaces */ + + + return [r * 255, g * 255, b * 255]; +}; + +convert$1.cmyk.rgb = function (cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; +}; + +convert$1.xyz.rgb = function (xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.2040 + z * 1.0570; // Assume sRGB + + r = r > 0.0031308 ? 1.055 * r ** (1.0 / 2.4) - 0.055 : r * 12.92; + g = g > 0.0031308 ? 1.055 * g ** (1.0 / 2.4) - 0.055 : g * 12.92; + b = b > 0.0031308 ? 1.055 * b ** (1.0 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; +}; + +convert$1.xyz.lab = function (xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; + +convert$1.lab.xyz = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; +}; + +convert$1.lab.lch = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + const c = Math.sqrt(a * a + b * b); + return [l, c, h]; +}; + +convert$1.lch.lab = function (lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); + return [l, a, b]; +}; + +convert$1.rgb.ansi16 = function (args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert$1.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert$1.hsv.ansi16 = function (args) { + // Optimization here; we already know the value and don't need to get + // it converted for us. + return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]); +}; + +convert$1.rgb.ansi256 = function (args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; // We use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round((r - 8) / 247 * 24) + 232; + } + + const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; +}; + +convert$1.ansi16.rgb = function (args) { + let color = args % 10; // Handle greyscale + + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + return [color, color, color]; + } + + const mult = (~~(args > 50) + 1) * 0.5; + const r = (color & 1) * mult * 255; + const g = (color >> 1 & 1) * mult * 255; + const b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; +}; + +convert$1.ansi256.rgb = function (args) { + // Handle greyscale + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = rem % 6 / 5 * 255; + return [r, g, b]; +}; + +convert$1.rgb.hex = function (args) { + const integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert$1.hex.rgb = function (args) { + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + + if (!match) { + return [0, 0, 0]; + } + + let colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(char => { + return char + char; + }).join(''); + } + + const integer = parseInt(colorString, 16); + const r = integer >> 16 & 0xFF; + const g = integer >> 8 & 0xFF; + const b = integer & 0xFF; + return [r, g, b]; +}; + +convert$1.rgb.hcg = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = max - min; + let grayscale; + let hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; + } + + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert$1.hsl.hcg = function (hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; + const c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l); + let f = 0; + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert$1.hsv.hcg = function (hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const c = s * v; + let f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert$1.hcg.rgb = function (hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + const pure = [0, 0, 0]; + const hi = h % 1 * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; + /* eslint-disable max-statements-per-line */ + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + /* eslint-enable max-statements-per-line */ + + + mg = (1.0 - c) * g; + return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; +}; + +convert$1.hcg.hsv = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + let f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert$1.hcg.hsl = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const l = g * (1.0 - c) + 0.5 * c; + let s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert$1.hcg.hwb = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert$1.hwb.hcg = function (hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert$1.apple.rgb = function (apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; +}; + +convert$1.rgb.apple = function (rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; +}; + +convert$1.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert$1.gray.hsl = function (args) { + return [0, 0, args[0]]; +}; + +convert$1.gray.hsv = convert$1.gray.hsl; + +convert$1.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert$1.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert$1.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert$1.gray.hex = function (gray) { + const val = Math.round(gray[0] / 100 * 255) & 0xFF; + const integer = (val << 16) + (val << 8) + val; + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert$1.rgb.gray = function (rgb) { + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; + +const conversions$1 = conversions$2; +/* + This function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + const graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + + const models = Object.keys(conversions$1); + + for (let len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} // https://en.wikipedia.org/wiki/Breadth-first_search + + +function deriveBFS(fromModel) { + const graph = buildGraph(); + const queue = [fromModel]; // Unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + const current = queue.pop(); + const adjacents = Object.keys(conversions$1[current]); + + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions$1[graph[toModel].parent][toModel]; + let cur = graph[toModel].parent; + + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions$1[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +var route$1 = function (fromModel) { + const graph = deriveBFS(fromModel); + const conversion = {}; + const models = Object.keys(graph); + + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; + + if (node.parent === null) { + // No possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + +const conversions = conversions$2; +const route = route$1; +const convert = {}; +const models = Object.keys(conversions); + +function wrapRaw(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + return fn(args); + }; // Preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + const result = fn(args); // We're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + + if (typeof result === 'object') { + for (let len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; // Preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(fromModel => { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], 'channels', { + value: conversions[fromModel].channels + }); + Object.defineProperty(convert[fromModel], 'labels', { + value: conversions[fromModel].labels + }); + const routes = route(fromModel); + const routeModels = Object.keys(routes); + routeModels.forEach(toModel => { + const fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); +var colorConvert = convert; + +(function (module) { + + const wrapAnsi16 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\u001B[${code + offset}m`; + }; + + const wrapAnsi256 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\u001B[${38 + offset};5;${code}m`; + }; + + const wrapAnsi16m = (fn, offset) => (...args) => { + const rgb = fn(...args); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + + const ansi2ansi = n => n; + + const rgb2rgb = (r, g, b) => [r, g, b]; + + const setLazyProperty = (object, property, get) => { + Object.defineProperty(object, property, { + get: () => { + const value = get(); + Object.defineProperty(object, property, { + value, + enumerable: true, + configurable: true + }); + return value; + }, + enumerable: true, + configurable: true + }); + }; + /** @type {typeof import('color-convert')} */ + + + let colorConvert$1; + + const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { + if (colorConvert$1 === undefined) { + colorConvert$1 = colorConvert; + } + + const offset = isBackground ? 10 : 0; + const styles = {}; + + for (const [sourceSpace, suite] of Object.entries(colorConvert$1)) { + const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; + + if (sourceSpace === targetSpace) { + styles[name] = wrap(identity, offset); + } else if (typeof suite === 'object') { + styles[name] = wrap(suite[targetSpace], offset); + } + } + + return styles; + }; + + function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + // Bright color + blackBright: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; // Alias bright black as gray (and grey) + + styles.color.gray = styles.color.blackBright; + styles.bgColor.bgGray = styles.bgColor.bgBlackBright; + styles.color.grey = styles.color.blackBright; + styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; + + for (const [groupName, group] of Object.entries(styles)) { + for (const [styleName, style] of Object.entries(group)) { + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + group[styleName] = styles[styleName]; + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + } + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); + setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); + return styles; + } // Make the export immutable + + + Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles + }); +})(ansiStyles$1); + +var hasFlag$1 = (flag, argv = process.argv) => { + const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf('--'); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +}; + +const os = require$$0__default["default"]; +const tty = require$$1__default["default"]; +const hasFlag = hasFlag$1; +const { + env +} = process; +let forceColor; + +if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false') || hasFlag('color=never')) { + forceColor = 0; +} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { + forceColor = 1; +} + +if ('FORCE_COLOR' in env) { + if (env.FORCE_COLOR === 'true') { + forceColor = 1; + } else if (env.FORCE_COLOR === 'false') { + forceColor = 0; + } else { + forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); + } +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(haveStream, streamIsTTY) { + if (forceColor === 0) { + return 0; + } + + if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (haveStream && !streamIsTTY && forceColor === undefined) { + return 0; + } + + const min = forceColor || 0; + + if (env.TERM === 'dumb') { + return min; + } + + if (process.platform === 'win32') { + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream, stream && stream.isTTY); + return translateLevel(level); +} + +var supportsColor_1 = { + supportsColor: getSupportLevel, + stdout: translateLevel(supportsColor(true, tty.isatty(1))), + stderr: translateLevel(supportsColor(true, tty.isatty(2))) +}; + +const stringReplaceAll$1 = (string, substring, replacer) => { + let index = string.indexOf(substring); + + if (index === -1) { + return string; + } + + const substringLength = substring.length; + let endIndex = 0; + let returnValue = ''; + + do { + returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; + endIndex = index + substringLength; + index = string.indexOf(substring, endIndex); + } while (index !== -1); + + returnValue += string.substr(endIndex); + return returnValue; +}; + +const stringEncaseCRLFWithFirstIndex$1 = (string, prefix, postfix, index) => { + let endIndex = 0; + let returnValue = ''; + + do { + const gotCR = string[index - 1] === '\r'; + returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix; + endIndex = index + 1; + index = string.indexOf('\n', endIndex); + } while (index !== -1); + + returnValue += string.substr(endIndex); + return returnValue; +}; + +var util$2 = { + stringReplaceAll: stringReplaceAll$1, + stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex$1 +}; + +const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; +const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; +const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +const ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; +const ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); + +function unescape(c) { + const u = c[0] === 'u'; + const bracket = c[1] === '{'; + + if (u && !bracket && c.length === 5 || c[0] === 'x' && c.length === 3) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + + if (u && bracket) { + return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); + } + + return ESCAPES.get(c) || c; +} + +function parseArguments(name, arguments_) { + const results = []; + const chunks = arguments_.trim().split(/\s*,\s*/g); + let matches; + + for (const chunk of chunks) { + const number = Number(chunk); + + if (!Number.isNaN(number)) { + results.push(number); + } else if (matches = chunk.match(STRING_REGEX)) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + + return results; +} + +function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + const results = []; + let matches; + + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + + return results; +} + +function buildStyle(chalk, styles) { + const enabled = {}; + + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + + let current = chalk; + + for (const [styleName, styles] of Object.entries(enabled)) { + if (!Array.isArray(styles)) { + continue; + } + + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + + current = styles.length > 0 ? current[styleName](...styles) : current[styleName]; + } + + return current; +} + +var templates = (chalk, temporary) => { + const styles = []; + const chunks = []; + let chunk = []; // eslint-disable-next-line max-params + + temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => { + if (escapeCharacter) { + chunk.push(unescape(escapeCharacter)); + } else if (style) { + const string = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string)); + styles.push({ + inverse, + styles: parseStyle(style) + }); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } + + chunks.push(buildStyle(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); + } else { + chunk.push(character); + } + }); + chunks.push(chunk.join('')); + + if (styles.length > 0) { + const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; + throw new Error(errMessage); + } + + return chunks.join(''); +}; + +const ansiStyles = ansiStyles$1.exports; +const { + stdout: stdoutColor, + stderr: stderrColor +} = supportsColor_1; +const { + stringReplaceAll, + stringEncaseCRLFWithFirstIndex +} = util$2; +const { + isArray: isArray$e +} = Array; // `supportsColor.level` → `ansiStyles.color[name]` mapping + +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; +const styles = Object.create(null); + +const applyOptions = (object, options = {}) => { + if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { + throw new Error('The `level` option should be an integer from 0 to 3'); + } // Detect level if not set manually + + + const colorLevel = stdoutColor ? stdoutColor.level : 0; + object.level = options.level === undefined ? colorLevel : options.level; +}; + +class ChalkClass { + constructor(options) { + // eslint-disable-next-line no-constructor-return + return chalkFactory(options); + } + +} + +const chalkFactory = options => { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = () => { + throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); + }; + + chalk.template.Instance = ChalkClass; + return chalk.template; +}; + +function Chalk(options) { + return chalkFactory(options); +} + +for (const [styleName, style] of Object.entries(ansiStyles)) { + styles[styleName] = { + get() { + const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); + Object.defineProperty(this, styleName, { + value: builder + }); + return builder; + } + + }; +} + +styles.visible = { + get() { + const builder = createBuilder(this, this._styler, true); + Object.defineProperty(this, 'visible', { + value: builder + }); + return builder; + } + +}; +const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; + +for (const model of usedModels) { + styles[model] = { + get() { + const { + level + } = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + + }; +} + +for (const model of usedModels) { + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const { + level + } = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + + }; +} + +const proto = Object.defineProperties(() => {}, Object.assign(Object.assign({}, styles), {}, { + level: { + enumerable: true, + + get() { + return this._generator.level; + }, + + set(level) { + this._generator.level = level; + } + + } +})); + +const createStyler = (open, close, parent) => { + let openAll; + let closeAll; + + if (parent === undefined) { + openAll = open; + closeAll = close; + } else { + openAll = parent.openAll + open; + closeAll = close + parent.closeAll; + } + + return { + open, + close, + openAll, + closeAll, + parent + }; +}; + +const createBuilder = (self, _styler, _isEmpty) => { + const builder = (...arguments_) => { + if (isArray$e(arguments_[0]) && isArray$e(arguments_[0].raw)) { + // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` + return applyStyle(builder, chalkTag(builder, ...arguments_)); + } // Single argument is hot path, implicit coercion is faster than anything + // eslint-disable-next-line no-implicit-coercion + + + return applyStyle(builder, arguments_.length === 1 ? '' + arguments_[0] : arguments_.join(' ')); + }; // We alter the prototype because we must return a function, but there is + // no way to create a function with a different prototype + + + Object.setPrototypeOf(builder, proto); + builder._generator = self; + builder._styler = _styler; + builder._isEmpty = _isEmpty; + return builder; +}; + +const applyStyle = (self, string) => { + if (self.level <= 0 || !string) { + return self._isEmpty ? '' : string; + } + + let styler = self._styler; + + if (styler === undefined) { + return string; + } + + const { + openAll, + closeAll + } = styler; + + if (string.indexOf('\u001B') !== -1) { + while (styler !== undefined) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + string = stringReplaceAll(string, styler.close, styler.open); + styler = styler.parent; + } + } // We can move both next actions out of loop, because remaining actions in loop won't have + // any/visible effect on parts we add here. Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 + + + const lfIndex = string.indexOf('\n'); + + if (lfIndex !== -1) { + string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); + } + + return openAll + string + closeAll; +}; + +let template; + +const chalkTag = (chalk, ...strings) => { + const [firstString] = strings; + + if (!isArray$e(firstString) || !isArray$e(firstString.raw)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return strings.join(' '); + } + + const arguments_ = strings.slice(1); + const parts = [firstString.raw[0]]; + + for (let i = 1; i < firstString.length; i++) { + parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), String(firstString.raw[i])); + } + + if (template === undefined) { + template = templates; + } + + return template(chalk, parts.join('')); +}; + +Object.defineProperties(Chalk.prototype, styles); +const chalk$2 = Chalk(); // eslint-disable-line new-cap + +chalk$2.supportsColor = stdoutColor; +chalk$2.stderr = Chalk({ + level: stderrColor ? stderrColor.level : 0 +}); // eslint-disable-line new-cap + +chalk$2.stderr.supportsColor = stderrColor; +var source = chalk$2; + +var require$$4 = require("./third-party.js"); + +var prettierInternal = require$$3.__internal; + +var classof$2 = classofRaw$1; + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray$d = Array.isArray || function isArray(argument) { + return classof$2(argument) == 'Array'; +}; + +var uncurryThis$1 = functionUncurryThis; +var aCallable$2 = aCallable$5; + +var bind$2 = uncurryThis$1(uncurryThis$1.bind); + +// optional / simple context binding +var functionBindContext = function (fn, that) { + aCallable$2(fn); + return that === undefined ? fn : bind$2 ? bind$2(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +var global$4 = global$r; +var isArray$c = isArray$d; +var lengthOfArrayLike$3 = lengthOfArrayLike$6; +var bind$1 = functionBindContext; + +var TypeError$3 = global$4.TypeError; + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray$2 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind$1(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray$c(element)) { + elementLen = lengthOfArrayLike$3(element); + targetIndex = flattenIntoArray$2(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError$3('Exceed the acceptable array length'); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +var flattenIntoArray_1 = flattenIntoArray$2; + +var uncurryThis = functionUncurryThis; +var fails = fails$8; +var isCallable = isCallable$b; +var classof$1 = classof$4; +var getBuiltIn$1 = getBuiltIn$5; +var inspectSource = inspectSource$3; + +var noop$1 = function () { /* empty */ }; +var empty = []; +var construct = getBuiltIn$1('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop$1); + +var isConstructorModern = function (argument) { + if (!isCallable(argument)) return false; + try { + construct(noop$1, empty, argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function (argument) { + if (!isCallable(argument)) return false; + switch (classof$1(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + // we can't check .prototype since constructors produced by .bind haven't it + } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); +}; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +var isConstructor$1 = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + +var global$3 = global$r; +var isArray$b = isArray$d; +var isConstructor = isConstructor$1; +var isObject$7 = isObject$d; +var wellKnownSymbol$3 = wellKnownSymbol$7; + +var SPECIES = wellKnownSymbol$3('species'); +var Array$1 = global$3.Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +var arraySpeciesConstructor$1 = function (originalArray) { + var C; + if (isArray$b(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === Array$1 || isArray$b(C.prototype))) C = undefined; + else if (isObject$7(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array$1 : C; +}; + +var arraySpeciesConstructor = arraySpeciesConstructor$1; + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +var arraySpeciesCreate$2 = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + +var $$2 = _export; +var flattenIntoArray$1 = flattenIntoArray_1; +var aCallable$1 = aCallable$5; +var toObject$1 = toObject$4; +var lengthOfArrayLike$2 = lengthOfArrayLike$6; +var arraySpeciesCreate$1 = arraySpeciesCreate$2; + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$$2({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject$1(this); + var sourceLen = lengthOfArrayLike$2(O); + var A; + aCallable$1(callbackfn); + A = arraySpeciesCreate$1(O, 0); + A.length = flattenIntoArray$1(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + +var tasks = {}; + +var utils$k = {}; + +var array$3 = {}; + +Object.defineProperty(array$3, "__esModule", { + value: true +}); +array$3.splitWhen = array$3.flatten = void 0; + +function flatten$2(items) { + return items.reduce((collection, item) => [].concat(collection, item), []); +} + +array$3.flatten = flatten$2; + +function splitWhen(items, predicate) { + const result = [[]]; + let groupIndex = 0; + + for (const item of items) { + if (predicate(item)) { + groupIndex++; + result[groupIndex] = []; + } else { + result[groupIndex].push(item); + } + } + + return result; +} + +array$3.splitWhen = splitWhen; + +var errno$1 = {}; + +Object.defineProperty(errno$1, "__esModule", { + value: true +}); +errno$1.isEnoentCodeError = void 0; + +function isEnoentCodeError(error) { + return error.code === 'ENOENT'; +} + +errno$1.isEnoentCodeError = isEnoentCodeError; + +var fs$9 = {}; + +Object.defineProperty(fs$9, "__esModule", { + value: true +}); +fs$9.createDirentFromStats = void 0; + +class DirentFromStats$1 { + constructor(name, stats) { + this.name = name; + this.isBlockDevice = stats.isBlockDevice.bind(stats); + this.isCharacterDevice = stats.isCharacterDevice.bind(stats); + this.isDirectory = stats.isDirectory.bind(stats); + this.isFIFO = stats.isFIFO.bind(stats); + this.isFile = stats.isFile.bind(stats); + this.isSocket = stats.isSocket.bind(stats); + this.isSymbolicLink = stats.isSymbolicLink.bind(stats); + } + +} + +function createDirentFromStats$1(name, stats) { + return new DirentFromStats$1(name, stats); +} + +fs$9.createDirentFromStats = createDirentFromStats$1; + +var path$c = {}; + +Object.defineProperty(path$c, "__esModule", { + value: true +}); +path$c.removeLeadingDotSegment = path$c.escape = path$c.makeAbsolute = path$c.unixify = void 0; +const path$b = require$$0__default$1["default"]; +const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\ + +const UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g; +/** + * Designed to work only with simple paths: `dir\\file`. + */ + +function unixify(filepath) { + return filepath.replace(/\\/g, '/'); +} + +path$c.unixify = unixify; + +function makeAbsolute(cwd, filepath) { + return path$b.resolve(cwd, filepath); +} + +path$c.makeAbsolute = makeAbsolute; + +function escape(pattern) { + return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, '\\$2'); +} + +path$c.escape = escape; + +function removeLeadingDotSegment(entry) { + // We do not use `startsWith` because this is 10x slower than current implementation for some cases. + // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with + if (entry.charAt(0) === '.') { + const secondCharactery = entry.charAt(1); + + if (secondCharactery === '/' || secondCharactery === '\\') { + return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); + } + } + + return entry; +} + +path$c.removeLeadingDotSegment = removeLeadingDotSegment; + +var pattern$1 = {}; + +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ + +var isExtglob$1 = function isExtglob(str) { + if (typeof str !== 'string' || str === '') { + return false; + } + + var match; + + while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { + if (match[2]) return true; + str = str.slice(match.index + match[0].length); + } + + return false; +}; + +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +var isExtglob = isExtglob$1; +var chars = { + '{': '}', + '(': ')', + '[': ']' +}; + +var strictCheck = function (str) { + if (str[0] === '!') { + return true; + } + + var index = 0; + var pipeIndex = -2; + var closeSquareIndex = -2; + var closeCurlyIndex = -2; + var closeParenIndex = -2; + var backSlashIndex = -2; + + while (index < str.length) { + if (str[index] === '*') { + return true; + } + + if (str[index + 1] === '?' && /[\].+)]/.test(str[index])) { + return true; + } + + if (closeSquareIndex !== -1 && str[index] === '[' && str[index + 1] !== ']') { + if (closeSquareIndex < index) { + closeSquareIndex = str.indexOf(']', index); + } + + if (closeSquareIndex > index) { + if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { + return true; + } + + backSlashIndex = str.indexOf('\\', index); + + if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { + return true; + } + } + } + + if (closeCurlyIndex !== -1 && str[index] === '{' && str[index + 1] !== '}') { + closeCurlyIndex = str.indexOf('}', index); + + if (closeCurlyIndex > index) { + backSlashIndex = str.indexOf('\\', index); + + if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) { + return true; + } + } + } + + if (closeParenIndex !== -1 && str[index] === '(' && str[index + 1] === '?' && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ')') { + closeParenIndex = str.indexOf(')', index); + + if (closeParenIndex > index) { + backSlashIndex = str.indexOf('\\', index); + + if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { + return true; + } + } + } + + if (pipeIndex !== -1 && str[index] === '(' && str[index + 1] !== '|') { + if (pipeIndex < index) { + pipeIndex = str.indexOf('|', index); + } + + if (pipeIndex !== -1 && str[pipeIndex + 1] !== ')') { + closeParenIndex = str.indexOf(')', pipeIndex); + + if (closeParenIndex > pipeIndex) { + backSlashIndex = str.indexOf('\\', pipeIndex); + + if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { + return true; + } + } + } + } + + if (str[index] === '\\') { + var open = str[index + 1]; + index += 2; + var close = chars[open]; + + if (close) { + var n = str.indexOf(close, index); + + if (n !== -1) { + index = n + 1; + } + } + + if (str[index] === '!') { + return true; + } + } else { + index++; + } + } + + return false; +}; + +var relaxedCheck = function (str) { + if (str[0] === '!') { + return true; + } + + var index = 0; + + while (index < str.length) { + if (/[*?{}()[\]]/.test(str[index])) { + return true; + } + + if (str[index] === '\\') { + var open = str[index + 1]; + index += 2; + var close = chars[open]; + + if (close) { + var n = str.indexOf(close, index); + + if (n !== -1) { + index = n + 1; + } + } + + if (str[index] === '!') { + return true; + } + } else { + index++; + } + } + + return false; +}; + +var isGlob$1 = function isGlob(str, options) { + if (typeof str !== 'string' || str === '') { + return false; + } + + if (isExtglob(str)) { + return true; + } + + var check = strictCheck; // optionally relax check + + if (options && options.strict === false) { + check = relaxedCheck; + } + + return check(str); +}; + +var isGlob = isGlob$1; +var pathPosixDirname = require$$0__default$1["default"].posix.dirname; +var isWin32 = require$$0__default["default"].platform() === 'win32'; +var slash = '/'; +var backslash = /\\/g; +var enclosure = /[\{\[].*[\}\]]$/; +var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; +var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; +/** + * @param {string} str + * @param {Object} opts + * @param {boolean} [opts.flipBackslashes=true] + * @returns {string} + */ + +var globParent$1 = function globParent(str, opts) { + var options = Object.assign({ + flipBackslashes: true + }, opts); // flip windows path separators + + if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { + str = str.replace(backslash, slash); + } // special case for strings ending in enclosure containing path separator + + + if (enclosure.test(str)) { + str += slash; + } // preserves full path in case of trailing path separator + + + str += 'a'; // remove path parts that are globby + + do { + str = pathPosixDirname(str); + } while (isGlob(str) || globby.test(str)); // remove escape chars and return result + + + return str.replace(escaped, '$1'); +}; + +var utils$j = {}; + +(function (exports) { + + exports.isInteger = num => { + if (typeof num === 'number') { + return Number.isInteger(num); + } + + if (typeof num === 'string' && num.trim() !== '') { + return Number.isInteger(Number(num)); + } + + return false; + }; + /** + * Find a node of the given type + */ + + + exports.find = (node, type) => node.nodes.find(node => node.type === type); + /** + * Find a node of the given type + */ + + + exports.exceedsLimit = (min, max, step = 1, limit) => { + if (limit === false) return false; + if (!exports.isInteger(min) || !exports.isInteger(max)) return false; + return (Number(max) - Number(min)) / Number(step) >= limit; + }; + /** + * Escape the given node with '\\' before node.value + */ + + + exports.escapeNode = (block, n = 0, type) => { + let node = block.nodes[n]; + if (!node) return; + + if (type && node.type === type || node.type === 'open' || node.type === 'close') { + if (node.escaped !== true) { + node.value = '\\' + node.value; + node.escaped = true; + } + } + }; + /** + * Returns true if the given brace node should be enclosed in literal braces + */ + + + exports.encloseBrace = node => { + if (node.type !== 'brace') return false; + + if (node.commas >> 0 + node.ranges >> 0 === 0) { + node.invalid = true; + return true; + } + + return false; + }; + /** + * Returns true if a brace node is invalid. + */ + + + exports.isInvalidBrace = block => { + if (block.type !== 'brace') return false; + if (block.invalid === true || block.dollar) return true; + + if (block.commas >> 0 + block.ranges >> 0 === 0) { + block.invalid = true; + return true; + } + + if (block.open !== true || block.close !== true) { + block.invalid = true; + return true; + } + + return false; + }; + /** + * Returns true if a node is an open or close node + */ + + + exports.isOpenOrClose = node => { + if (node.type === 'open' || node.type === 'close') { + return true; + } + + return node.open === true || node.close === true; + }; + /** + * Reduce an array of text nodes. + */ + + + exports.reduce = nodes => nodes.reduce((acc, node) => { + if (node.type === 'text') acc.push(node.value); + if (node.type === 'range') node.type = 'text'; + return acc; + }, []); + /** + * Flatten an array + */ + + + exports.flatten = (...args) => { + const result = []; + + const flat = arr => { + for (let i = 0; i < arr.length; i++) { + let ele = arr[i]; + Array.isArray(ele) ? flat(ele) : ele !== void 0 && result.push(ele); + } + + return result; + }; + + flat(args); + return result; + }; +})(utils$j); + +const utils$i = utils$j; + +var stringify$6 = (ast, options = {}) => { + let stringify = (node, parent = {}) => { + let invalidBlock = options.escapeInvalid && utils$i.isInvalidBrace(parent); + let invalidNode = node.invalid === true && options.escapeInvalid === true; + let output = ''; + + if (node.value) { + if ((invalidBlock || invalidNode) && utils$i.isOpenOrClose(node)) { + return '\\' + node.value; + } + + return node.value; + } + + if (node.value) { + return node.value; + } + + if (node.nodes) { + for (let child of node.nodes) { + output += stringify(child); + } + } + + return output; + }; + + return stringify(ast); +}; + +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ + +var isNumber$3 = function (num) { + if (typeof num === 'number') { + return num - num === 0; + } + + if (typeof num === 'string' && num.trim() !== '') { + return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); + } + + return false; +}; + +const isNumber$2 = isNumber$3; + +const toRegexRange$1 = (min, max, options) => { + if (isNumber$2(min) === false) { + throw new TypeError('toRegexRange: expected the first argument to be a number'); + } + + if (max === void 0 || min === max) { + return String(min); + } + + if (isNumber$2(max) === false) { + throw new TypeError('toRegexRange: expected the second argument to be a number.'); + } + + let opts = Object.assign({ + relaxZeros: true + }, options); + + if (typeof opts.strictZeros === 'boolean') { + opts.relaxZeros = opts.strictZeros === false; + } + + let relax = String(opts.relaxZeros); + let shorthand = String(opts.shorthand); + let capture = String(opts.capture); + let wrap = String(opts.wrap); + let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap; + + if (toRegexRange$1.cache.hasOwnProperty(cacheKey)) { + return toRegexRange$1.cache[cacheKey].result; + } + + let a = Math.min(min, max); + let b = Math.max(min, max); + + if (Math.abs(a - b) === 1) { + let result = min + '|' + max; + + if (opts.capture) { + return `(${result})`; + } + + if (opts.wrap === false) { + return result; + } + + return `(?:${result})`; + } + + let isPadded = hasPadding(min) || hasPadding(max); + let state = { + min, + max, + a, + b + }; + let positives = []; + let negatives = []; + + if (isPadded) { + state.isPadded = isPadded; + state.maxLen = String(state.max).length; + } + + if (a < 0) { + let newMin = b < 0 ? Math.abs(b) : 1; + negatives = splitToPatterns(newMin, Math.abs(a), state, opts); + a = state.a = 0; + } + + if (b >= 0) { + positives = splitToPatterns(a, b, state, opts); + } + + state.negatives = negatives; + state.positives = positives; + state.result = collatePatterns(negatives, positives); + + if (opts.capture === true) { + state.result = `(${state.result})`; + } else if (opts.wrap !== false && positives.length + negatives.length > 1) { + state.result = `(?:${state.result})`; + } + + toRegexRange$1.cache[cacheKey] = state; + return state.result; +}; + +function collatePatterns(neg, pos, options) { + let onlyNegative = filterPatterns(neg, pos, '-', false) || []; + let onlyPositive = filterPatterns(pos, neg, '', false) || []; + let intersected = filterPatterns(neg, pos, '-?', true) || []; + let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); + return subpatterns.join('|'); +} + +function splitToRanges(min, max) { + let nines = 1; + let zeros = 1; + let stop = countNines(min, nines); + let stops = new Set([max]); + + while (min <= stop && stop <= max) { + stops.add(stop); + nines += 1; + stop = countNines(min, nines); + } + + stop = countZeros(max + 1, zeros) - 1; + + while (min < stop && stop <= max) { + stops.add(stop); + zeros += 1; + stop = countZeros(max + 1, zeros) - 1; + } + + stops = [...stops]; + stops.sort(compare); + return stops; +} +/** + * Convert a range to a regex pattern + * @param {Number} `start` + * @param {Number} `stop` + * @return {String} + */ + + +function rangeToPattern(start, stop, options) { + if (start === stop) { + return { + pattern: start, + count: [], + digits: 0 + }; + } + + let zipped = zip(start, stop); + let digits = zipped.length; + let pattern = ''; + let count = 0; + + for (let i = 0; i < digits; i++) { + let [startDigit, stopDigit] = zipped[i]; + + if (startDigit === stopDigit) { + pattern += startDigit; + } else if (startDigit !== '0' || stopDigit !== '9') { + pattern += toCharacterClass(startDigit, stopDigit); + } else { + count++; + } + } + + if (count) { + pattern += options.shorthand === true ? '\\d' : '[0-9]'; + } + + return { + pattern, + count: [count], + digits + }; +} + +function splitToPatterns(min, max, tok, options) { + let ranges = splitToRanges(min, max); + let tokens = []; + let start = min; + let prev; + + for (let i = 0; i < ranges.length; i++) { + let max = ranges[i]; + let obj = rangeToPattern(String(start), String(max), options); + let zeros = ''; + + if (!tok.isPadded && prev && prev.pattern === obj.pattern) { + if (prev.count.length > 1) { + prev.count.pop(); + } + + prev.count.push(obj.count[0]); + prev.string = prev.pattern + toQuantifier(prev.count); + start = max + 1; + continue; + } + + if (tok.isPadded) { + zeros = padZeros(max, tok, options); + } + + obj.string = zeros + obj.pattern + toQuantifier(obj.count); + tokens.push(obj); + start = max + 1; + prev = obj; + } + + return tokens; +} + +function filterPatterns(arr, comparison, prefix, intersection, options) { + let result = []; + + for (let ele of arr) { + let { + string + } = ele; // only push if _both_ are negative... + + if (!intersection && !contains(comparison, 'string', string)) { + result.push(prefix + string); + } // or _both_ are positive + + + if (intersection && contains(comparison, 'string', string)) { + result.push(prefix + string); + } + } + + return result; +} +/** + * Zip strings + */ + + +function zip(a, b) { + let arr = []; + + for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); + + return arr; +} + +function compare(a, b) { + return a > b ? 1 : b > a ? -1 : 0; +} + +function contains(arr, key, val) { + return arr.some(ele => ele[key] === val); +} + +function countNines(min, len) { + return Number(String(min).slice(0, -len) + '9'.repeat(len)); +} + +function countZeros(integer, zeros) { + return integer - integer % Math.pow(10, zeros); +} + +function toQuantifier(digits) { + let [start = 0, stop = ''] = digits; + + if (stop || start > 1) { + return `{${start + (stop ? ',' + stop : '')}}`; + } + + return ''; +} + +function toCharacterClass(a, b, options) { + return `[${a}${b - a === 1 ? '' : '-'}${b}]`; +} + +function hasPadding(str) { + return /^-?(0+)\d/.test(str); +} + +function padZeros(value, tok, options) { + if (!tok.isPadded) { + return value; + } + + let diff = Math.abs(tok.maxLen - String(value).length); + let relax = options.relaxZeros !== false; + + switch (diff) { + case 0: + return ''; + + case 1: + return relax ? '0?' : '0'; + + case 2: + return relax ? '0{0,2}' : '00'; + + default: + { + return relax ? `0{0,${diff}}` : `0{${diff}}`; + } + } +} +/** + * Cache + */ + + +toRegexRange$1.cache = {}; + +toRegexRange$1.clearCache = () => toRegexRange$1.cache = {}; +/** + * Expose `toRegexRange` + */ + + +var toRegexRange_1 = toRegexRange$1; + +const util$1 = require$$0__default$2["default"]; +const toRegexRange = toRegexRange_1; + +const isObject$6 = val => val !== null && typeof val === 'object' && !Array.isArray(val); + +const transform = toNumber => { + return value => toNumber === true ? Number(value) : String(value); +}; + +const isValidValue = value => { + return typeof value === 'number' || typeof value === 'string' && value !== ''; +}; + +const isNumber$1 = num => Number.isInteger(+num); + +const zeros = input => { + let value = `${input}`; + let index = -1; + if (value[0] === '-') value = value.slice(1); + if (value === '0') return false; + + while (value[++index] === '0'); + + return index > 0; +}; + +const stringify$5 = (start, end, options) => { + if (typeof start === 'string' || typeof end === 'string') { + return true; + } + + return options.stringify === true; +}; + +const pad = (input, maxLength, toNumber) => { + if (maxLength > 0) { + let dash = input[0] === '-' ? '-' : ''; + if (dash) input = input.slice(1); + input = dash + input.padStart(dash ? maxLength - 1 : maxLength, '0'); + } + + if (toNumber === false) { + return String(input); + } + + return input; +}; + +const toMaxLen = (input, maxLength) => { + let negative = input[0] === '-' ? '-' : ''; + + if (negative) { + input = input.slice(1); + maxLength--; + } + + while (input.length < maxLength) input = '0' + input; + + return negative ? '-' + input : input; +}; + +const toSequence = (parts, options) => { + parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); + parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); + let prefix = options.capture ? '' : '?:'; + let positives = ''; + let negatives = ''; + let result; + + if (parts.positives.length) { + positives = parts.positives.join('|'); + } + + if (parts.negatives.length) { + negatives = `-(${prefix}${parts.negatives.join('|')})`; + } + + if (positives && negatives) { + result = `${positives}|${negatives}`; + } else { + result = positives || negatives; + } + + if (options.wrap) { + return `(${prefix}${result})`; + } + + return result; +}; + +const toRange = (a, b, isNumbers, options) => { + if (isNumbers) { + return toRegexRange(a, b, Object.assign({ + wrap: false + }, options)); + } + + let start = String.fromCharCode(a); + if (a === b) return start; + let stop = String.fromCharCode(b); + return `[${start}-${stop}]`; +}; + +const toRegex = (start, end, options) => { + if (Array.isArray(start)) { + let wrap = options.wrap === true; + let prefix = options.capture ? '' : '?:'; + return wrap ? `(${prefix}${start.join('|')})` : start.join('|'); + } + + return toRegexRange(start, end, options); +}; + +const rangeError = (...args) => { + return new RangeError('Invalid range arguments: ' + util$1.inspect(...args)); +}; + +const invalidRange = (start, end, options) => { + if (options.strictRanges === true) throw rangeError([start, end]); + return []; +}; + +const invalidStep = (step, options) => { + if (options.strictRanges === true) { + throw new TypeError(`Expected step "${step}" to be a number`); + } + + return []; +}; + +const fillNumbers = (start, end, step = 1, options = {}) => { + let a = Number(start); + let b = Number(end); + + if (!Number.isInteger(a) || !Number.isInteger(b)) { + if (options.strictRanges === true) throw rangeError([start, end]); + return []; + } // fix negative zero + + + if (a === 0) a = 0; + if (b === 0) b = 0; + let descending = a > b; + let startString = String(start); + let endString = String(end); + let stepString = String(step); + step = Math.max(Math.abs(step), 1); + let padded = zeros(startString) || zeros(endString) || zeros(stepString); + let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; + let toNumber = padded === false && stringify$5(start, end, options) === false; + let format = options.transform || transform(toNumber); + + if (options.toRegex && step === 1) { + return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); + } + + let parts = { + negatives: [], + positives: [] + }; + + let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num)); + + let range = []; + let index = 0; + + while (descending ? a >= b : a <= b) { + if (options.toRegex === true && step > 1) { + push(a); + } else { + range.push(pad(format(a, index), maxLen, toNumber)); + } + + a = descending ? a - step : a + step; + index++; + } + + if (options.toRegex === true) { + return step > 1 ? toSequence(parts, options) : toRegex(range, null, Object.assign({ + wrap: false + }, options)); + } + + return range; +}; + +const fillLetters = (start, end, step = 1, options = {}) => { + if (!isNumber$1(start) && start.length > 1 || !isNumber$1(end) && end.length > 1) { + return invalidRange(start, end, options); + } + + let format = options.transform || (val => String.fromCharCode(val)); + + let a = `${start}`.charCodeAt(0); + let b = `${end}`.charCodeAt(0); + let descending = a > b; + let min = Math.min(a, b); + let max = Math.max(a, b); + + if (options.toRegex && step === 1) { + return toRange(min, max, false, options); + } + + let range = []; + let index = 0; + + while (descending ? a >= b : a <= b) { + range.push(format(a, index)); + a = descending ? a - step : a + step; + index++; + } + + if (options.toRegex === true) { + return toRegex(range, null, { + wrap: false, + options + }); + } + + return range; +}; + +const fill$2 = (start, end, step, options = {}) => { + if (end == null && isValidValue(start)) { + return [start]; + } + + if (!isValidValue(start) || !isValidValue(end)) { + return invalidRange(start, end, options); + } + + if (typeof step === 'function') { + return fill$2(start, end, 1, { + transform: step + }); + } + + if (isObject$6(step)) { + return fill$2(start, end, 0, step); + } + + let opts = Object.assign({}, options); + if (opts.capture === true) opts.wrap = true; + step = step || opts.step || 1; + + if (!isNumber$1(step)) { + if (step != null && !isObject$6(step)) return invalidStep(step, opts); + return fill$2(start, end, 1, step); + } + + if (isNumber$1(start) && isNumber$1(end)) { + return fillNumbers(start, end, step, opts); + } + + return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); +}; + +var fillRange = fill$2; + +const fill$1 = fillRange; +const utils$h = utils$j; + +const compile$1 = (ast, options = {}) => { + let walk = (node, parent = {}) => { + let invalidBlock = utils$h.isInvalidBrace(parent); + let invalidNode = node.invalid === true && options.escapeInvalid === true; + let invalid = invalidBlock === true || invalidNode === true; + let prefix = options.escapeInvalid === true ? '\\' : ''; + let output = ''; + + if (node.isOpen === true) { + return prefix + node.value; + } + + if (node.isClose === true) { + return prefix + node.value; + } + + if (node.type === 'open') { + return invalid ? prefix + node.value : '('; + } + + if (node.type === 'close') { + return invalid ? prefix + node.value : ')'; + } + + if (node.type === 'comma') { + return node.prev.type === 'comma' ? '' : invalid ? node.value : '|'; + } + + if (node.value) { + return node.value; + } + + if (node.nodes && node.ranges > 0) { + let args = utils$h.reduce(node.nodes); + let range = fill$1(...args, Object.assign(Object.assign({}, options), {}, { + wrap: false, + toRegex: true + })); + + if (range.length !== 0) { + return args.length > 1 && range.length > 1 ? `(${range})` : range; + } + } + + if (node.nodes) { + for (let child of node.nodes) { + output += walk(child, node); + } + } + + return output; + }; + + return walk(ast); +}; + +var compile_1 = compile$1; + +const fill = fillRange; +const stringify$4 = stringify$6; +const utils$g = utils$j; + +const append = (queue = '', stash = '', enclose = false) => { + let result = []; + queue = [].concat(queue); + stash = [].concat(stash); + if (!stash.length) return queue; + + if (!queue.length) { + return enclose ? utils$g.flatten(stash).map(ele => `{${ele}}`) : stash; + } + + for (let item of queue) { + if (Array.isArray(item)) { + for (let value of item) { + result.push(append(value, stash, enclose)); + } + } else { + for (let ele of stash) { + if (enclose === true && typeof ele === 'string') ele = `{${ele}}`; + result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele); + } + } + } + + return utils$g.flatten(result); +}; + +const expand$1 = (ast, options = {}) => { + let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit; + + let walk = (node, parent = {}) => { + node.queue = []; + let p = parent; + let q = parent.queue; + + while (p.type !== 'brace' && p.type !== 'root' && p.parent) { + p = p.parent; + q = p.queue; + } + + if (node.invalid || node.dollar) { + q.push(append(q.pop(), stringify$4(node, options))); + return; + } + + if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) { + q.push(append(q.pop(), ['{}'])); + return; + } + + if (node.nodes && node.ranges > 0) { + let args = utils$g.reduce(node.nodes); + + if (utils$g.exceedsLimit(...args, options.step, rangeLimit)) { + throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); + } + + let range = fill(...args, options); + + if (range.length === 0) { + range = stringify$4(node, options); + } + + q.push(append(q.pop(), range)); + node.nodes = []; + return; + } + + let enclose = utils$g.encloseBrace(node); + let queue = node.queue; + let block = node; + + while (block.type !== 'brace' && block.type !== 'root' && block.parent) { + block = block.parent; + queue = block.queue; + } + + for (let i = 0; i < node.nodes.length; i++) { + let child = node.nodes[i]; + + if (child.type === 'comma' && node.type === 'brace') { + if (i === 1) queue.push(''); + queue.push(''); + continue; + } + + if (child.type === 'close') { + q.push(append(q.pop(), queue, enclose)); + continue; + } + + if (child.value && child.type !== 'open') { + queue.push(append(queue.pop(), child.value)); + continue; + } + + if (child.nodes) { + walk(child, node); + } + } + + return queue; + }; + + return utils$g.flatten(walk(ast)); +}; + +var expand_1 = expand$1; + +var constants$4 = { + MAX_LENGTH: 1024 * 64, + // Digits + CHAR_0: '0', + + /* 0 */ + CHAR_9: '9', + + /* 9 */ + // Alphabet chars. + CHAR_UPPERCASE_A: 'A', + + /* A */ + CHAR_LOWERCASE_A: 'a', + + /* a */ + CHAR_UPPERCASE_Z: 'Z', + + /* Z */ + CHAR_LOWERCASE_Z: 'z', + + /* z */ + CHAR_LEFT_PARENTHESES: '(', + + /* ( */ + CHAR_RIGHT_PARENTHESES: ')', + + /* ) */ + CHAR_ASTERISK: '*', + + /* * */ + // Non-alphabetic chars. + CHAR_AMPERSAND: '&', + + /* & */ + CHAR_AT: '@', + + /* @ */ + CHAR_BACKSLASH: '\\', + + /* \ */ + CHAR_BACKTICK: '`', + + /* ` */ + CHAR_CARRIAGE_RETURN: '\r', + + /* \r */ + CHAR_CIRCUMFLEX_ACCENT: '^', + + /* ^ */ + CHAR_COLON: ':', + + /* : */ + CHAR_COMMA: ',', + + /* , */ + CHAR_DOLLAR: '$', + + /* . */ + CHAR_DOT: '.', + + /* . */ + CHAR_DOUBLE_QUOTE: '"', + + /* " */ + CHAR_EQUAL: '=', + + /* = */ + CHAR_EXCLAMATION_MARK: '!', + + /* ! */ + CHAR_FORM_FEED: '\f', + + /* \f */ + CHAR_FORWARD_SLASH: '/', + + /* / */ + CHAR_HASH: '#', + + /* # */ + CHAR_HYPHEN_MINUS: '-', + + /* - */ + CHAR_LEFT_ANGLE_BRACKET: '<', + + /* < */ + CHAR_LEFT_CURLY_BRACE: '{', + + /* { */ + CHAR_LEFT_SQUARE_BRACKET: '[', + + /* [ */ + CHAR_LINE_FEED: '\n', + + /* \n */ + CHAR_NO_BREAK_SPACE: '\u00A0', + + /* \u00A0 */ + CHAR_PERCENT: '%', + + /* % */ + CHAR_PLUS: '+', + + /* + */ + CHAR_QUESTION_MARK: '?', + + /* ? */ + CHAR_RIGHT_ANGLE_BRACKET: '>', + + /* > */ + CHAR_RIGHT_CURLY_BRACE: '}', + + /* } */ + CHAR_RIGHT_SQUARE_BRACKET: ']', + + /* ] */ + CHAR_SEMICOLON: ';', + + /* ; */ + CHAR_SINGLE_QUOTE: '\'', + + /* ' */ + CHAR_SPACE: ' ', + + /* */ + CHAR_TAB: '\t', + + /* \t */ + CHAR_UNDERSCORE: '_', + + /* _ */ + CHAR_VERTICAL_LINE: '|', + + /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' + /* \uFEFF */ + +}; + +const stringify$3 = stringify$6; +/** + * Constants + */ + +const { + MAX_LENGTH: MAX_LENGTH$1, + CHAR_BACKSLASH, + + /* \ */ + CHAR_BACKTICK, + + /* ` */ + CHAR_COMMA: CHAR_COMMA$1, + + /* , */ + CHAR_DOT: CHAR_DOT$1, + + /* . */ + CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, + + /* ( */ + CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, + + /* ) */ + CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, + + /* { */ + CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, + + /* } */ + CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, + + /* [ */ + CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1, + + /* ] */ + CHAR_DOUBLE_QUOTE, + + /* " */ + CHAR_SINGLE_QUOTE, + + /* ' */ + CHAR_NO_BREAK_SPACE, + CHAR_ZERO_WIDTH_NOBREAK_SPACE +} = constants$4; +/** + * parse + */ + +const parse$4 = (input, options = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); + } + + let opts = options || {}; + let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; + + if (input.length > max) { + throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); + } + + let ast = { + type: 'root', + input, + nodes: [] + }; + let stack = [ast]; + let block = ast; + let prev = ast; + let brackets = 0; + let length = input.length; + let index = 0; + let depth = 0; + let value; + /** + * Helpers + */ + + const advance = () => input[index++]; + + const push = node => { + if (node.type === 'text' && prev.type === 'dot') { + prev.type = 'text'; + } + + if (prev && prev.type === 'text' && node.type === 'text') { + prev.value += node.value; + return; + } + + block.nodes.push(node); + node.parent = block; + node.prev = prev; + prev = node; + return node; + }; + + push({ + type: 'bos' + }); + + while (index < length) { + block = stack[stack.length - 1]; + value = advance(); + /** + * Invalid chars + */ + + if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { + continue; + } + /** + * Escaped chars + */ + + + if (value === CHAR_BACKSLASH) { + push({ + type: 'text', + value: (options.keepEscaping ? value : '') + advance() + }); + continue; + } + /** + * Right square bracket (literal): ']' + */ + + + if (value === CHAR_RIGHT_SQUARE_BRACKET$1) { + push({ + type: 'text', + value: '\\' + value + }); + continue; + } + /** + * Left square bracket: '[' + */ + + + if (value === CHAR_LEFT_SQUARE_BRACKET$1) { + brackets++; + let next; + + while (index < length && (next = advance())) { + value += next; + + if (next === CHAR_LEFT_SQUARE_BRACKET$1) { + brackets++; + continue; + } + + if (next === CHAR_BACKSLASH) { + value += advance(); + continue; + } + + if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { + brackets--; + + if (brackets === 0) { + break; + } + } + } + + push({ + type: 'text', + value + }); + continue; + } + /** + * Parentheses + */ + + + if (value === CHAR_LEFT_PARENTHESES$1) { + block = push({ + type: 'paren', + nodes: [] + }); + stack.push(block); + push({ + type: 'text', + value + }); + continue; + } + + if (value === CHAR_RIGHT_PARENTHESES$1) { + if (block.type !== 'paren') { + push({ + type: 'text', + value + }); + continue; + } + + block = stack.pop(); + push({ + type: 'text', + value + }); + block = stack[stack.length - 1]; + continue; + } + /** + * Quotes: '|"|` + */ + + + if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { + let open = value; + let next; + + if (options.keepQuotes !== true) { + value = ''; + } + + while (index < length && (next = advance())) { + if (next === CHAR_BACKSLASH) { + value += next + advance(); + continue; + } + + if (next === open) { + if (options.keepQuotes === true) value += next; + break; + } + + value += next; + } + + push({ + type: 'text', + value + }); + continue; + } + /** + * Left curly brace: '{' + */ + + + if (value === CHAR_LEFT_CURLY_BRACE$1) { + depth++; + let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; + let brace = { + type: 'brace', + open: true, + close: false, + dollar, + depth, + commas: 0, + ranges: 0, + nodes: [] + }; + block = push(brace); + stack.push(block); + push({ + type: 'open', + value + }); + continue; + } + /** + * Right curly brace: '}' + */ + + + if (value === CHAR_RIGHT_CURLY_BRACE$1) { + if (block.type !== 'brace') { + push({ + type: 'text', + value + }); + continue; + } + + let type = 'close'; + block = stack.pop(); + block.close = true; + push({ + type, + value + }); + depth--; + block = stack[stack.length - 1]; + continue; + } + /** + * Comma: ',' + */ + + + if (value === CHAR_COMMA$1 && depth > 0) { + if (block.ranges > 0) { + block.ranges = 0; + let open = block.nodes.shift(); + block.nodes = [open, { + type: 'text', + value: stringify$3(block) + }]; + } + + push({ + type: 'comma', + value + }); + block.commas++; + continue; + } + /** + * Dot: '.' + */ + + + if (value === CHAR_DOT$1 && depth > 0 && block.commas === 0) { + let siblings = block.nodes; + + if (depth === 0 || siblings.length === 0) { + push({ + type: 'text', + value + }); + continue; + } + + if (prev.type === 'dot') { + block.range = []; + prev.value += value; + prev.type = 'range'; + + if (block.nodes.length !== 3 && block.nodes.length !== 5) { + block.invalid = true; + block.ranges = 0; + prev.type = 'text'; + continue; + } + + block.ranges++; + block.args = []; + continue; + } + + if (prev.type === 'range') { + siblings.pop(); + let before = siblings[siblings.length - 1]; + before.value += prev.value + value; + prev = before; + block.ranges--; + continue; + } + + push({ + type: 'dot', + value + }); + continue; + } + /** + * Text + */ + + + push({ + type: 'text', + value + }); + } // Mark imbalanced braces and brackets as invalid + + + do { + block = stack.pop(); + + if (block.type !== 'root') { + block.nodes.forEach(node => { + if (!node.nodes) { + if (node.type === 'open') node.isOpen = true; + if (node.type === 'close') node.isClose = true; + if (!node.nodes) node.type = 'text'; + node.invalid = true; + } + }); // get the location of the block on parent.nodes (block's siblings) + + let parent = stack[stack.length - 1]; + let index = parent.nodes.indexOf(block); // replace the (invalid) block with it's nodes + + parent.nodes.splice(index, 1, ...block.nodes); + } + } while (stack.length > 0); + + push({ + type: 'eos' + }); + return ast; +}; + +var parse_1$1 = parse$4; + +const stringify$2 = stringify$6; +const compile = compile_1; +const expand = expand_1; +const parse$3 = parse_1$1; +/** + * Expand the given pattern or create a regex-compatible string. + * + * ```js + * const braces = require('braces'); + * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)'] + * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c'] + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {String} + * @api public + */ + +const braces$1 = (input, options = {}) => { + let output = []; + + if (Array.isArray(input)) { + for (let pattern of input) { + let result = braces$1.create(pattern, options); + + if (Array.isArray(result)) { + output.push(...result); + } else { + output.push(result); + } + } + } else { + output = [].concat(braces$1.create(input, options)); + } + + if (options && options.expand === true && options.nodupes === true) { + output = [...new Set(output)]; + } + + return output; +}; +/** + * Parse the given `str` with the given `options`. + * + * ```js + * // braces.parse(pattern, [, options]); + * const ast = braces.parse('a/{b,c}/d'); + * console.log(ast); + * ``` + * @param {String} pattern Brace pattern to parse + * @param {Object} options + * @return {Object} Returns an AST + * @api public + */ + + +braces$1.parse = (input, options = {}) => parse$3(input, options); +/** + * Creates a braces string from an AST, or an AST node. + * + * ```js + * const braces = require('braces'); + * let ast = braces.parse('foo/{a,b}/bar'); + * console.log(stringify(ast.nodes[2])); //=> '{a,b}' + * ``` + * @param {String} `input` Brace pattern or AST. + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + + +braces$1.stringify = (input, options = {}) => { + if (typeof input === 'string') { + return stringify$2(braces$1.parse(input, options), options); + } + + return stringify$2(input, options); +}; +/** + * Compiles a brace pattern into a regex-compatible, optimized string. + * This method is called by the main [braces](#braces) function by default. + * + * ```js + * const braces = require('braces'); + * console.log(braces.compile('a/{b,c}/d')); + * //=> ['a/(b|c)/d'] + * ``` + * @param {String} `input` Brace pattern or AST. + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + + +braces$1.compile = (input, options = {}) => { + if (typeof input === 'string') { + input = braces$1.parse(input, options); + } + + return compile(input, options); +}; +/** + * Expands a brace pattern into an array. This method is called by the + * main [braces](#braces) function when `options.expand` is true. Before + * using this method it's recommended that you read the [performance notes](#performance)) + * and advantages of using [.compile](#compile) instead. + * + * ```js + * const braces = require('braces'); + * console.log(braces.expand('a/{b,c}/d')); + * //=> ['a/b/d', 'a/c/d']; + * ``` + * @param {String} `pattern` Brace pattern + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + + +braces$1.expand = (input, options = {}) => { + if (typeof input === 'string') { + input = braces$1.parse(input, options); + } + + let result = expand(input, options); // filter out empty strings if specified + + if (options.noempty === true) { + result = result.filter(Boolean); + } // filter out duplicates if specified + + + if (options.nodupes === true) { + result = [...new Set(result)]; + } + + return result; +}; +/** + * Processes a brace pattern and returns either an expanded array + * (if `options.expand` is true), a highly optimized regex-compatible string. + * This method is called by the main [braces](#braces) function. + * + * ```js + * const braces = require('braces'); + * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) + * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' + * ``` + * @param {String} `pattern` Brace pattern + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + + +braces$1.create = (input, options = {}) => { + if (input === '' || input.length < 3) { + return [input]; + } + + return options.expand !== true ? braces$1.compile(input, options) : braces$1.expand(input, options); +}; +/** + * Expose "braces" + */ + + +var braces_1 = braces$1; + +var utils$f = {}; + +const path$a = require$$0__default$1["default"]; +const WIN_SLASH = '\\\\/'; +const WIN_NO_SLASH = `[^${WIN_SLASH}]`; +/** + * Posix glob regex + */ + +const DOT_LITERAL = '\\.'; +const PLUS_LITERAL = '\\+'; +const QMARK_LITERAL = '\\?'; +const SLASH_LITERAL = '\\/'; +const ONE_CHAR = '(?=.)'; +const QMARK = '[^/]'; +const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; +const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; +const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; +const NO_DOT = `(?!${DOT_LITERAL})`; +const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; +const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; +const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; +const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; +const STAR = `${QMARK}*?`; +const POSIX_CHARS = { + DOT_LITERAL, + PLUS_LITERAL, + QMARK_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + QMARK, + END_ANCHOR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK_NO_DOT, + STAR, + START_ANCHOR +}; +/** + * Windows glob regex + */ + +const WINDOWS_CHARS = Object.assign(Object.assign({}, POSIX_CHARS), {}, { + SLASH_LITERAL: `[${WIN_SLASH}]`, + QMARK: WIN_NO_SLASH, + STAR: `${WIN_NO_SLASH}*?`, + DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, + NO_DOT: `(?!${DOT_LITERAL})`, + NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, + NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + QMARK_NO_DOT: `[^.${WIN_SLASH}]`, + START_ANCHOR: `(?:^|[${WIN_SLASH}])`, + END_ANCHOR: `(?:[${WIN_SLASH}]|$)` +}); +/** + * POSIX Bracket Regex + */ + +const POSIX_REGEX_SOURCE$1 = { + alnum: 'a-zA-Z0-9', + alpha: 'a-zA-Z', + ascii: '\\x00-\\x7F', + blank: ' \\t', + cntrl: '\\x00-\\x1F\\x7F', + digit: '0-9', + graph: '\\x21-\\x7E', + lower: 'a-z', + print: '\\x20-\\x7E ', + punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~', + space: ' \\t\\r\\n\\v\\f', + upper: 'A-Z', + word: 'A-Za-z0-9_', + xdigit: 'A-Fa-f0-9' +}; +var constants$3 = { + MAX_LENGTH: 1024 * 64, + POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, + // regular expressions + REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, + REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, + REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, + REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, + REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, + REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, + // Replace globs with equivalent patterns to reduce parsing time. + REPLACEMENTS: { + '***': '*', + '**/**': '**', + '**/**/**': '**' + }, + // Digits + CHAR_0: 48, + + /* 0 */ + CHAR_9: 57, + + /* 9 */ + // Alphabet chars. + CHAR_UPPERCASE_A: 65, + + /* A */ + CHAR_LOWERCASE_A: 97, + + /* a */ + CHAR_UPPERCASE_Z: 90, + + /* Z */ + CHAR_LOWERCASE_Z: 122, + + /* z */ + CHAR_LEFT_PARENTHESES: 40, + + /* ( */ + CHAR_RIGHT_PARENTHESES: 41, + + /* ) */ + CHAR_ASTERISK: 42, + + /* * */ + // Non-alphabetic chars. + CHAR_AMPERSAND: 38, + + /* & */ + CHAR_AT: 64, + + /* @ */ + CHAR_BACKWARD_SLASH: 92, + + /* \ */ + CHAR_CARRIAGE_RETURN: 13, + + /* \r */ + CHAR_CIRCUMFLEX_ACCENT: 94, + + /* ^ */ + CHAR_COLON: 58, + + /* : */ + CHAR_COMMA: 44, + + /* , */ + CHAR_DOT: 46, + + /* . */ + CHAR_DOUBLE_QUOTE: 34, + + /* " */ + CHAR_EQUAL: 61, + + /* = */ + CHAR_EXCLAMATION_MARK: 33, + + /* ! */ + CHAR_FORM_FEED: 12, + + /* \f */ + CHAR_FORWARD_SLASH: 47, + + /* / */ + CHAR_GRAVE_ACCENT: 96, + + /* ` */ + CHAR_HASH: 35, + + /* # */ + CHAR_HYPHEN_MINUS: 45, + + /* - */ + CHAR_LEFT_ANGLE_BRACKET: 60, + + /* < */ + CHAR_LEFT_CURLY_BRACE: 123, + + /* { */ + CHAR_LEFT_SQUARE_BRACKET: 91, + + /* [ */ + CHAR_LINE_FEED: 10, + + /* \n */ + CHAR_NO_BREAK_SPACE: 160, + + /* \u00A0 */ + CHAR_PERCENT: 37, + + /* % */ + CHAR_PLUS: 43, + + /* + */ + CHAR_QUESTION_MARK: 63, + + /* ? */ + CHAR_RIGHT_ANGLE_BRACKET: 62, + + /* > */ + CHAR_RIGHT_CURLY_BRACE: 125, + + /* } */ + CHAR_RIGHT_SQUARE_BRACKET: 93, + + /* ] */ + CHAR_SEMICOLON: 59, + + /* ; */ + CHAR_SINGLE_QUOTE: 39, + + /* ' */ + CHAR_SPACE: 32, + + /* */ + CHAR_TAB: 9, + + /* \t */ + CHAR_UNDERSCORE: 95, + + /* _ */ + CHAR_VERTICAL_LINE: 124, + + /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, + + /* \uFEFF */ + SEP: path$a.sep, + + /** + * Create EXTGLOB_CHARS + */ + extglobChars(chars) { + return { + '!': { + type: 'negate', + open: '(?:(?!(?:', + close: `))${chars.STAR})` + }, + '?': { + type: 'qmark', + open: '(?:', + close: ')?' + }, + '+': { + type: 'plus', + open: '(?:', + close: ')+' + }, + '*': { + type: 'star', + open: '(?:', + close: ')*' + }, + '@': { + type: 'at', + open: '(?:', + close: ')' + } + }; + }, + + /** + * Create GLOB_CHARS + */ + globChars(win32) { + return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; + } + +}; + +(function (exports) { + + const path = require$$0__default$1["default"]; + const win32 = process.platform === 'win32'; + const { + REGEX_BACKSLASH, + REGEX_REMOVE_BACKSLASH, + REGEX_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_GLOBAL + } = constants$3; + + exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); + + exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); + + exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); + + exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); + + exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); + + exports.removeBackslashes = str => { + return str.replace(REGEX_REMOVE_BACKSLASH, match => { + return match === '\\' ? '' : match; + }); + }; + + exports.supportsLookbehinds = () => { + const segs = process.version.slice(1).split('.').map(Number); + + if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) { + return true; + } + + return false; + }; + + exports.isWindows = options => { + if (options && typeof options.windows === 'boolean') { + return options.windows; + } + + return win32 === true || path.sep === '\\'; + }; + + exports.escapeLast = (input, char, lastIdx) => { + const idx = input.lastIndexOf(char, lastIdx); + if (idx === -1) return input; + if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); + return `${input.slice(0, idx)}\\${input.slice(idx)}`; + }; + + exports.removePrefix = (input, state = {}) => { + let output = input; + + if (output.startsWith('./')) { + output = output.slice(2); + state.prefix = './'; + } + + return output; + }; + + exports.wrapOutput = (input, state = {}, options = {}) => { + const prepend = options.contains ? '' : '^'; + const append = options.contains ? '' : '$'; + let output = `${prepend}(?:${input})${append}`; + + if (state.negated === true) { + output = `(?:^(?!${output}).*$)`; + } + + return output; + }; +})(utils$f); + +const utils$e = utils$f; +const { + CHAR_ASTERISK, + + /* * */ + CHAR_AT, + + /* @ */ + CHAR_BACKWARD_SLASH, + + /* \ */ + CHAR_COMMA, + + /* , */ + CHAR_DOT, + + /* . */ + CHAR_EXCLAMATION_MARK, + + /* ! */ + CHAR_FORWARD_SLASH, + + /* / */ + CHAR_LEFT_CURLY_BRACE, + + /* { */ + CHAR_LEFT_PARENTHESES, + + /* ( */ + CHAR_LEFT_SQUARE_BRACKET, + + /* [ */ + CHAR_PLUS, + + /* + */ + CHAR_QUESTION_MARK, + + /* ? */ + CHAR_RIGHT_CURLY_BRACE, + + /* } */ + CHAR_RIGHT_PARENTHESES, + + /* ) */ + CHAR_RIGHT_SQUARE_BRACKET + /* ] */ + +} = constants$3; + +const isPathSeparator = code => { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +}; + +const depth = token => { + if (token.isPrefix !== true) { + token.depth = token.isGlobstar ? Infinity : 1; + } +}; +/** + * Quickly scans a glob pattern and returns an object with a handful of + * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), + * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not + * with `!(`) and `negatedExtglob` (true if the path starts with `!(`). + * + * ```js + * const pm = require('picomatch'); + * console.log(pm.scan('foo/bar/*.js')); + * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {Object} Returns an object with tokens and regex source string. + * @api public + */ + + +const scan$1 = (input, options) => { + const opts = options || {}; + const length = input.length - 1; + const scanToEnd = opts.parts === true || opts.scanToEnd === true; + const slashes = []; + const tokens = []; + const parts = []; + let str = input; + let index = -1; + let start = 0; + let lastIndex = 0; + let isBrace = false; + let isBracket = false; + let isGlob = false; + let isExtglob = false; + let isGlobstar = false; + let braceEscaped = false; + let backslashes = false; + let negated = false; + let negatedExtglob = false; + let finished = false; + let braces = 0; + let prev; + let code; + let token = { + value: '', + depth: 0, + isGlob: false + }; + + const eos = () => index >= length; + + const peek = () => str.charCodeAt(index + 1); + + const advance = () => { + prev = code; + return str.charCodeAt(++index); + }; + + while (index < length) { + code = advance(); + let next; + + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + + if (code === CHAR_LEFT_CURLY_BRACE) { + braceEscaped = true; + } + + continue; + } + + if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { + braces++; + + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } + + if (code === CHAR_LEFT_CURLY_BRACE) { + braces++; + continue; + } + + if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (braceEscaped !== true && code === CHAR_COMMA) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_RIGHT_CURLY_BRACE) { + braces--; + + if (braces === 0) { + braceEscaped = false; + isBrace = token.isBrace = true; + finished = true; + break; + } + } + } + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_FORWARD_SLASH) { + slashes.push(index); + tokens.push(token); + token = { + value: '', + depth: 0, + isGlob: false + }; + if (finished === true) continue; + + if (prev === CHAR_DOT && index === start + 1) { + start += 2; + continue; + } + + lastIndex = index + 1; + continue; + } + + if (opts.noext !== true) { + const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; + + if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; + isExtglob = token.isExtglob = true; + finished = true; + + if (code === CHAR_EXCLAMATION_MARK && index === start) { + negatedExtglob = true; + } + + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + isGlob = token.isGlob = true; + finished = true; + break; + } + } + + continue; + } + + break; + } + } + + if (code === CHAR_ASTERISK) { + if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_QUESTION_MARK) { + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_LEFT_SQUARE_BRACKET) { + while (eos() !== true && (next = advance())) { + if (next === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } + + if (next === CHAR_RIGHT_SQUARE_BRACKET) { + isBracket = token.isBracket = true; + isGlob = token.isGlob = true; + finished = true; + break; + } + } + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { + negated = token.negated = true; + start++; + continue; + } + + if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; + + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_LEFT_PARENTHESES) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + finished = true; + break; + } + } + + continue; + } + + break; + } + + if (isGlob === true) { + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + } + + if (opts.noext === true) { + isExtglob = false; + isGlob = false; + } + + let base = str; + let prefix = ''; + let glob = ''; + + if (start > 0) { + prefix = str.slice(0, start); + str = str.slice(start); + lastIndex -= start; + } + + if (base && isGlob === true && lastIndex > 0) { + base = str.slice(0, lastIndex); + glob = str.slice(lastIndex); + } else if (isGlob === true) { + base = ''; + glob = str; + } else { + base = str; + } + + if (base && base !== '' && base !== '/' && base !== str) { + if (isPathSeparator(base.charCodeAt(base.length - 1))) { + base = base.slice(0, -1); + } + } + + if (opts.unescape === true) { + if (glob) glob = utils$e.removeBackslashes(glob); + + if (base && backslashes === true) { + base = utils$e.removeBackslashes(base); + } + } + + const state = { + prefix, + input, + start, + base, + glob, + isBrace, + isBracket, + isGlob, + isExtglob, + isGlobstar, + negated, + negatedExtglob + }; + + if (opts.tokens === true) { + state.maxDepth = 0; + + if (!isPathSeparator(code)) { + tokens.push(token); + } + + state.tokens = tokens; + } + + if (opts.parts === true || opts.tokens === true) { + let prevIndex; + + for (let idx = 0; idx < slashes.length; idx++) { + const n = prevIndex ? prevIndex + 1 : start; + const i = slashes[idx]; + const value = input.slice(n, i); + + if (opts.tokens) { + if (idx === 0 && start !== 0) { + tokens[idx].isPrefix = true; + tokens[idx].value = prefix; + } else { + tokens[idx].value = value; + } + + depth(tokens[idx]); + state.maxDepth += tokens[idx].depth; + } + + if (idx !== 0 || value !== '') { + parts.push(value); + } + + prevIndex = i; + } + + if (prevIndex && prevIndex + 1 < input.length) { + const value = input.slice(prevIndex + 1); + parts.push(value); + + if (opts.tokens) { + tokens[tokens.length - 1].value = value; + depth(tokens[tokens.length - 1]); + state.maxDepth += tokens[tokens.length - 1].depth; + } + } + + state.slashes = slashes; + state.parts = parts; + } + + return state; +}; + +var scan_1 = scan$1; + +const constants$2 = constants$3; +const utils$d = utils$f; +/** + * Constants + */ + +const { + MAX_LENGTH, + POSIX_REGEX_SOURCE, + REGEX_NON_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_BACKREF, + REPLACEMENTS +} = constants$2; +/** + * Helpers + */ + +const expandRange = (args, options) => { + if (typeof options.expandRange === 'function') { + return options.expandRange(...args, options); + } + + args.sort(); + const value = `[${args.join('-')}]`; + + try { + /* eslint-disable-next-line no-new */ + new RegExp(value); + } catch (ex) { + return args.map(v => utils$d.escapeRegex(v)).join('..'); + } + + return value; +}; +/** + * Create the message for a syntax error + */ + + +const syntaxError = (type, char) => { + return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; +}; +/** + * Parse the given input string. + * @param {String} input + * @param {Object} options + * @return {Object} + */ + + +const parse$2 = (input, options) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); + } + + input = REPLACEMENTS[input] || input; + const opts = Object.assign({}, options); + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + let len = input.length; + + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } + + const bos = { + type: 'bos', + value: '', + output: opts.prepend || '' + }; + const tokens = [bos]; + const capture = opts.capture ? '' : '?:'; + const win32 = utils$d.isWindows(options); // create constants based on platform, for windows or posix + + const PLATFORM_CHARS = constants$2.globChars(win32); + const EXTGLOB_CHARS = constants$2.extglobChars(PLATFORM_CHARS); + const { + DOT_LITERAL, + PLUS_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK, + QMARK_NO_DOT, + STAR, + START_ANCHOR + } = PLATFORM_CHARS; + + const globstar = opts => { + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; + + const nodot = opts.dot ? '' : NO_DOT; + const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; + let star = opts.bash === true ? globstar(opts) : STAR; + + if (opts.capture) { + star = `(${star})`; + } // minimatch options support + + + if (typeof opts.noext === 'boolean') { + opts.noextglob = opts.noext; + } + + const state = { + input, + index: -1, + start: 0, + dot: opts.dot === true, + consumed: '', + output: '', + prefix: '', + backtrack: false, + negated: false, + brackets: 0, + braces: 0, + parens: 0, + quotes: 0, + globstar: false, + tokens + }; + input = utils$d.removePrefix(input, state); + len = input.length; + const extglobs = []; + const braces = []; + const stack = []; + let prev = bos; + let value; + /** + * Tokenizing helpers + */ + + const eos = () => state.index === len - 1; + + const peek = state.peek = (n = 1) => input[state.index + n]; + + const advance = state.advance = () => input[++state.index] || ''; + + const remaining = () => input.slice(state.index + 1); + + const consume = (value = '', num = 0) => { + state.consumed += value; + state.index += num; + }; + + const append = token => { + state.output += token.output != null ? token.output : token.value; + consume(token.value); + }; + + const negate = () => { + let count = 1; + + while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { + advance(); + state.start++; + count++; + } + + if (count % 2 === 0) { + return false; + } + + state.negated = true; + state.start++; + return true; + }; + + const increment = type => { + state[type]++; + stack.push(type); + }; + + const decrement = type => { + state[type]--; + stack.pop(); + }; + /** + * Push tokens onto the tokens array. This helper speeds up + * tokenizing by 1) helping us avoid backtracking as much as possible, + * and 2) helping us avoid creating extra tokens when consecutive + * characters are plain text. This improves performance and simplifies + * lookbehinds. + */ + + + const push = tok => { + if (prev.type === 'globstar') { + const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); + const isExtglob = tok.extglob === true || extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'); + + if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { + state.output = state.output.slice(0, -prev.output.length); + prev.type = 'star'; + prev.value = '*'; + prev.output = star; + state.output += prev.output; + } + } + + if (extglobs.length && tok.type !== 'paren') { + extglobs[extglobs.length - 1].inner += tok.value; + } + + if (tok.value || tok.output) append(tok); + + if (prev && prev.type === 'text' && tok.type === 'text') { + prev.value += tok.value; + prev.output = (prev.output || '') + tok.value; + return; + } + + tok.prev = prev; + tokens.push(tok); + prev = tok; + }; + + const extglobOpen = (type, value) => { + const token = Object.assign(Object.assign({}, EXTGLOB_CHARS[value]), {}, { + conditions: 1, + inner: '' + }); + token.prev = prev; + token.parens = state.parens; + token.output = state.output; + const output = (opts.capture ? '(' : '') + token.open; + increment('parens'); + push({ + type, + value, + output: state.output ? '' : ONE_CHAR + }); + push({ + type: 'paren', + extglob: true, + value: advance(), + output + }); + extglobs.push(token); + }; + + const extglobClose = token => { + let output = token.close + (opts.capture ? ')' : ''); + let rest; + + if (token.type === 'negate') { + let extglobStar = star; + + if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { + extglobStar = globstar(opts); + } + + if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { + output = token.close = `)$))${extglobStar}`; + } + + if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { + output = token.close = `)${rest})${extglobStar})`; + } + + if (token.prev.type === 'bos') { + state.negatedExtglob = true; + } + } + + push({ + type: 'paren', + extglob: true, + value, + output + }); + decrement('parens'); + }; + /** + * Fast paths + */ + + + if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { + let backslashes = false; + let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { + if (first === '\\') { + backslashes = true; + return m; + } + + if (first === '?') { + if (esc) { + return esc + first + (rest ? QMARK.repeat(rest.length) : ''); + } + + if (index === 0) { + return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); + } + + return QMARK.repeat(chars.length); + } + + if (first === '.') { + return DOT_LITERAL.repeat(chars.length); + } + + if (first === '*') { + if (esc) { + return esc + first + (rest ? star : ''); + } + + return star; + } + + return esc ? m : `\\${m}`; + }); + + if (backslashes === true) { + if (opts.unescape === true) { + output = output.replace(/\\/g, ''); + } else { + output = output.replace(/\\+/g, m => { + return m.length % 2 === 0 ? '\\\\' : m ? '\\' : ''; + }); + } + } + + if (output === input && opts.contains === true) { + state.output = input; + return state; + } + + state.output = utils$d.wrapOutput(output, state, options); + return state; + } + /** + * Tokenize input until we reach end-of-string + */ + + + while (!eos()) { + value = advance(); + + if (value === '\u0000') { + continue; + } + /** + * Escaped characters + */ + + + if (value === '\\') { + const next = peek(); + + if (next === '/' && opts.bash !== true) { + continue; + } + + if (next === '.' || next === ';') { + continue; + } + + if (!next) { + value += '\\'; + push({ + type: 'text', + value + }); + continue; + } // collapse slashes to reduce potential for exploits + + + const match = /^\\+/.exec(remaining()); + let slashes = 0; + + if (match && match[0].length > 2) { + slashes = match[0].length; + state.index += slashes; + + if (slashes % 2 !== 0) { + value += '\\'; + } + } + + if (opts.unescape === true) { + value = advance(); + } else { + value += advance(); + } + + if (state.brackets === 0) { + push({ + type: 'text', + value + }); + continue; + } + } + /** + * If we're inside a regex character class, continue + * until we reach the closing bracket. + */ + + + if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { + if (opts.posix !== false && value === ':') { + const inner = prev.value.slice(1); + + if (inner.includes('[')) { + prev.posix = true; + + if (inner.includes(':')) { + const idx = prev.value.lastIndexOf('['); + const pre = prev.value.slice(0, idx); + const rest = prev.value.slice(idx + 2); + const posix = POSIX_REGEX_SOURCE[rest]; + + if (posix) { + prev.value = pre + posix; + state.backtrack = true; + advance(); + + if (!bos.output && tokens.indexOf(prev) === 1) { + bos.output = ONE_CHAR; + } + + continue; + } + } + } + } + + if (value === '[' && peek() !== ':' || value === '-' && peek() === ']') { + value = `\\${value}`; + } + + if (value === ']' && (prev.value === '[' || prev.value === '[^')) { + value = `\\${value}`; + } + + if (opts.posix === true && value === '!' && prev.value === '[') { + value = '^'; + } + + prev.value += value; + append({ + value + }); + continue; + } + /** + * If we're inside a quoted string, continue + * until we reach the closing double quote. + */ + + + if (state.quotes === 1 && value !== '"') { + value = utils$d.escapeRegex(value); + prev.value += value; + append({ + value + }); + continue; + } + /** + * Double quotes + */ + + + if (value === '"') { + state.quotes = state.quotes === 1 ? 0 : 1; + + if (opts.keepQuotes === true) { + push({ + type: 'text', + value + }); + } + + continue; + } + /** + * Parentheses + */ + + + if (value === '(') { + increment('parens'); + push({ + type: 'paren', + value + }); + continue; + } + + if (value === ')') { + if (state.parens === 0 && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '(')); + } + + const extglob = extglobs[extglobs.length - 1]; + + if (extglob && state.parens === extglob.parens + 1) { + extglobClose(extglobs.pop()); + continue; + } + + push({ + type: 'paren', + value, + output: state.parens ? ')' : '\\)' + }); + decrement('parens'); + continue; + } + /** + * Square brackets + */ + + + if (value === '[') { + if (opts.nobracket === true || !remaining().includes(']')) { + if (opts.nobracket !== true && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('closing', ']')); + } + + value = `\\${value}`; + } else { + increment('brackets'); + } + + push({ + type: 'bracket', + value + }); + continue; + } + + if (value === ']') { + if (opts.nobracket === true || prev && prev.type === 'bracket' && prev.value.length === 1) { + push({ + type: 'text', + value, + output: `\\${value}` + }); + continue; + } + + if (state.brackets === 0) { + if (opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '[')); + } + + push({ + type: 'text', + value, + output: `\\${value}` + }); + continue; + } + + decrement('brackets'); + const prevValue = prev.value.slice(1); + + if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { + value = `/${value}`; + } + + prev.value += value; + append({ + value + }); // when literal brackets are explicitly disabled + // assume we should match with a regex character class + + if (opts.literalBrackets === false || utils$d.hasRegexChars(prevValue)) { + continue; + } + + const escaped = utils$d.escapeRegex(prev.value); + state.output = state.output.slice(0, -prev.value.length); // when literal brackets are explicitly enabled + // assume we should escape the brackets to match literal characters + + if (opts.literalBrackets === true) { + state.output += escaped; + prev.value = escaped; + continue; + } // when the user specifies nothing, try to match both + + + prev.value = `(${capture}${escaped}|${prev.value})`; + state.output += prev.value; + continue; + } + /** + * Braces + */ + + + if (value === '{' && opts.nobrace !== true) { + increment('braces'); + const open = { + type: 'brace', + value, + output: '(', + outputIndex: state.output.length, + tokensIndex: state.tokens.length + }; + braces.push(open); + push(open); + continue; + } + + if (value === '}') { + const brace = braces[braces.length - 1]; + + if (opts.nobrace === true || !brace) { + push({ + type: 'text', + value, + output: value + }); + continue; + } + + let output = ')'; + + if (brace.dots === true) { + const arr = tokens.slice(); + const range = []; + + for (let i = arr.length - 1; i >= 0; i--) { + tokens.pop(); + + if (arr[i].type === 'brace') { + break; + } + + if (arr[i].type !== 'dots') { + range.unshift(arr[i].value); + } + } + + output = expandRange(range, opts); + state.backtrack = true; + } + + if (brace.comma !== true && brace.dots !== true) { + const out = state.output.slice(0, brace.outputIndex); + const toks = state.tokens.slice(brace.tokensIndex); + brace.value = brace.output = '\\{'; + value = output = '\\}'; + state.output = out; + + for (const t of toks) { + state.output += t.output || t.value; + } + } + + push({ + type: 'brace', + value, + output + }); + decrement('braces'); + braces.pop(); + continue; + } + /** + * Pipes + */ + + + if (value === '|') { + if (extglobs.length > 0) { + extglobs[extglobs.length - 1].conditions++; + } + + push({ + type: 'text', + value + }); + continue; + } + /** + * Commas + */ + + + if (value === ',') { + let output = value; + const brace = braces[braces.length - 1]; + + if (brace && stack[stack.length - 1] === 'braces') { + brace.comma = true; + output = '|'; + } + + push({ + type: 'comma', + value, + output + }); + continue; + } + /** + * Slashes + */ + + + if (value === '/') { + // if the beginning of the glob is "./", advance the start + // to the current index, and don't add the "./" characters + // to the state. This greatly simplifies lookbehinds when + // checking for BOS characters like "!" and "." (not "./") + if (prev.type === 'dot' && state.index === state.start + 1) { + state.start = state.index + 1; + state.consumed = ''; + state.output = ''; + tokens.pop(); + prev = bos; // reset "prev" to the first token + + continue; + } + + push({ + type: 'slash', + value, + output: SLASH_LITERAL + }); + continue; + } + /** + * Dots + */ + + + if (value === '.') { + if (state.braces > 0 && prev.type === 'dot') { + if (prev.value === '.') prev.output = DOT_LITERAL; + const brace = braces[braces.length - 1]; + prev.type = 'dots'; + prev.output += value; + prev.value += value; + brace.dots = true; + continue; + } + + if (state.braces + state.parens === 0 && prev.type !== 'bos' && prev.type !== 'slash') { + push({ + type: 'text', + value, + output: DOT_LITERAL + }); + continue; + } + + push({ + type: 'dot', + value, + output: DOT_LITERAL + }); + continue; + } + /** + * Question marks + */ + + + if (value === '?') { + const isGroup = prev && prev.value === '('; + + if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('qmark', value); + continue; + } + + if (prev && prev.type === 'paren') { + const next = peek(); + let output = value; + + if (next === '<' && !utils$d.supportsLookbehinds()) { + throw new Error('Node.js v10 or higher is required for regex lookbehinds'); + } + + if (prev.value === '(' && !/[!=<:]/.test(next) || next === '<' && !/<([!=]|\w+>)/.test(remaining())) { + output = `\\${value}`; + } + + push({ + type: 'text', + value, + output + }); + continue; + } + + if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { + push({ + type: 'qmark', + value, + output: QMARK_NO_DOT + }); + continue; + } + + push({ + type: 'qmark', + value, + output: QMARK + }); + continue; + } + /** + * Exclamation + */ + + + if (value === '!') { + if (opts.noextglob !== true && peek() === '(') { + if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { + extglobOpen('negate', value); + continue; + } + } + + if (opts.nonegate !== true && state.index === 0) { + negate(); + continue; + } + } + /** + * Plus + */ + + + if (value === '+') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('plus', value); + continue; + } + + if (prev && prev.value === '(' || opts.regex === false) { + push({ + type: 'plus', + value, + output: PLUS_LITERAL + }); + continue; + } + + if (prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace') || state.parens > 0) { + push({ + type: 'plus', + value + }); + continue; + } + + push({ + type: 'plus', + value: PLUS_LITERAL + }); + continue; + } + /** + * Plain text + */ + + + if (value === '@') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + push({ + type: 'at', + extglob: true, + value, + output: '' + }); + continue; + } + + push({ + type: 'text', + value + }); + continue; + } + /** + * Plain text + */ + + + if (value !== '*') { + if (value === '$' || value === '^') { + value = `\\${value}`; + } + + const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); + + if (match) { + value += match[0]; + state.index += match[0].length; + } + + push({ + type: 'text', + value + }); + continue; + } + /** + * Stars + */ + + + if (prev && (prev.type === 'globstar' || prev.star === true)) { + prev.type = 'star'; + prev.star = true; + prev.value += value; + prev.output = star; + state.backtrack = true; + state.globstar = true; + consume(value); + continue; + } + + let rest = remaining(); + + if (opts.noextglob !== true && /^\([^?]/.test(rest)) { + extglobOpen('star', value); + continue; + } + + if (prev.type === 'star') { + if (opts.noglobstar === true) { + consume(value); + continue; + } + + const prior = prev.prev; + const before = prior.prev; + const isStart = prior.type === 'slash' || prior.type === 'bos'; + const afterStar = before && (before.type === 'star' || before.type === 'globstar'); + + if (opts.bash === true && (!isStart || rest[0] && rest[0] !== '/')) { + push({ + type: 'star', + value, + output: '' + }); + continue; + } + + const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); + const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); + + if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { + push({ + type: 'star', + value, + output: '' + }); + continue; + } // strip consecutive `/**/` + + + while (rest.slice(0, 3) === '/**') { + const after = input[state.index + 4]; + + if (after && after !== '/') { + break; + } + + rest = rest.slice(3); + consume('/**', 3); + } + + if (prior.type === 'bos' && eos()) { + prev.type = 'globstar'; + prev.value += value; + prev.output = globstar(opts); + state.output = prev.output; + state.globstar = true; + consume(value); + continue; + } + + if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; + prev.type = 'globstar'; + prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); + prev.value += value; + state.globstar = true; + state.output += prior.output + prev.output; + consume(value); + continue; + } + + if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { + const end = rest[1] !== void 0 ? '|$' : ''; + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; + prev.type = 'globstar'; + prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; + prev.value += value; + state.output += prior.output + prev.output; + state.globstar = true; + consume(value + advance()); + push({ + type: 'slash', + value: '/', + output: '' + }); + continue; + } + + if (prior.type === 'bos' && rest[0] === '/') { + prev.type = 'globstar'; + prev.value += value; + prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; + state.output = prev.output; + state.globstar = true; + consume(value + advance()); + push({ + type: 'slash', + value: '/', + output: '' + }); + continue; + } // remove single star from output + + + state.output = state.output.slice(0, -prev.output.length); // reset previous token to globstar + + prev.type = 'globstar'; + prev.output = globstar(opts); + prev.value += value; // reset output with globstar + + state.output += prev.output; + state.globstar = true; + consume(value); + continue; + } + + const token = { + type: 'star', + value, + output: star + }; + + if (opts.bash === true) { + token.output = '.*?'; + + if (prev.type === 'bos' || prev.type === 'slash') { + token.output = nodot + token.output; + } + + push(token); + continue; + } + + if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { + token.output = value; + push(token); + continue; + } + + if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { + if (prev.type === 'dot') { + state.output += NO_DOT_SLASH; + prev.output += NO_DOT_SLASH; + } else if (opts.dot === true) { + state.output += NO_DOTS_SLASH; + prev.output += NO_DOTS_SLASH; + } else { + state.output += nodot; + prev.output += nodot; + } + + if (peek() !== '*') { + state.output += ONE_CHAR; + prev.output += ONE_CHAR; + } + } + + push(token); + } + + while (state.brackets > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); + state.output = utils$d.escapeLast(state.output, '['); + decrement('brackets'); + } + + while (state.parens > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); + state.output = utils$d.escapeLast(state.output, '('); + decrement('parens'); + } + + while (state.braces > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); + state.output = utils$d.escapeLast(state.output, '{'); + decrement('braces'); + } + + if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { + push({ + type: 'maybe_slash', + value: '', + output: `${SLASH_LITERAL}?` + }); + } // rebuild the output if we had to backtrack at any point + + + if (state.backtrack === true) { + state.output = ''; + + for (const token of state.tokens) { + state.output += token.output != null ? token.output : token.value; + + if (token.suffix) { + state.output += token.suffix; + } + } + } + + return state; +}; +/** + * Fast paths for creating regular expressions for common glob patterns. + * This can significantly speed up processing and has very little downside + * impact when none of the fast paths match. + */ + + +parse$2.fastpaths = (input, options) => { + const opts = Object.assign({}, options); + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + const len = input.length; + + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } + + input = REPLACEMENTS[input] || input; + const win32 = utils$d.isWindows(options); // create constants based on platform, for windows or posix + + const { + DOT_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOTS_SLASH, + STAR, + START_ANCHOR + } = constants$2.globChars(win32); + const nodot = opts.dot ? NO_DOTS : NO_DOT; + const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; + const capture = opts.capture ? '' : '?:'; + const state = { + negated: false, + prefix: '' + }; + let star = opts.bash === true ? '.*?' : STAR; + + if (opts.capture) { + star = `(${star})`; + } + + const globstar = opts => { + if (opts.noglobstar === true) return star; + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; + + const create = str => { + switch (str) { + case '*': + return `${nodot}${ONE_CHAR}${star}`; + + case '.*': + return `${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '*.*': + return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '*/*': + return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; + + case '**': + return nodot + globstar(opts); + + case '**/*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; + + case '**/*.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '**/.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; + + default: + { + const match = /^(.*?)\.(\w+)$/.exec(str); + if (!match) return; + const source = create(match[1]); + if (!source) return; + return source + DOT_LITERAL + match[2]; + } + } + }; + + const output = utils$d.removePrefix(input, state); + let source = create(output); + + if (source && opts.strictSlashes !== true) { + source += `${SLASH_LITERAL}?`; + } + + return source; +}; + +var parse_1 = parse$2; + +const path$9 = require$$0__default$1["default"]; +const scan = scan_1; +const parse$1 = parse_1; +const utils$c = utils$f; +const constants$1 = constants$3; + +const isObject$5 = val => val && typeof val === 'object' && !Array.isArray(val); +/** + * Creates a matcher function from one or more glob patterns. The + * returned function takes a string to match as its first argument, + * and returns true if the string is a match. The returned matcher + * function also takes a boolean as the second argument that, when true, + * returns an object with additional information. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch(glob[, options]); + * + * const isMatch = picomatch('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @name picomatch + * @param {String|Array} `globs` One or more glob patterns. + * @param {Object=} `options` + * @return {Function=} Returns a matcher function. + * @api public + */ + + +const picomatch$2 = (glob, options, returnState = false) => { + if (Array.isArray(glob)) { + const fns = glob.map(input => picomatch$2(input, options, returnState)); + + const arrayMatcher = str => { + for (const isMatch of fns) { + const state = isMatch(str); + if (state) return state; + } + + return false; + }; + + return arrayMatcher; + } + + const isState = isObject$5(glob) && glob.tokens && glob.input; + + if (glob === '' || typeof glob !== 'string' && !isState) { + throw new TypeError('Expected pattern to be a non-empty string'); + } + + const opts = options || {}; + const posix = utils$c.isWindows(options); + const regex = isState ? picomatch$2.compileRe(glob, options) : picomatch$2.makeRe(glob, options, false, true); + const state = regex.state; + delete regex.state; + + let isIgnored = () => false; + + if (opts.ignore) { + const ignoreOpts = Object.assign(Object.assign({}, options), {}, { + ignore: null, + onMatch: null, + onResult: null + }); + isIgnored = picomatch$2(opts.ignore, ignoreOpts, returnState); + } + + const matcher = (input, returnObject = false) => { + const { + isMatch, + match, + output + } = picomatch$2.test(input, regex, options, { + glob, + posix + }); + const result = { + glob, + state, + regex, + posix, + input, + output, + match, + isMatch + }; + + if (typeof opts.onResult === 'function') { + opts.onResult(result); + } + + if (isMatch === false) { + result.isMatch = false; + return returnObject ? result : false; + } + + if (isIgnored(input)) { + if (typeof opts.onIgnore === 'function') { + opts.onIgnore(result); + } + + result.isMatch = false; + return returnObject ? result : false; + } + + if (typeof opts.onMatch === 'function') { + opts.onMatch(result); + } + + return returnObject ? result : true; + }; + + if (returnState) { + matcher.state = state; + } + + return matcher; +}; +/** + * Test `input` with the given `regex`. This is used by the main + * `picomatch()` function to test the input string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.test(input, regex[, options]); + * + * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); + * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } + * ``` + * @param {String} `input` String to test. + * @param {RegExp} `regex` + * @return {Object} Returns an object with matching info. + * @api public + */ + + +picomatch$2.test = (input, regex, options, { + glob, + posix +} = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected input to be a string'); + } + + if (input === '') { + return { + isMatch: false, + output: '' + }; + } + + const opts = options || {}; + const format = opts.format || (posix ? utils$c.toPosixSlashes : null); + let match = input === glob; + let output = match && format ? format(input) : input; + + if (match === false) { + output = format ? format(input) : input; + match = output === glob; + } + + if (match === false || opts.capture === true) { + if (opts.matchBase === true || opts.basename === true) { + match = picomatch$2.matchBase(input, regex, options, posix); + } else { + match = regex.exec(output); + } + } + + return { + isMatch: Boolean(match), + match, + output + }; +}; +/** + * Match the basename of a filepath. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.matchBase(input, glob[, options]); + * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true + * ``` + * @param {String} `input` String to test. + * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). + * @return {Boolean} + * @api public + */ + + +picomatch$2.matchBase = (input, glob, options, posix = utils$c.isWindows(options)) => { + const regex = glob instanceof RegExp ? glob : picomatch$2.makeRe(glob, options); + return regex.test(path$9.basename(input)); +}; +/** + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.isMatch(string, patterns[, options]); + * + * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String|Array} str The string to test. + * @param {String|Array} patterns One or more glob patterns to use for matching. + * @param {Object} [options] See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + + +picomatch$2.isMatch = (str, patterns, options) => picomatch$2(patterns, options)(str); +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const picomatch = require('picomatch'); + * const result = picomatch.parse(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as a regex source string. + * @api public + */ + + +picomatch$2.parse = (pattern, options) => { + if (Array.isArray(pattern)) return pattern.map(p => picomatch$2.parse(p, options)); + return parse$1(pattern, Object.assign(Object.assign({}, options), {}, { + fastpaths: false + })); +}; +/** + * Scan a glob pattern to separate the pattern into segments. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.scan(input[, options]); + * + * const result = picomatch.scan('!./foo/*.js'); + * console.log(result); + * { prefix: '!./', + * input: '!./foo/*.js', + * start: 3, + * base: 'foo', + * glob: '*.js', + * isBrace: false, + * isBracket: false, + * isGlob: true, + * isExtglob: false, + * isGlobstar: false, + * negated: true } + * ``` + * @param {String} `input` Glob pattern to scan. + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public + */ + + +picomatch$2.scan = (input, options) => scan(input, options); +/** + * Compile a regular expression from the `state` object returned by the + * [parse()](#parse) method. + * + * @param {Object} `state` + * @param {Object} `options` + * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser. + * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging. + * @return {RegExp} + * @api public + */ + + +picomatch$2.compileRe = (state, options, returnOutput = false, returnState = false) => { + if (returnOutput === true) { + return state.output; + } + + const opts = options || {}; + const prepend = opts.contains ? '' : '^'; + const append = opts.contains ? '' : '$'; + let source = `${prepend}(?:${state.output})${append}`; + + if (state && state.negated === true) { + source = `^(?!${source}).*$`; + } + + const regex = picomatch$2.toRegex(source, options); + + if (returnState === true) { + regex.state = state; + } + + return regex; +}; +/** + * Create a regular expression from a parsed glob pattern. + * + * ```js + * const picomatch = require('picomatch'); + * const state = picomatch.parse('*.js'); + * // picomatch.compileRe(state[, options]); + * + * console.log(picomatch.compileRe(state)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `state` The object returned from the `.parse` method. + * @param {Object} `options` + * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result. + * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression. + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ + + +picomatch$2.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { + if (!input || typeof input !== 'string') { + throw new TypeError('Expected a non-empty string'); + } + + let parsed = { + negated: false, + fastpaths: true + }; + + if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { + parsed.output = parse$1.fastpaths(input, options); + } + + if (!parsed.output) { + parsed = parse$1(input, options); + } + + return picomatch$2.compileRe(parsed, options, returnOutput, returnState); +}; +/** + * Create a regular expression from the given regex source string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.toRegex(source[, options]); + * + * const { output } = picomatch.parse('*.js'); + * console.log(picomatch.toRegex(output)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `source` Regular expression source string. + * @param {Object} `options` + * @return {RegExp} + * @api public + */ + + +picomatch$2.toRegex = (source, options) => { + try { + const opts = options || {}; + return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); + } catch (err) { + if (options && options.debug === true) throw err; + return /$^/; + } +}; +/** + * Picomatch constants. + * @return {Object} + */ + + +picomatch$2.constants = constants$1; +/** + * Expose "picomatch" + */ + +var picomatch_1 = picomatch$2; + +var picomatch$1 = picomatch_1; + +const util = require$$0__default$2["default"]; +const braces = braces_1; +const picomatch = picomatch$1; +const utils$b = utils$f; + +const isEmptyString = val => val === '' || val === './'; +/** + * Returns an array of strings that match one or more glob patterns. + * + * ```js + * const mm = require('micromatch'); + * // mm(list, patterns[, options]); + * + * console.log(mm(['a.js', 'a.txt'], ['*.js'])); + * //=> [ 'a.js' ] + * ``` + * @param {String|Array} `list` List of strings to match. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) + * @return {Array} Returns an array of matches + * @summary false + * @api public + */ + + +const micromatch$1 = (list, patterns, options) => { + patterns = [].concat(patterns); + list = [].concat(list); + let omit = new Set(); + let keep = new Set(); + let items = new Set(); + let negatives = 0; + + let onResult = state => { + items.add(state.output); + + if (options && options.onResult) { + options.onResult(state); + } + }; + + for (let i = 0; i < patterns.length; i++) { + let isMatch = picomatch(String(patterns[i]), Object.assign(Object.assign({}, options), {}, { + onResult + }), true); + let negated = isMatch.state.negated || isMatch.state.negatedExtglob; + if (negated) negatives++; + + for (let item of list) { + let matched = isMatch(item, true); + let match = negated ? !matched.isMatch : matched.isMatch; + if (!match) continue; + + if (negated) { + omit.add(matched.output); + } else { + omit.delete(matched.output); + keep.add(matched.output); + } + } + } + + let result = negatives === patterns.length ? [...items] : [...keep]; + let matches = result.filter(item => !omit.has(item)); + + if (options && matches.length === 0) { + if (options.failglob === true) { + throw new Error(`No matches found for "${patterns.join(', ')}"`); + } + + if (options.nonull === true || options.nullglob === true) { + return options.unescape ? patterns.map(p => p.replace(/\\/g, '')) : patterns; + } + } + + return matches; +}; +/** + * Backwards compatibility + */ + + +micromatch$1.match = micromatch$1; +/** + * Returns a matcher function from the given glob `pattern` and `options`. + * The returned function takes a string to match as its only argument and returns + * true if the string is a match. + * + * ```js + * const mm = require('micromatch'); + * // mm.matcher(pattern[, options]); + * + * const isMatch = mm.matcher('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @param {String} `pattern` Glob pattern + * @param {Object} `options` + * @return {Function} Returns a matcher function. + * @api public + */ + +micromatch$1.matcher = (pattern, options) => picomatch(pattern, options); +/** + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const mm = require('micromatch'); + * // mm.isMatch(string, patterns[, options]); + * + * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(mm.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `[options]` See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + + +micromatch$1.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); +/** + * Backwards compatibility + */ + + +micromatch$1.any = micromatch$1.isMatch; +/** + * Returns a list of strings that _**do not match any**_ of the given `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.not(list, patterns[, options]); + * + * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a')); + * //=> ['b.b', 'c.c'] + * ``` + * @param {Array} `list` Array of strings to match. + * @param {String|Array} `patterns` One or more glob pattern to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Array} Returns an array of strings that **do not match** the given patterns. + * @api public + */ + +micromatch$1.not = (list, patterns, options = {}) => { + patterns = [].concat(patterns).map(String); + let result = new Set(); + let items = []; + + let onResult = state => { + if (options.onResult) options.onResult(state); + items.push(state.output); + }; + + let matches = micromatch$1(list, patterns, Object.assign(Object.assign({}, options), {}, { + onResult + })); + + for (let item of items) { + if (!matches.includes(item)) { + result.add(item); + } + } + + return [...result]; +}; +/** + * Returns true if the given `string` contains the given pattern. Similar + * to [.isMatch](#isMatch) but the pattern can match any part of the string. + * + * ```js + * var mm = require('micromatch'); + * // mm.contains(string, pattern[, options]); + * + * console.log(mm.contains('aa/bb/cc', '*b')); + * //=> true + * console.log(mm.contains('aa/bb/cc', '*d')); + * //=> false + * ``` + * @param {String} `str` The string to match. + * @param {String|Array} `patterns` Glob pattern to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any of the patterns matches any part of `str`. + * @api public + */ + + +micromatch$1.contains = (str, pattern, options) => { + if (typeof str !== 'string') { + throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + } + + if (Array.isArray(pattern)) { + return pattern.some(p => micromatch$1.contains(str, p, options)); + } + + if (typeof pattern === 'string') { + if (isEmptyString(str) || isEmptyString(pattern)) { + return false; + } + + if (str.includes(pattern) || str.startsWith('./') && str.slice(2).includes(pattern)) { + return true; + } + } + + return micromatch$1.isMatch(str, pattern, Object.assign(Object.assign({}, options), {}, { + contains: true + })); +}; +/** + * Filter the keys of the given object with the given `glob` pattern + * and `options`. Does not attempt to match nested keys. If you need this feature, + * use [glob-object][] instead. + * + * ```js + * const mm = require('micromatch'); + * // mm.matchKeys(object, patterns[, options]); + * + * const obj = { aa: 'a', ab: 'b', ac: 'c' }; + * console.log(mm.matchKeys(obj, '*b')); + * //=> { ab: 'b' } + * ``` + * @param {Object} `object` The object with keys to filter. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Object} Returns an object with only keys that match the given patterns. + * @api public + */ + + +micromatch$1.matchKeys = (obj, patterns, options) => { + if (!utils$b.isObject(obj)) { + throw new TypeError('Expected the first argument to be an object'); + } + + let keys = micromatch$1(Object.keys(obj), patterns, options); + let res = {}; + + for (let key of keys) res[key] = obj[key]; + + return res; +}; +/** + * Returns true if some of the strings in the given `list` match any of the given glob `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.some(list, patterns[, options]); + * + * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); + * // true + * console.log(mm.some(['foo.js'], ['*.js', '!foo.js'])); + * // false + * ``` + * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list` + * @api public + */ + + +micromatch$1.some = (list, patterns, options) => { + let items = [].concat(list); + + for (let pattern of [].concat(patterns)) { + let isMatch = picomatch(String(pattern), options); + + if (items.some(item => isMatch(item))) { + return true; + } + } + + return false; +}; +/** + * Returns true if every string in the given `list` matches + * any of the given glob `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.every(list, patterns[, options]); + * + * console.log(mm.every('foo.js', ['foo.js'])); + * // true + * console.log(mm.every(['foo.js', 'bar.js'], ['*.js'])); + * // true + * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); + * // false + * console.log(mm.every(['foo.js'], ['*.js', '!foo.js'])); + * // false + * ``` + * @param {String|Array} `list` The string or array of strings to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list` + * @api public + */ + + +micromatch$1.every = (list, patterns, options) => { + let items = [].concat(list); + + for (let pattern of [].concat(patterns)) { + let isMatch = picomatch(String(pattern), options); + + if (!items.every(item => isMatch(item))) { + return false; + } + } + + return true; +}; +/** + * Returns true if **all** of the given `patterns` match + * the specified string. + * + * ```js + * const mm = require('micromatch'); + * // mm.all(string, patterns[, options]); + * + * console.log(mm.all('foo.js', ['foo.js'])); + * // true + * + * console.log(mm.all('foo.js', ['*.js', '!foo.js'])); + * // false + * + * console.log(mm.all('foo.js', ['*.js', 'foo.js'])); + * // true + * + * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js'])); + * // true + * ``` + * @param {String|Array} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + + +micromatch$1.all = (str, patterns, options) => { + if (typeof str !== 'string') { + throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + } + + return [].concat(patterns).every(p => picomatch(p, options)(str)); +}; +/** + * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. + * + * ```js + * const mm = require('micromatch'); + * // mm.capture(pattern, string[, options]); + * + * console.log(mm.capture('test/*.js', 'test/foo.js')); + * //=> ['foo'] + * console.log(mm.capture('test/*.js', 'foo/bar.css')); + * //=> null + * ``` + * @param {String} `glob` Glob pattern to use for matching. + * @param {String} `input` String to match + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`. + * @api public + */ + + +micromatch$1.capture = (glob, input, options) => { + let posix = utils$b.isWindows(options); + let regex = picomatch.makeRe(String(glob), Object.assign(Object.assign({}, options), {}, { + capture: true + })); + let match = regex.exec(posix ? utils$b.toPosixSlashes(input) : input); + + if (match) { + return match.slice(1).map(v => v === void 0 ? '' : v); + } +}; +/** + * Create a regular expression from the given glob `pattern`. + * + * ```js + * const mm = require('micromatch'); + * // mm.makeRe(pattern[, options]); + * + * console.log(mm.makeRe('*.js')); + * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/ + * ``` + * @param {String} `pattern` A glob pattern to convert to regex. + * @param {Object} `options` + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ + + +micromatch$1.makeRe = (...args) => picomatch.makeRe(...args); +/** + * Scan a glob pattern to separate the pattern into segments. Used + * by the [split](#split) method. + * + * ```js + * const mm = require('micromatch'); + * const state = mm.scan(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public + */ + + +micromatch$1.scan = (...args) => picomatch.scan(...args); +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const mm = require('micromatch'); + * const state = mm(pattern[, options]); + * ``` + * @param {String} `glob` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as regex source string. + * @api public + */ + + +micromatch$1.parse = (patterns, options) => { + let res = []; + + for (let pattern of [].concat(patterns || [])) { + for (let str of braces(String(pattern), options)) { + res.push(picomatch.parse(str, options)); + } + } + + return res; +}; +/** + * Process the given brace `pattern`. + * + * ```js + * const { braces } = require('micromatch'); + * console.log(braces('foo/{a,b,c}/bar')); + * //=> [ 'foo/(a|b|c)/bar' ] + * + * console.log(braces('foo/{a,b,c}/bar', { expand: true })); + * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ] + * ``` + * @param {String} `pattern` String with brace pattern to process. + * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options. + * @return {Array} + * @api public + */ + + +micromatch$1.braces = (pattern, options) => { + if (typeof pattern !== 'string') throw new TypeError('Expected a string'); + + if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) { + return [pattern]; + } + + return braces(pattern, options); +}; +/** + * Expand braces + */ + + +micromatch$1.braceExpand = (pattern, options) => { + if (typeof pattern !== 'string') throw new TypeError('Expected a string'); + return micromatch$1.braces(pattern, Object.assign(Object.assign({}, options), {}, { + expand: true + })); +}; +/** + * Expose micromatch + */ + + +var micromatch_1 = micromatch$1; + +Object.defineProperty(pattern$1, "__esModule", { + value: true +}); +pattern$1.matchAny = pattern$1.convertPatternsToRe = pattern$1.makeRe = pattern$1.getPatternParts = pattern$1.expandBraceExpansion = pattern$1.expandPatternsWithBraceExpansion = pattern$1.isAffectDepthOfReadingPattern = pattern$1.endsWithSlashGlobStar = pattern$1.hasGlobStar = pattern$1.getBaseDirectory = pattern$1.isPatternRelatedToParentDirectory = pattern$1.getPatternsOutsideCurrentDirectory = pattern$1.getPatternsInsideCurrentDirectory = pattern$1.getPositivePatterns = pattern$1.getNegativePatterns = pattern$1.isPositivePattern = pattern$1.isNegativePattern = pattern$1.convertToNegativePattern = pattern$1.convertToPositivePattern = pattern$1.isDynamicPattern = pattern$1.isStaticPattern = void 0; +const path$8 = require$$0__default$1["default"]; +const globParent = globParent$1; +const micromatch = micromatch_1; +const GLOBSTAR = '**'; +const ESCAPE_SYMBOL = '\\'; +const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; +const REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[.*]/; +const REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\(.*\|.*\)/; +const GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\(.*\)/; +const BRACE_EXPANSIONS_SYMBOLS_RE = /{.*(?:,|\.\.).*}/; + +function isStaticPattern(pattern, options = {}) { + return !isDynamicPattern(pattern, options); +} + +pattern$1.isStaticPattern = isStaticPattern; + +function isDynamicPattern(pattern, options = {}) { + /** + * A special case with an empty string is necessary for matching patterns that start with a forward slash. + * An empty string cannot be a dynamic pattern. + * For example, the pattern `/lib/*` will be spread into parts: '', 'lib', '*'. + */ + if (pattern === '') { + return false; + } + /** + * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check + * filepath directly (without read directory). + */ + + + if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { + return true; + } + + if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { + return true; + } + + if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { + return true; + } + + if (options.braceExpansion !== false && BRACE_EXPANSIONS_SYMBOLS_RE.test(pattern)) { + return true; + } + + return false; +} + +pattern$1.isDynamicPattern = isDynamicPattern; + +function convertToPositivePattern(pattern) { + return isNegativePattern(pattern) ? pattern.slice(1) : pattern; +} + +pattern$1.convertToPositivePattern = convertToPositivePattern; + +function convertToNegativePattern(pattern) { + return '!' + pattern; +} + +pattern$1.convertToNegativePattern = convertToNegativePattern; + +function isNegativePattern(pattern) { + return pattern.startsWith('!') && pattern[1] !== '('; +} + +pattern$1.isNegativePattern = isNegativePattern; + +function isPositivePattern(pattern) { + return !isNegativePattern(pattern); +} + +pattern$1.isPositivePattern = isPositivePattern; + +function getNegativePatterns(patterns) { + return patterns.filter(isNegativePattern); +} + +pattern$1.getNegativePatterns = getNegativePatterns; + +function getPositivePatterns$1(patterns) { + return patterns.filter(isPositivePattern); +} + +pattern$1.getPositivePatterns = getPositivePatterns$1; +/** + * Returns patterns that can be applied inside the current directory. + * + * @example + * // ['./*', '*', 'a/*'] + * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*']) + */ + +function getPatternsInsideCurrentDirectory(patterns) { + return patterns.filter(pattern => !isPatternRelatedToParentDirectory(pattern)); +} + +pattern$1.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory; +/** + * Returns patterns to be expanded relative to (outside) the current directory. + * + * @example + * // ['../*', './../*'] + * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*']) + */ + +function getPatternsOutsideCurrentDirectory(patterns) { + return patterns.filter(isPatternRelatedToParentDirectory); +} + +pattern$1.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory; + +function isPatternRelatedToParentDirectory(pattern) { + return pattern.startsWith('..') || pattern.startsWith('./..'); +} + +pattern$1.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory; + +function getBaseDirectory(pattern) { + return globParent(pattern, { + flipBackslashes: false + }); +} + +pattern$1.getBaseDirectory = getBaseDirectory; + +function hasGlobStar(pattern) { + return pattern.includes(GLOBSTAR); +} + +pattern$1.hasGlobStar = hasGlobStar; + +function endsWithSlashGlobStar(pattern) { + return pattern.endsWith('/' + GLOBSTAR); +} + +pattern$1.endsWithSlashGlobStar = endsWithSlashGlobStar; + +function isAffectDepthOfReadingPattern(pattern) { + const basename = path$8.basename(pattern); + return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); +} + +pattern$1.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; + +function expandPatternsWithBraceExpansion(patterns) { + return patterns.reduce((collection, pattern) => { + return collection.concat(expandBraceExpansion(pattern)); + }, []); +} + +pattern$1.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; + +function expandBraceExpansion(pattern) { + return micromatch.braces(pattern, { + expand: true, + nodupes: true + }); +} + +pattern$1.expandBraceExpansion = expandBraceExpansion; + +function getPatternParts(pattern, options) { + let { + parts + } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { + parts: true + })); + /** + * The scan method returns an empty array in some cases. + * See micromatch/picomatch#58 for more details. + */ + + if (parts.length === 0) { + parts = [pattern]; + } + /** + * The scan method does not return an empty part for the pattern with a forward slash. + * This is another part of micromatch/picomatch#58. + */ + + + if (parts[0].startsWith('/')) { + parts[0] = parts[0].slice(1); + parts.unshift(''); + } + + return parts; +} + +pattern$1.getPatternParts = getPatternParts; + +function makeRe(pattern, options) { + return micromatch.makeRe(pattern, options); +} + +pattern$1.makeRe = makeRe; + +function convertPatternsToRe(patterns, options) { + return patterns.map(pattern => makeRe(pattern, options)); +} + +pattern$1.convertPatternsToRe = convertPatternsToRe; + +function matchAny(entry, patternsRe) { + return patternsRe.some(patternRe => patternRe.test(entry)); +} + +pattern$1.matchAny = matchAny; + +var stream$4 = {}; + +/* + * merge2 + * https://github.com/teambition/merge2 + * + * Copyright (c) 2014-2020 Teambition + * Licensed under the MIT license. + */ + + +const Stream = require$$0__default$3["default"]; +const PassThrough = Stream.PassThrough; +const slice = Array.prototype.slice; +var merge2_1 = merge2$1; + +function merge2$1() { + const streamsQueue = []; + const args = slice.call(arguments); + let merging = false; + let options = args[args.length - 1]; + + if (options && !Array.isArray(options) && options.pipe == null) { + args.pop(); + } else { + options = {}; + } + + const doEnd = options.end !== false; + const doPipeError = options.pipeError === true; + + if (options.objectMode == null) { + options.objectMode = true; + } + + if (options.highWaterMark == null) { + options.highWaterMark = 64 * 1024; + } + + const mergedStream = PassThrough(options); + + function addStream() { + for (let i = 0, len = arguments.length; i < len; i++) { + streamsQueue.push(pauseStreams(arguments[i], options)); + } + + mergeStream(); + return this; + } + + function mergeStream() { + if (merging) { + return; + } + + merging = true; + let streams = streamsQueue.shift(); + + if (!streams) { + process.nextTick(endStream); + return; + } + + if (!Array.isArray(streams)) { + streams = [streams]; + } + + let pipesCount = streams.length + 1; + + function next() { + if (--pipesCount > 0) { + return; + } + + merging = false; + mergeStream(); + } + + function pipe(stream) { + function onend() { + stream.removeListener('merge2UnpipeEnd', onend); + stream.removeListener('end', onend); + + if (doPipeError) { + stream.removeListener('error', onerror); + } + + next(); + } + + function onerror(err) { + mergedStream.emit('error', err); + } // skip ended stream + + + if (stream._readableState.endEmitted) { + return next(); + } + + stream.on('merge2UnpipeEnd', onend); + stream.on('end', onend); + + if (doPipeError) { + stream.on('error', onerror); + } + + stream.pipe(mergedStream, { + end: false + }); // compatible for old stream + + stream.resume(); + } + + for (let i = 0; i < streams.length; i++) { + pipe(streams[i]); + } + + next(); + } + + function endStream() { + merging = false; // emit 'queueDrain' when all streams merged. + + mergedStream.emit('queueDrain'); + + if (doEnd) { + mergedStream.end(); + } + } + + mergedStream.setMaxListeners(0); + mergedStream.add = addStream; + mergedStream.on('unpipe', function (stream) { + stream.emit('merge2UnpipeEnd'); + }); + + if (args.length) { + addStream.apply(null, args); + } + + return mergedStream; +} // check and pause streams for pipe. + + +function pauseStreams(streams, options) { + if (!Array.isArray(streams)) { + // Backwards-compat with old-style streams + if (!streams._readableState && streams.pipe) { + streams = streams.pipe(PassThrough(options)); + } + + if (!streams._readableState || !streams.pause || !streams.pipe) { + throw new Error('Only readable stream can be merged.'); + } + + streams.pause(); + } else { + for (let i = 0, len = streams.length; i < len; i++) { + streams[i] = pauseStreams(streams[i], options); + } + } + + return streams; +} + +Object.defineProperty(stream$4, "__esModule", { + value: true +}); +stream$4.merge = void 0; +const merge2 = merge2_1; + +function merge$2(streams) { + const mergedStream = merge2(streams); + streams.forEach(stream => { + stream.once('error', error => mergedStream.emit('error', error)); + }); + mergedStream.once('close', () => propagateCloseEventToSources(streams)); + mergedStream.once('end', () => propagateCloseEventToSources(streams)); + return mergedStream; +} + +stream$4.merge = merge$2; + +function propagateCloseEventToSources(streams) { + streams.forEach(stream => stream.emit('close')); +} + +var string$1 = {}; + +Object.defineProperty(string$1, "__esModule", { + value: true +}); +string$1.isEmpty = string$1.isString = void 0; + +function isString(input) { + return typeof input === 'string'; +} + +string$1.isString = isString; + +function isEmpty(input) { + return input === ''; +} + +string$1.isEmpty = isEmpty; + +Object.defineProperty(utils$k, "__esModule", { + value: true +}); +utils$k.string = utils$k.stream = utils$k.pattern = utils$k.path = utils$k.fs = utils$k.errno = utils$k.array = void 0; +const array$2 = array$3; +utils$k.array = array$2; +const errno = errno$1; +utils$k.errno = errno; +const fs$8 = fs$9; +utils$k.fs = fs$8; +const path$7 = path$c; +utils$k.path = path$7; +const pattern = pattern$1; +utils$k.pattern = pattern; +const stream$3 = stream$4; +utils$k.stream = stream$3; +const string = string$1; +utils$k.string = string; + +Object.defineProperty(tasks, "__esModule", { + value: true +}); +tasks.convertPatternGroupToTask = tasks.convertPatternGroupsToTasks = tasks.groupPatternsByBaseDirectory = tasks.getNegativePatternsAsPositive = tasks.getPositivePatterns = tasks.convertPatternsToTasks = tasks.generate = void 0; +const utils$a = utils$k; + +function generate(patterns, settings) { + const positivePatterns = getPositivePatterns(patterns); + const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); + const staticPatterns = positivePatterns.filter(pattern => utils$a.pattern.isStaticPattern(pattern, settings)); + const dynamicPatterns = positivePatterns.filter(pattern => utils$a.pattern.isDynamicPattern(pattern, settings)); + const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, + /* dynamic */ + false); + const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, + /* dynamic */ + true); + return staticTasks.concat(dynamicTasks); +} + +tasks.generate = generate; +/** + * Returns tasks grouped by basic pattern directories. + * + * Patterns that can be found inside (`./`) and outside (`../`) the current directory are handled separately. + * This is necessary because directory traversal starts at the base directory and goes deeper. + */ + +function convertPatternsToTasks(positive, negative, dynamic) { + const tasks = []; + const patternsOutsideCurrentDirectory = utils$a.pattern.getPatternsOutsideCurrentDirectory(positive); + const patternsInsideCurrentDirectory = utils$a.pattern.getPatternsInsideCurrentDirectory(positive); + const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory); + const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory); + tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic)); + /* + * For the sake of reducing future accesses to the file system, we merge all tasks within the current directory + * into a global task, if at least one pattern refers to the root (`.`). In this case, the global task covers the rest. + */ + + if ('.' in insideCurrentDirectoryGroup) { + tasks.push(convertPatternGroupToTask('.', patternsInsideCurrentDirectory, negative, dynamic)); + } else { + tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic)); + } + + return tasks; +} + +tasks.convertPatternsToTasks = convertPatternsToTasks; + +function getPositivePatterns(patterns) { + return utils$a.pattern.getPositivePatterns(patterns); +} + +tasks.getPositivePatterns = getPositivePatterns; + +function getNegativePatternsAsPositive(patterns, ignore) { + const negative = utils$a.pattern.getNegativePatterns(patterns).concat(ignore); + const positive = negative.map(utils$a.pattern.convertToPositivePattern); + return positive; +} + +tasks.getNegativePatternsAsPositive = getNegativePatternsAsPositive; + +function groupPatternsByBaseDirectory(patterns) { + const group = {}; + return patterns.reduce((collection, pattern) => { + const base = utils$a.pattern.getBaseDirectory(pattern); + + if (base in collection) { + collection[base].push(pattern); + } else { + collection[base] = [pattern]; + } + + return collection; + }, group); +} + +tasks.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; + +function convertPatternGroupsToTasks(positive, negative, dynamic) { + return Object.keys(positive).map(base => { + return convertPatternGroupToTask(base, positive[base], negative, dynamic); + }); +} + +tasks.convertPatternGroupsToTasks = convertPatternGroupsToTasks; + +function convertPatternGroupToTask(base, positive, negative, dynamic) { + return { + dynamic, + positive, + negative, + base, + patterns: [].concat(positive, negative.map(utils$a.pattern.convertToNegativePattern)) + }; +} + +tasks.convertPatternGroupToTask = convertPatternGroupToTask; + +var async$6 = {}; + +var stream$2 = {}; + +var out$3 = {}; + +var async$5 = {}; + +Object.defineProperty(async$5, "__esModule", { + value: true +}); +async$5.read = void 0; + +function read$3(path, settings, callback) { + settings.fs.lstat(path, (lstatError, lstat) => { + if (lstatError !== null) { + callFailureCallback$2(callback, lstatError); + return; + } + + if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { + callSuccessCallback$2(callback, lstat); + return; + } + + settings.fs.stat(path, (statError, stat) => { + if (statError !== null) { + if (settings.throwErrorOnBrokenSymbolicLink) { + callFailureCallback$2(callback, statError); + return; + } + + callSuccessCallback$2(callback, lstat); + return; + } + + if (settings.markSymbolicLink) { + stat.isSymbolicLink = () => true; + } + + callSuccessCallback$2(callback, stat); + }); + }); +} + +async$5.read = read$3; + +function callFailureCallback$2(callback, error) { + callback(error); +} + +function callSuccessCallback$2(callback, result) { + callback(null, result); +} + +var sync$7 = {}; + +Object.defineProperty(sync$7, "__esModule", { + value: true +}); +sync$7.read = void 0; + +function read$2(path, settings) { + const lstat = settings.fs.lstatSync(path); + + if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { + return lstat; + } + + try { + const stat = settings.fs.statSync(path); + + if (settings.markSymbolicLink) { + stat.isSymbolicLink = () => true; + } + + return stat; + } catch (error) { + if (!settings.throwErrorOnBrokenSymbolicLink) { + return lstat; + } + + throw error; + } +} + +sync$7.read = read$2; + +var settings$3 = {}; + +var fs$7 = {}; + +(function (exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; + const fs = require$$0__default$4["default"]; + exports.FILE_SYSTEM_ADAPTER = { + lstat: fs.lstat, + stat: fs.stat, + lstatSync: fs.lstatSync, + statSync: fs.statSync + }; + + function createFileSystemAdapter(fsMethods) { + if (fsMethods === undefined) { + return exports.FILE_SYSTEM_ADAPTER; + } + + return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); + } + + exports.createFileSystemAdapter = createFileSystemAdapter; +})(fs$7); + +Object.defineProperty(settings$3, "__esModule", { + value: true +}); +const fs$6 = fs$7; + +class Settings$2 { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); + this.fs = fs$6.createFileSystemAdapter(this._options.fs); + this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); + } + + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +settings$3.default = Settings$2; + +Object.defineProperty(out$3, "__esModule", { + value: true +}); +out$3.statSync = out$3.stat = out$3.Settings = void 0; +const async$4 = async$5; +const sync$6 = sync$7; +const settings_1$3 = settings$3; +out$3.Settings = settings_1$3.default; + +function stat(path, optionsOrSettingsOrCallback, callback) { + if (typeof optionsOrSettingsOrCallback === 'function') { + async$4.read(path, getSettings$2(), optionsOrSettingsOrCallback); + return; + } + + async$4.read(path, getSettings$2(optionsOrSettingsOrCallback), callback); +} + +out$3.stat = stat; + +function statSync(path, optionsOrSettings) { + const settings = getSettings$2(optionsOrSettings); + return sync$6.read(path, settings); +} + +out$3.statSync = statSync; + +function getSettings$2(settingsOrOptions = {}) { + if (settingsOrOptions instanceof settings_1$3.default) { + return settingsOrOptions; + } + + return new settings_1$3.default(settingsOrOptions); +} + +var out$2 = {}; + +var async$3 = {}; + +var async$2 = {}; + +var out$1 = {}; + +var async$1 = {}; + +/*! queue-microtask. MIT License. Feross Aboukhadijeh */ +let promise; +var queueMicrotask_1 = typeof queueMicrotask === 'function' ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global) // reuse resolved promise, and allocate it lazily +: cb => (promise || (promise = Promise.resolve())).then(cb).catch(err => setTimeout(() => { + throw err; +}, 0)); + +/*! run-parallel. MIT License. Feross Aboukhadijeh */ +var runParallel_1 = runParallel; +const queueMicrotask$1 = queueMicrotask_1; + +function runParallel(tasks, cb) { + let results, pending, keys; + let isSync = true; + + if (Array.isArray(tasks)) { + results = []; + pending = tasks.length; + } else { + keys = Object.keys(tasks); + results = {}; + pending = keys.length; + } + + function done(err) { + function end() { + if (cb) cb(err, results); + cb = null; + } + + if (isSync) queueMicrotask$1(end);else end(); + } + + function each(i, err, result) { + results[i] = result; + + if (--pending === 0 || err) { + done(err); + } + } + + if (!pending) { + // empty + done(null); + } else if (keys) { + // object + keys.forEach(function (key) { + tasks[key](function (err, result) { + each(key, err, result); + }); + }); + } else { + // array + tasks.forEach(function (task, i) { + task(function (err, result) { + each(i, err, result); + }); + }); + } + + isSync = false; +} + +var constants = {}; + +Object.defineProperty(constants, "__esModule", { + value: true +}); +constants.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; +const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.'); + +if (NODE_PROCESS_VERSION_PARTS[0] === undefined || NODE_PROCESS_VERSION_PARTS[1] === undefined) { + throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); +} + +const MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); +const MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); +const SUPPORTED_MAJOR_VERSION = 10; +const SUPPORTED_MINOR_VERSION = 10; +const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; +const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; +/** + * IS `true` for Node.js 10.10 and greater. + */ + +constants.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; + +var utils$9 = {}; + +var fs$5 = {}; + +Object.defineProperty(fs$5, "__esModule", { + value: true +}); +fs$5.createDirentFromStats = void 0; + +class DirentFromStats { + constructor(name, stats) { + this.name = name; + this.isBlockDevice = stats.isBlockDevice.bind(stats); + this.isCharacterDevice = stats.isCharacterDevice.bind(stats); + this.isDirectory = stats.isDirectory.bind(stats); + this.isFIFO = stats.isFIFO.bind(stats); + this.isFile = stats.isFile.bind(stats); + this.isSocket = stats.isSocket.bind(stats); + this.isSymbolicLink = stats.isSymbolicLink.bind(stats); + } + +} + +function createDirentFromStats(name, stats) { + return new DirentFromStats(name, stats); +} + +fs$5.createDirentFromStats = createDirentFromStats; + +Object.defineProperty(utils$9, "__esModule", { + value: true +}); +utils$9.fs = void 0; +const fs$4 = fs$5; +utils$9.fs = fs$4; + +var common$6 = {}; + +Object.defineProperty(common$6, "__esModule", { + value: true +}); +common$6.joinPathSegments = void 0; + +function joinPathSegments$1(a, b, separator) { + /** + * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`). + */ + if (a.endsWith(separator)) { + return a + b; + } + + return a + separator + b; +} + +common$6.joinPathSegments = joinPathSegments$1; + +Object.defineProperty(async$1, "__esModule", { + value: true +}); +async$1.readdir = async$1.readdirWithFileTypes = async$1.read = void 0; +const fsStat$5 = out$3; +const rpl = runParallel_1; +const constants_1$1 = constants; +const utils$8 = utils$9; +const common$5 = common$6; + +function read$1(directory, settings, callback) { + if (!settings.stats && constants_1$1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + readdirWithFileTypes$1(directory, settings, callback); + return; + } + + readdir$1(directory, settings, callback); +} + +async$1.read = read$1; + +function readdirWithFileTypes$1(directory, settings, callback) { + settings.fs.readdir(directory, { + withFileTypes: true + }, (readdirError, dirents) => { + if (readdirError !== null) { + callFailureCallback$1(callback, readdirError); + return; + } + + const entries = dirents.map(dirent => ({ + dirent, + name: dirent.name, + path: common$5.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) + })); + + if (!settings.followSymbolicLinks) { + callSuccessCallback$1(callback, entries); + return; + } + + const tasks = entries.map(entry => makeRplTaskEntry(entry, settings)); + rpl(tasks, (rplError, rplEntries) => { + if (rplError !== null) { + callFailureCallback$1(callback, rplError); + return; + } + + callSuccessCallback$1(callback, rplEntries); + }); + }); +} + +async$1.readdirWithFileTypes = readdirWithFileTypes$1; + +function makeRplTaskEntry(entry, settings) { + return done => { + if (!entry.dirent.isSymbolicLink()) { + done(null, entry); + return; + } + + settings.fs.stat(entry.path, (statError, stats) => { + if (statError !== null) { + if (settings.throwErrorOnBrokenSymbolicLink) { + done(statError); + return; + } + + done(null, entry); + return; + } + + entry.dirent = utils$8.fs.createDirentFromStats(entry.name, stats); + done(null, entry); + }); + }; +} + +function readdir$1(directory, settings, callback) { + settings.fs.readdir(directory, (readdirError, names) => { + if (readdirError !== null) { + callFailureCallback$1(callback, readdirError); + return; + } + + const tasks = names.map(name => { + const path = common$5.joinPathSegments(directory, name, settings.pathSegmentSeparator); + return done => { + fsStat$5.stat(path, settings.fsStatSettings, (error, stats) => { + if (error !== null) { + done(error); + return; + } + + const entry = { + name, + path, + dirent: utils$8.fs.createDirentFromStats(name, stats) + }; + + if (settings.stats) { + entry.stats = stats; + } + + done(null, entry); + }); + }; + }); + rpl(tasks, (rplError, entries) => { + if (rplError !== null) { + callFailureCallback$1(callback, rplError); + return; + } + + callSuccessCallback$1(callback, entries); + }); + }); +} + +async$1.readdir = readdir$1; + +function callFailureCallback$1(callback, error) { + callback(error); +} + +function callSuccessCallback$1(callback, result) { + callback(null, result); +} + +var sync$5 = {}; + +Object.defineProperty(sync$5, "__esModule", { + value: true +}); +sync$5.readdir = sync$5.readdirWithFileTypes = sync$5.read = void 0; +const fsStat$4 = out$3; +const constants_1 = constants; +const utils$7 = utils$9; +const common$4 = common$6; + +function read(directory, settings) { + if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + return readdirWithFileTypes(directory, settings); + } + + return readdir(directory, settings); +} + +sync$5.read = read; + +function readdirWithFileTypes(directory, settings) { + const dirents = settings.fs.readdirSync(directory, { + withFileTypes: true + }); + return dirents.map(dirent => { + const entry = { + dirent, + name: dirent.name, + path: common$4.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) + }; + + if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { + try { + const stats = settings.fs.statSync(entry.path); + entry.dirent = utils$7.fs.createDirentFromStats(entry.name, stats); + } catch (error) { + if (settings.throwErrorOnBrokenSymbolicLink) { + throw error; + } + } + } + + return entry; + }); +} + +sync$5.readdirWithFileTypes = readdirWithFileTypes; + +function readdir(directory, settings) { + const names = settings.fs.readdirSync(directory); + return names.map(name => { + const entryPath = common$4.joinPathSegments(directory, name, settings.pathSegmentSeparator); + const stats = fsStat$4.statSync(entryPath, settings.fsStatSettings); + const entry = { + name, + path: entryPath, + dirent: utils$7.fs.createDirentFromStats(name, stats) + }; + + if (settings.stats) { + entry.stats = stats; + } + + return entry; + }); +} + +sync$5.readdir = readdir; + +var settings$2 = {}; + +var fs$3 = {}; + +(function (exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; + const fs = require$$0__default$4["default"]; + exports.FILE_SYSTEM_ADAPTER = { + lstat: fs.lstat, + stat: fs.stat, + lstatSync: fs.lstatSync, + statSync: fs.statSync, + readdir: fs.readdir, + readdirSync: fs.readdirSync + }; + + function createFileSystemAdapter(fsMethods) { + if (fsMethods === undefined) { + return exports.FILE_SYSTEM_ADAPTER; + } + + return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); + } + + exports.createFileSystemAdapter = createFileSystemAdapter; +})(fs$3); + +Object.defineProperty(settings$2, "__esModule", { + value: true +}); +const path$6 = require$$0__default$1["default"]; +const fsStat$3 = out$3; +const fs$2 = fs$3; + +class Settings$1 { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); + this.fs = fs$2.createFileSystemAdapter(this._options.fs); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$6.sep); + this.stats = this._getValue(this._options.stats, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); + this.fsStatSettings = new fsStat$3.Settings({ + followSymbolicLink: this.followSymbolicLinks, + fs: this.fs, + throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink + }); + } + + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +settings$2.default = Settings$1; + +Object.defineProperty(out$1, "__esModule", { + value: true +}); +out$1.Settings = out$1.scandirSync = out$1.scandir = void 0; +const async = async$1; +const sync$4 = sync$5; +const settings_1$2 = settings$2; +out$1.Settings = settings_1$2.default; + +function scandir(path, optionsOrSettingsOrCallback, callback) { + if (typeof optionsOrSettingsOrCallback === 'function') { + async.read(path, getSettings$1(), optionsOrSettingsOrCallback); + return; + } + + async.read(path, getSettings$1(optionsOrSettingsOrCallback), callback); +} + +out$1.scandir = scandir; + +function scandirSync(path, optionsOrSettings) { + const settings = getSettings$1(optionsOrSettings); + return sync$4.read(path, settings); +} + +out$1.scandirSync = scandirSync; + +function getSettings$1(settingsOrOptions = {}) { + if (settingsOrOptions instanceof settings_1$2.default) { + return settingsOrOptions; + } + + return new settings_1$2.default(settingsOrOptions); +} + +var queue = {exports: {}}; + +function reusify$1(Constructor) { + var head = new Constructor(); + var tail = head; + + function get() { + var current = head; + + if (current.next) { + head = current.next; + } else { + head = new Constructor(); + tail = head; + } + + current.next = null; + return current; + } + + function release(obj) { + tail.next = obj; + tail = obj; + } + + return { + get: get, + release: release + }; +} + +var reusify_1 = reusify$1; + +/* eslint-disable no-var */ + + +var reusify = reusify_1; + +function fastqueue(context, worker, concurrency) { + if (typeof context === 'function') { + concurrency = worker; + worker = context; + context = null; + } + + if (concurrency < 1) { + throw new Error('fastqueue concurrency must be greater than 1'); + } + + var cache = reusify(Task); + var queueHead = null; + var queueTail = null; + var _running = 0; + var errorHandler = null; + var self = { + push: push, + drain: noop, + saturated: noop, + pause: pause, + paused: false, + concurrency: concurrency, + running: running, + resume: resume, + idle: idle, + length: length, + getQueue: getQueue, + unshift: unshift, + empty: noop, + kill: kill, + killAndDrain: killAndDrain, + error: error + }; + return self; + + function running() { + return _running; + } + + function pause() { + self.paused = true; + } + + function length() { + var current = queueHead; + var counter = 0; + + while (current) { + current = current.next; + counter++; + } + + return counter; + } + + function getQueue() { + var current = queueHead; + var tasks = []; + + while (current) { + tasks.push(current.value); + current = current.next; + } + + return tasks; + } + + function resume() { + if (!self.paused) return; + self.paused = false; + + for (var i = 0; i < self.concurrency; i++) { + _running++; + release(); + } + } + + function idle() { + return _running === 0 && self.length() === 0; + } + + function push(value, done) { + var current = cache.get(); + current.context = context; + current.release = release; + current.value = value; + current.callback = done || noop; + current.errorHandler = errorHandler; + + if (_running === self.concurrency || self.paused) { + if (queueTail) { + queueTail.next = current; + queueTail = current; + } else { + queueHead = current; + queueTail = current; + self.saturated(); + } + } else { + _running++; + worker.call(context, current.value, current.worked); + } + } + + function unshift(value, done) { + var current = cache.get(); + current.context = context; + current.release = release; + current.value = value; + current.callback = done || noop; + + if (_running === self.concurrency || self.paused) { + if (queueHead) { + current.next = queueHead; + queueHead = current; + } else { + queueHead = current; + queueTail = current; + self.saturated(); + } + } else { + _running++; + worker.call(context, current.value, current.worked); + } + } + + function release(holder) { + if (holder) { + cache.release(holder); + } + + var next = queueHead; + + if (next) { + if (!self.paused) { + if (queueTail === queueHead) { + queueTail = null; + } + + queueHead = next.next; + next.next = null; + worker.call(context, next.value, next.worked); + + if (queueTail === null) { + self.empty(); + } + } else { + _running--; + } + } else if (--_running === 0) { + self.drain(); + } + } + + function kill() { + queueHead = null; + queueTail = null; + self.drain = noop; + } + + function killAndDrain() { + queueHead = null; + queueTail = null; + self.drain(); + self.drain = noop; + } + + function error(handler) { + errorHandler = handler; + } +} + +function noop() {} + +function Task() { + this.value = null; + this.callback = noop; + this.next = null; + this.release = noop; + this.context = null; + this.errorHandler = null; + var self = this; + + this.worked = function worked(err, result) { + var callback = self.callback; + var errorHandler = self.errorHandler; + var val = self.value; + self.value = null; + self.callback = noop; + + if (self.errorHandler) { + errorHandler(err, val); + } + + callback.call(self.context, err, result); + self.release(self); + }; +} + +function queueAsPromised(context, worker, concurrency) { + if (typeof context === 'function') { + concurrency = worker; + worker = context; + context = null; + } + + function asyncWrapper(arg, cb) { + worker.call(this, arg).then(function (res) { + cb(null, res); + }, cb); + } + + var queue = fastqueue(context, asyncWrapper, concurrency); + var pushCb = queue.push; + var unshiftCb = queue.unshift; + queue.push = push; + queue.unshift = unshift; + queue.drained = drained; + return queue; + + function push(value) { + var p = new Promise(function (resolve, reject) { + pushCb(value, function (err, result) { + if (err) { + reject(err); + return; + } + + resolve(result); + }); + }); // Let's fork the promise chain to + // make the error bubble up to the user but + // not lead to a unhandledRejection + + p.catch(noop); + return p; + } + + function unshift(value) { + var p = new Promise(function (resolve, reject) { + unshiftCb(value, function (err, result) { + if (err) { + reject(err); + return; + } + + resolve(result); + }); + }); // Let's fork the promise chain to + // make the error bubble up to the user but + // not lead to a unhandledRejection + + p.catch(noop); + return p; + } + + function drained() { + var previousDrain = queue.drain; + var p = new Promise(function (resolve) { + queue.drain = function () { + previousDrain(); + resolve(); + }; + }); + return p; + } +} + +queue.exports = fastqueue; +queue.exports.promise = queueAsPromised; + +var common$3 = {}; + +Object.defineProperty(common$3, "__esModule", { + value: true +}); +common$3.joinPathSegments = common$3.replacePathSegmentSeparator = common$3.isAppliedFilter = common$3.isFatalError = void 0; + +function isFatalError(settings, error) { + if (settings.errorFilter === null) { + return true; + } + + return !settings.errorFilter(error); +} + +common$3.isFatalError = isFatalError; + +function isAppliedFilter(filter, value) { + return filter === null || filter(value); +} + +common$3.isAppliedFilter = isAppliedFilter; + +function replacePathSegmentSeparator(filepath, separator) { + return filepath.split(/[/\\]/).join(separator); +} + +common$3.replacePathSegmentSeparator = replacePathSegmentSeparator; + +function joinPathSegments(a, b, separator) { + if (a === '') { + return b; + } + /** + * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`). + */ + + + if (a.endsWith(separator)) { + return a + b; + } + + return a + separator + b; +} + +common$3.joinPathSegments = joinPathSegments; + +var reader$1 = {}; + +Object.defineProperty(reader$1, "__esModule", { + value: true +}); +const common$2 = common$3; + +class Reader$1 { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._root = common$2.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); + } + +} + +reader$1.default = Reader$1; + +Object.defineProperty(async$2, "__esModule", { + value: true +}); +const events_1 = require$$0__default$5["default"]; +const fsScandir$2 = out$1; +const fastq = queue.exports; +const common$1 = common$3; +const reader_1$3 = reader$1; + +class AsyncReader extends reader_1$3.default { + constructor(_root, _settings) { + super(_root, _settings); + this._settings = _settings; + this._scandir = fsScandir$2.scandir; + this._emitter = new events_1.EventEmitter(); + this._queue = fastq(this._worker.bind(this), this._settings.concurrency); + this._isFatalError = false; + this._isDestroyed = false; + + this._queue.drain = () => { + if (!this._isFatalError) { + this._emitter.emit('end'); + } + }; + } + + read() { + this._isFatalError = false; + this._isDestroyed = false; + setImmediate(() => { + this._pushToQueue(this._root, this._settings.basePath); + }); + return this._emitter; + } + + get isDestroyed() { + return this._isDestroyed; + } + + destroy() { + if (this._isDestroyed) { + throw new Error('The reader is already destroyed'); + } + + this._isDestroyed = true; + + this._queue.killAndDrain(); + } + + onEntry(callback) { + this._emitter.on('entry', callback); + } + + onError(callback) { + this._emitter.once('error', callback); + } + + onEnd(callback) { + this._emitter.once('end', callback); + } + + _pushToQueue(directory, base) { + const queueItem = { + directory, + base + }; + + this._queue.push(queueItem, error => { + if (error !== null) { + this._handleError(error); + } + }); + } + + _worker(item, done) { + this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { + if (error !== null) { + done(error, undefined); + return; + } + + for (const entry of entries) { + this._handleEntry(entry, item.base); + } + + done(null, undefined); + }); + } + + _handleError(error) { + if (this._isDestroyed || !common$1.isFatalError(this._settings, error)) { + return; + } + + this._isFatalError = true; + this._isDestroyed = true; + + this._emitter.emit('error', error); + } + + _handleEntry(entry, base) { + if (this._isDestroyed || this._isFatalError) { + return; + } + + const fullpath = entry.path; + + if (base !== undefined) { + entry.path = common$1.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + + if (common$1.isAppliedFilter(this._settings.entryFilter, entry)) { + this._emitEntry(entry); + } + + if (entry.dirent.isDirectory() && common$1.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, base === undefined ? undefined : entry.path); + } + } + + _emitEntry(entry) { + this._emitter.emit('entry', entry); + } + +} + +async$2.default = AsyncReader; + +Object.defineProperty(async$3, "__esModule", { + value: true +}); +const async_1$3 = async$2; + +class AsyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async_1$3.default(this._root, this._settings); + this._storage = []; + } + + read(callback) { + this._reader.onError(error => { + callFailureCallback(callback, error); + }); + + this._reader.onEntry(entry => { + this._storage.push(entry); + }); + + this._reader.onEnd(() => { + callSuccessCallback(callback, this._storage); + }); + + this._reader.read(); + } + +} + +async$3.default = AsyncProvider; + +function callFailureCallback(callback, error) { + callback(error); +} + +function callSuccessCallback(callback, entries) { + callback(null, entries); +} + +var stream$1 = {}; + +Object.defineProperty(stream$1, "__esModule", { + value: true +}); +const stream_1$5 = require$$0__default$3["default"]; +const async_1$2 = async$2; + +class StreamProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async_1$2.default(this._root, this._settings); + this._stream = new stream_1$5.Readable({ + objectMode: true, + read: () => {}, + destroy: () => { + if (!this._reader.isDestroyed) { + this._reader.destroy(); + } + } + }); + } + + read() { + this._reader.onError(error => { + this._stream.emit('error', error); + }); + + this._reader.onEntry(entry => { + this._stream.push(entry); + }); + + this._reader.onEnd(() => { + this._stream.push(null); + }); + + this._reader.read(); + + return this._stream; + } + +} + +stream$1.default = StreamProvider; + +var sync$3 = {}; + +var sync$2 = {}; + +Object.defineProperty(sync$2, "__esModule", { + value: true +}); +const fsScandir$1 = out$1; +const common = common$3; +const reader_1$2 = reader$1; + +class SyncReader extends reader_1$2.default { + constructor() { + super(...arguments); + this._scandir = fsScandir$1.scandirSync; + this._storage = []; + this._queue = new Set(); + } + + read() { + this._pushToQueue(this._root, this._settings.basePath); + + this._handleQueue(); + + return this._storage; + } + + _pushToQueue(directory, base) { + this._queue.add({ + directory, + base + }); + } + + _handleQueue() { + for (const item of this._queue.values()) { + this._handleDirectory(item.directory, item.base); + } + } + + _handleDirectory(directory, base) { + try { + const entries = this._scandir(directory, this._settings.fsScandirSettings); + + for (const entry of entries) { + this._handleEntry(entry, base); + } + } catch (error) { + this._handleError(error); + } + } + + _handleError(error) { + if (!common.isFatalError(this._settings, error)) { + return; + } + + throw error; + } + + _handleEntry(entry, base) { + const fullpath = entry.path; + + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._pushToStorage(entry); + } + + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, base === undefined ? undefined : entry.path); + } + } + + _pushToStorage(entry) { + this._storage.push(entry); + } + +} + +sync$2.default = SyncReader; + +Object.defineProperty(sync$3, "__esModule", { + value: true +}); +const sync_1$3 = sync$2; + +class SyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new sync_1$3.default(this._root, this._settings); + } + + read() { + return this._reader.read(); + } + +} + +sync$3.default = SyncProvider; + +var settings$1 = {}; + +Object.defineProperty(settings$1, "__esModule", { + value: true +}); +const path$5 = require$$0__default$1["default"]; +const fsScandir = out$1; + +class Settings { + constructor(_options = {}) { + this._options = _options; + this.basePath = this._getValue(this._options.basePath, undefined); + this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); + this.deepFilter = this._getValue(this._options.deepFilter, null); + this.entryFilter = this._getValue(this._options.entryFilter, null); + this.errorFilter = this._getValue(this._options.errorFilter, null); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$5.sep); + this.fsScandirSettings = new fsScandir.Settings({ + followSymbolicLinks: this._options.followSymbolicLinks, + fs: this._options.fs, + pathSegmentSeparator: this._options.pathSegmentSeparator, + stats: this._options.stats, + throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink + }); + } + + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +settings$1.default = Settings; + +Object.defineProperty(out$2, "__esModule", { + value: true +}); +out$2.Settings = out$2.walkStream = out$2.walkSync = out$2.walk = void 0; +const async_1$1 = async$3; +const stream_1$4 = stream$1; +const sync_1$2 = sync$3; +const settings_1$1 = settings$1; +out$2.Settings = settings_1$1.default; + +function walk(directory, optionsOrSettingsOrCallback, callback) { + if (typeof optionsOrSettingsOrCallback === 'function') { + new async_1$1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); + return; + } + + new async_1$1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); +} + +out$2.walk = walk; + +function walkSync(directory, optionsOrSettings) { + const settings = getSettings(optionsOrSettings); + const provider = new sync_1$2.default(directory, settings); + return provider.read(); +} + +out$2.walkSync = walkSync; + +function walkStream(directory, optionsOrSettings) { + const settings = getSettings(optionsOrSettings); + const provider = new stream_1$4.default(directory, settings); + return provider.read(); +} + +out$2.walkStream = walkStream; + +function getSettings(settingsOrOptions = {}) { + if (settingsOrOptions instanceof settings_1$1.default) { + return settingsOrOptions; + } + + return new settings_1$1.default(settingsOrOptions); +} + +var reader = {}; + +Object.defineProperty(reader, "__esModule", { + value: true +}); +const path$4 = require$$0__default$1["default"]; +const fsStat$2 = out$3; +const utils$6 = utils$k; + +class Reader { + constructor(_settings) { + this._settings = _settings; + this._fsStatSettings = new fsStat$2.Settings({ + followSymbolicLink: this._settings.followSymbolicLinks, + fs: this._settings.fs, + throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks + }); + } + + _getFullEntryPath(filepath) { + return path$4.resolve(this._settings.cwd, filepath); + } + + _makeEntry(stats, pattern) { + const entry = { + name: pattern, + path: pattern, + dirent: utils$6.fs.createDirentFromStats(pattern, stats) + }; + + if (this._settings.stats) { + entry.stats = stats; + } + + return entry; + } + + _isFatalError(error) { + return !utils$6.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; + } + +} + +reader.default = Reader; + +Object.defineProperty(stream$2, "__esModule", { + value: true +}); +const stream_1$3 = require$$0__default$3["default"]; +const fsStat$1 = out$3; +const fsWalk$1 = out$2; +const reader_1$1 = reader; + +class ReaderStream extends reader_1$1.default { + constructor() { + super(...arguments); + this._walkStream = fsWalk$1.walkStream; + this._stat = fsStat$1.stat; + } + + dynamic(root, options) { + return this._walkStream(root, options); + } + + static(patterns, options) { + const filepaths = patterns.map(this._getFullEntryPath, this); + const stream = new stream_1$3.PassThrough({ + objectMode: true + }); + + stream._write = (index, _enc, done) => { + return this._getEntry(filepaths[index], patterns[index], options).then(entry => { + if (entry !== null && options.entryFilter(entry)) { + stream.push(entry); + } + + if (index === filepaths.length - 1) { + stream.end(); + } + + done(); + }).catch(done); + }; + + for (let i = 0; i < filepaths.length; i++) { + stream.write(i); + } + + return stream; + } + + _getEntry(filepath, pattern, options) { + return this._getStat(filepath).then(stats => this._makeEntry(stats, pattern)).catch(error => { + if (options.errorFilter(error)) { + return null; + } + + throw error; + }); + } + + _getStat(filepath) { + return new Promise((resolve, reject) => { + this._stat(filepath, this._fsStatSettings, (error, stats) => { + return error === null ? resolve(stats) : reject(error); + }); + }); + } + +} + +stream$2.default = ReaderStream; + +var provider = {}; + +var deep = {}; + +var partial = {}; + +var matcher = {}; + +Object.defineProperty(matcher, "__esModule", { + value: true +}); +const utils$5 = utils$k; + +class Matcher { + constructor(_patterns, _settings, _micromatchOptions) { + this._patterns = _patterns; + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this._storage = []; + + this._fillStorage(); + } + + _fillStorage() { + /** + * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). + * So, before expand patterns with brace expansion into separated patterns. + */ + const patterns = utils$5.pattern.expandPatternsWithBraceExpansion(this._patterns); + + for (const pattern of patterns) { + const segments = this._getPatternSegments(pattern); + + const sections = this._splitSegmentsIntoSections(segments); + + this._storage.push({ + complete: sections.length <= 1, + pattern, + segments, + sections + }); + } + } + + _getPatternSegments(pattern) { + const parts = utils$5.pattern.getPatternParts(pattern, this._micromatchOptions); + return parts.map(part => { + const dynamic = utils$5.pattern.isDynamicPattern(part, this._settings); + + if (!dynamic) { + return { + dynamic: false, + pattern: part + }; + } + + return { + dynamic: true, + pattern: part, + patternRe: utils$5.pattern.makeRe(part, this._micromatchOptions) + }; + }); + } + + _splitSegmentsIntoSections(segments) { + return utils$5.array.splitWhen(segments, segment => segment.dynamic && utils$5.pattern.hasGlobStar(segment.pattern)); + } + +} + +matcher.default = Matcher; + +Object.defineProperty(partial, "__esModule", { + value: true +}); +const matcher_1 = matcher; + +class PartialMatcher extends matcher_1.default { + match(filepath) { + const parts = filepath.split('/'); + const levels = parts.length; + + const patterns = this._storage.filter(info => !info.complete || info.segments.length > levels); + + for (const pattern of patterns) { + const section = pattern.sections[0]; + /** + * In this case, the pattern has a globstar and we must read all directories unconditionally, + * but only if the level has reached the end of the first group. + * + * fixtures/{a,b}/** + * ^ true/false ^ always true + */ + + if (!pattern.complete && levels > section.length) { + return true; + } + + const match = parts.every((part, index) => { + const segment = pattern.segments[index]; + + if (segment.dynamic && segment.patternRe.test(part)) { + return true; + } + + if (!segment.dynamic && segment.pattern === part) { + return true; + } + + return false; + }); + + if (match) { + return true; + } + } + + return false; + } + +} + +partial.default = PartialMatcher; + +Object.defineProperty(deep, "__esModule", { + value: true +}); +const utils$4 = utils$k; +const partial_1 = partial; + +class DeepFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + } + + getFilter(basePath, positive, negative) { + const matcher = this._getMatcher(positive); + + const negativeRe = this._getNegativePatternsRe(negative); + + return entry => this._filter(basePath, entry, matcher, negativeRe); + } + + _getMatcher(patterns) { + return new partial_1.default(patterns, this._settings, this._micromatchOptions); + } + + _getNegativePatternsRe(patterns) { + const affectDepthOfReadingPatterns = patterns.filter(utils$4.pattern.isAffectDepthOfReadingPattern); + return utils$4.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); + } + + _filter(basePath, entry, matcher, negativeRe) { + if (this._isSkippedByDeep(basePath, entry.path)) { + return false; + } + + if (this._isSkippedSymbolicLink(entry)) { + return false; + } + + const filepath = utils$4.path.removeLeadingDotSegment(entry.path); + + if (this._isSkippedByPositivePatterns(filepath, matcher)) { + return false; + } + + return this._isSkippedByNegativePatterns(filepath, negativeRe); + } + + _isSkippedByDeep(basePath, entryPath) { + /** + * Avoid unnecessary depth calculations when it doesn't matter. + */ + if (this._settings.deep === Infinity) { + return false; + } + + return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; + } + + _getEntryLevel(basePath, entryPath) { + const entryPathDepth = entryPath.split('/').length; + + if (basePath === '') { + return entryPathDepth; + } + + const basePathDepth = basePath.split('/').length; + return entryPathDepth - basePathDepth; + } + + _isSkippedSymbolicLink(entry) { + return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); + } + + _isSkippedByPositivePatterns(entryPath, matcher) { + return !this._settings.baseNameMatch && !matcher.match(entryPath); + } + + _isSkippedByNegativePatterns(entryPath, patternsRe) { + return !utils$4.pattern.matchAny(entryPath, patternsRe); + } + +} + +deep.default = DeepFilter; + +var entry$1 = {}; + +Object.defineProperty(entry$1, "__esModule", { + value: true +}); +const utils$3 = utils$k; + +class EntryFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this.index = new Map(); + } + + getFilter(positive, negative) { + const positiveRe = utils$3.pattern.convertPatternsToRe(positive, this._micromatchOptions); + const negativeRe = utils$3.pattern.convertPatternsToRe(negative, this._micromatchOptions); + return entry => this._filter(entry, positiveRe, negativeRe); + } + + _filter(entry, positiveRe, negativeRe) { + if (this._settings.unique && this._isDuplicateEntry(entry)) { + return false; + } + + if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { + return false; + } + + if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { + return false; + } + + const filepath = this._settings.baseNameMatch ? entry.name : entry.path; + const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); + + if (this._settings.unique && isMatched) { + this._createIndexRecord(entry); + } + + return isMatched; + } + + _isDuplicateEntry(entry) { + return this.index.has(entry.path); + } + + _createIndexRecord(entry) { + this.index.set(entry.path, undefined); + } + + _onlyFileFilter(entry) { + return this._settings.onlyFiles && !entry.dirent.isFile(); + } + + _onlyDirectoryFilter(entry) { + return this._settings.onlyDirectories && !entry.dirent.isDirectory(); + } + + _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { + if (!this._settings.absolute) { + return false; + } + + const fullpath = utils$3.path.makeAbsolute(this._settings.cwd, entryPath); + return utils$3.pattern.matchAny(fullpath, patternsRe); + } + + _isMatchToPatterns(entryPath, patternsRe) { + const filepath = utils$3.path.removeLeadingDotSegment(entryPath); + return utils$3.pattern.matchAny(filepath, patternsRe); + } + +} + +entry$1.default = EntryFilter; + +var error = {}; + +Object.defineProperty(error, "__esModule", { + value: true +}); +const utils$2 = utils$k; + +class ErrorFilter { + constructor(_settings) { + this._settings = _settings; + } + + getFilter() { + return error => this._isNonFatalError(error); + } + + _isNonFatalError(error) { + return utils$2.errno.isEnoentCodeError(error) || this._settings.suppressErrors; + } + +} + +error.default = ErrorFilter; + +var entry = {}; + +Object.defineProperty(entry, "__esModule", { + value: true +}); +const utils$1 = utils$k; + +class EntryTransformer { + constructor(_settings) { + this._settings = _settings; + } + + getTransformer() { + return entry => this._transform(entry); + } + + _transform(entry) { + let filepath = entry.path; + + if (this._settings.absolute) { + filepath = utils$1.path.makeAbsolute(this._settings.cwd, filepath); + filepath = utils$1.path.unixify(filepath); + } + + if (this._settings.markDirectories && entry.dirent.isDirectory()) { + filepath += '/'; + } + + if (!this._settings.objectMode) { + return filepath; + } + + return Object.assign(Object.assign({}, entry), { + path: filepath + }); + } + +} + +entry.default = EntryTransformer; + +Object.defineProperty(provider, "__esModule", { + value: true +}); +const path$3 = require$$0__default$1["default"]; +const deep_1 = deep; +const entry_1 = entry$1; +const error_1 = error; +const entry_2 = entry; + +class Provider { + constructor(_settings) { + this._settings = _settings; + this.errorFilter = new error_1.default(this._settings); + this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); + this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); + this.entryTransformer = new entry_2.default(this._settings); + } + + _getRootDirectory(task) { + return path$3.resolve(this._settings.cwd, task.base); + } + + _getReaderOptions(task) { + const basePath = task.base === '.' ? '' : task.base; + return { + basePath, + pathSegmentSeparator: '/', + concurrency: this._settings.concurrency, + deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), + entryFilter: this.entryFilter.getFilter(task.positive, task.negative), + errorFilter: this.errorFilter.getFilter(), + followSymbolicLinks: this._settings.followSymbolicLinks, + fs: this._settings.fs, + stats: this._settings.stats, + throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, + transform: this.entryTransformer.getTransformer() + }; + } + + _getMicromatchOptions() { + return { + dot: this._settings.dot, + matchBase: this._settings.baseNameMatch, + nobrace: !this._settings.braceExpansion, + nocase: !this._settings.caseSensitiveMatch, + noext: !this._settings.extglob, + noglobstar: !this._settings.globstar, + posix: true, + strictSlashes: false + }; + } + +} + +provider.default = Provider; + +Object.defineProperty(async$6, "__esModule", { + value: true +}); +const stream_1$2 = stream$2; +const provider_1$2 = provider; + +class ProviderAsync extends provider_1$2.default { + constructor() { + super(...arguments); + this._reader = new stream_1$2.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const entries = []; + return new Promise((resolve, reject) => { + const stream = this.api(root, task, options); + stream.once('error', reject); + stream.on('data', entry => entries.push(options.transform(entry))); + stream.once('end', () => resolve(entries)); + }); + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +async$6.default = ProviderAsync; + +var stream = {}; + +Object.defineProperty(stream, "__esModule", { + value: true +}); +const stream_1$1 = require$$0__default$3["default"]; +const stream_2 = stream$2; +const provider_1$1 = provider; + +class ProviderStream extends provider_1$1.default { + constructor() { + super(...arguments); + this._reader = new stream_2.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const source = this.api(root, task, options); + const destination = new stream_1$1.Readable({ + objectMode: true, + read: () => {} + }); + source.once('error', error => destination.emit('error', error)).on('data', entry => destination.emit('data', options.transform(entry))).once('end', () => destination.emit('end')); + destination.once('close', () => source.destroy()); + return destination; + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +stream.default = ProviderStream; + +var sync$1 = {}; + +var sync = {}; + +Object.defineProperty(sync, "__esModule", { + value: true +}); +const fsStat = out$3; +const fsWalk = out$2; +const reader_1 = reader; + +class ReaderSync extends reader_1.default { + constructor() { + super(...arguments); + this._walkSync = fsWalk.walkSync; + this._statSync = fsStat.statSync; + } + + dynamic(root, options) { + return this._walkSync(root, options); + } + + static(patterns, options) { + const entries = []; + + for (const pattern of patterns) { + const filepath = this._getFullEntryPath(pattern); + + const entry = this._getEntry(filepath, pattern, options); + + if (entry === null || !options.entryFilter(entry)) { + continue; + } + + entries.push(entry); + } + + return entries; + } + + _getEntry(filepath, pattern, options) { + try { + const stats = this._getStat(filepath); + + return this._makeEntry(stats, pattern); + } catch (error) { + if (options.errorFilter(error)) { + return null; + } + + throw error; + } + } + + _getStat(filepath) { + return this._statSync(filepath, this._fsStatSettings); + } + +} + +sync.default = ReaderSync; + +Object.defineProperty(sync$1, "__esModule", { + value: true +}); +const sync_1$1 = sync; +const provider_1 = provider; + +class ProviderSync extends provider_1.default { + constructor() { + super(...arguments); + this._reader = new sync_1$1.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const entries = this.api(root, task, options); + return entries.map(options.transform); + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +sync$1.default = ProviderSync; + +var settings = {}; + +(function (exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; + const fs = require$$0__default$4["default"]; + const os = require$$0__default["default"]; + /** + * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero. + * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107 + */ + + const CPU_COUNT = Math.max(os.cpus().length, 1); + exports.DEFAULT_FILE_SYSTEM_ADAPTER = { + lstat: fs.lstat, + lstatSync: fs.lstatSync, + stat: fs.stat, + statSync: fs.statSync, + readdir: fs.readdir, + readdirSync: fs.readdirSync + }; + + class Settings { + constructor(_options = {}) { + this._options = _options; + this.absolute = this._getValue(this._options.absolute, false); + this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); + this.braceExpansion = this._getValue(this._options.braceExpansion, true); + this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); + this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); + this.cwd = this._getValue(this._options.cwd, process.cwd()); + this.deep = this._getValue(this._options.deep, Infinity); + this.dot = this._getValue(this._options.dot, false); + this.extglob = this._getValue(this._options.extglob, true); + this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); + this.fs = this._getFileSystemMethods(this._options.fs); + this.globstar = this._getValue(this._options.globstar, true); + this.ignore = this._getValue(this._options.ignore, []); + this.markDirectories = this._getValue(this._options.markDirectories, false); + this.objectMode = this._getValue(this._options.objectMode, false); + this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); + this.onlyFiles = this._getValue(this._options.onlyFiles, true); + this.stats = this._getValue(this._options.stats, false); + this.suppressErrors = this._getValue(this._options.suppressErrors, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); + this.unique = this._getValue(this._options.unique, true); + + if (this.onlyDirectories) { + this.onlyFiles = false; + } + + if (this.stats) { + this.objectMode = true; + } + } + + _getValue(option, value) { + return option === undefined ? value : option; + } + + _getFileSystemMethods(methods = {}) { + return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods); + } + + } + + exports.default = Settings; +})(settings); + +const taskManager = tasks; +const async_1 = async$6; +const stream_1 = stream; +const sync_1 = sync$1; +const settings_1 = settings; +const utils = utils$k; + +async function FastGlob(source, options) { + assertPatternsInput(source); + const works = getWorks(source, async_1.default, options); + const result = await Promise.all(works); + return utils.array.flatten(result); +} // https://github.com/typescript-eslint/typescript-eslint/issues/60 +// eslint-disable-next-line no-redeclare + + +(function (FastGlob) { + function sync(source, options) { + assertPatternsInput(source); + const works = getWorks(source, sync_1.default, options); + return utils.array.flatten(works); + } + + FastGlob.sync = sync; + + function stream(source, options) { + assertPatternsInput(source); + const works = getWorks(source, stream_1.default, options); + /** + * The stream returned by the provider cannot work with an asynchronous iterator. + * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams. + * This affects performance (+25%). I don't see best solution right now. + */ + + return utils.stream.merge(works); + } + + FastGlob.stream = stream; + + function generateTasks(source, options) { + assertPatternsInput(source); + const patterns = [].concat(source); + const settings = new settings_1.default(options); + return taskManager.generate(patterns, settings); + } + + FastGlob.generateTasks = generateTasks; + + function isDynamicPattern(source, options) { + assertPatternsInput(source); + const settings = new settings_1.default(options); + return utils.pattern.isDynamicPattern(source, settings); + } + + FastGlob.isDynamicPattern = isDynamicPattern; + + function escapePath(source) { + assertPatternsInput(source); + return utils.path.escape(source); + } + + FastGlob.escapePath = escapePath; +})(FastGlob || (FastGlob = {})); + +function getWorks(source, _Provider, options) { + const patterns = [].concat(source); + const settings = new settings_1.default(options); + const tasks = taskManager.generate(patterns, settings); + const provider = new _Provider(settings); + return tasks.map(provider.read, provider); +} + +function assertPatternsInput(input) { + const source = [].concat(input); + const isValidSource = source.every(item => utils.string.isString(item) && !utils.string.isEmpty(item)); + + if (!isValidSource) { + throw new TypeError('Patterns must be a string (non empty) or an array of strings'); + } +} + +var out = FastGlob; + +const path$2 = require$$0__default$1["default"]; +const { + promises: fs$1 +} = require$$0__default$4["default"]; +const fastGlob = out; +/** @typedef {import('./context').Context} Context */ + +/** + * @param {Context} context + */ + +async function* expandPatterns$1(context) { + const cwd = process.cwd(); + const seen = new Set(); + let noResults = true; + + for await (const pathOrError of expandPatternsInternal(context)) { + noResults = false; + + if (typeof pathOrError !== "string") { + yield pathOrError; + continue; + } + + const relativePath = path$2.relative(cwd, pathOrError); // filter out duplicates + + if (seen.has(relativePath)) { + continue; + } + + seen.add(relativePath); + yield relativePath; + } + + if (noResults && context.argv["error-on-unmatched-pattern"] !== false) { + // If there was no files and no other errors, let's yield a general error. + yield { + error: `No matching files. Patterns: ${context.filePatterns.join(" ")}` + }; + } +} +/** + * @param {Context} context + */ + + +async function* expandPatternsInternal(context) { + // Ignores files in version control systems directories and `node_modules` + const silentlyIgnoredDirs = [".git", ".svn", ".hg"]; + + if (context.argv["with-node-modules"] !== true) { + silentlyIgnoredDirs.push("node_modules"); + } + + const globOptions = { + dot: true, + ignore: silentlyIgnoredDirs.map(dir => "**/" + dir) + }; + let supportedFilesGlob; + const cwd = process.cwd(); + /** @type {Array<{ type: 'file' | 'dir' | 'glob'; glob: string; input: string; }>} */ + + const entries = []; + + for (const pattern of context.filePatterns) { + const absolutePath = path$2.resolve(cwd, pattern); + + if (containsIgnoredPathSegment(absolutePath, cwd, silentlyIgnoredDirs)) { + continue; + } + + const stat = await statSafe(absolutePath); + + if (stat) { + if (stat.isFile()) { + entries.push({ + type: "file", + glob: escapePathForGlob(fixWindowsSlashes$1(pattern)), + input: pattern + }); + } else if (stat.isDirectory()) { + /* + 1. Remove trailing `/`, `fast-glob` can't find files for `src//*.js` pattern + 2. Cleanup dirname, when glob `src/../*.js` pattern with `fast-glob`, + it returns files like 'src/../index.js' + */ + const relativePath = path$2.relative(cwd, absolutePath) || "."; + entries.push({ + type: "dir", + glob: escapePathForGlob(fixWindowsSlashes$1(relativePath)) + "/" + getSupportedFilesGlob(), + input: pattern + }); + } + } else if (pattern[0] === "!") { + // convert negative patterns to `ignore` entries + globOptions.ignore.push(fixWindowsSlashes$1(pattern.slice(1))); + } else { + entries.push({ + type: "glob", + glob: fixWindowsSlashes$1(pattern), + input: pattern + }); + } + } + + for (const { + type, + glob, + input + } of entries) { + let result; + + try { + result = await fastGlob(glob, globOptions); + } catch ({ + message + }) { + /* istanbul ignore next */ + yield { + error: `${errorMessages.globError[type]}: ${input}\n${message}` + }; + /* istanbul ignore next */ + + continue; + } + + if (result.length === 0) { + if (context.argv["error-on-unmatched-pattern"] !== false) { + yield { + error: `${errorMessages.emptyResults[type]}: "${input}".` + }; + } + } else { + yield* sortPaths(result); + } + } + + function getSupportedFilesGlob() { + if (!supportedFilesGlob) { + const extensions = context.languages.flatMap(lang => lang.extensions || []); + const filenames = context.languages.flatMap(lang => lang.filenames || []); + supportedFilesGlob = `**/{${[...extensions.map(ext => "*" + (ext[0] === "." ? ext : "." + ext)), ...filenames]}}`; + } + + return supportedFilesGlob; + } +} + +const errorMessages = { + globError: { + file: "Unable to resolve file", + dir: "Unable to expand directory", + glob: "Unable to expand glob pattern" + }, + emptyResults: { + file: "Explicitly specified file was ignored due to negative glob patterns", + dir: "No supported files were found in the directory", + glob: "No files matching the pattern were found" + } +}; +/** + * @param {string} absolutePath + * @param {string} cwd + * @param {string[]} ignoredDirectories + */ + +function containsIgnoredPathSegment(absolutePath, cwd, ignoredDirectories) { + return path$2.relative(cwd, absolutePath).split(path$2.sep).some(dir => ignoredDirectories.includes(dir)); +} +/** + * @param {string[]} paths + */ + + +function sortPaths(paths) { + return paths.sort((a, b) => a.localeCompare(b)); +} +/** + * Get stats of a given path. + * @param {string} filePath The path to target file. + * @returns {Promise} The stats. + */ + + +async function statSafe(filePath) { + try { + return await fs$1.stat(filePath); + } catch (error) { + /* istanbul ignore next */ + if (error.code !== "ENOENT") { + throw error; + } + } +} +/** + * This function should be replaced with `fastGlob.escapePath` when these issues are fixed: + * - https://github.com/mrmlnc/fast-glob/issues/261 + * - https://github.com/mrmlnc/fast-glob/issues/262 + * @param {string} path + */ + + +function escapePathForGlob(path) { + return fastGlob.escapePath(path.replace(/\\/g, "\0") // Workaround for fast-glob#262 (part 1) + ).replace(/\\!/g, "@(!)") // Workaround for fast-glob#261 + .replace(/\0/g, "@(\\\\)"); // Workaround for fast-glob#262 (part 2) +} + +const isWindows = path$2.sep === "\\"; +/** + * Using backslashes in globs is probably not okay, but not accepting + * backslashes as path separators on Windows is even more not okay. + * https://github.com/prettier/prettier/pull/6776#discussion_r380723717 + * https://github.com/mrmlnc/fast-glob#how-to-write-patterns-on-windows + * @param {string} pattern + */ + +function fixWindowsSlashes$1(pattern) { + return isWindows ? pattern.replace(/\\/g, "/") : pattern; +} + +var expandPatterns_1 = { + expandPatterns: expandPatterns$1, + fixWindowsSlashes: fixWindowsSlashes$1 +}; + +var iterators = {}; + +var wellKnownSymbol$2 = wellKnownSymbol$7; +var Iterators$1 = iterators; + +var ITERATOR$1 = wellKnownSymbol$2('iterator'); +var ArrayPrototype$1 = Array.prototype; + +// check on default Array iterator +var isArrayIteratorMethod$1 = function (it) { + return it !== undefined && (Iterators$1.Array === it || ArrayPrototype$1[ITERATOR$1] === it); +}; + +var classof = classof$4; +var getMethod$1 = getMethod$3; +var Iterators = iterators; +var wellKnownSymbol$1 = wellKnownSymbol$7; + +var ITERATOR = wellKnownSymbol$1('iterator'); + +var getIteratorMethod$2 = function (it) { + if (it != undefined) return getMethod$1(it, ITERATOR) + || getMethod$1(it, '@@iterator') + || Iterators[classof(it)]; +}; + +var global$2 = global$r; +var call$2 = functionCall; +var aCallable = aCallable$5; +var anObject$4 = anObject$7; +var tryToString$1 = tryToString$3; +var getIteratorMethod$1 = getIteratorMethod$2; + +var TypeError$2 = global$2.TypeError; + +var getIterator$1 = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod$1(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject$4(call$2(iteratorMethod, argument)); + throw TypeError$2(tryToString$1(argument) + ' is not iterable'); +}; + +var call$1 = functionCall; +var anObject$3 = anObject$7; +var getMethod = getMethod$3; + +var iteratorClose$1 = function (iterator, kind, value) { + var innerResult, innerError; + anObject$3(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call$1(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject$3(innerResult); + return value; +}; + +var global$1 = global$r; +var bind = functionBindContext; +var call = functionCall; +var anObject$2 = anObject$7; +var tryToString = tryToString$3; +var isArrayIteratorMethod = isArrayIteratorMethod$1; +var lengthOfArrayLike$1 = lengthOfArrayLike$6; +var isPrototypeOf = objectIsPrototypeOf; +var getIterator = getIterator$1; +var getIteratorMethod = getIteratorMethod$2; +var iteratorClose = iteratorClose$1; + +var TypeError$1 = global$1.TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +var iterate$1 = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject$2(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw TypeError$1(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike$1(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + +var toPropertyKey = toPropertyKey$3; +var definePropertyModule$2 = objectDefineProperty; +var createPropertyDescriptor = createPropertyDescriptor$3; + +var createProperty$1 = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) definePropertyModule$2.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +var $$1 = _export; +var iterate = iterate$1; +var createProperty = createProperty$1; + +// `Object.fromEntries` method +// https://github.com/tc39/proposal-object-from-entries +$$1({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + +/*! + * dashify + * + * Copyright (c) 2015-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +var dashify$2 = (str, options) => { + if (typeof str !== 'string') throw new TypeError('expected a string'); + return str.trim().replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\W/g, m => /[À-ž]/.test(m) ? m : '-').replace(/^-+|-+$/g, '').replace(/-{2,}/g, m => options && options.condense ? '-' : m).toLowerCase(); +}; + +var minimist$3 = function (args, opts) { + if (!opts) opts = {}; + var flags = { + bools: {}, + strings: {}, + unknownFn: null + }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + + var aliases = {}; + Object.keys(opts.alias || {}).forEach(function (key) { + aliases[key] = [].concat(opts.alias[key]); + aliases[key].forEach(function (x) { + aliases[x] = [key].concat(aliases[key].filter(function (y) { + return x !== y; + })); + }); + }); + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + var defaults = opts['default'] || {}; + var argv = { + _: [] + }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] === undefined ? false : defaults[key]); + }); + var notFlags = []; + + if (args.indexOf('--') !== -1) { + notFlags = args.slice(args.indexOf('--') + 1); + args = args.slice(0, args.indexOf('--')); + } + + function argDefined(key, arg) { + return flags.allBools && /^--[^=]+$/.test(arg) || flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg(key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + + var value = !flags.strings[key] && isNumber(val) ? Number(val) : val; + setKey(argv, key.split('.'), value); + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), value); + }); + } + + function setKey(obj, keys, value) { + var o = obj; + + for (var i = 0; i < keys.length - 1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } + + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } else if (Array.isArray(o[key])) { + o[key].push(value); + } else { + o[key] = [o[key], value]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (/^--.+=/.test(arg)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + var key = m[1]; + var value = m[2]; + + if (flags.bools[key]) { + value = value !== 'false'; + } + + setArg(key, value, arg); + } else if (/^--no-.+/.test(arg)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false, arg); + } else if (/^--.+/.test(arg)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + + if (next !== undefined && !/^-/.test(next) && !flags.bools[key] && !flags.allBools && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); + i++; + } else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true', arg); + i++; + } else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } else if (/^-[^-]+/.test(arg)) { + var letters = arg.slice(1, -1).split(''); + var broken = false; + + for (var j = 0; j < letters.length; j++) { + var next = arg.slice(j + 2); + + if (next === '-') { + setArg(letters[j], next, arg); + continue; + } + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + + if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { + setArg(letters[j], next, arg); + broken = true; + break; + } + + if (letters[j + 1] && letters[j + 1].match(/\W/)) { + setArg(letters[j], arg.slice(j + 2), arg); + broken = true; + break; + } else { + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); + } + } + + var key = arg.slice(-1)[0]; + + if (!broken && key !== '-') { + if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !flags.bools[key] && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i + 1], arg); + i++; + } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) { + setArg(key, args[i + 1] === 'true', arg); + i++; + } else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + } else { + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push(flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)); + } + + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + + break; + } + } + } + + Object.keys(defaults).forEach(function (key) { + if (!hasKey(argv, key.split('.'))) { + setKey(argv, key.split('.'), defaults[key]); + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), defaults[key]); + }); + } + }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function (key) { + argv['--'].push(key); + }); + } else { + notFlags.forEach(function (key) { + argv._.push(key); + }); + } + + return argv; +}; + +function hasKey(obj, keys) { + var o = obj; + keys.slice(0, -1).forEach(function (key) { + o = o[key] || {}; + }); + var key = keys[keys.length - 1]; + return key in o; +} + +function isNumber(x) { + if (typeof x === 'number') return true; + if (/^0x[0-9a-f]+$/i.test(x)) return true; + return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); +} + +const minimist$2 = minimist$3; +const PLACEHOLDER = null; +/** + * unspecified boolean flag without default value is parsed as `undefined` instead of `false` + */ + +var minimist_1 = function (args, options) { + const boolean = options.boolean || []; + const defaults = options.default || {}; + const booleanWithoutDefault = boolean.filter(key => !(key in defaults)); + const newDefaults = Object.assign(Object.assign({}, defaults), Object.fromEntries(booleanWithoutDefault.map(key => [key, PLACEHOLDER]))); + const parsed = minimist$2(args, Object.assign(Object.assign({}, options), {}, { + default: newDefaults + })); + return Object.fromEntries(Object.entries(parsed).filter(([, value]) => value !== PLACEHOLDER)); +}; + +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + +function arrayAggregator$1(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + + return accumulator; +} + +var _arrayAggregator = arrayAggregator$1; + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + +function createBaseFor$1(fromRight) { + return function (object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + + return object; + }; +} + +var _createBaseFor = createBaseFor$1; + +var createBaseFor = _createBaseFor; +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + +var baseFor$1 = createBaseFor(); +var _baseFor = baseFor$1; + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + +function baseTimes$1(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + + return result; +} + +var _baseTimes = baseTimes$1; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal$1 = typeof global == 'object' && global && global.Object === Object && global; +var _freeGlobal = freeGlobal$1; + +var freeGlobal = _freeGlobal; +/** Detect free variable `self`. */ + +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; +/** Used as a reference to the global object. */ + +var root$8 = freeGlobal || freeSelf || Function('return this')(); +var _root = root$8; + +var root$7 = _root; +/** Built-in value references. */ + +var Symbol$6 = root$7.Symbol; +var _Symbol = Symbol$6; + +var Symbol$5 = _Symbol; +/** Used for built-in method references. */ + +var objectProto$d = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$a = objectProto$d.hasOwnProperty; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + +var nativeObjectToString$1 = objectProto$d.toString; +/** Built-in value references. */ + +var symToStringTag$1 = Symbol$5 ? Symbol$5.toStringTag : undefined; +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + +function getRawTag$1(value) { + var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), + tag = value[symToStringTag$1]; + + try { + value[symToStringTag$1] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString$1.call(value); + + if (unmasked) { + if (isOwn) { + value[symToStringTag$1] = tag; + } else { + delete value[symToStringTag$1]; + } + } + + return result; +} + +var _getRawTag = getRawTag$1; + +/** Used for built-in method references. */ +var objectProto$c = Object.prototype; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + +var nativeObjectToString = objectProto$c.toString; +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + +function objectToString$1(value) { + return nativeObjectToString.call(value); +} + +var _objectToString = objectToString$1; + +var Symbol$4 = _Symbol, + getRawTag = _getRawTag, + objectToString = _objectToString; +/** `Object#toString` result references. */ + +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; +/** Built-in value references. */ + +var symToStringTag = Symbol$4 ? Symbol$4.toStringTag : undefined; +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + +function baseGetTag$5(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); +} + +var _baseGetTag = baseGetTag$5; + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + +function isObjectLike$5(value) { + return value != null && typeof value == 'object'; +} + +var isObjectLike_1 = isObjectLike$5; + +var baseGetTag$4 = _baseGetTag, + isObjectLike$4 = isObjectLike_1; +/** `Object#toString` result references. */ + +var argsTag$2 = '[object Arguments]'; +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + +function baseIsArguments$1(value) { + return isObjectLike$4(value) && baseGetTag$4(value) == argsTag$2; +} + +var _baseIsArguments = baseIsArguments$1; + +var baseIsArguments = _baseIsArguments, + isObjectLike$3 = isObjectLike_1; +/** Used for built-in method references. */ + +var objectProto$b = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$9 = objectProto$b.hasOwnProperty; +/** Built-in value references. */ + +var propertyIsEnumerable$1 = objectProto$b.propertyIsEnumerable; +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + +var isArguments$3 = baseIsArguments(function () { + return arguments; +}()) ? baseIsArguments : function (value) { + return isObjectLike$3(value) && hasOwnProperty$9.call(value, 'callee') && !propertyIsEnumerable$1.call(value, 'callee'); +}; +var isArguments_1 = isArguments$3; + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray$a = Array.isArray; +var isArray_1 = isArray$a; + +var isBuffer$2 = {exports: {}}; + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ + +function stubFalse() { + return false; +} + +var stubFalse_1 = stubFalse; + +(function (module, exports) { + var root = _root, + stubFalse = stubFalse_1; + /** Detect free variable `exports`. */ + + var freeExports = exports && !exports.nodeType && exports; + /** Detect free variable `module`. */ + + var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; + /** Detect the popular CommonJS extension `module.exports`. */ + + var moduleExports = freeModule && freeModule.exports === freeExports; + /** Built-in value references. */ + + var Buffer = moduleExports ? root.Buffer : undefined; + /* Built-in method references for those with the same name as other `lodash` methods. */ + + var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + + var isBuffer = nativeIsBuffer || stubFalse; + module.exports = isBuffer; +})(isBuffer$2, isBuffer$2.exports); + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER$1 = 9007199254740991; +/** Used to detect unsigned integer values. */ + +var reIsUint = /^(?:0|[1-9]\d*)$/; +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + +function isIndex$3(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER$1 : length; + return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; +} + +var _isIndex = isIndex$3; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + +function isLength$3(value) { + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +var isLength_1 = isLength$3; + +var baseGetTag$3 = _baseGetTag, + isLength$2 = isLength_1, + isObjectLike$2 = isObjectLike_1; +/** `Object#toString` result references. */ + +var argsTag$1 = '[object Arguments]', + arrayTag$1 = '[object Array]', + boolTag$1 = '[object Boolean]', + dateTag$1 = '[object Date]', + errorTag$1 = '[object Error]', + funcTag$1 = '[object Function]', + mapTag$2 = '[object Map]', + numberTag$1 = '[object Number]', + objectTag$2 = '[object Object]', + regexpTag$1 = '[object RegExp]', + setTag$2 = '[object Set]', + stringTag$1 = '[object String]', + weakMapTag$1 = '[object WeakMap]'; +var arrayBufferTag$1 = '[object ArrayBuffer]', + dataViewTag$2 = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; +/** Used to identify `toStringTag` values of typed arrays. */ + +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false; +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + +function baseIsTypedArray$1(value) { + return isObjectLike$2(value) && isLength$2(value.length) && !!typedArrayTags[baseGetTag$3(value)]; +} + +var _baseIsTypedArray = baseIsTypedArray$1; + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + +function baseUnary$1(func) { + return function (value) { + return func(value); + }; +} + +var _baseUnary = baseUnary$1; + +var _nodeUtil = {exports: {}}; + +(function (module, exports) { + var freeGlobal = _freeGlobal; + /** Detect free variable `exports`. */ + + var freeExports = exports && !exports.nodeType && exports; + /** Detect free variable `module`. */ + + var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; + /** Detect the popular CommonJS extension `module.exports`. */ + + var moduleExports = freeModule && freeModule.exports === freeExports; + /** Detect free variable `process` from Node.js. */ + + var freeProcess = moduleExports && freeGlobal.process; + /** Used to access faster Node.js helpers. */ + + var nodeUtil = function () { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } // Legacy `process.binding('util')` for Node.js < 10. + + + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }(); + + module.exports = nodeUtil; +})(_nodeUtil, _nodeUtil.exports); + +var baseIsTypedArray = _baseIsTypedArray, + baseUnary = _baseUnary, + nodeUtil = _nodeUtil.exports; +/* Node.js helper references. */ + +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + +var isTypedArray$2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; +var isTypedArray_1 = isTypedArray$2; + +var baseTimes = _baseTimes, + isArguments$2 = isArguments_1, + isArray$9 = isArray_1, + isBuffer$1 = isBuffer$2.exports, + isIndex$2 = _isIndex, + isTypedArray$1 = isTypedArray_1; +/** Used for built-in method references. */ + +var objectProto$a = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$8 = objectProto$a.hasOwnProperty; +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + +function arrayLikeKeys$1(value, inherited) { + var isArr = isArray$9(value), + isArg = !isArr && isArguments$2(value), + isBuff = !isArr && !isArg && isBuffer$1(value), + isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty$8.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties. + isIndex$2(key, length)))) { + result.push(key); + } + } + + return result; +} + +var _arrayLikeKeys = arrayLikeKeys$1; + +/** Used for built-in method references. */ +var objectProto$9 = Object.prototype; +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + +function isPrototype$1(value) { + var Ctor = value && value.constructor, + proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$9; + return value === proto; +} + +var _isPrototype = isPrototype$1; + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + +function overArg$1(func, transform) { + return function (arg) { + return func(transform(arg)); + }; +} + +var _overArg = overArg$1; + +var overArg = _overArg; +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeKeys$1 = overArg(Object.keys, Object); +var _nativeKeys = nativeKeys$1; + +var isPrototype = _isPrototype, + nativeKeys = _nativeKeys; +/** Used for built-in method references. */ + +var objectProto$8 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$7 = objectProto$8.hasOwnProperty; +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + +function baseKeys$1(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + + var result = []; + + for (var key in Object(object)) { + if (hasOwnProperty$7.call(object, key) && key != 'constructor') { + result.push(key); + } + } + + return result; +} + +var _baseKeys = baseKeys$1; + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + +function isObject$4(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +var isObject_1 = isObject$4; + +var baseGetTag$2 = _baseGetTag, + isObject$3 = isObject_1; +/** `Object#toString` result references. */ + +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + +function isFunction$2(value) { + if (!isObject$3(value)) { + return false; + } // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + + + var tag = baseGetTag$2(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +var isFunction_1 = isFunction$2; + +var isFunction$1 = isFunction_1, + isLength$1 = isLength_1; +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + +function isArrayLike$2(value) { + return value != null && isLength$1(value.length) && !isFunction$1(value); +} + +var isArrayLike_1 = isArrayLike$2; + +var arrayLikeKeys = _arrayLikeKeys, + baseKeys = _baseKeys, + isArrayLike$1 = isArrayLike_1; +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + +function keys$3(object) { + return isArrayLike$1(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +var keys_1 = keys$3; + +var baseFor = _baseFor, + keys$2 = keys_1; +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + +function baseForOwn$1(object, iteratee) { + return object && baseFor(object, iteratee, keys$2); +} + +var _baseForOwn = baseForOwn$1; + +var isArrayLike = isArrayLike_1; +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + +function createBaseEach$1(eachFunc, fromRight) { + return function (collection, iteratee) { + if (collection == null) { + return collection; + } + + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while (fromRight ? index-- : ++index < length) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + + return collection; + }; +} + +var _createBaseEach = createBaseEach$1; + +var baseForOwn = _baseForOwn, + createBaseEach = _createBaseEach; +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + +var baseEach$1 = createBaseEach(baseForOwn); +var _baseEach = baseEach$1; + +var baseEach = _baseEach; +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + +function baseAggregator$1(collection, setter, iteratee, accumulator) { + baseEach(collection, function (value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +var _baseAggregator = baseAggregator$1; + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + +function listCacheClear$1() { + this.__data__ = []; + this.size = 0; +} + +var _listCacheClear = listCacheClear$1; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + +function eq$3(value, other) { + return value === other || value !== value && other !== other; +} + +var eq_1 = eq$3; + +var eq$2 = eq_1; +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + +function assocIndexOf$4(array, key) { + var length = array.length; + + while (length--) { + if (eq$2(array[length][0], key)) { + return length; + } + } + + return -1; +} + +var _assocIndexOf = assocIndexOf$4; + +var assocIndexOf$3 = _assocIndexOf; +/** Used for built-in method references. */ + +var arrayProto = Array.prototype; +/** Built-in value references. */ + +var splice = arrayProto.splice; +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + +function listCacheDelete$1(key) { + var data = this.__data__, + index = assocIndexOf$3(data, key); + + if (index < 0) { + return false; + } + + var lastIndex = data.length - 1; + + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + + --this.size; + return true; +} + +var _listCacheDelete = listCacheDelete$1; + +var assocIndexOf$2 = _assocIndexOf; +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function listCacheGet$1(key) { + var data = this.__data__, + index = assocIndexOf$2(data, key); + return index < 0 ? undefined : data[index][1]; +} + +var _listCacheGet = listCacheGet$1; + +var assocIndexOf$1 = _assocIndexOf; +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function listCacheHas$1(key) { + return assocIndexOf$1(this.__data__, key) > -1; +} + +var _listCacheHas = listCacheHas$1; + +var assocIndexOf = _assocIndexOf; +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + +function listCacheSet$1(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + + return this; +} + +var _listCacheSet = listCacheSet$1; + +var listCacheClear = _listCacheClear, + listCacheDelete = _listCacheDelete, + listCacheGet = _listCacheGet, + listCacheHas = _listCacheHas, + listCacheSet = _listCacheSet; +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function ListCache$4(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} // Add methods to `ListCache`. + + +ListCache$4.prototype.clear = listCacheClear; +ListCache$4.prototype['delete'] = listCacheDelete; +ListCache$4.prototype.get = listCacheGet; +ListCache$4.prototype.has = listCacheHas; +ListCache$4.prototype.set = listCacheSet; +var _ListCache = ListCache$4; + +var ListCache$3 = _ListCache; +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + +function stackClear$1() { + this.__data__ = new ListCache$3(); + this.size = 0; +} + +var _stackClear = stackClear$1; + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + +function stackDelete$1(key) { + var data = this.__data__, + result = data['delete'](key); + this.size = data.size; + return result; +} + +var _stackDelete = stackDelete$1; + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function stackGet$1(key) { + return this.__data__.get(key); +} + +var _stackGet = stackGet$1; + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function stackHas$1(key) { + return this.__data__.has(key); +} + +var _stackHas = stackHas$1; + +var root$6 = _root; +/** Used to detect overreaching core-js shims. */ + +var coreJsData$1 = root$6['__core-js_shared__']; +var _coreJsData = coreJsData$1; + +var coreJsData = _coreJsData; +/** Used to detect methods masquerading as native. */ + +var maskSrcKey = function () { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? 'Symbol(src)_1.' + uid : ''; +}(); +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + + +function isMasked$1(func) { + return !!maskSrcKey && maskSrcKey in func; +} + +var _isMasked = isMasked$1; + +/** Used for built-in method references. */ +var funcProto$1 = Function.prototype; +/** Used to resolve the decompiled source of functions. */ + +var funcToString$1 = funcProto$1.toString; +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + +function toSource$2(func) { + if (func != null) { + try { + return funcToString$1.call(func); + } catch (e) {} + + try { + return func + ''; + } catch (e) {} + } + + return ''; +} + +var _toSource = toSource$2; + +var isFunction = isFunction_1, + isMasked = _isMasked, + isObject$2 = isObject_1, + toSource$1 = _toSource; +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; +/** Used to detect host constructors (Safari). */ + +var reIsHostCtor = /^\[object .+?Constructor\]$/; +/** Used for built-in method references. */ + +var funcProto = Function.prototype, + objectProto$7 = Object.prototype; +/** Used to resolve the decompiled source of functions. */ + +var funcToString = funcProto.toString; +/** Used to check objects for own properties. */ + +var hasOwnProperty$6 = objectProto$7.hasOwnProperty; +/** Used to detect if a method is native. */ + +var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty$6).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + +function baseIsNative$1(value) { + if (!isObject$2(value) || isMasked(value)) { + return false; + } + + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource$1(value)); +} + +var _baseIsNative = baseIsNative$1; + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + +function getValue$1(object, key) { + return object == null ? undefined : object[key]; +} + +var _getValue = getValue$1; + +var baseIsNative = _baseIsNative, + getValue = _getValue; +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + +function getNative$7(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +var _getNative = getNative$7; + +var getNative$6 = _getNative, + root$5 = _root; +/* Built-in method references that are verified to be native. */ + +var Map$4 = getNative$6(root$5, 'Map'); +var _Map = Map$4; + +var getNative$5 = _getNative; +/* Built-in method references that are verified to be native. */ + +var nativeCreate$4 = getNative$5(Object, 'create'); +var _nativeCreate = nativeCreate$4; + +var nativeCreate$3 = _nativeCreate; +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + +function hashClear$1() { + this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {}; + this.size = 0; +} + +var _hashClear = hashClear$1; + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + +function hashDelete$1(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +var _hashDelete = hashDelete$1; + +var nativeCreate$2 = _nativeCreate; +/** Used to stand-in for `undefined` hash values. */ + +var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; +/** Used for built-in method references. */ + +var objectProto$6 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$5 = objectProto$6.hasOwnProperty; +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function hashGet$1(key) { + var data = this.__data__; + + if (nativeCreate$2) { + var result = data[key]; + return result === HASH_UNDEFINED$2 ? undefined : result; + } + + return hasOwnProperty$5.call(data, key) ? data[key] : undefined; +} + +var _hashGet = hashGet$1; + +var nativeCreate$1 = _nativeCreate; +/** Used for built-in method references. */ + +var objectProto$5 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$4 = objectProto$5.hasOwnProperty; +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function hashHas$1(key) { + var data = this.__data__; + return nativeCreate$1 ? data[key] !== undefined : hasOwnProperty$4.call(data, key); +} + +var _hashHas = hashHas$1; + +var nativeCreate = _nativeCreate; +/** Used to stand-in for `undefined` hash values. */ + +var HASH_UNDEFINED$1 = '__lodash_hash_undefined__'; +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + +function hashSet$1(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED$1 : value; + return this; +} + +var _hashSet = hashSet$1; + +var hashClear = _hashClear, + hashDelete = _hashDelete, + hashGet = _hashGet, + hashHas = _hashHas, + hashSet = _hashSet; +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function Hash$1(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} // Add methods to `Hash`. + + +Hash$1.prototype.clear = hashClear; +Hash$1.prototype['delete'] = hashDelete; +Hash$1.prototype.get = hashGet; +Hash$1.prototype.has = hashHas; +Hash$1.prototype.set = hashSet; +var _Hash = Hash$1; + +var Hash = _Hash, + ListCache$2 = _ListCache, + Map$3 = _Map; +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + +function mapCacheClear$1() { + this.size = 0; + this.__data__ = { + 'hash': new Hash(), + 'map': new (Map$3 || ListCache$2)(), + 'string': new Hash() + }; +} + +var _mapCacheClear = mapCacheClear$1; + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + +function isKeyable$1(value) { + var type = typeof value; + return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null; +} + +var _isKeyable = isKeyable$1; + +var isKeyable = _isKeyable; +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + +function getMapData$4(map, key) { + var data = map.__data__; + return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; +} + +var _getMapData = getMapData$4; + +var getMapData$3 = _getMapData; +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + +function mapCacheDelete$1(key) { + var result = getMapData$3(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +var _mapCacheDelete = mapCacheDelete$1; + +var getMapData$2 = _getMapData; +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function mapCacheGet$1(key) { + return getMapData$2(this, key).get(key); +} + +var _mapCacheGet = mapCacheGet$1; + +var getMapData$1 = _getMapData; +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function mapCacheHas$1(key) { + return getMapData$1(this, key).has(key); +} + +var _mapCacheHas = mapCacheHas$1; + +var getMapData = _getMapData; +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + +function mapCacheSet$1(key, value) { + var data = getMapData(this, key), + size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +var _mapCacheSet = mapCacheSet$1; + +var mapCacheClear = _mapCacheClear, + mapCacheDelete = _mapCacheDelete, + mapCacheGet = _mapCacheGet, + mapCacheHas = _mapCacheHas, + mapCacheSet = _mapCacheSet; +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function MapCache$3(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} // Add methods to `MapCache`. + + +MapCache$3.prototype.clear = mapCacheClear; +MapCache$3.prototype['delete'] = mapCacheDelete; +MapCache$3.prototype.get = mapCacheGet; +MapCache$3.prototype.has = mapCacheHas; +MapCache$3.prototype.set = mapCacheSet; +var _MapCache = MapCache$3; + +var ListCache$1 = _ListCache, + Map$2 = _Map, + MapCache$2 = _MapCache; +/** Used as the size to enable large array optimizations. */ + +var LARGE_ARRAY_SIZE = 200; +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + +function stackSet$1(key, value) { + var data = this.__data__; + + if (data instanceof ListCache$1) { + var pairs = data.__data__; + + if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + + data = this.__data__ = new MapCache$2(pairs); + } + + data.set(key, value); + this.size = data.size; + return this; +} + +var _stackSet = stackSet$1; + +var ListCache = _ListCache, + stackClear = _stackClear, + stackDelete = _stackDelete, + stackGet = _stackGet, + stackHas = _stackHas, + stackSet = _stackSet; +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function Stack$2(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} // Add methods to `Stack`. + + +Stack$2.prototype.clear = stackClear; +Stack$2.prototype['delete'] = stackDelete; +Stack$2.prototype.get = stackGet; +Stack$2.prototype.has = stackHas; +Stack$2.prototype.set = stackSet; +var _Stack = Stack$2; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + +function setCacheAdd$1(value) { + this.__data__.set(value, HASH_UNDEFINED); + + return this; +} + +var _setCacheAdd = setCacheAdd$1; + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + +function setCacheHas$1(value) { + return this.__data__.has(value); +} + +var _setCacheHas = setCacheHas$1; + +var MapCache$1 = _MapCache, + setCacheAdd = _setCacheAdd, + setCacheHas = _setCacheHas; +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + +function SetCache$1(values) { + var index = -1, + length = values == null ? 0 : values.length; + this.__data__ = new MapCache$1(); + + while (++index < length) { + this.add(values[index]); + } +} // Add methods to `SetCache`. + + +SetCache$1.prototype.add = SetCache$1.prototype.push = setCacheAdd; +SetCache$1.prototype.has = setCacheHas; +var _SetCache = SetCache$1; + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + +function arraySome$1(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + + return false; +} + +var _arraySome = arraySome$1; + +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function cacheHas$1(cache, key) { + return cache.has(key); +} + +var _cacheHas = cacheHas$1; + +var SetCache = _SetCache, + arraySome = _arraySome, + cacheHas = _cacheHas; +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$5 = 1, + COMPARE_UNORDERED_FLAG$3 = 2; +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + +function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } // Check that cyclic values are equal. + + + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + + var index = -1, + result = true, + seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : undefined; + stack.set(array, other); + stack.set(other, array); // Ignore non-index properties. + + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + + if (compared !== undefined) { + if (compared) { + continue; + } + + result = false; + break; + } // Recursively compare arrays (susceptible to call stack limits). + + + if (seen) { + if (!arraySome(other, function (othValue, othIndex) { + if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result = false; + break; + } + } + + stack['delete'](array); + stack['delete'](other); + return result; +} + +var _equalArrays = equalArrays$2; + +var root$4 = _root; +/** Built-in value references. */ + +var Uint8Array$1 = root$4.Uint8Array; +var _Uint8Array = Uint8Array$1; + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + +function mapToArray$1(map) { + var index = -1, + result = Array(map.size); + map.forEach(function (value, key) { + result[++index] = [key, value]; + }); + return result; +} + +var _mapToArray = mapToArray$1; + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + +function setToArray$1(set) { + var index = -1, + result = Array(set.size); + set.forEach(function (value) { + result[++index] = value; + }); + return result; +} + +var _setToArray = setToArray$1; + +var Symbol$3 = _Symbol, + Uint8Array = _Uint8Array, + eq$1 = eq_1, + equalArrays$1 = _equalArrays, + mapToArray = _mapToArray, + setToArray = _setToArray; +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$4 = 1, + COMPARE_UNORDERED_FLAG$2 = 2; +/** `Object#toString` result references. */ + +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag$1 = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag$1 = '[object Set]', + stringTag = '[object String]', + symbolTag$1 = '[object Symbol]'; +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag$1 = '[object DataView]'; +/** Used to convert symbols to primitives and strings. */ + +var symbolProto$1 = Symbol$3 ? Symbol$3.prototype : undefined, + symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined; +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + +function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag$1: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq$1(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == other + ''; + + case mapTag$1: + var convert = mapToArray; + + case setTag$1: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } // Assume cyclic values are equal. + + + var stacked = stack.get(object); + + if (stacked) { + return stacked == other; + } + + bitmask |= COMPARE_UNORDERED_FLAG$2; // Recursively compare objects (susceptible to call stack limits). + + stack.set(object, other); + var result = equalArrays$1(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag$1: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + + } + + return false; +} + +var _equalByTag = equalByTag$1; + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + +function arrayPush$2(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + + return array; +} + +var _arrayPush = arrayPush$2; + +var arrayPush$1 = _arrayPush, + isArray$8 = isArray_1; +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + +function baseGetAllKeys$1(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray$8(object) ? result : arrayPush$1(result, symbolsFunc(object)); +} + +var _baseGetAllKeys = baseGetAllKeys$1; + +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + +function arrayFilter$1(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + + return result; +} + +var _arrayFilter = arrayFilter$1; + +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ + +function stubArray$1() { + return []; +} + +var stubArray_1 = stubArray$1; + +var arrayFilter = _arrayFilter, + stubArray = stubArray_1; +/** Used for built-in method references. */ + +var objectProto$4 = Object.prototype; +/** Built-in value references. */ + +var propertyIsEnumerable = objectProto$4.propertyIsEnumerable; +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeGetSymbols = Object.getOwnPropertySymbols; +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + +var getSymbols$1 = !nativeGetSymbols ? stubArray : function (object) { + if (object == null) { + return []; + } + + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function (symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; +var _getSymbols = getSymbols$1; + +var baseGetAllKeys = _baseGetAllKeys, + getSymbols = _getSymbols, + keys$1 = keys_1; +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + +function getAllKeys$1(object) { + return baseGetAllKeys(object, keys$1, getSymbols); +} + +var _getAllKeys = getAllKeys$1; + +var getAllKeys = _getAllKeys; +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$3 = 1; +/** Used for built-in method references. */ + +var objectProto$3 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$3 = objectProto$3.hasOwnProperty; +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + +function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + + var index = objLength; + + while (index--) { + var key = objProps[index]; + + if (!(isPartial ? key in other : hasOwnProperty$3.call(other, key))) { + return false; + } + } // Check that cyclic values are equal. + + + var objStacked = stack.get(object); + var othStacked = stack.get(other); + + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + + var result = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } // Recursively compare objects (susceptible to call stack limits). + + + if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result = false; + break; + } + + skipCtor || (skipCtor = key == 'constructor'); + } + + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. + + if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + + stack['delete'](object); + stack['delete'](other); + return result; +} + +var _equalObjects = equalObjects$1; + +var getNative$4 = _getNative, + root$3 = _root; +/* Built-in method references that are verified to be native. */ + +var DataView$1 = getNative$4(root$3, 'DataView'); +var _DataView = DataView$1; + +var getNative$3 = _getNative, + root$2 = _root; +/* Built-in method references that are verified to be native. */ + +var Promise$2 = getNative$3(root$2, 'Promise'); +var _Promise = Promise$2; + +var getNative$2 = _getNative, + root$1 = _root; +/* Built-in method references that are verified to be native. */ + +var Set$2 = getNative$2(root$1, 'Set'); +var _Set = Set$2; + +var getNative$1 = _getNative, + root = _root; +/* Built-in method references that are verified to be native. */ + +var WeakMap$2 = getNative$1(root, 'WeakMap'); +var _WeakMap = WeakMap$2; + +var DataView = _DataView, + Map$1 = _Map, + Promise$1 = _Promise, + Set$1 = _Set, + WeakMap$1 = _WeakMap, + baseGetTag$1 = _baseGetTag, + toSource = _toSource; +/** `Object#toString` result references. */ + +var mapTag = '[object Map]', + objectTag$1 = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; +var dataViewTag = '[object DataView]'; +/** Used to detect maps, sets, and weakmaps. */ + +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map$1), + promiseCtorString = toSource(Promise$1), + setCtorString = toSource(Set$1), + weakMapCtorString = toSource(WeakMap$1); +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + +var getTag$1 = baseGetTag$1; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + +if (DataView && getTag$1(new DataView(new ArrayBuffer(1))) != dataViewTag || Map$1 && getTag$1(new Map$1()) != mapTag || Promise$1 && getTag$1(Promise$1.resolve()) != promiseTag || Set$1 && getTag$1(new Set$1()) != setTag || WeakMap$1 && getTag$1(new WeakMap$1()) != weakMapTag) { + getTag$1 = function (value) { + var result = baseGetTag$1(value), + Ctor = result == objectTag$1 ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag; + + case mapCtorString: + return mapTag; + + case promiseCtorString: + return promiseTag; + + case setCtorString: + return setTag; + + case weakMapCtorString: + return weakMapTag; + } + } + + return result; + }; +} + +var _getTag = getTag$1; + +var Stack$1 = _Stack, + equalArrays = _equalArrays, + equalByTag = _equalByTag, + equalObjects = _equalObjects, + getTag = _getTag, + isArray$7 = isArray_1, + isBuffer = isBuffer$2.exports, + isTypedArray = isTypedArray_1; +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$2 = 1; +/** `Object#toString` result references. */ + +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; +/** Used for built-in method references. */ + +var objectProto$2 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$2 = objectProto$2.hasOwnProperty; +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + +function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray$7(object), + othIsArr = isArray$7(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + + objIsArr = true; + objIsObj = false; + } + + if (isSameTag && !objIsObj) { + stack || (stack = new Stack$1()); + return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + + if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) { + var objIsWrapped = objIsObj && hasOwnProperty$2.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty$2.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new Stack$1()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + + if (!isSameTag) { + return false; + } + + stack || (stack = new Stack$1()); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +var _baseIsEqualDeep = baseIsEqualDeep$1; + +var baseIsEqualDeep = _baseIsEqualDeep, + isObjectLike$1 = isObjectLike_1; +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + +function baseIsEqual$2(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + + if (value == null || other == null || !isObjectLike$1(value) && !isObjectLike$1(other)) { + return value !== value && other !== other; + } + + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual$2, stack); +} + +var _baseIsEqual = baseIsEqual$2; + +var Stack = _Stack, + baseIsEqual$1 = _baseIsEqual; +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$1 = 1, + COMPARE_UNORDERED_FLAG$1 = 2; +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + +function baseIsMatch$1(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + + object = Object(object); + + while (index--) { + var data = matchData[index]; + + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { + return false; + } + } + + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack(); + + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + + if (!(result === undefined ? baseIsEqual$1(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) { + return false; + } + } + } + + return true; +} + +var _baseIsMatch = baseIsMatch$1; + +var isObject$1 = isObject_1; +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + +function isStrictComparable$2(value) { + return value === value && !isObject$1(value); +} + +var _isStrictComparable = isStrictComparable$2; + +var isStrictComparable$1 = _isStrictComparable, + keys = keys_1; +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + +function getMatchData$1(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + result[length] = [key, value, isStrictComparable$1(value)]; + } + + return result; +} + +var _getMatchData = getMatchData$1; + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + +function matchesStrictComparable$2(key, srcValue) { + return function (object) { + if (object == null) { + return false; + } + + return object[key] === srcValue && (srcValue !== undefined || key in Object(object)); + }; +} + +var _matchesStrictComparable = matchesStrictComparable$2; + +var baseIsMatch = _baseIsMatch, + getMatchData = _getMatchData, + matchesStrictComparable$1 = _matchesStrictComparable; +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + +function baseMatches$1(source) { + var matchData = getMatchData(source); + + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable$1(matchData[0][0], matchData[0][1]); + } + + return function (object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +var _baseMatches = baseMatches$1; + +var baseGetTag = _baseGetTag, + isObjectLike = isObjectLike_1; +/** `Object#toString` result references. */ + +var symbolTag = '[object Symbol]'; +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + +function isSymbol$3(value) { + return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag; +} + +var isSymbol_1 = isSymbol$3; + +var isArray$6 = isArray_1, + isSymbol$2 = isSymbol_1; +/** Used to match property names within property paths. */ + +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + +function isKey$3(value, object) { + if (isArray$6(value)) { + return false; + } + + var type = typeof value; + + if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol$2(value)) { + return true; + } + + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); +} + +var _isKey = isKey$3; + +var MapCache = _MapCache; +/** Error message constants. */ + +var FUNC_ERROR_TEXT = 'Expected a function'; +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + +function memoize$1(func, resolver) { + if (typeof func != 'function' || resolver != null && typeof resolver != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + + var memoized = function () { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + + memoized.cache = new (memoize$1.Cache || MapCache)(); + return memoized; +} // Expose `MapCache`. + + +memoize$1.Cache = MapCache; +var memoize_1 = memoize$1; + +var memoize = memoize_1; +/** Used as the maximum memoize cache size. */ + +var MAX_MEMOIZE_SIZE = 500; +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + +function memoizeCapped$1(func) { + var result = memoize(func, function (key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + + return key; + }); + var cache = result.cache; + return result; +} + +var _memoizeCapped = memoizeCapped$1; + +var memoizeCapped = _memoizeCapped; +/** Used to match property names within property paths. */ + +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; +/** Used to match backslashes in property paths. */ + +var reEscapeChar = /\\(\\)?/g; +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + +var stringToPath$1 = memoizeCapped(function (string) { + var result = []; + + if (string.charCodeAt(0) === 46 + /* . */ + ) { + result.push(''); + } + + string.replace(rePropName, function (match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match); + }); + return result; +}); +var _stringToPath = stringToPath$1; + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + +function arrayMap$1(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + + return result; +} + +var _arrayMap = arrayMap$1; + +var Symbol$2 = _Symbol, + arrayMap = _arrayMap, + isArray$5 = isArray_1, + isSymbol$1 = isSymbol_1; +/** Used as references for various `Number` constants. */ + +var INFINITY$1 = 1 / 0; +/** Used to convert symbols to primitives and strings. */ + +var symbolProto = Symbol$2 ? Symbol$2.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + +function baseToString$1(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + + if (isArray$5(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString$1) + ''; + } + + if (isSymbol$1(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + + var result = value + ''; + return result == '0' && 1 / value == -INFINITY$1 ? '-0' : result; +} + +var _baseToString = baseToString$1; + +var baseToString = _baseToString; +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + +function toString$1(value) { + return value == null ? '' : baseToString(value); +} + +var toString_1 = toString$1; + +var isArray$4 = isArray_1, + isKey$2 = _isKey, + stringToPath = _stringToPath, + toString = toString_1; +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + +function castPath$4(value, object) { + if (isArray$4(value)) { + return value; + } + + return isKey$2(value, object) ? [value] : stringToPath(toString(value)); +} + +var _castPath = castPath$4; + +var isSymbol = isSymbol_1; +/** Used as references for various `Number` constants. */ + +var INFINITY = 1 / 0; +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + +function toKey$5(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + + var result = value + ''; + return result == '0' && 1 / value == -INFINITY ? '-0' : result; +} + +var _toKey = toKey$5; + +var castPath$3 = _castPath, + toKey$4 = _toKey; +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + +function baseGet$3(object, path) { + path = castPath$3(path, object); + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey$4(path[index++])]; + } + + return index && index == length ? object : undefined; +} + +var _baseGet = baseGet$3; + +var baseGet$2 = _baseGet; +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + +function get$1(object, path, defaultValue) { + var result = object == null ? undefined : baseGet$2(object, path); + return result === undefined ? defaultValue : result; +} + +var get_1 = get$1; + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + +function baseHasIn$1(object, key) { + return object != null && key in Object(object); +} + +var _baseHasIn = baseHasIn$1; + +var castPath$2 = _castPath, + isArguments$1 = isArguments_1, + isArray$3 = isArray_1, + isIndex$1 = _isIndex, + isLength = isLength_1, + toKey$3 = _toKey; +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + +function hasPath$1(object, path, hasFunc) { + path = castPath$2(path, object); + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey$3(path[index]); + + if (!(result = object != null && hasFunc(object, key))) { + break; + } + + object = object[key]; + } + + if (result || ++index != length) { + return result; + } + + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex$1(key, length) && (isArray$3(object) || isArguments$1(object)); +} + +var _hasPath = hasPath$1; + +var baseHasIn = _baseHasIn, + hasPath = _hasPath; +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + +function hasIn$2(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +var hasIn_1 = hasIn$2; + +var baseIsEqual = _baseIsEqual, + get = get_1, + hasIn$1 = hasIn_1, + isKey$1 = _isKey, + isStrictComparable = _isStrictComparable, + matchesStrictComparable = _matchesStrictComparable, + toKey$2 = _toKey; +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + +function baseMatchesProperty$1(path, srcValue) { + if (isKey$1(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey$2(path), srcValue); + } + + return function (object) { + var objValue = get(object, path); + return objValue === undefined && objValue === srcValue ? hasIn$1(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +var _baseMatchesProperty = baseMatchesProperty$1; + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + +function identity$2(value) { + return value; +} + +var identity_1 = identity$2; + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + +function baseProperty$1(key) { + return function (object) { + return object == null ? undefined : object[key]; + }; +} + +var _baseProperty = baseProperty$1; + +var baseGet$1 = _baseGet; +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + +function basePropertyDeep$1(path) { + return function (object) { + return baseGet$1(object, path); + }; +} + +var _basePropertyDeep = basePropertyDeep$1; + +var baseProperty = _baseProperty, + basePropertyDeep = _basePropertyDeep, + isKey = _isKey, + toKey$1 = _toKey; +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ + +function property$1(path) { + return isKey(path) ? baseProperty(toKey$1(path)) : basePropertyDeep(path); +} + +var property_1 = property$1; + +var baseMatches = _baseMatches, + baseMatchesProperty = _baseMatchesProperty, + identity$1 = identity_1, + isArray$2 = isArray_1, + property = property_1; +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + +function baseIteratee$1(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + + if (value == null) { + return identity$1; + } + + if (typeof value == 'object') { + return isArray$2(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); + } + + return property(value); +} + +var _baseIteratee = baseIteratee$1; + +var arrayAggregator = _arrayAggregator, + baseAggregator = _baseAggregator, + baseIteratee = _baseIteratee, + isArray$1 = isArray_1; +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + +function createAggregator$2(setter, initializer) { + return function (collection, iteratee) { + var func = isArray$1(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + return func(collection, setter, baseIteratee(iteratee), accumulator); + }; +} + +var _createAggregator = createAggregator$2; + +var createAggregator$1 = _createAggregator; +/** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + +var partition$1 = createAggregator$1(function (result, value, key) { + result[key ? 0 : 1].push(value); +}, function () { + return [[], []]; +}); +var partition_1 = partition$1; + +const partition = partition_1; + +var createMinimistOptions$2 = function createMinimistOptions(detailedOptions) { + const [boolean, string] = partition(detailedOptions, ({ + type + }) => type === "boolean").map(detailedOptions => detailedOptions.flatMap(({ + name, + alias + }) => alias ? [name, alias] : [name])); + const defaults = Object.fromEntries(detailedOptions.filter(option => !option.deprecated && (!option.forwardToApi || option.name === "plugin" || option.name === "plugin-search-dir") && option.default !== undefined).map(option => [option.name, option.default])); + return { + // we use vnopts' AliasSchema to handle aliases for better error messages + alias: {}, + boolean, + string, + default: defaults + }; +}; + +const dashify$1 = dashify$2; // eslint-disable-next-line no-restricted-modules + +const prettier$5 = require$$3; +const minimist$1 = minimist_1; +const { + optionsNormalizer +} = prettierInternal; +const createMinimistOptions$1 = createMinimistOptions$2; + +function getOptions(argv, detailedOptions) { + return Object.fromEntries(detailedOptions.filter(({ + forwardToApi + }) => forwardToApi).map(({ + forwardToApi, + name + }) => [forwardToApi, argv[name]])); +} + +function cliifyOptions(object, apiDetailedOptionMap) { + return Object.fromEntries(Object.entries(object || {}).map(([key, value]) => { + const apiOption = apiDetailedOptionMap[key]; + const cliKey = apiOption ? apiOption.name : key; + return [dashify$1(cliKey), value]; + })); +} + +function createApiDetailedOptionMap(detailedOptions) { + return Object.fromEntries(detailedOptions.filter(option => option.forwardToApi && option.forwardToApi !== option.name).map(option => [option.forwardToApi, option])); +} + +function parseArgsToOptions(context, overrideDefaults) { + const minimistOptions = createMinimistOptions$1(context.detailedOptions); + const apiDetailedOptionMap = createApiDetailedOptionMap(context.detailedOptions); + return getOptions(optionsNormalizer.normalizeCliOptions(minimist$1(context.rawArguments, { + string: minimistOptions.string, + boolean: minimistOptions.boolean, + default: cliifyOptions(overrideDefaults, apiDetailedOptionMap) + }), context.detailedOptions, { + logger: false + }), context.detailedOptions); +} + +async function getOptionsOrDie(context, filePath) { + try { + if (context.argv.config === false) { + context.logger.debug("'--no-config' option found, skip loading config file."); + return null; + } + + context.logger.debug(context.argv.config ? `load config file from '${context.argv.config}'` : `resolve config from '${filePath}'`); + const options = await prettier$5.resolveConfig(filePath, { + editorconfig: context.argv.editorconfig, + config: context.argv.config + }); + context.logger.debug("loaded options `" + JSON.stringify(options) + "`"); + return options; + } catch (error) { + context.logger.error(`Invalid configuration file \`${filePath}\`: ` + error.message); + process.exit(2); + } +} + +function applyConfigPrecedence(context, options) { + try { + switch (context.argv["config-precedence"]) { + case "cli-override": + return parseArgsToOptions(context, options); + + case "file-override": + return Object.assign(Object.assign({}, parseArgsToOptions(context)), options); + + case "prefer-file": + return options || parseArgsToOptions(context); + } + } catch (error) { + /* istanbul ignore next */ + context.logger.error(error.toString()); + /* istanbul ignore next */ + + process.exit(2); + } +} + +async function getOptionsForFile$1(context, filepath) { + const options = await getOptionsOrDie(context, filepath); + const hasPlugins = options && options.plugins; + + if (hasPlugins) { + context.pushContextPlugins(options.plugins); + } + + const appliedOptions = Object.assign({ + filepath + }, applyConfigPrecedence(context, options && optionsNormalizer.normalizeApiOptions(options, context.supportOptions, { + logger: context.logger + }))); + context.logger.debug(`applied config-precedence (${context.argv["config-precedence"]}): ` + `${JSON.stringify(appliedOptions)}`); + + if (hasPlugins) { + context.popContextPlugins(); + } + + return appliedOptions; +} + +var option = { + getOptionsForFile: getOptionsForFile$1, + createMinimistOptions: createMinimistOptions$1 +}; + +const { + isCI +} = require$$4; // Some CI pipelines incorrectly report process.stdout.isTTY status, +// which causes unwanted lines in the output. An additional check for isCI() helps. +// See https://github.com/prettier/prettier/issues/5801 + +var isTty = function isTTY() { + return process.stdout.isTTY && !isCI(); +}; + +var lib$1 = {}; + +var base = {}; + +/*istanbul ignore start*/ + +(function (exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = Diff; + /*istanbul ignore end*/ + + function Diff() {} + + Diff.prototype = { + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + diff: function diff(oldString, newString) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = options.callback; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + this.options = options; + var self = this; + + function done(value) { + if (callback) { + setTimeout(function () { + callback(undefined, value); + }, 0); + return true; + } else { + return value; + } + } // Allow subclasses to massage the input prior to running + + + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, + oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ + newPos: -1, + components: [] + }]; // Seed editLength = 0, i.e. the content starts with the same values + + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + // Identity per the equality and tokenizer + return done([{ + value: this.join(newString), + count: newString.length + }]); + } // Main worker method. checks all permutations of a given edit length for acceptance. + + + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = + /*istanbul ignore start*/ + void 0 + /*istanbul ignore end*/ + ; + + var addPath = bestPath[diagonalPath - 1], + removePath = bestPath[diagonalPath + 1], + _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + + if (addPath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = addPath && addPath.newPos + 1 < newLen, + canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } // Select the diagonal that we want to branch from. We select the prior + // path whose position in the new string is the farthest from the origin + // and does not pass the bounds of the diff graph + + + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self.pushComponent(basePath.components, undefined, true); + } else { + basePath = addPath; // No need to clone, we've pulled it from the list + + basePath.newPos++; + self.pushComponent(basePath.components, true, undefined); + } + + _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done + + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); + } else { + // Otherwise track this path as a potential candidate and continue. + bestPath[diagonalPath] = basePath; + } + } + + editLength++; + } // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced. + + + if (callback) { + (function exec() { + setTimeout(function () { + // This should not happen, but we want to be safe. + + /* istanbul ignore next */ + if (editLength > maxEditLength) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + + if (ret) { + return ret; + } + } + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + pushComponent: function pushComponent(components, added, removed) { + var last = components[components.length - 1]; + + if (last && last.added === added && last.removed === removed) { + // We need to clone here as the component clone operation is just + // as shallow array clone + components[components.length - 1] = { + count: last.count + 1, + added: added, + removed: removed + }; + } else { + components.push({ + count: 1, + added: added, + removed: removed + }); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + newPos = basePath.newPos, + oldPos = newPos - diagonalPath, + commonCount = 0; + + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + + basePath.newPos = newPos; + return oldPos; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + removeEmpty: function removeEmpty(array) { + var ret = []; + + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + + return ret; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + castInput: function castInput(value) { + return value; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + tokenize: function tokenize(value) { + return value.split(''); + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + join: function join(chars) { + return chars.join(''); + } + }; + + function buildValues(diff, components, newString, oldString, useLongestToken) { + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function (value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + + newPos += component.count; // Common case + + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } // Special case handle for when one terminal is ignored (i.e. whitespace). + // For this case we merge the terminal into the prior string and drop the change. + // This is only available for string mode. + + + var lastComponent = components[componentLen - 1]; + + if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + + return components; + } + + function clonePath(path) { + return { + newPos: path.newPos, + components: path.components.slice(0) + }; + } +})(base); + +var character = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(character, "__esModule", { + value: true +}); +character.diffChars = diffChars; +character.characterDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base$6 = _interopRequireDefault$7(base) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault$7(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + +var characterDiff = new +/*istanbul ignore start*/ +_base$6 +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); +/*istanbul ignore start*/ + +character.characterDiff = characterDiff; +/*istanbul ignore end*/ + +function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); +} + +var word = {}; + +var params = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(params, "__esModule", { + value: true +}); +params.generateOptions = generateOptions; +/*istanbul ignore end*/ + +function generateOptions(options, defaults) { + if (typeof options === 'function') { + defaults.callback = options; + } else if (options) { + for (var name in options) { + /* istanbul ignore else */ + if (options.hasOwnProperty(name)) { + defaults[name] = options[name]; + } + } + } + + return defaults; +} + +/*istanbul ignore start*/ + +Object.defineProperty(word, "__esModule", { + value: true +}); +word.diffWords = diffWords; +word.diffWordsWithSpace = diffWordsWithSpace; +word.wordDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base$5 = _interopRequireDefault$6(base) +/*istanbul ignore end*/ +; + +var +/*istanbul ignore start*/ +_params$1 = params +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + +function _interopRequireDefault$6(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ +// Based on https://en.wikipedia.org/wiki/Latin_script_in_Unicode +// +// Ranges and exceptions: +// Latin-1 Supplement, 0080–00FF +// - U+00D7 × Multiplication sign +// - U+00F7 ÷ Division sign +// Latin Extended-A, 0100–017F +// Latin Extended-B, 0180–024F +// IPA Extensions, 0250–02AF +// Spacing Modifier Letters, 02B0–02FF +// - U+02C7 ˇ ˇ Caron +// - U+02D8 ˘ ˘ Breve +// - U+02D9 ˙ ˙ Dot Above +// - U+02DA ˚ ˚ Ring Above +// - U+02DB ˛ ˛ Ogonek +// - U+02DC ˜ ˜ Small Tilde +// - U+02DD ˝ ˝ Double Acute Accent +// Latin Extended Additional, 1E00–1EFF + + +var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; +var reWhitespace = /\S/; +var wordDiff = new +/*istanbul ignore start*/ +_base$5 +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); +/*istanbul ignore start*/ + +word.wordDiff = wordDiff; +/*istanbul ignore end*/ + +wordDiff.equals = function (left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); +}; + +wordDiff.tokenize = function (value) { + // All whitespace symbols except newline group into one token, each newline - in separate token + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. + + for (var i = 0; i < tokens.length - 1; i++) { + // If we have an empty string in the next field and we have only word chars before and after, merge + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + + return tokens; +}; + +function diffWords(oldStr, newStr, options) { + options = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _params$1 + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions + /*istanbul ignore end*/ + )(options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); +} + +function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); +} + +var line = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(line, "__esModule", { + value: true +}); +line.diffLines = diffLines; +line.diffTrimmedLines = diffTrimmedLines; +line.lineDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base$4 = _interopRequireDefault$5(base) +/*istanbul ignore end*/ +; + +var +/*istanbul ignore start*/ +_params = params +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + +function _interopRequireDefault$5(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + +var lineDiff = new +/*istanbul ignore start*/ +_base$4 +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); +/*istanbul ignore start*/ + +line.lineDiff = lineDiff; +/*istanbul ignore end*/ + +lineDiff.tokenize = function (value) { + var retLines = [], + linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line + + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } // Merge the content and line separators into single tokens + + + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + + retLines.push(line); + } + } + + return retLines; +}; + +function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); +} + +function diffTrimmedLines(oldStr, newStr, callback) { + var options = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions + /*istanbul ignore end*/ + )(callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); +} + +var sentence = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(sentence, "__esModule", { + value: true +}); +sentence.diffSentences = diffSentences; +sentence.sentenceDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base$3 = _interopRequireDefault$4(base) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault$4(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + +var sentenceDiff = new +/*istanbul ignore start*/ +_base$3 +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); +/*istanbul ignore start*/ + +sentence.sentenceDiff = sentenceDiff; +/*istanbul ignore end*/ + +sentenceDiff.tokenize = function (value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); +}; + +function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); +} + +var css = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(css, "__esModule", { + value: true +}); +css.diffCss = diffCss; +css.cssDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base$2 = _interopRequireDefault$3(base) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault$3(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + +var cssDiff = new +/*istanbul ignore start*/ +_base$2 +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); +/*istanbul ignore start*/ + +css.cssDiff = cssDiff; +/*istanbul ignore end*/ + +cssDiff.tokenize = function (value) { + return value.split(/([{}:;,]|\s+)/); +}; + +function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); +} + +var json = {}; + +Object.defineProperty(json, "__esModule", { + value: true +}); +json.diffJson = diffJson; +json.canonicalize = canonicalize; +json.jsonDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base$1 = _interopRequireDefault$2(base) +/*istanbul ignore end*/ +; + +var +/*istanbul ignore start*/ +_line$1 = line +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + +function _interopRequireDefault$2(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} + +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} +/*istanbul ignore end*/ + + +var objectPrototypeToString = Object.prototype.toString; +var jsonDiff = new +/*istanbul ignore start*/ +_base$1 +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a +// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + +/*istanbul ignore start*/ + +json.jsonDiff = jsonDiff; +/*istanbul ignore end*/ + +jsonDiff.useLongestToken = true; +jsonDiff.tokenize = +/*istanbul ignore start*/ +_line$1 +/*istanbul ignore end*/ +. +/*istanbul ignore start*/ +lineDiff +/*istanbul ignore end*/ +.tokenize; + +jsonDiff.castInput = function (value) { + /*istanbul ignore start*/ + var _this$options = + /*istanbul ignore end*/ + this.options, + undefinedReplacement = _this$options.undefinedReplacement, + _this$options$stringi = _this$options.stringifyReplacer, + stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + typeof v === 'undefined' ? undefinedReplacement : v + ); + } : _this$options$stringi; + return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); +}; + +jsonDiff.equals = function (left, right) { + return ( + /*istanbul ignore start*/ + _base$1 + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ].prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')) + ); +}; + +function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); +} // This function handles the presence of circular references by bailing out when encountering an +// object that is already on the "stack" of items being processed. Accepts an optional replacer + + +function canonicalize(obj, stack, replacementStack, replacer, key) { + stack = stack || []; + replacementStack = replacementStack || []; + + if (replacer) { + obj = replacer(key, obj); + } + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); + } + + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + + if ( + /*istanbul ignore start*/ + _typeof( + /*istanbul ignore end*/ + obj) === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + + var sortedKeys = [], + _key; + + for (_key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + + sortedKeys.sort(); + + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + + return canonicalizedObj; +} + +var array$1 = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(array$1, "__esModule", { + value: true +}); +array$1.diffArrays = diffArrays; +array$1.arrayDiff = void 0; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_base = _interopRequireDefault$1(base) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault$1(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + +var arrayDiff = new +/*istanbul ignore start*/ +_base +/*istanbul ignore end*/ +[ +/*istanbul ignore start*/ +"default" +/*istanbul ignore end*/ +](); +/*istanbul ignore start*/ + +array$1.arrayDiff = arrayDiff; +/*istanbul ignore end*/ + +arrayDiff.tokenize = function (value) { + return value.slice(); +}; + +arrayDiff.join = arrayDiff.removeEmpty = function (value) { + return value; +}; + +function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); +} + +var apply$2 = {}; + +var parse = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(parse, "__esModule", { + value: true +}); +parse.parsePatch = parsePatch; +/*istanbul ignore end*/ + +function parsePatch(uniDiff) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], + list = [], + i = 0; + + function parseIndex() { + var index = {}; + list.push(index); // Parse diff metadata + + while (i < diffstr.length) { + var line = diffstr[i]; // File header found, end parsing diff metadata + + if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) { + break; + } // Diff index + + + var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line); + + if (header) { + index.index = header[1]; + } + + i++; + } // Parse file headers if they are defined. Unified diff requires them, but + // there's no technical issues to have an isolated hunk without file header + + + parseFileHeader(index); + parseFileHeader(index); // Parse hunks + + index.hunks = []; + + while (i < diffstr.length) { + var _line = diffstr[i]; + + if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) { + break; + } else if (/^@@/.test(_line)) { + index.hunks.push(parseHunk()); + } else if (_line && options.strict) { + // Ignore unexpected content unless in strict mode + throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line)); + } else { + i++; + } + } + } // Parses the --- and +++ headers, if none are found, no lines + // are consumed. + + + function parseFileHeader(index) { + var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]); + + if (fileHeader) { + var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new'; + var data = fileHeader[2].split('\t', 2); + var fileName = data[0].replace(/\\\\/g, '\\'); + + if (/^".*"$/.test(fileName)) { + fileName = fileName.substr(1, fileName.length - 2); + } + + index[keyPrefix + 'FileName'] = fileName; + index[keyPrefix + 'Header'] = (data[1] || '').trim(); + i++; + } + } // Parses a hunk + // This assumes that we are at the start of a hunk. + + + function parseHunk() { + var chunkHeaderIndex = i, + chunkHeaderLine = diffstr[i++], + chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); + var hunk = { + oldStart: +chunkHeader[1], + oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2], + newStart: +chunkHeader[3], + newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4], + lines: [], + linedelimiters: [] + }; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart += 1; + } + + if (hunk.newLines === 0) { + hunk.newStart += 1; + } + + var addCount = 0, + removeCount = 0; + + for (; i < diffstr.length; i++) { + // Lines starting with '---' could be mistaken for the "remove line" operation + // But they could be the header for the next file. Therefore prune such cases out. + if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) { + break; + } + + var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0]; + + if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') { + hunk.lines.push(diffstr[i]); + hunk.linedelimiters.push(delimiters[i] || '\n'); + + if (operation === '+') { + addCount++; + } else if (operation === '-') { + removeCount++; + } else if (operation === ' ') { + addCount++; + removeCount++; + } + } else { + break; + } + } // Handle the empty block count case + + + if (!addCount && hunk.newLines === 1) { + hunk.newLines = 0; + } + + if (!removeCount && hunk.oldLines === 1) { + hunk.oldLines = 0; + } // Perform optional sanity checking + + + if (options.strict) { + if (addCount !== hunk.newLines) { + throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + + if (removeCount !== hunk.oldLines) { + throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + } + + return hunk; + } + + while (i < diffstr.length) { + parseIndex(); + } + + return list; +} + +var distanceIterator = {}; + +/*istanbul ignore start*/ + +(function (exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = _default; + /*istanbul ignore end*/ + // Iterator that traverses in the range of [min, max], stepping + // by distance from a given start position. I.e. for [0, 4], with + // start of 2, this will iterate 2, 3, 1, 4, 0. + + function + /*istanbul ignore start*/ + _default + /*istanbul ignore end*/ + (start, minLine, maxLine) { + var wantForward = true, + backwardExhausted = false, + forwardExhausted = false, + localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } // Check if trying to fit beyond text length, and if not, check it fits + // after offset location (or desired location on first iteration) + + + if (start + localOffset <= maxLine) { + return localOffset; + } + + forwardExhausted = true; + } + + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } // Check if trying to fit before text beginning, and if not, check it fits + // before offset location + + + if (minLine <= start - localOffset) { + return -localOffset++; + } + + backwardExhausted = true; + return iterator(); + } // We tried to fit hunk before text beginning and beyond text length, then + // hunk can't fit on the text. Return undefined + + }; + } +})(distanceIterator); + +/*istanbul ignore start*/ + +Object.defineProperty(apply$2, "__esModule", { + value: true +}); +apply$2.applyPatch = applyPatch; +apply$2.applyPatches = applyPatches; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_parse$1 = parse +/*istanbul ignore end*/ +; + +var +/*istanbul ignore start*/ +_distanceIterator = _interopRequireDefault(distanceIterator) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + +function applyPatch(source, uniDiff) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (typeof uniDiff === 'string') { + uniDiff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _parse$1 + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(uniDiff); + } + + if (Array.isArray(uniDiff)) { + if (uniDiff.length > 1) { + throw new Error('applyPatch only works with a single input.'); + } + + uniDiff = uniDiff[0]; + } // Apply the diff to the input + + + var lines = source.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], + hunks = uniDiff.hunks, + compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + line === patchContent + ); + }, + errorCount = 0, + fuzzFactor = options.fuzzFactor || 0, + minLine = 0, + offset = 0, + removeEOFNL, + addEOFNL; + /** + * Checks if the hunk exactly fits on the provided location + */ + + + function hunkFits(hunk, toPos) { + for (var j = 0; j < hunk.lines.length; j++) { + var line = hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line; + + if (operation === ' ' || operation === '-') { + // Context sanity check + if (!compareLine(toPos + 1, lines[toPos], operation, content)) { + errorCount++; + + if (errorCount > fuzzFactor) { + return false; + } + } + + toPos++; + } + } + + return true; + } // Search best fit offsets for each hunk based on the previous ones + + + for (var i = 0; i < hunks.length; i++) { + var hunk = hunks[i], + maxLine = lines.length - hunk.oldLines, + localOffset = 0, + toPos = offset + hunk.oldStart - 1; + var iterator = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _distanceIterator + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ])(toPos, minLine, maxLine); + + for (; localOffset !== undefined; localOffset = iterator()) { + if (hunkFits(hunk, toPos + localOffset)) { + hunk.offset = offset += localOffset; + break; + } + } + + if (localOffset === undefined) { + return false; + } // Set lower text limit to end of the current hunk, so next ones don't try + // to fit over already patched text + + + minLine = hunk.offset + hunk.oldStart + hunk.oldLines; + } // Apply patch hunks + + + var diffOffset = 0; + + for (var _i = 0; _i < hunks.length; _i++) { + var _hunk = hunks[_i], + _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1; + + diffOffset += _hunk.newLines - _hunk.oldLines; + + for (var j = 0; j < _hunk.lines.length; j++) { + var line = _hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line, + delimiter = _hunk.linedelimiters[j]; + + if (operation === ' ') { + _toPos++; + } else if (operation === '-') { + lines.splice(_toPos, 1); + delimiters.splice(_toPos, 1); + /* istanbul ignore else */ + } else if (operation === '+') { + lines.splice(_toPos, 0, content); + delimiters.splice(_toPos, 0, delimiter); + _toPos++; + } else if (operation === '\\') { + var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null; + + if (previousOperation === '+') { + removeEOFNL = true; + } else if (previousOperation === '-') { + addEOFNL = true; + } + } + } + } // Handle EOFNL insertion/removal + + + if (removeEOFNL) { + while (!lines[lines.length - 1]) { + lines.pop(); + delimiters.pop(); + } + } else if (addEOFNL) { + lines.push(''); + delimiters.push('\n'); + } + + for (var _k = 0; _k < lines.length - 1; _k++) { + lines[_k] = lines[_k] + delimiters[_k]; + } + + return lines.join(''); +} // Wrapper that supports multiple file patches via callbacks. + + +function applyPatches(uniDiff, options) { + if (typeof uniDiff === 'string') { + uniDiff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _parse$1 + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(uniDiff); + } + + var currentIndex = 0; + + function processIndex() { + var index = uniDiff[currentIndex++]; + + if (!index) { + return options.complete(); + } + + options.loadFile(index, function (err, data) { + if (err) { + return options.complete(err); + } + + var updatedContent = applyPatch(data, index, options); + options.patched(index, updatedContent, function (err) { + if (err) { + return options.complete(err); + } + + processIndex(); + }); + }); + } + + processIndex(); +} + +var merge$1 = {}; + +var create$1 = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(create$1, "__esModule", { + value: true +}); +create$1.structuredPatch = structuredPatch; +create$1.formatPatch = formatPatch; +create$1.createTwoFilesPatch = createTwoFilesPatch; +create$1.createPatch = createPatch; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_line = line +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + +function _toConsumableArray$1(arr) { + return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); +} + +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray$1(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); +} + +function _iterableToArray$1(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles$1(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); +} + +function _arrayLikeToArray$1(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +/*istanbul ignore end*/ + + +function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + + if (typeof options.context === 'undefined') { + options.context = 4; + } + + var diff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _line + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + diffLines + /*istanbul ignore end*/ + )(oldStr, newStr, options); + diff.push({ + value: '', + lines: [] + }); // Append an empty value to make cleanup easier + + function contextLines(lines) { + return lines.map(function (entry) { + return ' ' + entry; + }); + } + + var hunks = []; + var oldRangeStart = 0, + newRangeStart = 0, + curRange = [], + oldLine = 1, + newLine = 1; + /*istanbul ignore start*/ + + var _loop = function _loop( + /*istanbul ignore end*/ + i) { + var current = diff[i], + lines = current.lines || current.value.replace(/\n$/, '').split('\n'); + current.lines = lines; + + if (current.added || current.removed) { + /*istanbul ignore start*/ + var _curRange; + /*istanbul ignore end*/ + // If we have previous context, start with that + + + if (!oldRangeStart) { + var prev = diff[i - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } // Output our changes + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_curRange = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + lines.map(function (entry) { + return (current.added ? '+' : '-') + entry; + }))); // Track the updated file position + + + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + // Identical context lines. Track line changes + if (oldRangeStart) { + // Close out any changes that have been output (or join overlapping) + if (lines.length <= options.context * 2 && i < diff.length - 2) { + /*istanbul ignore start*/ + var _curRange2; + /*istanbul ignore end*/ + // Overlapping + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_curRange2 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + contextLines(lines))); + } else { + /*istanbul ignore start*/ + var _curRange3; + /*istanbul ignore end*/ + // end the range and output + + + var contextSize = Math.min(lines.length, options.context); + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + (_curRange3 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + contextLines(lines.slice(0, contextSize)))); + + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + + if (i >= diff.length - 2 && lines.length <= options.context) { + // EOF is inside this hunk + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { + // special case: old has no eol and no trailing context; no-nl can end up before adds + // however, if the old file is empty, do not output the no-nl line + curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); + } + + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push('\\ No newline at end of file'); + } + } + + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + + oldLine += lines.length; + newLine += lines.length; + } + }; + + for (var i = 0; i < diff.length; i++) { + /*istanbul ignore start*/ + _loop( + /*istanbul ignore end*/ + i); + } + + return { + oldFileName: oldFileName, + newFileName: newFileName, + oldHeader: oldHeader, + newHeader: newHeader, + hunks: hunks + }; +} + +function formatPatch(diff) { + var ret = []; + + if (diff.oldFileName == diff.newFileName) { + ret.push('Index: ' + diff.oldFileName); + } + + ret.push('==================================================================='); + ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader)); + ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); + + for (var i = 0; i < diff.hunks.length; i++) { + var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); + ret.push.apply(ret, hunk.lines); + } + + return ret.join('\n') + '\n'; +} + +function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); +} + +function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); +} + +var array = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(array, "__esModule", { + value: true +}); +array.arrayEqual = arrayEqual; +array.arrayStartsWith = arrayStartsWith; +/*istanbul ignore end*/ + +function arrayEqual(a, b) { + if (a.length !== b.length) { + return false; + } + + return arrayStartsWith(a, b); +} + +function arrayStartsWith(array, start) { + if (start.length > array.length) { + return false; + } + + for (var i = 0; i < start.length; i++) { + if (start[i] !== array[i]) { + return false; + } + } + + return true; +} + +/*istanbul ignore start*/ + +Object.defineProperty(merge$1, "__esModule", { + value: true +}); +merge$1.calcLineCount = calcLineCount; +merge$1.merge = merge; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_create = create$1 +/*istanbul ignore end*/ +; +var +/*istanbul ignore start*/ +_parse = parse +/*istanbul ignore end*/ +; +var +/*istanbul ignore start*/ +_array = array +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +/*istanbul ignore end*/ + + +function calcLineCount(hunk) { + /*istanbul ignore start*/ + var _calcOldNewLineCount = + /*istanbul ignore end*/ + calcOldNewLineCount(hunk.lines), + oldLines = _calcOldNewLineCount.oldLines, + newLines = _calcOldNewLineCount.newLines; + + if (oldLines !== undefined) { + hunk.oldLines = oldLines; + } else { + delete hunk.oldLines; + } + + if (newLines !== undefined) { + hunk.newLines = newLines; + } else { + delete hunk.newLines; + } +} + +function merge(mine, theirs, base) { + mine = loadPatch(mine, base); + theirs = loadPatch(theirs, base); + var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning. + // Leaving sanity checks on this to the API consumer that may know more about the + // meaning in their own context. + + if (mine.index || theirs.index) { + ret.index = mine.index || theirs.index; + } + + if (mine.newFileName || theirs.newFileName) { + if (!fileNameChanged(mine)) { + // No header or no change in ours, use theirs (and ours if theirs does not exist) + ret.oldFileName = theirs.oldFileName || mine.oldFileName; + ret.newFileName = theirs.newFileName || mine.newFileName; + ret.oldHeader = theirs.oldHeader || mine.oldHeader; + ret.newHeader = theirs.newHeader || mine.newHeader; + } else if (!fileNameChanged(theirs)) { + // No header or no change in theirs, use ours + ret.oldFileName = mine.oldFileName; + ret.newFileName = mine.newFileName; + ret.oldHeader = mine.oldHeader; + ret.newHeader = mine.newHeader; + } else { + // Both changed... figure it out + ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName); + ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName); + ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader); + ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader); + } + } + + ret.hunks = []; + var mineIndex = 0, + theirsIndex = 0, + mineOffset = 0, + theirsOffset = 0; + + while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) { + var mineCurrent = mine.hunks[mineIndex] || { + oldStart: Infinity + }, + theirsCurrent = theirs.hunks[theirsIndex] || { + oldStart: Infinity + }; + + if (hunkBefore(mineCurrent, theirsCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(mineCurrent, mineOffset)); + mineIndex++; + theirsOffset += mineCurrent.newLines - mineCurrent.oldLines; + } else if (hunkBefore(theirsCurrent, mineCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset)); + theirsIndex++; + mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines; + } else { + // Overlap, merge as best we can + var mergedHunk = { + oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart), + oldLines: 0, + newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset), + newLines: 0, + lines: [] + }; + mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines); + theirsIndex++; + mineIndex++; + ret.hunks.push(mergedHunk); + } + } + + return ret; +} + +function loadPatch(param, base) { + if (typeof param === 'string') { + if (/^@@/m.test(param) || /^Index:/m.test(param)) { + return ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(param)[0] + ); + } + + if (!base) { + throw new Error('Must provide a base reference or pass in a patch'); + } + + return ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _create + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + structuredPatch + /*istanbul ignore end*/ + )(undefined, undefined, base, param) + ); + } + + return param; +} + +function fileNameChanged(patch) { + return patch.newFileName && patch.newFileName !== patch.oldFileName; +} + +function selectField(index, mine, theirs) { + if (mine === theirs) { + return mine; + } else { + index.conflict = true; + return { + mine: mine, + theirs: theirs + }; + } +} + +function hunkBefore(test, check) { + return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart; +} + +function cloneHunk(hunk, offset) { + return { + oldStart: hunk.oldStart, + oldLines: hunk.oldLines, + newStart: hunk.newStart + offset, + newLines: hunk.newLines, + lines: hunk.lines + }; +} + +function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { + // This will generally result in a conflicted hunk, but there are cases where the context + // is the only overlap where we can successfully merge the content here. + var mine = { + offset: mineOffset, + lines: mineLines, + index: 0 + }, + their = { + offset: theirOffset, + lines: theirLines, + index: 0 + }; // Handle any leading content + + insertLeading(hunk, mine, their); + insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each. + + while (mine.index < mine.lines.length && their.index < their.lines.length) { + var mineCurrent = mine.lines[mine.index], + theirCurrent = their.lines[their.index]; + + if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) { + // Both modified ... + mutualChange(hunk, mine, their); + } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { + /*istanbul ignore start*/ + var _hunk$lines; + /*istanbul ignore end*/ + // Mine inserted + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(mine))); + } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { + /*istanbul ignore start*/ + var _hunk$lines2; + /*istanbul ignore end*/ + // Theirs inserted + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines2 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(their))); + } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { + // Mine removed or edited + removal(hunk, mine, their); + } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') { + // Their removed or edited + removal(hunk, their, mine, true); + } else if (mineCurrent === theirCurrent) { + // Context identity + hunk.lines.push(mineCurrent); + mine.index++; + their.index++; + } else { + // Context mismatch + conflict(hunk, collectChange(mine), collectChange(their)); + } + } // Now push anything that may be remaining + + + insertTrailing(hunk, mine); + insertTrailing(hunk, their); + calcLineCount(hunk); +} + +function mutualChange(hunk, mine, their) { + var myChanges = collectChange(mine), + theirChanges = collectChange(their); + + if (allRemoves(myChanges) && allRemoves(theirChanges)) { + // Special case for remove changes that are supersets of one another + if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith + /*istanbul ignore end*/ + )(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines3; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines3 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); + + return; + } else if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith + /*istanbul ignore end*/ + )(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines4; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines4 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines4 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges)); + + return; + } + } else if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayEqual + /*istanbul ignore end*/ + )(myChanges, theirChanges)) { + /*istanbul ignore start*/ + var _hunk$lines5; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines5 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines5 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); + + return; + } + + conflict(hunk, myChanges, theirChanges); +} + +function removal(hunk, mine, their, swap) { + var myChanges = collectChange(mine), + theirChanges = collectContext(their, myChanges); + + if (theirChanges.merged) { + /*istanbul ignore start*/ + var _hunk$lines6; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines6 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines6 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges.merged)); + } else { + conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); + } +} + +function conflict(hunk, mine, their) { + hunk.conflict = true; + hunk.lines.push({ + conflict: true, + mine: mine, + theirs: their + }); +} + +function insertLeading(hunk, insert, their) { + while (insert.offset < their.offset && insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + insert.offset++; + } +} + +function insertTrailing(hunk, insert) { + while (insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + } +} + +function collectChange(state) { + var ret = [], + operation = state.lines[state.index][0]; + + while (state.index < state.lines.length) { + var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change. + + if (operation === '-' && line[0] === '+') { + operation = '+'; + } + + if (operation === line[0]) { + ret.push(line); + state.index++; + } else { + break; + } + } + + return ret; +} + +function collectContext(state, matchChanges) { + var changes = [], + merged = [], + matchIndex = 0, + contextChanges = false, + conflicted = false; + + while (matchIndex < matchChanges.length && state.index < state.lines.length) { + var change = state.lines[state.index], + match = matchChanges[matchIndex]; // Once we've hit our add, then we are done + + if (match[0] === '+') { + break; + } + + contextChanges = contextChanges || change[0] !== ' '; + merged.push(match); + matchIndex++; // Consume any additions in the other block as a conflict to attempt + // to pull in the remaining context after this + + if (change[0] === '+') { + conflicted = true; + + while (change[0] === '+') { + changes.push(change); + change = state.lines[++state.index]; + } + } + + if (match.substr(1) === change.substr(1)) { + changes.push(change); + state.index++; + } else { + conflicted = true; + } + } + + if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) { + conflicted = true; + } + + if (conflicted) { + return changes; + } + + while (matchIndex < matchChanges.length) { + merged.push(matchChanges[matchIndex++]); + } + + return { + merged: merged, + changes: changes + }; +} + +function allRemoves(changes) { + return changes.reduce(function (prev, change) { + return prev && change[0] === '-'; + }, true); +} + +function skipRemoveSuperset(state, removeChanges, delta) { + for (var i = 0; i < delta; i++) { + var changeContent = removeChanges[removeChanges.length - delta + i].substr(1); + + if (state.lines[state.index + i] !== ' ' + changeContent) { + return false; + } + } + + state.index += delta; + return true; +} + +function calcOldNewLineCount(lines) { + var oldLines = 0; + var newLines = 0; + lines.forEach(function (line) { + if (typeof line !== 'string') { + var myCount = calcOldNewLineCount(line.mine); + var theirCount = calcOldNewLineCount(line.theirs); + + if (oldLines !== undefined) { + if (myCount.oldLines === theirCount.oldLines) { + oldLines += myCount.oldLines; + } else { + oldLines = undefined; + } + } + + if (newLines !== undefined) { + if (myCount.newLines === theirCount.newLines) { + newLines += myCount.newLines; + } else { + newLines = undefined; + } + } + } else { + if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) { + newLines++; + } + + if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) { + oldLines++; + } + } + }); + return { + oldLines: oldLines, + newLines: newLines + }; +} + +var dmp = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(dmp, "__esModule", { + value: true +}); +dmp.convertChangesToDMP = convertChangesToDMP; +/*istanbul ignore end*/ +// See: http://code.google.com/p/google-diff-match-patch/wiki/API + +function convertChangesToDMP(changes) { + var ret = [], + change, + operation; + + for (var i = 0; i < changes.length; i++) { + change = changes[i]; + + if (change.added) { + operation = 1; + } else if (change.removed) { + operation = -1; + } else { + operation = 0; + } + + ret.push([operation, change.value]); + } + + return ret; +} + +var xml = {}; + +/*istanbul ignore start*/ + +Object.defineProperty(xml, "__esModule", { + value: true +}); +xml.convertChangesToXML = convertChangesToXML; +/*istanbul ignore end*/ + +function convertChangesToXML(changes) { + var ret = []; + + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + + ret.push(escapeHTML(change.value)); + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + } + + return ret.join(''); +} + +function escapeHTML(s) { + var n = s; + n = n.replace(/&/g, '&'); + n = n.replace(//g, '>'); + n = n.replace(/"/g, '"'); + return n; +} + +/*istanbul ignore start*/ + +(function (exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "Diff", { + enumerable: true, + get: function get() { + return _base["default"]; + } + }); + Object.defineProperty(exports, "diffChars", { + enumerable: true, + get: function get() { + return _character.diffChars; + } + }); + Object.defineProperty(exports, "diffWords", { + enumerable: true, + get: function get() { + return _word.diffWords; + } + }); + Object.defineProperty(exports, "diffWordsWithSpace", { + enumerable: true, + get: function get() { + return _word.diffWordsWithSpace; + } + }); + Object.defineProperty(exports, "diffLines", { + enumerable: true, + get: function get() { + return _line.diffLines; + } + }); + Object.defineProperty(exports, "diffTrimmedLines", { + enumerable: true, + get: function get() { + return _line.diffTrimmedLines; + } + }); + Object.defineProperty(exports, "diffSentences", { + enumerable: true, + get: function get() { + return _sentence.diffSentences; + } + }); + Object.defineProperty(exports, "diffCss", { + enumerable: true, + get: function get() { + return _css.diffCss; + } + }); + Object.defineProperty(exports, "diffJson", { + enumerable: true, + get: function get() { + return _json.diffJson; + } + }); + Object.defineProperty(exports, "canonicalize", { + enumerable: true, + get: function get() { + return _json.canonicalize; + } + }); + Object.defineProperty(exports, "diffArrays", { + enumerable: true, + get: function get() { + return _array.diffArrays; + } + }); + Object.defineProperty(exports, "applyPatch", { + enumerable: true, + get: function get() { + return _apply.applyPatch; + } + }); + Object.defineProperty(exports, "applyPatches", { + enumerable: true, + get: function get() { + return _apply.applyPatches; + } + }); + Object.defineProperty(exports, "parsePatch", { + enumerable: true, + get: function get() { + return _parse.parsePatch; + } + }); + Object.defineProperty(exports, "merge", { + enumerable: true, + get: function get() { + return _merge.merge; + } + }); + Object.defineProperty(exports, "structuredPatch", { + enumerable: true, + get: function get() { + return _create.structuredPatch; + } + }); + Object.defineProperty(exports, "createTwoFilesPatch", { + enumerable: true, + get: function get() { + return _create.createTwoFilesPatch; + } + }); + Object.defineProperty(exports, "createPatch", { + enumerable: true, + get: function get() { + return _create.createPatch; + } + }); + Object.defineProperty(exports, "convertChangesToDMP", { + enumerable: true, + get: function get() { + return _dmp.convertChangesToDMP; + } + }); + Object.defineProperty(exports, "convertChangesToXML", { + enumerable: true, + get: function get() { + return _xml.convertChangesToXML; + } + }); + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _character = character + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _word = word + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _line = line + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _sentence = sentence + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _css = css + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _json = json + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _array = array$1 + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _apply = apply$2 + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _parse = parse + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _merge = merge$1 + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _create = create$1 + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _dmp = dmp + /*istanbul ignore end*/ + ; + var + /*istanbul ignore start*/ + _xml = xml + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + +})(lib$1); + +const { + promises: fs +} = require$$0__default$4["default"]; +const path$1 = require$$0__default$1["default"]; +const chalk$1 = source; // eslint-disable-next-line no-restricted-modules + +const prettier$4 = require$$3; // eslint-disable-next-line no-restricted-modules + +const { + getStdin +} = require$$4; +const { + createIgnorer, + errors +} = prettierInternal; +const { + expandPatterns, + fixWindowsSlashes +} = expandPatterns_1; +const { + getOptionsForFile +} = option; +const isTTY = isTty; + +function diff(a, b) { + return lib$1.createTwoFilesPatch("", "", a, b, "", "", { + context: 2 + }); +} + +function handleError(context, filename, error, printedFilename) { + if (error instanceof errors.UndefinedParserError) { + // Can't test on CI, `isTTY()` is always false, see ./is-tty.js + + /* istanbul ignore next */ + if ((context.argv.write || context.argv["ignore-unknown"]) && printedFilename) { + printedFilename.clear(); + } + + if (context.argv["ignore-unknown"]) { + return; + } + + if (!context.argv.check && !context.argv["list-different"]) { + process.exitCode = 2; + } + + context.logger.error(error.message); + return; + } + + if (context.argv.write) { + // Add newline to split errors from filename line. + process.stdout.write("\n"); + } + + const isParseError = Boolean(error && error.loc); + const isValidationError = /^Invalid \S+ value\./.test(error && error.message); + + if (isParseError) { + // `invalid.js: SyntaxError: Unexpected token (1:1)`. + context.logger.error(`${filename}: ${String(error)}`); + } else if (isValidationError || error instanceof errors.ConfigError) { + // `Invalid printWidth value. Expected an integer, but received 0.5.` + context.logger.error(error.message); // If validation fails for one file, it will fail for all of them. + + process.exit(1); + } else if (error instanceof errors.DebugError) { + // `invalid.js: Some debug error message` + context.logger.error(`${filename}: ${error.message}`); + } else { + // `invalid.js: Error: Some unexpected error\n[stack trace]` + + /* istanbul ignore next */ + context.logger.error(filename + ": " + (error.stack || error)); + } // Don't exit the process if one file failed + + + process.exitCode = 2; +} + +function writeOutput(context, result, options) { + // Don't use `console.log` here since it adds an extra newline at the end. + process.stdout.write(context.argv["debug-check"] ? result.filepath : result.formatted); + + if (options && options.cursorOffset >= 0) { + process.stderr.write(result.cursorOffset + "\n"); + } +} + +function listDifferent(context, input, options, filename) { + if (!context.argv.check && !context.argv["list-different"]) { + return; + } + + try { + if (!options.filepath && !options.parser) { + throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); + } + + if (!prettier$4.check(input, options)) { + if (!context.argv.write) { + context.logger.log(filename); + process.exitCode = 1; + } + } + } catch (error) { + context.logger.error(error.message); + } + + return true; +} + +function format$1(context, input, opt) { + if (!opt.parser && !opt.filepath) { + throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); + } + + if (context.argv["debug-print-doc"]) { + const doc = prettier$4.__debug.printToDoc(input, opt); + + return { + formatted: prettier$4.__debug.formatDoc(doc) + "\n" + }; + } + + if (context.argv["debug-print-comments"]) { + return { + formatted: prettier$4.format(JSON.stringify(prettier$4.formatWithCursor(input, opt).comments || []), { + parser: "json" + }) + }; + } + + if (context.argv["debug-print-ast"]) { + const { + ast + } = prettier$4.__debug.parse(input, opt); + + return { + formatted: JSON.stringify(ast) + }; + } + + if (context.argv["debug-check"]) { + const pp = prettier$4.format(input, opt); + const pppp = prettier$4.format(pp, opt); + + if (pp !== pppp) { + throw new errors.DebugError("prettier(input) !== prettier(prettier(input))\n" + diff(pp, pppp)); + } else { + const stringify = obj => JSON.stringify(obj, null, 2); + + const ast = stringify(prettier$4.__debug.parse(input, opt, + /* massage */ + true).ast); + const past = stringify(prettier$4.__debug.parse(pp, opt, + /* massage */ + true).ast); + /* istanbul ignore next */ + + if (ast !== past) { + const MAX_AST_SIZE = 2097152; // 2MB + + const astDiff = ast.length > MAX_AST_SIZE || past.length > MAX_AST_SIZE ? "AST diff too large to render" : diff(ast, past); + throw new errors.DebugError("ast(input) !== ast(prettier(input))\n" + astDiff + "\n" + diff(input, pp)); + } + } + + return { + formatted: pp, + filepath: opt.filepath || "(stdin)\n" + }; + } + /* istanbul ignore next */ + + + if (context.argv["debug-benchmark"]) { + let benchmark; + + try { + // eslint-disable-next-line import/no-extraneous-dependencies + benchmark = require("benchmark"); + } catch { + context.logger.debug("'--debug-benchmark' requires the 'benchmark' package to be installed."); + process.exit(2); + } + + context.logger.debug("'--debug-benchmark' option found, measuring formatWithCursor with 'benchmark' module."); + const suite = new benchmark.Suite(); + suite.add("format", () => { + prettier$4.formatWithCursor(input, opt); + }).on("cycle", event => { + const results = { + benchmark: String(event.target), + hz: event.target.hz, + ms: event.target.times.cycle * 1000 + }; + context.logger.debug("'--debug-benchmark' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); + }).run({ + async: false + }); + } else if (context.argv["debug-repeat"] > 0) { + const repeat = context.argv["debug-repeat"]; + context.logger.debug("'--debug-repeat' option found, running formatWithCursor " + repeat + " times."); + let totalMs = 0; + + for (let i = 0; i < repeat; ++i) { + // should be using `performance.now()`, but only `Date` is cross-platform enough + const startMs = Date.now(); + prettier$4.formatWithCursor(input, opt); + totalMs += Date.now() - startMs; + } + + const averageMs = totalMs / repeat; + const results = { + repeat, + hz: 1000 / averageMs, + ms: averageMs + }; + context.logger.debug("'--debug-repeat' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); + } + + return prettier$4.formatWithCursor(input, opt); +} + +async function createIgnorerFromContextOrDie(context) { + try { + return await createIgnorer(context.argv["ignore-path"], context.argv["with-node-modules"]); + } catch (e) { + context.logger.error(e.message); + process.exit(2); + } +} + +async function formatStdin$1(context) { + const filepath = context.argv["stdin-filepath"] ? path$1.resolve(process.cwd(), context.argv["stdin-filepath"]) : process.cwd(); + const ignorer = await createIgnorerFromContextOrDie(context); // If there's an ignore-path set, the filename must be relative to the + // ignore path, not the current working directory. + + const relativeFilepath = context.argv["ignore-path"] ? path$1.relative(path$1.dirname(context.argv["ignore-path"]), filepath) : path$1.relative(process.cwd(), filepath); + + try { + const input = await getStdin(); + + if (relativeFilepath && ignorer.ignores(fixWindowsSlashes(relativeFilepath))) { + writeOutput(context, { + formatted: input + }); + return; + } + + const options = await getOptionsForFile(context, filepath); + + if (listDifferent(context, input, options, "(stdin)")) { + return; + } + + writeOutput(context, format$1(context, input, options), options); + } catch (error) { + handleError(context, relativeFilepath || "stdin", error); + } +} + +async function formatFiles$1(context) { + // The ignorer will be used to filter file paths after the glob is checked, + // before any files are actually written + const ignorer = await createIgnorerFromContextOrDie(context); + let numberOfUnformattedFilesFound = 0; + + if (context.argv.check) { + context.logger.log("Checking formatting..."); + } + + for await (const pathOrError of expandPatterns(context)) { + if (typeof pathOrError === "object") { + context.logger.error(pathOrError.error); // Don't exit, but set the exit code to 2 + + process.exitCode = 2; + continue; + } + + const filename = pathOrError; // If there's an ignore-path set, the filename must be relative to the + // ignore path, not the current working directory. + + const ignoreFilename = context.argv["ignore-path"] ? path$1.relative(path$1.dirname(context.argv["ignore-path"]), filename) : filename; + const fileIgnored = ignorer.ignores(fixWindowsSlashes(ignoreFilename)); + + if (fileIgnored && (context.argv["debug-check"] || context.argv.write || context.argv.check || context.argv["list-different"])) { + continue; + } + + const options = Object.assign(Object.assign({}, await getOptionsForFile(context, filename)), {}, { + filepath: filename + }); + let printedFilename; + + if (isTTY()) { + printedFilename = context.logger.log(filename, { + newline: false, + clearable: true + }); + } + + let input; + + try { + input = await fs.readFile(filename, "utf8"); + } catch (error) { + // Add newline to split errors from filename line. + + /* istanbul ignore next */ + context.logger.log(""); + /* istanbul ignore next */ + + context.logger.error(`Unable to read file: ${filename}\n${error.message}`); // Don't exit the process if one file failed + + /* istanbul ignore next */ + + process.exitCode = 2; + /* istanbul ignore next */ + + continue; + } + + if (fileIgnored) { + writeOutput(context, { + formatted: input + }, options); + continue; + } + + const start = Date.now(); + let result; + let output; + + try { + result = format$1(context, input, options); + output = result.formatted; + } catch (error) { + handleError(context, filename, error, printedFilename); + continue; + } + + const isDifferent = output !== input; + + if (printedFilename) { + // Remove previously printed filename to log it with duration. + printedFilename.clear(); + } + + if (context.argv.write) { + // Don't write the file if it won't change in order not to invalidate + // mtime based caches. + if (isDifferent) { + if (!context.argv.check && !context.argv["list-different"]) { + context.logger.log(`${filename} ${Date.now() - start}ms`); + } + + try { + await fs.writeFile(filename, output, "utf8"); + } catch (error) { + /* istanbul ignore next */ + context.logger.error(`Unable to write file: ${filename}\n${error.message}`); // Don't exit the process if one file failed + + /* istanbul ignore next */ + + process.exitCode = 2; + } + } else if (!context.argv.check && !context.argv["list-different"]) { + context.logger.log(`${chalk$1.grey(filename)} ${Date.now() - start}ms`); + } + } else if (context.argv["debug-check"]) { + /* istanbul ignore else */ + if (result.filepath) { + context.logger.log(result.filepath); + } else { + process.exitCode = 2; + } + } else if (!context.argv.check && !context.argv["list-different"]) { + writeOutput(context, result, options); + } + + if (isDifferent) { + if (context.argv.check) { + context.logger.warn(filename); + } else if (context.argv["list-different"]) { + context.logger.log(filename); + } + + numberOfUnformattedFilesFound += 1; + } + } // Print check summary based on expected exit code + + + if (context.argv.check) { + if (numberOfUnformattedFilesFound === 0) { + context.logger.log("All matched files use Prettier code style!"); + } else { + context.logger.warn(context.argv.write ? "Code style issues fixed in the above file(s)." : "Code style issues found in the above file(s). Forgot to run Prettier?"); + } + } // Ensure non-zero exitCode when using --check/list-different is not combined with --write + + + if ((context.argv.check || context.argv["list-different"]) && numberOfUnformattedFilesFound > 0 && !process.exitCode && !context.argv.write) { + process.exitCode = 1; + } +} + +var format_1 = { + format: format$1, + formatStdin: formatStdin$1, + formatFiles: formatFiles$1 +}; + +var getNative = _getNative; + +var defineProperty$2 = function () { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}(); + +var _defineProperty = defineProperty$2; + +var defineProperty$1 = _defineProperty; +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + +function baseAssignValue$2(object, key, value) { + if (key == '__proto__' && defineProperty$1) { + defineProperty$1(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +var _baseAssignValue = baseAssignValue$2; + +var baseAssignValue$1 = _baseAssignValue, + eq = eq_1; +/** Used for built-in method references. */ + +var objectProto$1 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$1 = objectProto$1.hasOwnProperty; +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + +function assignValue$1(object, key, value) { + var objValue = object[key]; + + if (!(hasOwnProperty$1.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) { + baseAssignValue$1(object, key, value); + } +} + +var _assignValue = assignValue$1; + +var assignValue = _assignValue, + castPath$1 = _castPath, + isIndex = _isIndex, + isObject = isObject_1, + toKey = _toKey; +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + +function baseSet$1(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + + path = castPath$1(path, object); + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + + if (newValue === undefined) { + newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {}; + } + } + + assignValue(nested, key, newValue); + nested = nested[key]; + } + + return object; +} + +var _baseSet = baseSet$1; + +var baseGet = _baseGet, + baseSet = _baseSet, + castPath = _castPath; +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + +function basePickBy$1(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + + return result; +} + +var _basePickBy = basePickBy$1; + +var basePickBy = _basePickBy, + hasIn = hasIn_1; +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + +function basePick$1(object, paths) { + return basePickBy(object, paths, function (value, path) { + return hasIn(object, path); + }); +} + +var _basePick = basePick$1; + +var Symbol$1 = _Symbol, + isArguments = isArguments_1, + isArray = isArray_1; +/** Built-in value references. */ + +var spreadableSymbol = Symbol$1 ? Symbol$1.isConcatSpreadable : undefined; +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + +function isFlattenable$1(value) { + return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +var _isFlattenable = isFlattenable$1; + +var arrayPush = _arrayPush, + isFlattenable = _isFlattenable; +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + +function baseFlatten$1(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten$1(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + + return result; +} + +var _baseFlatten = baseFlatten$1; + +var baseFlatten = _baseFlatten; +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + +function flatten$1(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; +} + +var flatten_1 = flatten$1; + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + +function apply$1(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + + case 1: + return func.call(thisArg, args[0]); + + case 2: + return func.call(thisArg, args[0], args[1]); + + case 3: + return func.call(thisArg, args[0], args[1], args[2]); + } + + return func.apply(thisArg, args); +} + +var _apply = apply$1; + +var apply = _apply; +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeMax = Math.max; +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + +function overRest$1(func, start, transform) { + start = nativeMax(start === undefined ? func.length - 1 : start, 0); + return function () { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + + index = -1; + var otherArgs = Array(start + 1); + + while (++index < start) { + otherArgs[index] = args[index]; + } + + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +var _overRest = overRest$1; + +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ + +function constant$4(value) { + return function () { + return value; + }; +} + +var constant_1 = constant$4; + +var constant$3 = constant_1, + defineProperty = _defineProperty, + identity = identity_1; +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + +var baseSetToString$1 = !defineProperty ? identity : function (func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant$3(string), + 'writable': true + }); +}; +var _baseSetToString = baseSetToString$1; + +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeNow = Date.now; +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + +function shortOut$1(func) { + var count = 0, + lastCalled = 0; + return function () { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + + return func.apply(undefined, arguments); + }; +} + +var _shortOut = shortOut$1; + +var baseSetToString = _baseSetToString, + shortOut = _shortOut; +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + +var setToString$1 = shortOut(baseSetToString); +var _setToString = setToString$1; + +var flatten = flatten_1, + overRest = _overRest, + setToString = _setToString; +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + +function flatRest$1(func) { + return setToString(overRest(func, undefined, flatten), func + ''); +} + +var _flatRest = flatRest$1; + +var basePick = _basePick, + flatRest = _flatRest; +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + +var pick$1 = flatRest(function (object, paths) { + return object == null ? {} : basePick(object, paths); +}); +var pick_1 = pick$1; + +var lib = {exports: {}}; + +(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.outdent = void 0; // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. + + function noop() { + var args = []; + + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + } + + function createWeakMap() { + if (typeof WeakMap !== "undefined") { + return new WeakMap(); + } else { + return fakeSetOrMap(); + } + } + /** + * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything. + */ + + + function fakeSetOrMap() { + return { + add: noop, + delete: noop, + get: noop, + set: noop, + has: function (k) { + return false; + } + }; + } // Safe hasOwnProperty + + + var hop = Object.prototype.hasOwnProperty; + + var has = function (obj, prop) { + return hop.call(obj, prop); + }; // Copy all own enumerable properties from source to target + + + function extend(target, source) { + for (var prop in source) { + if (has(source, prop)) { + target[prop] = source[prop]; + } + } + + return target; + } + + var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; + var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; + var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; + var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; + var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; + + function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { + // If first interpolated value is a reference to outdent, + // determine indentation level from the indentation of the interpolated value. + var indentationLevel = 0; + var match = strings[0].match(reDetectIndentation); + + if (match) { + indentationLevel = match[1].length; + } + + var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; + var reMatchIndent = new RegExp(reSource, "g"); + + if (firstInterpolatedValueSetsIndentationLevel) { + strings = strings.slice(1); + } + + var newline = options.newline, + trimLeadingNewline = options.trimLeadingNewline, + trimTrailingNewline = options.trimTrailingNewline; + var normalizeNewlines = typeof newline === "string"; + var l = strings.length; + var outdentedStrings = strings.map(function (v, i) { + // Remove leading indentation from all lines + v = v.replace(reMatchIndent, "$1"); // Trim a leading newline from the first string + + if (i === 0 && trimLeadingNewline) { + v = v.replace(reLeadingNewline, ""); + } // Trim a trailing newline from the last string + + + if (i === l - 1 && trimTrailingNewline) { + v = v.replace(reTrailingNewline, ""); + } // Normalize newlines + + + if (normalizeNewlines) { + v = v.replace(/\r\n|\n|\r/g, function (_) { + return newline; + }); + } + + return v; + }); + return outdentedStrings; + } + + function concatStringsAndValues(strings, values) { + var ret = ""; + + for (var i = 0, l = strings.length; i < l; i++) { + ret += strings[i]; + + if (i < l - 1) { + ret += values[i]; + } + } + + return ret; + } + + function isTemplateStringsArray(v) { + return has(v, "raw") && has(v, "length"); + } + /** + * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to + * makeInstance + * @param options + * @return {outdent} + */ + + + function createInstance(options) { + /** Cache of pre-processed template literal arrays */ + var arrayAutoIndentCache = createWeakMap(); + /** + * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, + * before interpolated values are injected. + */ + + var arrayFirstInterpSetsIndentCache = createWeakMap(); + + function outdent(stringsOrOptions) { + var values = []; + + for (var _i = 1; _i < arguments.length; _i++) { + values[_i - 1] = arguments[_i]; + } + /* tslint:enable:no-shadowed-variable */ + + + if (isTemplateStringsArray(stringsOrOptions)) { + var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace? + + var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation + + var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; + var renderedArray = cache.get(strings); + + if (!renderedArray) { + renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); + cache.set(strings, renderedArray); + } + /** If no interpolated values, skip concatenation step */ + + + if (values.length === 0) { + return renderedArray[0]; + } + /** Concatenate string literals with interpolated values */ + + + var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); + return rendered; + } else { + // Create and return a new instance of outdent with the given options + return createInstance(extend(extend({}, options), stringsOrOptions || {})); + } + } + + var fullOutdent = extend(outdent, { + string: function (str) { + return _outdentArray([str], false, options)[0]; + } + }); + return fullOutdent; + } + + var defaultOutdent = createInstance({ + trimLeadingNewline: true, + trimTrailingNewline: true + }); + exports.outdent = defaultOutdent; // Named exports. Simple and preferred. + // import outdent from 'outdent'; + + exports.default = defaultOutdent; + + { + // In webpack harmony-modules environments, module.exports is read-only, + // so we fail gracefully. + try { + module.exports = defaultOutdent; + Object.defineProperty(defaultOutdent, "__esModule", { + value: true + }); + defaultOutdent.default = defaultOutdent; + defaultOutdent.outdent = defaultOutdent; + } catch (e) {} + } +})(lib, lib.exports); + +const { + outdent +} = lib.exports; +const { + coreOptions: coreOptions$1 +} = prettierInternal; +const categoryOrder = [coreOptions$1.CATEGORY_OUTPUT, coreOptions$1.CATEGORY_FORMAT, coreOptions$1.CATEGORY_CONFIG, coreOptions$1.CATEGORY_EDITOR, coreOptions$1.CATEGORY_OTHER]; +/** + * { + * [optionName]: { + * // The type of the option. For 'choice', see also `choices` below. + * // When passing a type other than the ones listed below, the option is + * // treated as taking any string as argument, and `--option <${type}>` will + * // be displayed in --help. + * type: "boolean" | "choice" | "int" | string; + * + * // Default value to be passed to the minimist option `default`. + * default?: any; + * + * // Alias name to be passed to the minimist option `alias`. + * alias?: string; + * + * // For grouping options by category in --help. + * category?: string; + * + * // Description to be displayed in --help. If omitted, the option won't be + * // shown at all in --help (but see also `oppositeDescription` below). + * description?: string; + * + * // Description for `--no-${name}` to be displayed in --help. If omitted, + * // `--no-${name}` won't be shown. + * oppositeDescription?: string; + * + * // Indicate if this option is simply passed to the API. + * // true: use camelified name as the API option name. + * // string: use this value as the API option name. + * forwardToApi?: boolean | string; + * + * // Indicate that a CLI flag should be an array when forwarded to the API. + * array?: boolean; + * + * // Specify available choices for validation. They will also be displayed + * // in --help as . + * // Use an object instead of a string if a choice is deprecated and should + * // be treated as `redirect` instead, or if you'd like to add description for + * // the choice. + * choices?: Array< + * | string + * | { value: string, description?: string, deprecated?: boolean, redirect?: string } + * >; + * + * // If the option has a value that is an exception to the regular value + * // constraints, indicate that value here (or use a function for more + * // flexibility). + * exception?: ((value: any) => boolean); + * + * // Indicate that the option is deprecated. Use a string to add an extra + * // message to --help for the option, for example to suggest a replacement + * // option. + * deprecated?: true | string; + * } + * } + * + * Note: The options below are sorted alphabetically. + */ + +const options = { + check: { + type: "boolean", + category: coreOptions$1.CATEGORY_OUTPUT, + alias: "c", + description: outdent` + Check if the given files are formatted, print a human-friendly summary + message and paths to unformatted files (see also --list-different). + ` + }, + color: { + // The supports-color package (a sub sub dependency) looks directly at + // `process.argv` for `--no-color` and such-like options. The reason it is + // listed here is to avoid "Ignored unknown option: --no-color" warnings. + // See https://github.com/chalk/supports-color/#info for more information. + type: "boolean", + default: true, + description: "Colorize error messages.", + oppositeDescription: "Do not colorize error messages." + }, + config: { + type: "path", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).", + oppositeDescription: "Do not look for a configuration file.", + exception: value => value === false + }, + "config-precedence": { + type: "choice", + category: coreOptions$1.CATEGORY_CONFIG, + default: "cli-override", + choices: [{ + value: "cli-override", + description: "CLI options take precedence over config file" + }, { + value: "file-override", + description: "Config file take precedence over CLI options" + }, { + value: "prefer-file", + description: outdent` + If a config file is found will evaluate it and ignore other CLI options. + If no config file is found CLI options will evaluate as normal. + ` + }], + description: "Define in which order config files and CLI options should be evaluated." + }, + "debug-benchmark": { + // Run the formatting benchmarks. Requires 'benchmark' module to be installed. + type: "boolean" + }, + "debug-check": { + // Run the formatting once again on the formatted output, throw if different. + type: "boolean" + }, + "debug-print-doc": { + type: "boolean" + }, + "debug-print-comments": { + type: "boolean" + }, + "debug-print-ast": { + type: "boolean" + }, + "debug-repeat": { + // Repeat the formatting a few times and measure the average duration. + type: "int", + default: 0 + }, + editorconfig: { + type: "boolean", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Take .editorconfig into account when parsing configuration.", + oppositeDescription: "Don't take .editorconfig into account when parsing configuration.", + default: true + }, + "error-on-unmatched-pattern": { + type: "boolean", + oppositeDescription: "Prevent errors when pattern is unmatched." + }, + "find-config-path": { + type: "path", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Find and print the path to a configuration file for the given input file." + }, + "file-info": { + type: "path", + description: outdent` + Extract the following info (as JSON) for a given file path. Reported fields: + * ignored (boolean) - true if file path is filtered by --ignore-path + * inferredParser (string | null) - name of parser inferred from file path + ` + }, + help: { + type: "flag", + alias: "h", + description: outdent` + Show CLI usage, or details about the given flag. + Example: --help write + `, + exception: value => value === "" + }, + "ignore-path": { + type: "path", + category: coreOptions$1.CATEGORY_CONFIG, + default: ".prettierignore", + description: "Path to a file with patterns describing files to ignore." + }, + "ignore-unknown": { + type: "boolean", + alias: "u", + description: "Ignore unknown files." + }, + "list-different": { + type: "boolean", + category: coreOptions$1.CATEGORY_OUTPUT, + alias: "l", + description: "Print the names of files that are different from Prettier's formatting (see also --check)." + }, + loglevel: { + type: "choice", + description: "What level of logs to report.", + default: "log", + choices: ["silent", "error", "warn", "log", "debug"] + }, + "support-info": { + type: "boolean", + description: "Print support information as JSON." + }, + version: { + type: "boolean", + alias: "v", + description: "Print Prettier version." + }, + "with-node-modules": { + type: "boolean", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Process files inside 'node_modules' directory." + }, + write: { + type: "boolean", + alias: "w", + category: coreOptions$1.CATEGORY_OUTPUT, + description: "Edit files in-place. (Beware!)" + } +}; +const usageSummary = outdent` + Usage: prettier [options] [file/dir/glob ...] + + By default, output is written to stdout. + Stdin is read if it is piped to Prettier and no files are given. +`; +var constant$2 = { + categoryOrder, + options, + usageSummary +}; + +const dashify = dashify$2; +const { + coreOptions +} = prettierInternal; + +function normalizeDetailedOption(name, option) { + return Object.assign(Object.assign({ + category: coreOptions.CATEGORY_OTHER + }, option), {}, { + choices: option.choices && option.choices.map(choice => { + const newChoice = Object.assign({ + description: "", + deprecated: false + }, typeof choice === "object" ? choice : { + value: choice + }); + /* istanbul ignore next */ + + if (newChoice.value === true) { + newChoice.value = ""; // backward compatibility for original boolean option + } + + return newChoice; + }) + }); +} + +function normalizeDetailedOptionMap$2(detailedOptionMap) { + return Object.fromEntries(Object.entries(detailedOptionMap).sort(([leftName], [rightName]) => leftName.localeCompare(rightName)).map(([name, option]) => [name, normalizeDetailedOption(name, option)])); +} + +function createDetailedOptionMap$2(supportOptions) { + return Object.fromEntries(supportOptions.map(option => { + const newOption = Object.assign(Object.assign({}, option), {}, { + name: option.cliName || dashify(option.name), + description: option.cliDescription || option.description, + category: option.cliCategory || coreOptions.CATEGORY_FORMAT, + forwardToApi: option.name + }); + /* istanbul ignore next */ + + if (option.deprecated) { + delete newOption.forwardToApi; + delete newOption.description; + delete newOption.oppositeDescription; + newOption.deprecated = true; + } + + return [newOption.name, newOption]; + })); +} + +var optionMap = { + normalizeDetailedOptionMap: normalizeDetailedOptionMap$2, + createDetailedOptionMap: createDetailedOptionMap$2 +}; + +const pick = pick_1; // eslint-disable-next-line no-restricted-modules + +const prettier$3 = require$$3; +const { + optionsModule, + optionsNormalizer: { + normalizeCliOptions + }, + utils: { + arrayify + } +} = prettierInternal; +const minimist = minimist_1; +const constant$1 = constant$2; +const { + createDetailedOptionMap: createDetailedOptionMap$1, + normalizeDetailedOptionMap: normalizeDetailedOptionMap$1 +} = optionMap; +const createMinimistOptions = createMinimistOptions$2; +/** + * @typedef {Object} Context + * @property logger + * @property {string[]} rawArguments + * @property argv + * @property {string[]} filePatterns + * @property {any[]} supportOptions + * @property detailedOptions + * @property detailedOptionMap + * @property apiDefaultOptions + * @property languages + * @property {Partial[]} stack + * @property pushContextPlugins + * @property popContextPlugins + */ + +class Context$1 { + constructor({ + rawArguments, + logger + }) { + this.rawArguments = rawArguments; + this.logger = logger; + this.stack = []; + const { + plugin: plugins, + "plugin-search-dir": pluginSearchDirs + } = parseArgvWithoutPlugins$1(rawArguments, logger, ["plugin", "plugin-search-dir"]); + this.pushContextPlugins(plugins, pluginSearchDirs); + const argv = parseArgv(rawArguments, this.detailedOptions, logger); + this.argv = argv; + this.filePatterns = argv._.map(file => String(file)); + } + /** + * @param {string[]} plugins + * @param {string[]=} pluginSearchDirs + */ + + + pushContextPlugins(plugins, pluginSearchDirs) { + this.stack.push(pick(this, ["supportOptions", "detailedOptions", "detailedOptionMap", "apiDefaultOptions", "languages"])); + Object.assign(this, getContextOptions(plugins, pluginSearchDirs)); + } + + popContextPlugins() { + Object.assign(this, this.stack.pop()); + } + +} + +function getContextOptions(plugins, pluginSearchDirs) { + const { + options: supportOptions, + languages + } = prettier$3.getSupportInfo({ + showDeprecated: true, + showUnreleased: true, + showInternal: true, + plugins, + pluginSearchDirs + }); + const detailedOptionMap = normalizeDetailedOptionMap$1(Object.assign(Object.assign({}, createDetailedOptionMap$1(supportOptions)), constant$1.options)); + const detailedOptions = arrayify(detailedOptionMap, "name"); + const apiDefaultOptions = Object.assign(Object.assign({}, optionsModule.hiddenDefaults), Object.fromEntries(supportOptions.filter(({ + deprecated + }) => !deprecated).map(option => [option.name, option.default]))); + return { + supportOptions, + detailedOptions, + detailedOptionMap, + apiDefaultOptions, + languages + }; +} + +function parseArgv(rawArguments, detailedOptions, logger, keys) { + const minimistOptions = createMinimistOptions(detailedOptions); + let argv = minimist(rawArguments, minimistOptions); + + if (keys) { + detailedOptions = detailedOptions.filter(option => keys.includes(option.name)); + argv = pick(argv, keys); + } + + return normalizeCliOptions(argv, detailedOptions, { + logger + }); +} + +const detailedOptionsWithoutPlugins = getContextOptions().detailedOptions; + +function parseArgvWithoutPlugins$1(rawArguments, logger, keys) { + return parseArgv(rawArguments, detailedOptionsWithoutPlugins, logger, typeof keys === "string" ? [keys] : keys); +} + +var context = { + Context: Context$1, + parseArgvWithoutPlugins: parseArgvWithoutPlugins$1 +}; + +var $ = _export; +var flattenIntoArray = flattenIntoArray_1; +var toObject = toObject$4; +var lengthOfArrayLike = lengthOfArrayLike$6; +var toIntegerOrInfinity = toIntegerOrInfinity$3; +var arraySpeciesCreate = arraySpeciesCreate$2; + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + +var internalObjectKeys = objectKeysInternal; +var enumBugKeys$1 = enumBugKeys$3; + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +var objectKeys$1 = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys$1); +}; + +var DESCRIPTORS = descriptors; +var definePropertyModule$1 = objectDefineProperty; +var anObject$1 = anObject$7; +var toIndexedObject = toIndexedObject$4; +var objectKeys = objectKeys$1; + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +var objectDefineProperties = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject$1(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule$1.f(O, key = keys[index++], props[key]); + return O; +}; + +var getBuiltIn = getBuiltIn$5; + +var html$1 = getBuiltIn('document', 'documentElement'); + +/* global ActiveXObject -- old IE, WSH */ + +var anObject = anObject$7; +var defineProperties = objectDefineProperties; +var enumBugKeys = enumBugKeys$3; +var hiddenKeys = hiddenKeys$4; +var html = html$1; +var documentCreateElement = documentCreateElement$1; +var sharedKey = sharedKey$2; + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +var objectCreate = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +var wellKnownSymbol = wellKnownSymbol$7; +var create = objectCreate; +var definePropertyModule = objectDefineProperty; + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +var addToUnscopables$1 = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = addToUnscopables$1; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + +var baseAssignValue = _baseAssignValue, + createAggregator = _createAggregator; +/** Used for built-in method references. */ + +var objectProto = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty = objectProto.hasOwnProperty; +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + +var groupBy$1 = createAggregator(function (result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } +}); +var groupBy_1 = groupBy$1; + +var camelcase = {exports: {}}; + +const UPPERCASE = /[\p{Lu}]/u; +const LOWERCASE = /[\p{Ll}]/u; +const LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu; +const IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u; +const SEPARATORS = /[_.\- ]+/; +const LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source); +const SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu'); +const NUMBERS_AND_IDENTIFIER = new RegExp('\\d+' + IDENTIFIER.source, 'gu'); + +const preserveCamelCase = (string, locale) => { + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + + for (let i = 0; i < string.length; i++) { + const character = string[i]; + + if (isLastCharLower && UPPERCASE.test(character)) { + string = string.slice(0, i) + '-' + string.slice(i); + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i++; + } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) { + string = string.slice(0, i - 1) + '-' + string.slice(i - 1); + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character; + } + } + + return string; +}; + +const preserveConsecutiveUppercase = input => { + LEADING_CAPITAL.lastIndex = 0; + return input.replace(LEADING_CAPITAL, m1 => m1.toLowerCase()); +}; + +const postProcess = (input, options) => { + SEPARATORS_AND_IDENTIFIER.lastIndex = 0; + NUMBERS_AND_IDENTIFIER.lastIndex = 0; + return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => identifier.toLocaleUpperCase(options.locale)).replace(NUMBERS_AND_IDENTIFIER, m => m.toLocaleUpperCase(options.locale)); +}; + +const camelCase$1 = (input, options) => { + if (!(typeof input === 'string' || Array.isArray(input))) { + throw new TypeError('Expected the input to be `string | string[]`'); + } + + options = Object.assign({ + pascalCase: false, + preserveConsecutiveUppercase: false + }, options); + + if (Array.isArray(input)) { + input = input.map(x => x.trim()).filter(x => x.length).join('-'); + } else { + input = input.trim(); + } + + if (input.length === 0) { + return ''; + } + + if (input.length === 1) { + return options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale); + } + + const hasUpperCase = input !== input.toLocaleLowerCase(options.locale); + + if (hasUpperCase) { + input = preserveCamelCase(input, options.locale); + } + + input = input.replace(LEADING_SEPARATORS, ''); + + if (options.preserveConsecutiveUppercase) { + input = preserveConsecutiveUppercase(input); + } else { + input = input.toLocaleLowerCase(); + } + + if (options.pascalCase) { + input = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1); + } + + return postProcess(input, options); +}; + +camelcase.exports = camelCase$1; // TODO: Remove this for the next major release + +camelcase.exports.default = camelCase$1; + +const groupBy = groupBy_1; +const camelCase = camelcase.exports; +const constant = constant$2; +const OPTION_USAGE_THRESHOLD = 25; +const CHOICE_USAGE_MARGIN = 3; +const CHOICE_USAGE_INDENTATION = 2; + +function indent(str, spaces) { + return str.replace(/^/gm, " ".repeat(spaces)); +} + +function createDefaultValueDisplay(value) { + return Array.isArray(value) ? `[${value.map(createDefaultValueDisplay).join(", ")}]` : value; +} + +function getOptionDefaultValue(context, optionName) { + // --no-option + if (!(optionName in context.detailedOptionMap)) { + return; + } + + const option = context.detailedOptionMap[optionName]; + + if (option.default !== undefined) { + return option.default; + } + + const optionCamelName = camelCase(optionName); + + if (optionCamelName in context.apiDefaultOptions) { + return context.apiDefaultOptions[optionCamelName]; + } +} + +function createOptionUsageHeader(option) { + const name = `--${option.name}`; + const alias = option.alias ? `-${option.alias},` : null; + const type = createOptionUsageType(option); + return [alias, name, type].filter(Boolean).join(" "); +} + +function createOptionUsageRow(header, content, threshold) { + const separator = header.length >= threshold ? `\n${" ".repeat(threshold)}` : " ".repeat(threshold - header.length); + const description = content.replace(/\n/g, `\n${" ".repeat(threshold)}`); + return `${header}${separator}${description}`; +} + +function createOptionUsageType(option) { + switch (option.type) { + case "boolean": + return null; + + case "choice": + return `<${option.choices.filter(choice => !choice.deprecated && choice.since !== null).map(choice => choice.value).join("|")}>`; + + default: + return `<${option.type}>`; + } +} + +function createChoiceUsages(choices, margin, indentation) { + const activeChoices = choices.filter(choice => !choice.deprecated && choice.since !== null); + const threshold = Math.max(0, ...activeChoices.map(choice => choice.value.length)) + margin; + return activeChoices.map(choice => indent(createOptionUsageRow(choice.value, choice.description, threshold), indentation)); +} + +function createOptionUsage(context, option, threshold) { + const header = createOptionUsageHeader(option); + const optionDefaultValue = getOptionDefaultValue(context, option.name); + return createOptionUsageRow(header, `${option.description}${optionDefaultValue === undefined ? "" : `\nDefaults to ${createDefaultValueDisplay(optionDefaultValue)}.`}`, threshold); +} + +function getOptionsWithOpposites(options) { + // Add --no-foo after --foo. + const optionsWithOpposites = options.map(option => [option.description ? option : null, option.oppositeDescription ? Object.assign(Object.assign({}, option), {}, { + name: `no-${option.name}`, + type: "boolean", + description: option.oppositeDescription + }) : null]); + return optionsWithOpposites.flat().filter(Boolean); +} + +function createUsage$1(context) { + const options = getOptionsWithOpposites(context.detailedOptions).filter( // remove unnecessary option (e.g. `semi`, `color`, etc.), which is only used for --help + option => !(option.type === "boolean" && option.oppositeDescription && !option.name.startsWith("no-"))); + const groupedOptions = groupBy(options, option => option.category); + const firstCategories = constant.categoryOrder.slice(0, -1); + const lastCategories = constant.categoryOrder.slice(-1); + const restCategories = Object.keys(groupedOptions).filter(category => !constant.categoryOrder.includes(category)); + const allCategories = [...firstCategories, ...restCategories, ...lastCategories]; + const optionsUsage = allCategories.map(category => { + const categoryOptions = groupedOptions[category].map(option => createOptionUsage(context, option, OPTION_USAGE_THRESHOLD)).join("\n"); + return `${category} options:\n\n${indent(categoryOptions, 2)}`; + }); + return [constant.usageSummary, ...optionsUsage, ""].join("\n\n"); +} + +function createDetailedUsage$1(context, flag) { + const option = getOptionsWithOpposites(context.detailedOptions).find(option => option.name === flag || option.alias === flag); + const header = createOptionUsageHeader(option); + const description = `\n\n${indent(option.description, 2)}`; + const choices = option.type !== "choice" ? "" : `\n\nValid options:\n\n${createChoiceUsages(option.choices, CHOICE_USAGE_MARGIN, CHOICE_USAGE_INDENTATION).join("\n")}`; + const optionDefaultValue = getOptionDefaultValue(context, option.name); + const defaults = optionDefaultValue !== undefined ? `\n\nDefault: ${createDefaultValueDisplay(optionDefaultValue)}` : ""; + const pluginDefaults = option.pluginDefaults && Object.keys(option.pluginDefaults).length > 0 ? `\nPlugin defaults:${Object.entries(option.pluginDefaults).map(([key, value]) => `\n* ${key}: ${createDefaultValueDisplay(value)}`)}` : ""; + return `${header}${description}${choices}${defaults}${pluginDefaults}`; +} + +var usage = { + createUsage: createUsage$1, + createDetailedUsage: createDetailedUsage$1 +}; + +var ansiRegex$1 = ({ + onlyFirst = false +} = {}) => { + const pattern = ['[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); + return new RegExp(pattern, onlyFirst ? undefined : 'g'); +}; + +const ansiRegex = ansiRegex$1; + +var stripAnsi$1 = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; + +var wcwidth$2 = {exports: {}}; + +var clone$1 = {exports: {}}; + +(function (module) { + var clone = function () { + /** + * Clones (copies) an Object using deep copying. + * + * This function supports circular references by default, but if you are certain + * there are no circular references in your object, you can save some CPU time + * by calling clone(obj, false). + * + * Caution: if `circular` is false and `parent` contains circular references, + * your program may enter an infinite loop and crash. + * + * @param `parent` - the object to be cloned + * @param `circular` - set to true if the object to be cloned may contain + * circular references. (optional - true by default) + * @param `depth` - set to a number if the object is only to be cloned to + * a particular depth. (optional - defaults to Infinity) + * @param `prototype` - sets the prototype to be used when cloning an object. + * (optional - defaults to parent prototype). + */ + + function clone(parent, circular, depth, prototype) { + + if (typeof circular === 'object') { + depth = circular.depth; + prototype = circular.prototype; + circular = circular.circular; + } // maintain two arrays for circular references, where corresponding parents + // and children have the same index + + + var allParents = []; + var allChildren = []; + var useBuffer = typeof Buffer != 'undefined'; + if (typeof circular == 'undefined') circular = true; + if (typeof depth == 'undefined') depth = Infinity; // recurse this function so we don't reset allParents and allChildren + + function _clone(parent, depth) { + // cloning null always returns null + if (parent === null) return null; + if (depth == 0) return parent; + var child; + var proto; + + if (typeof parent != 'object') { + return parent; + } + + if (clone.__isArray(parent)) { + child = []; + } else if (clone.__isRegExp(parent)) { + child = new RegExp(parent.source, __getRegExpFlags(parent)); + if (parent.lastIndex) child.lastIndex = parent.lastIndex; + } else if (clone.__isDate(parent)) { + child = new Date(parent.getTime()); + } else if (useBuffer && Buffer.isBuffer(parent)) { + if (Buffer.allocUnsafe) { + // Node.js >= 4.5.0 + child = Buffer.allocUnsafe(parent.length); + } else { + // Older Node.js versions + child = new Buffer(parent.length); + } + + parent.copy(child); + return child; + } else { + if (typeof prototype == 'undefined') { + proto = Object.getPrototypeOf(parent); + child = Object.create(proto); + } else { + child = Object.create(prototype); + proto = prototype; + } + } + + if (circular) { + var index = allParents.indexOf(parent); + + if (index != -1) { + return allChildren[index]; + } + + allParents.push(parent); + allChildren.push(child); + } + + for (var i in parent) { + var attrs; + + if (proto) { + attrs = Object.getOwnPropertyDescriptor(proto, i); + } + + if (attrs && attrs.set == null) { + continue; + } + + child[i] = _clone(parent[i], depth - 1); + } + + return child; + } + + return _clone(parent, depth); + } + /** + * Simple flat clone using prototype, accepts only objects, usefull for property + * override on FLAT configuration object (no nested props). + * + * USE WITH CAUTION! This may not behave as you wish if you do not know how this + * works. + */ + + + clone.clonePrototype = function clonePrototype(parent) { + if (parent === null) return null; + + var c = function () {}; + + c.prototype = parent; + return new c(); + }; // private utility functions + + + function __objToStr(o) { + return Object.prototype.toString.call(o); + } + clone.__objToStr = __objToStr; + + function __isDate(o) { + return typeof o === 'object' && __objToStr(o) === '[object Date]'; + } + clone.__isDate = __isDate; + + function __isArray(o) { + return typeof o === 'object' && __objToStr(o) === '[object Array]'; + } + clone.__isArray = __isArray; + + function __isRegExp(o) { + return typeof o === 'object' && __objToStr(o) === '[object RegExp]'; + } + clone.__isRegExp = __isRegExp; + + function __getRegExpFlags(re) { + var flags = ''; + if (re.global) flags += 'g'; + if (re.ignoreCase) flags += 'i'; + if (re.multiline) flags += 'm'; + return flags; + } + clone.__getRegExpFlags = __getRegExpFlags; + return clone; + }(); + + if (module.exports) { + module.exports = clone; + } +})(clone$1); + +var clone = clone$1.exports; + +var defaults$1 = function (options, defaults) { + options = options || {}; + Object.keys(defaults).forEach(function (key) { + if (typeof options[key] === 'undefined') { + options[key] = clone(defaults[key]); + } + }); + return options; +}; + +var combining$1 = [[0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489], [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2], [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603], [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670], [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED], [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A], [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902], [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D], [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981], [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD], [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C], [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D], [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC], [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD], [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C], [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D], [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0], [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48], [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC], [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD], [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D], [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6], [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E], [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC], [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35], [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E], [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97], [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030], [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039], [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F], [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753], [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD], [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD], [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922], [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B], [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34], [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42], [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF], [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063], [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F], [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B], [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F], [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB], [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F], [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169], [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD], [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F], [0xE0100, 0xE01EF]]; + +var defaults = defaults$1; +var combining = combining$1; +var DEFAULTS = { + nul: 0, + control: 0 +}; + +wcwidth$2.exports = function wcwidth(str) { + return wcswidth(str, DEFAULTS); +}; + +wcwidth$2.exports.config = function (opts) { + opts = defaults(opts || {}, DEFAULTS); + return function wcwidth(str) { + return wcswidth(str, opts); + }; +}; +/* + * The following functions define the column width of an ISO 10646 + * character as follows: + * - The null character (U+0000) has a column width of 0. + * - Other C0/C1 control characters and DEL will lead to a return value + * of -1. + * - Non-spacing and enclosing combining characters (general category + * code Mn or Me in the + * Unicode database) have a column width of 0. + * - SOFT HYPHEN (U+00AD) has a column width of 1. + * - Other format characters (general category code Cf in the Unicode + * database) and ZERO WIDTH + * SPACE (U+200B) have a column width of 0. + * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) + * have a column width of 0. + * - Spacing characters in the East Asian Wide (W) or East Asian + * Full-width (F) category as + * defined in Unicode Technical Report #11 have a column width of 2. + * - All remaining characters (including all printable ISO 8859-1 and + * WGL4 characters, Unicode control characters, etc.) have a column + * width of 1. + * This implementation assumes that characters are encoded in ISO 10646. +*/ + + +function wcswidth(str, opts) { + if (typeof str !== 'string') return wcwidth$1(str, opts); + var s = 0; + + for (var i = 0; i < str.length; i++) { + var n = wcwidth$1(str.charCodeAt(i), opts); + if (n < 0) return -1; + s += n; + } + + return s; +} + +function wcwidth$1(ucs, opts) { + // test for 8-bit control characters + if (ucs === 0) return opts.nul; + if (ucs < 32 || ucs >= 0x7f && ucs < 0xa0) return opts.control; // binary search in table of non-spacing characters + + if (bisearch(ucs)) return 0; // if we arrive here, ucs is not a combining or C0/C1 control character + + return 1 + (ucs >= 0x1100 && (ucs <= 0x115f || // Hangul Jamo init. consonants + ucs == 0x2329 || ucs == 0x232a || ucs >= 0x2e80 && ucs <= 0xa4cf && ucs != 0x303f || // CJK ... Yi + ucs >= 0xac00 && ucs <= 0xd7a3 || // Hangul Syllables + ucs >= 0xf900 && ucs <= 0xfaff || // CJK Compatibility Ideographs + ucs >= 0xfe10 && ucs <= 0xfe19 || // Vertical forms + ucs >= 0xfe30 && ucs <= 0xfe6f || // CJK Compatibility Forms + ucs >= 0xff00 && ucs <= 0xff60 || // Fullwidth Forms + ucs >= 0xffe0 && ucs <= 0xffe6 || ucs >= 0x20000 && ucs <= 0x2fffd || ucs >= 0x30000 && ucs <= 0x3fffd)); +} + +function bisearch(ucs) { + var min = 0; + var max = combining.length - 1; + var mid; + if (ucs < combining[0][0] || ucs > combining[max][1]) return false; + + while (max >= min) { + mid = Math.floor((min + max) / 2); + if (ucs > combining[mid][1]) min = mid + 1;else if (ucs < combining[mid][0]) max = mid - 1;else return true; + } + + return false; +} + +const readline = require$$0__default$6["default"]; +const chalk = source; +const stripAnsi = stripAnsi$1; +const wcwidth = wcwidth$2.exports; + +const countLines = (stream, text) => { + const columns = stream.columns || 80; + let lineCount = 0; + + for (const line of stripAnsi(text).split("\n")) { + lineCount += Math.max(1, Math.ceil(wcwidth(line) / columns)); + } + + return lineCount; +}; + +const clear = (stream, text) => () => { + const lineCount = countLines(stream, text); + + for (let line = 0; line < lineCount; line++) { + if (line > 0) { + readline.moveCursor(stream, 0, -1); + } + + readline.clearLine(stream, 0); + readline.cursorTo(stream, 0); + } +}; + +const emptyLogResult = { + clear() {} + +}; + +function createLogger$1(logLevel = "log") { + return { + logLevel, + warn: createLogFunc("warn", "yellow"), + error: createLogFunc("error", "red"), + debug: createLogFunc("debug", "blue"), + log: createLogFunc("log") + }; + + function createLogFunc(loggerName, color) { + if (!shouldLog(loggerName)) { + return () => emptyLogResult; + } + + const prefix = color ? `[${chalk[color](loggerName)}] ` : ""; + const stream = process[loggerName === "log" ? "stdout" : "stderr"]; + return (message, options) => { + options = Object.assign({ + newline: true, + clearable: false + }, options); + message = message.replace(/^/gm, prefix) + (options.newline ? "\n" : ""); + stream.write(message); + + if (options.clearable) { + return { + clear: clear(stream, message) + }; + } + }; + } + + function shouldLog(loggerName) { + switch (logLevel) { + case "silent": + return false; + + case "debug": + if (loggerName === "debug") { + return true; + } + + // fall through + + case "log": + if (loggerName === "log") { + return true; + } + + // fall through + + case "warn": + if (loggerName === "warn") { + return true; + } + + // fall through + + case "error": + return loggerName === "error"; + } + } +} + +var logger = { + createLogger: createLogger$1 +}; + +const path = require$$0__default$1["default"]; +const stringify$1 = fastJsonStableStringify; // eslint-disable-next-line no-restricted-modules + +const prettier$2 = require$$3; +const { + format, + formatStdin, + formatFiles +} = format_1; +const { + Context, + parseArgvWithoutPlugins +} = context; +const { + normalizeDetailedOptionMap, + createDetailedOptionMap +} = optionMap; +const { + createDetailedUsage, + createUsage +} = usage; +const { + createLogger +} = logger; + +async function logResolvedConfigPathOrDie(context) { + const file = context.argv["find-config-path"]; + const configFile = await prettier$2.resolveConfigFile(file); + + if (configFile) { + context.logger.log(path.relative(process.cwd(), configFile)); + } else { + throw new Error(`Can not find configure file for "${file}"`); + } +} + +async function logFileInfoOrDie(context) { + const options = { + ignorePath: context.argv["ignore-path"], + withNodeModules: context.argv["with-node-modules"], + plugins: context.argv.plugin, + pluginSearchDirs: context.argv["plugin-search-dir"], + resolveConfig: context.argv.config !== false + }; + context.logger.log(prettier$2.format(stringify$1(await prettier$2.getFileInfo(context.argv["file-info"], options)), { + parser: "json" + })); +} + +var core$1 = { + Context, + createDetailedOptionMap, + createDetailedUsage, + createUsage, + format, + formatFiles, + formatStdin, + logResolvedConfigPathOrDie, + logFileInfoOrDie, + normalizeDetailedOptionMap, + parseArgvWithoutPlugins, + createLogger +}; + +const packageJson = require$$0; +pleaseUpgradeNode(packageJson); // eslint-disable-next-line import/order + +const stringify = fastJsonStableStringify; // eslint-disable-next-line no-restricted-modules + +const prettier$1 = require$$3; +const core = core$1; + +async function run(rawArguments) { + // Create a default level logger, so we can log errors during `logLevel` parsing + let logger = core.createLogger(); + + try { + const logLevel = core.parseArgvWithoutPlugins(rawArguments, logger, "loglevel").loglevel; + + if (logLevel !== logger.logLevel) { + logger = core.createLogger(logLevel); + } + + await main(rawArguments, logger); + } catch (error) { + logger.error(error.message); + process.exitCode = 1; + } +} + +async function main(rawArguments, logger) { + const context = new core.Context({ + rawArguments, + logger + }); + logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`); + + if (context.argv.check && context.argv["list-different"]) { + throw new Error("Cannot use --check and --list-different together."); + } + + if (context.argv.write && context.argv["debug-check"]) { + throw new Error("Cannot use --write and --debug-check together."); + } + + if (context.argv["find-config-path"] && context.filePatterns.length > 0) { + throw new Error("Cannot use --find-config-path with multiple files"); + } + + if (context.argv["file-info"] && context.filePatterns.length > 0) { + throw new Error("Cannot use --file-info with multiple files"); + } + + if (context.argv.version) { + logger.log(prettier$1.version); + return; + } + + if (context.argv.help !== undefined) { + logger.log(typeof context.argv.help === "string" && context.argv.help !== "" ? core.createDetailedUsage(context, context.argv.help) : core.createUsage(context)); + return; + } + + if (context.argv["support-info"]) { + logger.log(prettier$1.format(stringify(prettier$1.getSupportInfo()), { + parser: "json" + })); + return; + } + + const hasFilePatterns = context.filePatterns.length > 0; + const useStdin = !hasFilePatterns && (!process.stdin.isTTY || context.argv["stdin-filepath"]); + + if (context.argv["find-config-path"]) { + await core.logResolvedConfigPathOrDie(context); + } else if (context.argv["file-info"]) { + await core.logFileInfoOrDie(context); + } else if (useStdin) { + await core.formatStdin(context); + } else if (hasFilePatterns) { + await core.formatFiles(context); + } else { + logger.log(core.createUsage(context)); + process.exitCode = 1; + } +} + +var cli = { + run +}; + +var prettier = cli.run(process.argv.slice(2)); + +module.exports = prettier; diff --git a/node_modules/prettier/doc.js b/node_modules/prettier/doc.js new file mode 100755 index 0000000..9c1e2e8 --- /dev/null +++ b/node_modules/prettier/doc.js @@ -0,0 +1,5315 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.doc = factory()); +})(this, (function () { 'use strict'; + + var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + + /** + * @param {Doc[]} parts + * @returns Doc + */ + + + function concat$1(parts) { + // access the internals of a document directly. + // if(parts.length === 1) { + // // If it's a single document, no need to concat it. + // return parts[0]; + // } + + + return { + type: "concat", + parts + }; + } + /** + * @param {Doc} contents + * @returns Doc + */ + + + function indent$1(contents) { + + return { + type: "indent", + contents + }; + } + /** + * @param {number | string} widthOrString + * @param {Doc} contents + * @returns Doc + */ + + + function align(widthOrString, contents) { + + return { + type: "align", + contents, + n: widthOrString + }; + } + /** + * @param {Doc} contents + * @param {object} [opts] - TBD ??? + * @returns Doc + */ + + + function group(contents) { + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + return { + type: "group", + id: opts.id, + contents, + break: Boolean(opts.shouldBreak), + expandedStates: opts.expandedStates + }; + } + /** + * @param {Doc} contents + * @returns Doc + */ + + + function dedentToRoot(contents) { + return align(Number.NEGATIVE_INFINITY, contents); + } + /** + * @param {Doc} contents + * @returns Doc + */ + + + function markAsRoot(contents) { + // @ts-expect-error - TBD ???: + return align({ + type: "root" + }, contents); + } + /** + * @param {Doc} contents + * @returns Doc + */ + + + function dedent(contents) { + return align(-1, contents); + } + /** + * @param {Doc[]} states + * @param {object} [opts] - TBD ??? + * @returns Doc + */ + + + function conditionalGroup(states, opts) { + return group(states[0], Object.assign(Object.assign({}, opts), {}, { + expandedStates: states + })); + } + /** + * @param {Doc[]} parts + * @returns Doc + */ + + + function fill$1(parts) { + + return { + type: "fill", + parts + }; + } + /** + * @param {Doc} [breakContents] + * @param {Doc} [flatContents] + * @param {object} [opts] - TBD ??? + * @returns Doc + */ + + + function ifBreak(breakContents, flatContents) { + let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + return { + type: "if-break", + breakContents, + flatContents, + groupId: opts.groupId + }; + } + /** + * Optimized version of `ifBreak(indent(doc), doc, { groupId: ... })` + * @param {Doc} contents + * @param {{ groupId: symbol, negate?: boolean }} opts + * @returns Doc + */ + + + function indentIfBreak(contents, opts) { + return { + type: "indent-if-break", + contents, + groupId: opts.groupId, + negate: opts.negate + }; + } + /** + * @param {Doc} contents + * @returns Doc + */ + + + function lineSuffix(contents) { + + return { + type: "line-suffix", + contents + }; + } + + const lineSuffixBoundary = { + type: "line-suffix-boundary" + }; + const breakParent = { + type: "break-parent" + }; + const trim$1 = { + type: "trim" + }; + const hardlineWithoutBreakParent = { + type: "line", + hard: true + }; + const literallineWithoutBreakParent = { + type: "line", + hard: true, + literal: true + }; + const line = { + type: "line" + }; + const softline = { + type: "line", + soft: true + }; // eslint-disable-next-line prettier-internal-rules/no-doc-builder-concat + + const hardline = concat$1([hardlineWithoutBreakParent, breakParent]); // eslint-disable-next-line prettier-internal-rules/no-doc-builder-concat + + const literalline$1 = concat$1([literallineWithoutBreakParent, breakParent]); + const cursor$1 = { + type: "cursor", + placeholder: Symbol("cursor") + }; + /** + * @param {Doc} sep + * @param {Doc[]} arr + * @returns Doc + */ + + function join$1(sep, arr) { + const res = []; + + for (let i = 0; i < arr.length; i++) { + if (i !== 0) { + res.push(sep); + } + + res.push(arr[i]); + } // eslint-disable-next-line prettier-internal-rules/no-doc-builder-concat + + + return concat$1(res); + } + /** + * @param {Doc} doc + * @param {number} size + * @param {number} tabWidth + */ + + + function addAlignmentToDoc(doc, size, tabWidth) { + let aligned = doc; + + if (size > 0) { + // Use indent to add tabs for all the levels of tabs we need + for (let i = 0; i < Math.floor(size / tabWidth); ++i) { + aligned = indent$1(aligned); + } // Use align for all the spaces that are needed + + + aligned = align(size % tabWidth, aligned); // size is absolute from 0 and not relative to the current + // indentation, so we use -Infinity to reset the indentation to 0 + + aligned = align(Number.NEGATIVE_INFINITY, aligned); + } + + return aligned; + } + + function label(label, contents) { + return { + type: "label", + label, + contents + }; + } + + var docBuilders = { + concat: concat$1, + join: join$1, + line, + softline, + hardline, + literalline: literalline$1, + group, + conditionalGroup, + fill: fill$1, + lineSuffix, + lineSuffixBoundary, + cursor: cursor$1, + breakParent, + ifBreak, + trim: trim$1, + indent: indent$1, + indentIfBreak, + align, + addAlignmentToDoc, + markAsRoot, + dedentToRoot, + dedent, + hardlineWithoutBreakParent, + literallineWithoutBreakParent, + label + }; + + var stringWidth$2 = {exports: {}}; + + var ansiRegex$1 = function () { + let { + onlyFirst = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const pattern = ['[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); + return new RegExp(pattern, onlyFirst ? undefined : 'g'); + }; + + const ansiRegex = ansiRegex$1; + + var stripAnsi$1 = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; + + var isFullwidthCodePoint$2 = {exports: {}}; + + /* eslint-disable yoda */ + + const isFullwidthCodePoint$1 = codePoint => { + if (Number.isNaN(codePoint)) { + return false; + } // Code points are derived from: + // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt + + + if (codePoint >= 0x1100 && (codePoint <= 0x115F || // Hangul Jamo + codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET + codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET + // CJK Radicals Supplement .. Enclosed CJK Letters and Months + 0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A + 0x3250 <= codePoint && codePoint <= 0x4DBF || // CJK Unified Ideographs .. Yi Radicals + 0x4E00 <= codePoint && codePoint <= 0xA4C6 || // Hangul Jamo Extended-A + 0xA960 <= codePoint && codePoint <= 0xA97C || // Hangul Syllables + 0xAC00 <= codePoint && codePoint <= 0xD7A3 || // CJK Compatibility Ideographs + 0xF900 <= codePoint && codePoint <= 0xFAFF || // Vertical Forms + 0xFE10 <= codePoint && codePoint <= 0xFE19 || // CJK Compatibility Forms .. Small Form Variants + 0xFE30 <= codePoint && codePoint <= 0xFE6B || // Halfwidth and Fullwidth Forms + 0xFF01 <= codePoint && codePoint <= 0xFF60 || 0xFFE0 <= codePoint && codePoint <= 0xFFE6 || // Kana Supplement + 0x1B000 <= codePoint && codePoint <= 0x1B001 || // Enclosed Ideographic Supplement + 0x1F200 <= codePoint && codePoint <= 0x1F251 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane + 0x20000 <= codePoint && codePoint <= 0x3FFFD)) { + return true; + } + + return false; + }; + + isFullwidthCodePoint$2.exports = isFullwidthCodePoint$1; + + isFullwidthCodePoint$2.exports.default = isFullwidthCodePoint$1; + + var emojiRegex$1 = function () { + // https://mths.be/emoji + return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; + }; + + const stripAnsi = stripAnsi$1; + const isFullwidthCodePoint = isFullwidthCodePoint$2.exports; + const emojiRegex = emojiRegex$1; + + const stringWidth$1 = string => { + if (typeof string !== 'string' || string.length === 0) { + return 0; + } + + string = stripAnsi(string); + + if (string.length === 0) { + return 0; + } + + string = string.replace(emojiRegex(), ' '); + let width = 0; + + for (let i = 0; i < string.length; i++) { + const code = string.codePointAt(i); // Ignore control characters + + if (code <= 0x1F || code >= 0x7F && code <= 0x9F) { + continue; + } // Ignore combining characters + + + if (code >= 0x300 && code <= 0x36F) { + continue; + } // Surrogates + + + if (code > 0xFFFF) { + i++; + } + + width += isFullwidthCodePoint(code) ? 2 : 1; + } + + return width; + }; + + stringWidth$2.exports = stringWidth$1; // TODO: remove this in the next major version + + stringWidth$2.exports.default = stringWidth$1; + + var escapeStringRegexp$1 = string => { + if (typeof string !== 'string') { + throw new TypeError('Expected a string'); + } // Escape characters with special meaning either inside or outside character sets. + // Use a simple backslash escape when it’s always valid, and a \unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar. + + + return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'); + }; + + const getLast$3 = arr => arr[arr.length - 1]; + + var getLast_1 = getLast$3; + + function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; + } + + function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; + } + + function _taggedTemplateLiteral(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + return Object.freeze(Object.defineProperties(strings, { + raw: { + value: Object.freeze(raw) + } + })); + } + + var check = function (it) { + return it && it.Math == Math && it; + }; + + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global$s = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + var objectGetOwnPropertyDescriptor = {}; + + var fails$8 = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } + }; + + var fails$7 = fails$8; + + // Detect IE8's incomplete defineProperty implementation + var descriptors = !fails$7(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + }); + + var call$7 = Function.prototype.call; + + var functionCall = call$7.bind ? call$7.bind(call$7) : function () { + return call$7.apply(call$7, arguments); + }; + + var objectPropertyIsEnumerable = {}; + + var $propertyIsEnumerable = {}.propertyIsEnumerable; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + + // Nashorn ~ JDK8 bug + var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); + + // `Object.prototype.propertyIsEnumerable` method implementation + // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable + objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor$1(this, V); + return !!descriptor && descriptor.enumerable; + } : $propertyIsEnumerable; + + var createPropertyDescriptor$3 = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + + var FunctionPrototype$1 = Function.prototype; + var bind$3 = FunctionPrototype$1.bind; + var call$6 = FunctionPrototype$1.call; + var callBind = bind$3 && bind$3.bind(call$6); + + var functionUncurryThis = bind$3 ? function (fn) { + return fn && callBind(call$6, fn); + } : function (fn) { + return fn && function () { + return call$6.apply(fn, arguments); + }; + }; + + var uncurryThis$c = functionUncurryThis; + + var toString$3 = uncurryThis$c({}.toString); + var stringSlice = uncurryThis$c(''.slice); + + var classofRaw$1 = function (it) { + return stringSlice(toString$3(it), 8, -1); + }; + + var global$r = global$s; + var uncurryThis$b = functionUncurryThis; + var fails$6 = fails$8; + var classof$5 = classofRaw$1; + + var Object$4 = global$r.Object; + var split = uncurryThis$b(''.split); + + // fallback for non-array-like ES3 and non-enumerable old V8 strings + var indexedObject = fails$6(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object$4('z').propertyIsEnumerable(0); + }) ? function (it) { + return classof$5(it) == 'String' ? split(it, '') : Object$4(it); + } : Object$4; + + var global$q = global$s; + + var TypeError$a = global$q.TypeError; + + // `RequireObjectCoercible` abstract operation + // https://tc39.es/ecma262/#sec-requireobjectcoercible + var requireObjectCoercible$2 = function (it) { + if (it == undefined) throw TypeError$a("Can't call method on " + it); + return it; + }; + + // toObject with fallback for non-array-like ES3 strings + var IndexedObject = indexedObject; + var requireObjectCoercible$1 = requireObjectCoercible$2; + + var toIndexedObject$3 = function (it) { + return IndexedObject(requireObjectCoercible$1(it)); + }; + + // `IsCallable` abstract operation + // https://tc39.es/ecma262/#sec-iscallable + var isCallable$b = function (argument) { + return typeof argument == 'function'; + }; + + var isCallable$a = isCallable$b; + + var isObject$6 = function (it) { + return typeof it == 'object' ? it !== null : isCallable$a(it); + }; + + var global$p = global$s; + var isCallable$9 = isCallable$b; + + var aFunction = function (argument) { + return isCallable$9(argument) ? argument : undefined; + }; + + var getBuiltIn$4 = function (namespace, method) { + return arguments.length < 2 ? aFunction(global$p[namespace]) : global$p[namespace] && global$p[namespace][method]; + }; + + var uncurryThis$a = functionUncurryThis; + + var objectIsPrototypeOf = uncurryThis$a({}.isPrototypeOf); + + var getBuiltIn$3 = getBuiltIn$4; + + var engineUserAgent = getBuiltIn$3('navigator', 'userAgent') || ''; + + var global$o = global$s; + var userAgent$2 = engineUserAgent; + + var process$1 = global$o.process; + var Deno = global$o.Deno; + var versions$1 = process$1 && process$1.versions || Deno && Deno.version; + var v8 = versions$1 && versions$1.v8; + var match, version$1; + + if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version$1 = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); + } + + // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` + // so check `userAgent` even if `.v8` exists, but 0 + if (!version$1 && userAgent$2) { + match = userAgent$2.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent$2.match(/Chrome\/(\d+)/); + if (match) version$1 = +match[1]; + } + } + + var engineV8Version = version$1; + + /* eslint-disable es/no-symbol -- required for testing */ + + var V8_VERSION = engineV8Version; + var fails$5 = fails$8; + + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing + var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$5(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; + }); + + /* eslint-disable es/no-symbol -- required for testing */ + + var NATIVE_SYMBOL$1 = nativeSymbol; + + var useSymbolAsUid = NATIVE_SYMBOL$1 + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + var global$n = global$s; + var getBuiltIn$2 = getBuiltIn$4; + var isCallable$8 = isCallable$b; + var isPrototypeOf$1 = objectIsPrototypeOf; + var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; + + var Object$3 = global$n.Object; + + var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) { + return typeof it == 'symbol'; + } : function (it) { + var $Symbol = getBuiltIn$2('Symbol'); + return isCallable$8($Symbol) && isPrototypeOf$1($Symbol.prototype, Object$3(it)); + }; + + var global$m = global$s; + + var String$3 = global$m.String; + + var tryToString$3 = function (argument) { + try { + return String$3(argument); + } catch (error) { + return 'Object'; + } + }; + + var global$l = global$s; + var isCallable$7 = isCallable$b; + var tryToString$2 = tryToString$3; + + var TypeError$9 = global$l.TypeError; + + // `Assert: IsCallable(argument) is true` + var aCallable$5 = function (argument) { + if (isCallable$7(argument)) return argument; + throw TypeError$9(tryToString$2(argument) + ' is not a function'); + }; + + var aCallable$4 = aCallable$5; + + // `GetMethod` abstract operation + // https://tc39.es/ecma262/#sec-getmethod + var getMethod$3 = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable$4(func); + }; + + var global$k = global$s; + var call$5 = functionCall; + var isCallable$6 = isCallable$b; + var isObject$5 = isObject$6; + + var TypeError$8 = global$k.TypeError; + + // `OrdinaryToPrimitive` abstract operation + // https://tc39.es/ecma262/#sec-ordinarytoprimitive + var ordinaryToPrimitive$1 = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable$6(fn = input.toString) && !isObject$5(val = call$5(fn, input))) return val; + if (isCallable$6(fn = input.valueOf) && !isObject$5(val = call$5(fn, input))) return val; + if (pref !== 'string' && isCallable$6(fn = input.toString) && !isObject$5(val = call$5(fn, input))) return val; + throw TypeError$8("Can't convert object to primitive value"); + }; + + var shared$3 = {exports: {}}; + + var global$j = global$s; + + // eslint-disable-next-line es/no-object-defineproperty -- safe + var defineProperty = Object.defineProperty; + + var setGlobal$3 = function (key, value) { + try { + defineProperty(global$j, key, { value: value, configurable: true, writable: true }); + } catch (error) { + global$j[key] = value; + } return value; + }; + + var global$i = global$s; + var setGlobal$2 = setGlobal$3; + + var SHARED = '__core-js_shared__'; + var store$3 = global$i[SHARED] || setGlobal$2(SHARED, {}); + + var sharedStore = store$3; + + var store$2 = sharedStore; + + (shared$3.exports = function (key, value) { + return store$2[key] || (store$2[key] = value !== undefined ? value : {}); + })('versions', []).push({ + version: '3.19.1', + mode: 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' + }); + + var global$h = global$s; + var requireObjectCoercible = requireObjectCoercible$2; + + var Object$2 = global$h.Object; + + // `ToObject` abstract operation + // https://tc39.es/ecma262/#sec-toobject + var toObject$3 = function (argument) { + return Object$2(requireObjectCoercible(argument)); + }; + + var uncurryThis$9 = functionUncurryThis; + var toObject$2 = toObject$3; + + var hasOwnProperty = uncurryThis$9({}.hasOwnProperty); + + // `HasOwnProperty` abstract operation + // https://tc39.es/ecma262/#sec-hasownproperty + var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject$2(it), key); + }; + + var uncurryThis$8 = functionUncurryThis; + + var id = 0; + var postfix = Math.random(); + var toString$2 = uncurryThis$8(1.0.toString); + + var uid$2 = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$2(++id + postfix, 36); + }; + + var global$g = global$s; + var shared$2 = shared$3.exports; + var hasOwn$6 = hasOwnProperty_1; + var uid$1 = uid$2; + var NATIVE_SYMBOL = nativeSymbol; + var USE_SYMBOL_AS_UID = useSymbolAsUid; + + var WellKnownSymbolsStore = shared$2('wks'); + var Symbol$1 = global$g.Symbol; + var symbolFor = Symbol$1 && Symbol$1['for']; + var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; + + var wellKnownSymbol$6 = function (name) { + if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) { + WellKnownSymbolsStore[name] = Symbol$1[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } return WellKnownSymbolsStore[name]; + }; + + var global$f = global$s; + var call$4 = functionCall; + var isObject$4 = isObject$6; + var isSymbol$1 = isSymbol$2; + var getMethod$2 = getMethod$3; + var ordinaryToPrimitive = ordinaryToPrimitive$1; + var wellKnownSymbol$5 = wellKnownSymbol$6; + + var TypeError$7 = global$f.TypeError; + var TO_PRIMITIVE = wellKnownSymbol$5('toPrimitive'); + + // `ToPrimitive` abstract operation + // https://tc39.es/ecma262/#sec-toprimitive + var toPrimitive$1 = function (input, pref) { + if (!isObject$4(input) || isSymbol$1(input)) return input; + var exoticToPrim = getMethod$2(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call$4(exoticToPrim, input, pref); + if (!isObject$4(result) || isSymbol$1(result)) return result; + throw TypeError$7("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); + }; + + var toPrimitive = toPrimitive$1; + var isSymbol = isSymbol$2; + + // `ToPropertyKey` abstract operation + // https://tc39.es/ecma262/#sec-topropertykey + var toPropertyKey$3 = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; + }; + + var global$e = global$s; + var isObject$3 = isObject$6; + + var document$1 = global$e.document; + // typeof document.createElement is 'object' in old IE + var EXISTS$1 = isObject$3(document$1) && isObject$3(document$1.createElement); + + var documentCreateElement = function (it) { + return EXISTS$1 ? document$1.createElement(it) : {}; + }; + + var DESCRIPTORS$4 = descriptors; + var fails$4 = fails$8; + var createElement = documentCreateElement; + + // Thank's IE8 for his funny defineProperty + var ie8DomDefine = !DESCRIPTORS$4 && !fails$4(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; + }); + + var DESCRIPTORS$3 = descriptors; + var call$3 = functionCall; + var propertyIsEnumerableModule = objectPropertyIsEnumerable; + var createPropertyDescriptor$2 = createPropertyDescriptor$3; + var toIndexedObject$2 = toIndexedObject$3; + var toPropertyKey$2 = toPropertyKey$3; + var hasOwn$5 = hasOwnProperty_1; + var IE8_DOM_DEFINE$1 = ie8DomDefine; + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor + objectGetOwnPropertyDescriptor.f = DESCRIPTORS$3 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject$2(O); + P = toPropertyKey$2(P); + if (IE8_DOM_DEFINE$1) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn$5(O, P)) return createPropertyDescriptor$2(!call$3(propertyIsEnumerableModule.f, O, P), O[P]); + }; + + var objectDefineProperty = {}; + + var global$d = global$s; + var isObject$2 = isObject$6; + + var String$2 = global$d.String; + var TypeError$6 = global$d.TypeError; + + // `Assert: Type(argument) is Object` + var anObject$5 = function (argument) { + if (isObject$2(argument)) return argument; + throw TypeError$6(String$2(argument) + ' is not an object'); + }; + + var global$c = global$s; + var DESCRIPTORS$2 = descriptors; + var IE8_DOM_DEFINE = ie8DomDefine; + var anObject$4 = anObject$5; + var toPropertyKey$1 = toPropertyKey$3; + + var TypeError$5 = global$c.TypeError; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var $defineProperty = Object.defineProperty; + + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + objectDefineProperty.f = DESCRIPTORS$2 ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject$4(O); + P = toPropertyKey$1(P); + anObject$4(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError$5('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; + }; + + var DESCRIPTORS$1 = descriptors; + var definePropertyModule$2 = objectDefineProperty; + var createPropertyDescriptor$1 = createPropertyDescriptor$3; + + var createNonEnumerableProperty$3 = DESCRIPTORS$1 ? function (object, key, value) { + return definePropertyModule$2.f(object, key, createPropertyDescriptor$1(1, value)); + } : function (object, key, value) { + object[key] = value; + return object; + }; + + var redefine$1 = {exports: {}}; + + var uncurryThis$7 = functionUncurryThis; + var isCallable$5 = isCallable$b; + var store$1 = sharedStore; + + var functionToString = uncurryThis$7(Function.toString); + + // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper + if (!isCallable$5(store$1.inspectSource)) { + store$1.inspectSource = function (it) { + return functionToString(it); + }; + } + + var inspectSource$3 = store$1.inspectSource; + + var global$b = global$s; + var isCallable$4 = isCallable$b; + var inspectSource$2 = inspectSource$3; + + var WeakMap$2 = global$b.WeakMap; + + var nativeWeakMap = isCallable$4(WeakMap$2) && /native code/.test(inspectSource$2(WeakMap$2)); + + var shared$1 = shared$3.exports; + var uid = uid$2; + + var keys = shared$1('keys'); + + var sharedKey$1 = function (key) { + return keys[key] || (keys[key] = uid(key)); + }; + + var hiddenKeys$3 = {}; + + var NATIVE_WEAK_MAP = nativeWeakMap; + var global$a = global$s; + var uncurryThis$6 = functionUncurryThis; + var isObject$1 = isObject$6; + var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; + var hasOwn$4 = hasOwnProperty_1; + var shared = sharedStore; + var sharedKey = sharedKey$1; + var hiddenKeys$2 = hiddenKeys$3; + + var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; + var TypeError$4 = global$a.TypeError; + var WeakMap$1 = global$a.WeakMap; + var set, get, has; + + var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); + }; + + var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject$1(it) || (state = get(it)).type !== TYPE) { + throw TypeError$4('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; + }; + + if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap$1()); + var wmget = uncurryThis$6(store.get); + var wmhas = uncurryThis$6(store.has); + var wmset = uncurryThis$6(store.set); + set = function (it, metadata) { + if (wmhas(store, it)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget(store, it) || {}; + }; + has = function (it) { + return wmhas(store, it); + }; + } else { + var STATE = sharedKey('state'); + hiddenKeys$2[STATE] = true; + set = function (it, metadata) { + if (hasOwn$4(it, STATE)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty$2(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn$4(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn$4(it, STATE); + }; + } + + var internalState = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor + }; + + var DESCRIPTORS = descriptors; + var hasOwn$3 = hasOwnProperty_1; + + var FunctionPrototype = Function.prototype; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + + var EXISTS = hasOwn$3(FunctionPrototype, 'name'); + // additional protection from minified / mangled / dropped function names + var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; + var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + + var functionName = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE + }; + + var global$9 = global$s; + var isCallable$3 = isCallable$b; + var hasOwn$2 = hasOwnProperty_1; + var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; + var setGlobal$1 = setGlobal$3; + var inspectSource$1 = inspectSource$3; + var InternalStateModule = internalState; + var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; + + var getInternalState = InternalStateModule.get; + var enforceInternalState = InternalStateModule.enforce; + var TEMPLATE = String(String).split('String'); + + (redefine$1.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var name = options && options.name !== undefined ? options.name : key; + var state; + if (isCallable$3(value)) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + createNonEnumerableProperty$1(value, 'name', name); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } + } + if (O === global$9) { + if (simple) O[key] = value; + else setGlobal$1(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty$1(O, key, value); + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, 'toString', function toString() { + return isCallable$3(this) && getInternalState(this).source || inspectSource$1(this); + }); + + var objectGetOwnPropertyNames = {}; + + var ceil = Math.ceil; + var floor$1 = Math.floor; + + // `ToIntegerOrInfinity` abstract operation + // https://tc39.es/ecma262/#sec-tointegerorinfinity + var toIntegerOrInfinity$2 = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- safe + return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number); + }; + + var toIntegerOrInfinity$1 = toIntegerOrInfinity$2; + + var max = Math.max; + var min$1 = Math.min; + + // Helper for a popular repeating case of the spec: + // Let integer be ? ToInteger(index). + // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). + var toAbsoluteIndex$1 = function (index, length) { + var integer = toIntegerOrInfinity$1(index); + return integer < 0 ? max(integer + length, 0) : min$1(integer, length); + }; + + var toIntegerOrInfinity = toIntegerOrInfinity$2; + + var min = Math.min; + + // `ToLength` abstract operation + // https://tc39.es/ecma262/#sec-tolength + var toLength$1 = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 + }; + + var toLength = toLength$1; + + // `LengthOfArrayLike` abstract operation + // https://tc39.es/ecma262/#sec-lengthofarraylike + var lengthOfArrayLike$5 = function (obj) { + return toLength(obj.length); + }; + + var toIndexedObject$1 = toIndexedObject$3; + var toAbsoluteIndex = toAbsoluteIndex$1; + var lengthOfArrayLike$4 = lengthOfArrayLike$5; + + // `Array.prototype.{ indexOf, includes }` methods implementation + var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject$1($this); + var length = lengthOfArrayLike$4(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; + }; + + var arrayIncludes = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) + }; + + var uncurryThis$5 = functionUncurryThis; + var hasOwn$1 = hasOwnProperty_1; + var toIndexedObject = toIndexedObject$3; + var indexOf = arrayIncludes.indexOf; + var hiddenKeys$1 = hiddenKeys$3; + + var push$1 = uncurryThis$5([].push); + + var objectKeysInternal = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn$1(hiddenKeys$1, key) && hasOwn$1(O, key) && push$1(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn$1(O, key = names[i++])) { + ~indexOf(result, key) || push$1(result, key); + } + return result; + }; + + // IE8- don't enum bug keys + var enumBugKeys$1 = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' + ]; + + var internalObjectKeys = objectKeysInternal; + var enumBugKeys = enumBugKeys$1; + + var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + // eslint-disable-next-line es/no-object-getownpropertynames -- safe + objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); + }; + + var objectGetOwnPropertySymbols = {}; + + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe + objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; + + var getBuiltIn$1 = getBuiltIn$4; + var uncurryThis$4 = functionUncurryThis; + var getOwnPropertyNamesModule = objectGetOwnPropertyNames; + var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; + var anObject$3 = anObject$5; + + var concat = uncurryThis$4([].concat); + + // all object keys, includes non-enumerable and symbols + var ownKeys$1 = getBuiltIn$1('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject$3(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; + }; + + var hasOwn = hasOwnProperty_1; + var ownKeys = ownKeys$1; + var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; + var definePropertyModule$1 = objectDefineProperty; + + var copyConstructorProperties$1 = function (target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule$1.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + }; + + var fails$3 = fails$8; + var isCallable$2 = isCallable$b; + + var replacement = /#|\.prototype\./; + + var isForced$1 = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : isCallable$2(detection) ? fails$3(detection) + : !!detection; + }; + + var normalize = isForced$1.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); + }; + + var data = isForced$1.data = {}; + var NATIVE = isForced$1.NATIVE = 'N'; + var POLYFILL = isForced$1.POLYFILL = 'P'; + + var isForced_1 = isForced$1; + + var global$8 = global$s; + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + var createNonEnumerableProperty = createNonEnumerableProperty$3; + var redefine = redefine$1.exports; + var setGlobal = setGlobal$3; + var copyConstructorProperties = copyConstructorProperties$1; + var isForced = isForced_1; + + /* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key + */ + var _export = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global$8; + } else if (STATIC) { + target = global$8[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global$8[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } + }; + + var classof$4 = classofRaw$1; + + // `IsArray` abstract operation + // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe + var isArray$2 = Array.isArray || function isArray(argument) { + return classof$4(argument) == 'Array'; + }; + + var uncurryThis$3 = functionUncurryThis; + var aCallable$3 = aCallable$5; + + var bind$2 = uncurryThis$3(uncurryThis$3.bind); + + // optional / simple context binding + var functionBindContext = function (fn, that) { + aCallable$3(fn); + return that === undefined ? fn : bind$2 ? bind$2(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; + }; + + var global$7 = global$s; + var isArray$1 = isArray$2; + var lengthOfArrayLike$3 = lengthOfArrayLike$5; + var bind$1 = functionBindContext; + + var TypeError$3 = global$7.TypeError; + + // `FlattenIntoArray` abstract operation + // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray + var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind$1(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray$1(element)) { + elementLen = lengthOfArrayLike$3(element); + targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError$3('Exceed the acceptable array length'); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; + }; + + var flattenIntoArray_1 = flattenIntoArray$1; + + var wellKnownSymbol$4 = wellKnownSymbol$6; + + var TO_STRING_TAG$1 = wellKnownSymbol$4('toStringTag'); + var test$1 = {}; + + test$1[TO_STRING_TAG$1] = 'z'; + + var toStringTagSupport = String(test$1) === '[object z]'; + + var global$6 = global$s; + var TO_STRING_TAG_SUPPORT = toStringTagSupport; + var isCallable$1 = isCallable$b; + var classofRaw = classofRaw$1; + var wellKnownSymbol$3 = wellKnownSymbol$6; + + var TO_STRING_TAG = wellKnownSymbol$3('toStringTag'); + var Object$1 = global$6.Object; + + // ES3 wrong here + var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + + // fallback for IE11 Script Access Denied error + var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } + }; + + // getting tag from ES6+ `Object.prototype.toString` + var classof$3 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; + }; + + var uncurryThis$2 = functionUncurryThis; + var fails$2 = fails$8; + var isCallable = isCallable$b; + var classof$2 = classof$3; + var getBuiltIn = getBuiltIn$4; + var inspectSource = inspectSource$3; + + var noop$1 = function () { /* empty */ }; + var empty = []; + var construct = getBuiltIn('Reflect', 'construct'); + var constructorRegExp = /^\s*(?:class|function)\b/; + var exec = uncurryThis$2(constructorRegExp.exec); + var INCORRECT_TO_STRING = !constructorRegExp.exec(noop$1); + + var isConstructorModern = function (argument) { + if (!isCallable(argument)) return false; + try { + construct(noop$1, empty, argument); + return true; + } catch (error) { + return false; + } + }; + + var isConstructorLegacy = function (argument) { + if (!isCallable(argument)) return false; + switch (classof$2(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + // we can't check .prototype since constructors produced by .bind haven't it + } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + }; + + // `IsConstructor` abstract operation + // https://tc39.es/ecma262/#sec-isconstructor + var isConstructor$1 = !construct || fails$2(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; + }) ? isConstructorLegacy : isConstructorModern; + + var global$5 = global$s; + var isArray = isArray$2; + var isConstructor = isConstructor$1; + var isObject = isObject$6; + var wellKnownSymbol$2 = wellKnownSymbol$6; + + var SPECIES = wellKnownSymbol$2('species'); + var Array$1 = global$5.Array; + + // a part of `ArraySpeciesCreate` abstract operation + // https://tc39.es/ecma262/#sec-arrayspeciescreate + var arraySpeciesConstructor$1 = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === Array$1 || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array$1 : C; + }; + + var arraySpeciesConstructor = arraySpeciesConstructor$1; + + // `ArraySpeciesCreate` abstract operation + // https://tc39.es/ecma262/#sec-arrayspeciescreate + var arraySpeciesCreate$1 = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); + }; + + var $$2 = _export; + var flattenIntoArray = flattenIntoArray_1; + var aCallable$2 = aCallable$5; + var toObject$1 = toObject$3; + var lengthOfArrayLike$2 = lengthOfArrayLike$5; + var arraySpeciesCreate = arraySpeciesCreate$1; + + // `Array.prototype.flatMap` method + // https://tc39.es/ecma262/#sec-array.prototype.flatmap + $$2({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject$1(this); + var sourceLen = lengthOfArrayLike$2(O); + var A; + aCallable$2(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } + }); + + var global$4 = global$s; + var classof$1 = classof$3; + + var String$1 = global$4.String; + + var toString$1 = function (argument) { + if (classof$1(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + return String$1(argument); + }; + + var uncurryThis$1 = functionUncurryThis; + + var arraySlice$1 = uncurryThis$1([].slice); + + var arraySlice = arraySlice$1; + + var floor = Math.floor; + + var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge( + array, + mergeSort(arraySlice(array, 0, middle), comparefn), + mergeSort(arraySlice(array, middle), comparefn), + comparefn + ); + }; + + var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; + }; + + var merge = function (array, left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } return array; + }; + + var arraySort = mergeSort; + + var fails$1 = fails$8; + + var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails$1(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); + }; + + var userAgent$1 = engineUserAgent; + + var firefox = userAgent$1.match(/firefox\/(\d+)/i); + + var engineFfVersion = !!firefox && +firefox[1]; + + var UA = engineUserAgent; + + var engineIsIeOrEdge = /MSIE|Trident/.test(UA); + + var userAgent = engineUserAgent; + + var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + + var engineWebkitVersion = !!webkit && +webkit[1]; + + var $$1 = _export; + var uncurryThis = functionUncurryThis; + var aCallable$1 = aCallable$5; + var toObject = toObject$3; + var lengthOfArrayLike$1 = lengthOfArrayLike$5; + var toString = toString$1; + var fails = fails$8; + var internalSort = arraySort; + var arrayMethodIsStrict = arrayMethodIsStrict$1; + var FF = engineFfVersion; + var IE_OR_EDGE = engineIsIeOrEdge; + var V8 = engineV8Version; + var WEBKIT = engineWebkitVersion; + + var test = []; + var un$Sort = uncurryThis(test.sort); + var push = uncurryThis(test.push); + + // IE8- + var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); + }); + // V8 bug + var FAILS_ON_NULL = fails(function () { + test.sort(null); + }); + // Old WebKit + var STRICT_METHOD = arrayMethodIsStrict('sort'); + + var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; + }); + + var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + + var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; + }; + + // `Array.prototype.sort` method + // https://tc39.es/ecma262/#sec-array.prototype.sort + $$1({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable$1(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike$1(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } + }); + + var iterators = {}; + + var wellKnownSymbol$1 = wellKnownSymbol$6; + var Iterators$1 = iterators; + + var ITERATOR$1 = wellKnownSymbol$1('iterator'); + var ArrayPrototype = Array.prototype; + + // check on default Array iterator + var isArrayIteratorMethod$1 = function (it) { + return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$1] === it); + }; + + var classof = classof$3; + var getMethod$1 = getMethod$3; + var Iterators = iterators; + var wellKnownSymbol = wellKnownSymbol$6; + + var ITERATOR = wellKnownSymbol('iterator'); + + var getIteratorMethod$2 = function (it) { + if (it != undefined) return getMethod$1(it, ITERATOR) + || getMethod$1(it, '@@iterator') + || Iterators[classof(it)]; + }; + + var global$3 = global$s; + var call$2 = functionCall; + var aCallable = aCallable$5; + var anObject$2 = anObject$5; + var tryToString$1 = tryToString$3; + var getIteratorMethod$1 = getIteratorMethod$2; + + var TypeError$2 = global$3.TypeError; + + var getIterator$1 = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod$1(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject$2(call$2(iteratorMethod, argument)); + throw TypeError$2(tryToString$1(argument) + ' is not iterable'); + }; + + var call$1 = functionCall; + var anObject$1 = anObject$5; + var getMethod = getMethod$3; + + var iteratorClose$1 = function (iterator, kind, value) { + var innerResult, innerError; + anObject$1(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call$1(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject$1(innerResult); + return value; + }; + + var global$2 = global$s; + var bind = functionBindContext; + var call = functionCall; + var anObject = anObject$5; + var tryToString = tryToString$3; + var isArrayIteratorMethod = isArrayIteratorMethod$1; + var lengthOfArrayLike = lengthOfArrayLike$5; + var isPrototypeOf = objectIsPrototypeOf; + var getIterator = getIterator$1; + var getIteratorMethod = getIteratorMethod$2; + var iteratorClose = iteratorClose$1; + + var TypeError$1 = global$2.TypeError; + + var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; + }; + + var ResultPrototype = Result.prototype; + + var iterate$1 = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw TypeError$1(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + }; + + var toPropertyKey = toPropertyKey$3; + var definePropertyModule = objectDefineProperty; + var createPropertyDescriptor = createPropertyDescriptor$3; + + var createProperty$1 = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; + }; + + var $ = _export; + var iterate = iterate$1; + var createProperty = createProperty$1; + + // `Object.fromEntries` method + // https://github.com/tc39/proposal-object-from-entries + $({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } + }); + + var global$1 = (typeof global$1 !== "undefined" ? global$1 : + typeof self !== "undefined" ? self : + typeof window !== "undefined" ? window : {}); + + // shim for using process in browser + // based off https://github.com/defunctzombie/node-process/blob/master/browser.js + + function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); + } + function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); + } + var cachedSetTimeout = defaultSetTimout; + var cachedClearTimeout = defaultClearTimeout; + if (typeof global$1.setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } + if (typeof global$1.clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } + + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + + } + function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; + + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } + + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } + function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + } + // v8 likes predictible objects + function Item(fun, array) { + this.fun = fun; + this.array = array; + } + Item.prototype.run = function () { + this.fun.apply(null, this.array); + }; + var title = 'browser'; + var platform = 'browser'; + var browser = true; + var env = {}; + var argv = []; + var version = ''; // empty string to avoid regexp issues + var versions = {}; + var release = {}; + var config = {}; + + function noop() {} + + var on = noop; + var addListener = noop; + var once = noop; + var off = noop; + var removeListener = noop; + var removeAllListeners = noop; + var emit = noop; + + function binding(name) { + throw new Error('process.binding is not supported'); + } + + function cwd () { return '/' } + function chdir (dir) { + throw new Error('process.chdir is not supported'); + }function umask() { return 0; } + + // from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js + var performance = global$1.performance || {}; + var performanceNow = + performance.now || + performance.mozNow || + performance.msNow || + performance.oNow || + performance.webkitNow || + function(){ return (new Date()).getTime() }; + + // generate timestamp or delta + // see http://nodejs.org/api/process.html#process_process_hrtime + function hrtime(previousTimestamp){ + var clocktime = performanceNow.call(performance)*1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor((clocktime%1)*1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds<0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds,nanoseconds] + } + + var startTime = new Date(); + function uptime() { + var currentTime = new Date(); + var dif = currentTime - startTime; + return dif / 1000; + } + + var browser$1 = { + nextTick: nextTick, + title: title, + browser: browser, + env: env, + argv: argv, + version: version, + versions: versions, + on: on, + addListener: addListener, + once: once, + off: off, + removeListener: removeListener, + removeAllListeners: removeAllListeners, + emit: emit, + binding: binding, + cwd: cwd, + chdir: chdir, + umask: umask, + hrtime: hrtime, + platform: platform, + release: release, + config: config, + uptime: uptime + }; + + var process = browser$1; + + const debug$1 = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return console.error('SEMVER', ...args); + } : () => {}; + var debug_1 = debug$1; + + // Not necessarily the package version of this code. + + const SEMVER_SPEC_VERSION = '2.0.0'; + const MAX_LENGTH$1 = 256; + const MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || + /* istanbul ignore next */ + 9007199254740991; // Max safe segment length for coercion. + + const MAX_SAFE_COMPONENT_LENGTH = 16; + var constants = { + SEMVER_SPEC_VERSION, + MAX_LENGTH: MAX_LENGTH$1, + MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1, + MAX_SAFE_COMPONENT_LENGTH + }; + + var re$1 = {exports: {}}; + + (function (module, exports) { + const { + MAX_SAFE_COMPONENT_LENGTH + } = constants; + const debug = debug_1; + exports = module.exports = {}; // The actual regexps go on exports.re + + const re = exports.re = []; + const src = exports.src = []; + const t = exports.t = {}; + let R = 0; + + const createToken = (name, value, isGlobal) => { + const index = R++; + debug(index, value); + t[name] = index; + src[index] = value; + re[index] = new RegExp(value, isGlobal ? 'g' : undefined); + }; // The following Regular Expressions can be used for tokenizing, + // validating, and parsing SemVer version strings. + // ## Numeric Identifier + // A single `0`, or a non-zero digit followed by zero or more digits. + + + createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*'); + createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier + // Zero or more digits, followed by a letter or hyphen, and then zero or + // more letters, digits, or hyphens. + + createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version + // Three dot-separated numeric identifiers. + + createToken('MAINVERSION', "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")")); + createToken('MAINVERSIONLOOSE', "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")")); // ## Pre-release Version Identifier + // A numeric identifier, or a non-numeric identifier. + + createToken('PRERELEASEIDENTIFIER', "(?:".concat(src[t.NUMERICIDENTIFIER], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); + createToken('PRERELEASEIDENTIFIERLOOSE', "(?:".concat(src[t.NUMERICIDENTIFIERLOOSE], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); // ## Pre-release Version + // Hyphen, followed by one or more dot-separated pre-release version + // identifiers. + + createToken('PRERELEASE', "(?:-(".concat(src[t.PRERELEASEIDENTIFIER], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIER], ")*))")); + createToken('PRERELEASELOOSE', "(?:-?(".concat(src[t.PRERELEASEIDENTIFIERLOOSE], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIERLOOSE], ")*))")); // ## Build Metadata Identifier + // Any combination of digits, letters, or hyphens. + + createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata + // Plus sign, followed by one or more period-separated build metadata + // identifiers. + + createToken('BUILD', "(?:\\+(".concat(src[t.BUILDIDENTIFIER], "(?:\\.").concat(src[t.BUILDIDENTIFIER], ")*))")); // ## Full Version String + // A main version, followed optionally by a pre-release version and + // build metadata. + // Note that the only major, minor, patch, and pre-release sections of + // the version string are capturing groups. The build metadata is not a + // capturing group, because it should not ever be used in version + // comparison. + + createToken('FULLPLAIN', "v?".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], "?").concat(src[t.BUILD], "?")); + createToken('FULL', "^".concat(src[t.FULLPLAIN], "$")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. + // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty + // common in the npm registry. + + createToken('LOOSEPLAIN', "[v=\\s]*".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], "?").concat(src[t.BUILD], "?")); + createToken('LOOSE', "^".concat(src[t.LOOSEPLAIN], "$")); + createToken('GTLT', '((?:<|>)?=?)'); // Something like "2.*" or "1.2.x". + // Note that "x.x" is a valid xRange identifer, meaning "any version" + // Only the first item is strictly required. + + createToken('XRANGEIDENTIFIERLOOSE', "".concat(src[t.NUMERICIDENTIFIERLOOSE], "|x|X|\\*")); + createToken('XRANGEIDENTIFIER', "".concat(src[t.NUMERICIDENTIFIER], "|x|X|\\*")); + createToken('XRANGEPLAIN', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:".concat(src[t.PRERELEASE], ")?").concat(src[t.BUILD], "?") + ")?)?"); + createToken('XRANGEPLAINLOOSE', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:".concat(src[t.PRERELEASELOOSE], ")?").concat(src[t.BUILD], "?") + ")?)?"); + createToken('XRANGE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAIN], "$")); + createToken('XRANGELOOSE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAINLOOSE], "$")); // Coercion. + // Extract anything that could conceivably be a part of a valid semver + + createToken('COERCE', "".concat('(^|[^\\d])' + '(\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, "})") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:$|[^\\d])"); + createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges. + // Meaning is "reasonably at or greater than" + + createToken('LONETILDE', '(?:~>?)'); + createToken('TILDETRIM', "(\\s*)".concat(src[t.LONETILDE], "\\s+"), true); + exports.tildeTrimReplace = '$1~'; + createToken('TILDE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], "$")); + createToken('TILDELOOSE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], "$")); // Caret ranges. + // Meaning is "at least and backwards compatible with" + + createToken('LONECARET', '(?:\\^)'); + createToken('CARETTRIM', "(\\s*)".concat(src[t.LONECARET], "\\s+"), true); + exports.caretTrimReplace = '$1^'; + createToken('CARET', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], "$")); + createToken('CARETLOOSE', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], "$")); // A simple gt/lt/eq thing, or just "" to indicate "any version" + + createToken('COMPARATORLOOSE', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], ")$|^$")); + createToken('COMPARATOR', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.FULLPLAIN], ")$|^$")); // An expression to strip any whitespace between the gtlt and the thing + // it modifies, so that `> 1.2.3` ==> `>1.2.3` + + createToken('COMPARATORTRIM', "(\\s*)".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], "|").concat(src[t.XRANGEPLAIN], ")"), true); + exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4` + // Note that these all use the loose form, because they'll be + // checked against either the strict or loose comparator form + // later. + + createToken('HYPHENRANGE', "^\\s*(".concat(src[t.XRANGEPLAIN], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAIN], ")") + "\\s*$"); + createToken('HYPHENRANGELOOSE', "^\\s*(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s*$"); // Star ranges basically just allow anything at all. + + createToken('STAR', '(<|>)?=?\\s*\\*'); // >=0.0.0 is like a star + + createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$'); + createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$'); + })(re$1, re$1.exports); + + // obj with keys in a consistent order. + + const opts = ['includePrerelease', 'loose', 'rtl']; + + const parseOptions$1 = options => !options ? {} : typeof options !== 'object' ? { + loose: true + } : opts.filter(k => options[k]).reduce((options, k) => { + options[k] = true; + return options; + }, {}); + + var parseOptions_1 = parseOptions$1; + + const numeric = /^[0-9]+$/; + + const compareIdentifiers$1 = (a, b) => { + const anum = numeric.test(a); + const bnum = numeric.test(b); + + if (anum && bnum) { + a = +a; + b = +b; + } + + return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; + }; + + const rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a); + + var identifiers = { + compareIdentifiers: compareIdentifiers$1, + rcompareIdentifiers + }; + + const debug = debug_1; + const { + MAX_LENGTH, + MAX_SAFE_INTEGER + } = constants; + const { + re, + t + } = re$1.exports; + const parseOptions = parseOptions_1; + const { + compareIdentifiers + } = identifiers; + + class SemVer$1 { + constructor(version, options) { + options = parseOptions(options); + + if (version instanceof SemVer$1) { + if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { + return version; + } else { + version = version.version; + } + } else if (typeof version !== 'string') { + throw new TypeError("Invalid Version: ".concat(version)); + } + + if (version.length > MAX_LENGTH) { + throw new TypeError("version is longer than ".concat(MAX_LENGTH, " characters")); + } + + debug('SemVer', version, options); + this.options = options; + this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + + this.includePrerelease = !!options.includePrerelease; + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); + + if (!m) { + throw new TypeError("Invalid Version: ".concat(version)); + } + + this.raw = version; // these are actually numbers + + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version'); + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version'); + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version'); + } // numberify any prerelease numeric ids + + + if (!m[4]) { + this.prerelease = []; + } else { + this.prerelease = m[4].split('.').map(id => { + if (/^[0-9]+$/.test(id)) { + const num = +id; + + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num; + } + } + + return id; + }); + } + + this.build = m[5] ? m[5].split('.') : []; + this.format(); + } + + format() { + this.version = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); + + if (this.prerelease.length) { + this.version += "-".concat(this.prerelease.join('.')); + } + + return this.version; + } + + toString() { + return this.version; + } + + compare(other) { + debug('SemVer.compare', this.version, this.options, other); + + if (!(other instanceof SemVer$1)) { + if (typeof other === 'string' && other === this.version) { + return 0; + } + + other = new SemVer$1(other, this.options); + } + + if (other.version === this.version) { + return 0; + } + + return this.compareMain(other) || this.comparePre(other); + } + + compareMain(other) { + if (!(other instanceof SemVer$1)) { + other = new SemVer$1(other, this.options); + } + + return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); + } + + comparePre(other) { + if (!(other instanceof SemVer$1)) { + other = new SemVer$1(other, this.options); + } // NOT having a prerelease is > having one + + + if (this.prerelease.length && !other.prerelease.length) { + return -1; + } else if (!this.prerelease.length && other.prerelease.length) { + return 1; + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0; + } + + let i = 0; + + do { + const a = this.prerelease[i]; + const b = other.prerelease[i]; + debug('prerelease compare', i, a, b); + + if (a === undefined && b === undefined) { + return 0; + } else if (b === undefined) { + return 1; + } else if (a === undefined) { + return -1; + } else if (a === b) { + continue; + } else { + return compareIdentifiers(a, b); + } + } while (++i); + } + + compareBuild(other) { + if (!(other instanceof SemVer$1)) { + other = new SemVer$1(other, this.options); + } + + let i = 0; + + do { + const a = this.build[i]; + const b = other.build[i]; + debug('prerelease compare', i, a, b); + + if (a === undefined && b === undefined) { + return 0; + } else if (b === undefined) { + return 1; + } else if (a === undefined) { + return -1; + } else if (a === b) { + continue; + } else { + return compareIdentifiers(a, b); + } + } while (++i); + } // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + + + inc(release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc('pre', identifier); + break; + + case 'preminor': + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc('pre', identifier); + break; + + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0; + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + // If the input is a non-prerelease version, this acts the same as + // prepatch. + + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier); + } + + this.inc('pre', identifier); + break; + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { + this.major++; + } + + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++; + } + + this.patch = 0; + this.prerelease = []; + break; + + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++; + } + + this.prerelease = []; + break; + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + + case 'pre': + if (this.prerelease.length === 0) { + this.prerelease = [0]; + } else { + let i = this.prerelease.length; + + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++; + i = -2; + } + } + + if (i === -1) { + // didn't increment anything + this.prerelease.push(0); + } + } + + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) { + this.prerelease = [identifier, 0]; + } + } else { + this.prerelease = [identifier, 0]; + } + } + + break; + + default: + throw new Error("invalid increment argument: ".concat(release)); + } + + this.format(); + this.raw = this.version; + return this; + } + + } + + var semver$1 = SemVer$1; + + const SemVer = semver$1; + + const compare$2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); + + var compare_1 = compare$2; + + const compare$1 = compare_1; + + const lt = (a, b, loose) => compare$1(a, b, loose) < 0; + + var lt_1 = lt; + + const compare = compare_1; + + const gte = (a, b, loose) => compare(a, b, loose) >= 0; + + var gte_1 = gte; + + var arrayify$1 = (object, keyName) => Object.entries(object).map(_ref => { + let [key, value] = _ref; + return Object.assign({ + [keyName]: key + }, value); + }); + + var require$$4 = {"version":"2.5.1"}; + + var lib = {exports: {}}; + + (function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.outdent = void 0; // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. + + function noop() { + var args = []; + + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + } + + function createWeakMap() { + if (typeof WeakMap !== "undefined") { + return new WeakMap(); + } else { + return fakeSetOrMap(); + } + } + /** + * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything. + */ + + + function fakeSetOrMap() { + return { + add: noop, + delete: noop, + get: noop, + set: noop, + has: function (k) { + return false; + } + }; + } // Safe hasOwnProperty + + + var hop = Object.prototype.hasOwnProperty; + + var has = function (obj, prop) { + return hop.call(obj, prop); + }; // Copy all own enumerable properties from source to target + + + function extend(target, source) { + for (var prop in source) { + if (has(source, prop)) { + target[prop] = source[prop]; + } + } + + return target; + } + + var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; + var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; + var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; + var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; + var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; + + function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { + // If first interpolated value is a reference to outdent, + // determine indentation level from the indentation of the interpolated value. + var indentationLevel = 0; + var match = strings[0].match(reDetectIndentation); + + if (match) { + indentationLevel = match[1].length; + } + + var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; + var reMatchIndent = new RegExp(reSource, "g"); + + if (firstInterpolatedValueSetsIndentationLevel) { + strings = strings.slice(1); + } + + var newline = options.newline, + trimLeadingNewline = options.trimLeadingNewline, + trimTrailingNewline = options.trimTrailingNewline; + var normalizeNewlines = typeof newline === "string"; + var l = strings.length; + var outdentedStrings = strings.map(function (v, i) { + // Remove leading indentation from all lines + v = v.replace(reMatchIndent, "$1"); // Trim a leading newline from the first string + + if (i === 0 && trimLeadingNewline) { + v = v.replace(reLeadingNewline, ""); + } // Trim a trailing newline from the last string + + + if (i === l - 1 && trimTrailingNewline) { + v = v.replace(reTrailingNewline, ""); + } // Normalize newlines + + + if (normalizeNewlines) { + v = v.replace(/\r\n|\n|\r/g, function (_) { + return newline; + }); + } + + return v; + }); + return outdentedStrings; + } + + function concatStringsAndValues(strings, values) { + var ret = ""; + + for (var i = 0, l = strings.length; i < l; i++) { + ret += strings[i]; + + if (i < l - 1) { + ret += values[i]; + } + } + + return ret; + } + + function isTemplateStringsArray(v) { + return has(v, "raw") && has(v, "length"); + } + /** + * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to + * makeInstance + * @param options + * @return {outdent} + */ + + + function createInstance(options) { + /** Cache of pre-processed template literal arrays */ + var arrayAutoIndentCache = createWeakMap(); + /** + * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, + * before interpolated values are injected. + */ + + var arrayFirstInterpSetsIndentCache = createWeakMap(); + + function outdent(stringsOrOptions) { + var values = []; + + for (var _i = 1; _i < arguments.length; _i++) { + values[_i - 1] = arguments[_i]; + } + /* tslint:enable:no-shadowed-variable */ + + + if (isTemplateStringsArray(stringsOrOptions)) { + var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace? + + var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation + + var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; + var renderedArray = cache.get(strings); + + if (!renderedArray) { + renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); + cache.set(strings, renderedArray); + } + /** If no interpolated values, skip concatenation step */ + + + if (values.length === 0) { + return renderedArray[0]; + } + /** Concatenate string literals with interpolated values */ + + + var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); + return rendered; + } else { + // Create and return a new instance of outdent with the given options + return createInstance(extend(extend({}, options), stringsOrOptions || {})); + } + } + + var fullOutdent = extend(outdent, { + string: function (str) { + return _outdentArray([str], false, options)[0]; + } + }); + return fullOutdent; + } + + var defaultOutdent = createInstance({ + trimLeadingNewline: true, + trimTrailingNewline: true + }); + exports.outdent = defaultOutdent; // Named exports. Simple and preferred. + // import outdent from 'outdent'; + + exports.default = defaultOutdent; + + { + // In webpack harmony-modules environments, module.exports is read-only, + // so we fail gracefully. + try { + module.exports = defaultOutdent; + Object.defineProperty(defaultOutdent, "__esModule", { + value: true + }); + defaultOutdent.default = defaultOutdent; + defaultOutdent.outdent = defaultOutdent; + } catch (e) {} + } + })(lib, lib.exports); + + var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6; + + const { + outdent + } = lib.exports; + const CATEGORY_CONFIG = "Config"; + const CATEGORY_EDITOR = "Editor"; + const CATEGORY_FORMAT = "Format"; + const CATEGORY_OTHER = "Other"; + const CATEGORY_OUTPUT = "Output"; + const CATEGORY_GLOBAL = "Global"; + const CATEGORY_SPECIAL = "Special"; + /** + * @typedef {Object} OptionInfo + * @property {string} [since] - available since version + * @property {string} category + * @property {'int' | 'boolean' | 'choice' | 'path'} type + * @property {boolean} [array] - indicate it's an array of the specified type + * @property {OptionValueInfo} [default] + * @property {OptionRangeInfo} [range] - for type int + * @property {string} description + * @property {string} [deprecated] - deprecated since version + * @property {OptionRedirectInfo} [redirect] - redirect deprecated option + * @property {(value: any) => boolean} [exception] + * @property {OptionChoiceInfo[]} [choices] - for type choice + * @property {string} [cliName] + * @property {string} [cliCategory] + * @property {string} [cliDescription] + * + * @typedef {number | boolean | string} OptionValue + * @typedef {OptionValue | [{ value: OptionValue[] }] | Array<{ since: string, value: OptionValue}>} OptionValueInfo + * + * @typedef {Object} OptionRedirectInfo + * @property {string} option + * @property {OptionValue} value + * + * @typedef {Object} OptionRangeInfo + * @property {number} start - recommended range start + * @property {number} end - recommended range end + * @property {number} step - recommended range step + * + * @typedef {Object} OptionChoiceInfo + * @property {boolean | string} value - boolean for the option that is originally boolean type + * @property {string} description + * @property {string} [since] - undefined if available since the first version of the option + * @property {string} [deprecated] - deprecated since version + * @property {OptionValueInfo} [redirect] - redirect deprecated value + */ + + /** @type {{ [name: string]: OptionInfo }} */ + + const options = { + cursorOffset: { + since: "1.4.0", + category: CATEGORY_SPECIAL, + type: "int", + default: -1, + range: { + start: -1, + end: Number.POSITIVE_INFINITY, + step: 1 + }, + description: outdent(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n Print (to stderr) where a cursor at the given position would move to after formatting.\n This option cannot be used with --range-start and --range-end.\n "]))), + cliCategory: CATEGORY_EDITOR + }, + endOfLine: { + since: "1.15.0", + category: CATEGORY_GLOBAL, + type: "choice", + default: [{ + since: "1.15.0", + value: "auto" + }, { + since: "2.0.0", + value: "lf" + }], + description: "Which end of line characters to apply.", + choices: [{ + value: "lf", + description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos" + }, { + value: "crlf", + description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows" + }, { + value: "cr", + description: "Carriage Return character only (\\r), used very rarely" + }, { + value: "auto", + description: outdent(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n Maintain existing\n (mixed values within one file are normalised by looking at what's used after the first line)\n "]))) + }] + }, + filepath: { + since: "1.4.0", + category: CATEGORY_SPECIAL, + type: "path", + description: "Specify the input filepath. This will be used to do parser inference.", + cliName: "stdin-filepath", + cliCategory: CATEGORY_OTHER, + cliDescription: "Path to the file to pretend that stdin comes from." + }, + insertPragma: { + since: "1.8.0", + category: CATEGORY_SPECIAL, + type: "boolean", + default: false, + description: "Insert @format pragma into file's first docblock comment.", + cliCategory: CATEGORY_OTHER + }, + parser: { + since: "0.0.10", + category: CATEGORY_GLOBAL, + type: "choice", + default: [{ + since: "0.0.10", + value: "babylon" + }, { + since: "1.13.0", + value: undefined + }], + description: "Which parser to use.", + exception: value => typeof value === "string" || typeof value === "function", + choices: [{ + value: "flow", + description: "Flow" + }, { + value: "babel", + since: "1.16.0", + description: "JavaScript" + }, { + value: "babel-flow", + since: "1.16.0", + description: "Flow" + }, { + value: "babel-ts", + since: "2.0.0", + description: "TypeScript" + }, { + value: "typescript", + since: "1.4.0", + description: "TypeScript" + }, { + value: "espree", + since: "2.2.0", + description: "JavaScript" + }, { + value: "meriyah", + since: "2.2.0", + description: "JavaScript" + }, { + value: "css", + since: "1.7.1", + description: "CSS" + }, { + value: "less", + since: "1.7.1", + description: "Less" + }, { + value: "scss", + since: "1.7.1", + description: "SCSS" + }, { + value: "json", + since: "1.5.0", + description: "JSON" + }, { + value: "json5", + since: "1.13.0", + description: "JSON5" + }, { + value: "json-stringify", + since: "1.13.0", + description: "JSON.stringify" + }, { + value: "graphql", + since: "1.5.0", + description: "GraphQL" + }, { + value: "markdown", + since: "1.8.0", + description: "Markdown" + }, { + value: "mdx", + since: "1.15.0", + description: "MDX" + }, { + value: "vue", + since: "1.10.0", + description: "Vue" + }, { + value: "yaml", + since: "1.14.0", + description: "YAML" + }, { + value: "glimmer", + since: "2.3.0", + description: "Ember / Handlebars" + }, { + value: "html", + since: "1.15.0", + description: "HTML" + }, { + value: "angular", + since: "1.15.0", + description: "Angular" + }, { + value: "lwc", + since: "1.17.0", + description: "Lightning Web Components" + }] + }, + plugins: { + since: "1.10.0", + type: "path", + array: true, + default: [{ + value: [] + }], + category: CATEGORY_GLOBAL, + description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.", + exception: value => typeof value === "string" || typeof value === "object", + cliName: "plugin", + cliCategory: CATEGORY_CONFIG + }, + pluginSearchDirs: { + since: "1.13.0", + type: "path", + array: true, + default: [{ + value: [] + }], + category: CATEGORY_GLOBAL, + description: outdent(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))), + exception: value => typeof value === "string" || typeof value === "object", + cliName: "plugin-search-dir", + cliCategory: CATEGORY_CONFIG + }, + printWidth: { + since: "0.0.0", + category: CATEGORY_GLOBAL, + type: "int", + default: 80, + description: "The line length where Prettier will try wrap.", + range: { + start: 0, + end: Number.POSITIVE_INFINITY, + step: 1 + } + }, + rangeEnd: { + since: "1.4.0", + category: CATEGORY_SPECIAL, + type: "int", + default: Number.POSITIVE_INFINITY, + range: { + start: 0, + end: Number.POSITIVE_INFINITY, + step: 1 + }, + description: outdent(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))), + cliCategory: CATEGORY_EDITOR + }, + rangeStart: { + since: "1.4.0", + category: CATEGORY_SPECIAL, + type: "int", + default: 0, + range: { + start: 0, + end: Number.POSITIVE_INFINITY, + step: 1 + }, + description: outdent(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))), + cliCategory: CATEGORY_EDITOR + }, + requirePragma: { + since: "1.7.0", + category: CATEGORY_SPECIAL, + type: "boolean", + default: false, + description: outdent(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))), + cliCategory: CATEGORY_OTHER + }, + tabWidth: { + type: "int", + category: CATEGORY_GLOBAL, + default: 2, + description: "Number of spaces per indentation level.", + range: { + start: 0, + end: Number.POSITIVE_INFINITY, + step: 1 + } + }, + useTabs: { + since: "1.0.0", + category: CATEGORY_GLOBAL, + type: "boolean", + default: false, + description: "Indent with tabs instead of spaces." + }, + embeddedLanguageFormatting: { + since: "2.1.0", + category: CATEGORY_GLOBAL, + type: "choice", + default: [{ + since: "2.1.0", + value: "auto" + }], + description: "Control how Prettier formats quoted code embedded in the file.", + choices: [{ + value: "auto", + description: "Format embedded code if Prettier can automatically identify it." + }, { + value: "off", + description: "Never automatically format embedded code." + }] + } + }; + var coreOptions$1 = { + CATEGORY_CONFIG, + CATEGORY_EDITOR, + CATEGORY_FORMAT, + CATEGORY_OTHER, + CATEGORY_OUTPUT, + CATEGORY_GLOBAL, + CATEGORY_SPECIAL, + options + }; + + const _excluded = ["cliName", "cliCategory", "cliDescription"]; + + const semver = { + compare: compare_1, + lt: lt_1, + gte: gte_1 + }; + const arrayify = arrayify$1; + const currentVersion = require$$4.version; + const coreOptions = coreOptions$1.options; + /** + * Strings in `plugins` and `pluginSearchDirs` are handled by a wrapped version + * of this function created by `withPlugins`. Don't pass them here directly. + * @param {object} param0 + * @param {(string | object)[]=} param0.plugins Strings are resolved by `withPlugins`. + * @param {string[]=} param0.pluginSearchDirs Added by `withPlugins`. + * @param {boolean=} param0.showUnreleased + * @param {boolean=} param0.showDeprecated + * @param {boolean=} param0.showInternal + */ + + function getSupportInfo$1() { + let { + plugins = [], + showUnreleased = false, + showDeprecated = false, + showInternal = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + // pre-release version is smaller than the normal version in semver, + // we need to treat it as the normal one so as to test new features. + const version = currentVersion.split("-", 1)[0]; + const languages = plugins.flatMap(plugin => plugin.languages || []).filter(filterSince); + const options = arrayify(Object.assign({}, ...plugins.map(_ref => { + let { + options + } = _ref; + return options; + }), coreOptions), "name").filter(option => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map(option => { + option = Object.assign({}, option); + + if (Array.isArray(option.default)) { + option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver.compare(info2.since, info1.since))[0].value; + } + + if (Array.isArray(option.choices)) { + option.choices = option.choices.filter(option => filterSince(option) && filterDeprecated(option)); + + if (option.name === "parser") { + collectParsersFromLanguages(option, languages, plugins); + } + } + + const pluginDefaults = Object.fromEntries(plugins.filter(plugin => plugin.defaultOptions && plugin.defaultOptions[option.name] !== undefined).map(plugin => [plugin.name, plugin.defaultOptions[option.name]])); + return Object.assign(Object.assign({}, option), {}, { + pluginDefaults + }); + }); + return { + languages, + options + }; + + function filterSince(object) { + return showUnreleased || !("since" in object) || object.since && semver.gte(version, object.since); + } + + function filterDeprecated(object) { + return showDeprecated || !("deprecated" in object) || object.deprecated && semver.lt(version, object.deprecated); + } + + function mapInternal(object) { + if (showInternal) { + return object; + } + + const newObject = _objectWithoutProperties(object, _excluded); + + return newObject; + } + } + + function collectParsersFromLanguages(option, languages, plugins) { + const existingValues = new Set(option.choices.map(choice => choice.value)); + + for (const language of languages) { + if (language.parsers) { + for (const value of language.parsers) { + if (!existingValues.has(value)) { + existingValues.add(value); + const plugin = plugins.find(plugin => plugin.parsers && plugin.parsers[value]); + let description = language.name; + + if (plugin && plugin.name) { + description += " (plugin: ".concat(plugin.name, ")"); + } + + option.choices.push({ + value, + description + }); + } + } + } + } + } + + var support = { + getSupportInfo: getSupportInfo$1 + }; + + const stringWidth = stringWidth$2.exports; + const escapeStringRegexp = escapeStringRegexp$1; + const getLast$2 = getLast_1; + const { + getSupportInfo + } = support; + const notAsciiRegex = /[^\x20-\x7F]/; + + const getPenultimate = arr => arr[arr.length - 2]; + /** + * @typedef {{backwards?: boolean}} SkipOptions + */ + + /** + * @param {string | RegExp} chars + * @returns {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ + + + function skip(chars) { + return (text, index, opts) => { + const backwards = opts && opts.backwards; // Allow `skip` functions to be threaded together without having + // to check for failures (did someone say monads?). + + /* istanbul ignore next */ + + if (index === false) { + return false; + } + + const { + length + } = text; + let cursor = index; + + while (cursor >= 0 && cursor < length) { + const c = text.charAt(cursor); + + if (chars instanceof RegExp) { + if (!chars.test(c)) { + return cursor; + } + } else if (!chars.includes(c)) { + return cursor; + } + + backwards ? cursor-- : cursor++; + } + + if (cursor === -1 || cursor === length) { + // If we reached the beginning or end of the file, return the + // out-of-bounds cursor. It's up to the caller to handle this + // correctly. We don't want to indicate `false` though if it + // actually skipped valid characters. + return cursor; + } + + return false; + }; + } + /** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ + + + const skipWhitespace = skip(/\s/); + /** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ + + const skipSpaces = skip(" \t"); + /** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ + + const skipToLineEnd = skip(",; \t"); + /** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ + + const skipEverythingButNewLine = skip(/[^\n\r]/); + /** + * @param {string} text + * @param {number | false} index + * @returns {number | false} + */ + + function skipInlineComment(text, index) { + /* istanbul ignore next */ + if (index === false) { + return false; + } + + if (text.charAt(index) === "/" && text.charAt(index + 1) === "*") { + for (let i = index + 2; i < text.length; ++i) { + if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { + return i + 2; + } + } + } + + return index; + } + /** + * @param {string} text + * @param {number | false} index + * @returns {number | false} + */ + + + function skipTrailingComment(text, index) { + /* istanbul ignore next */ + if (index === false) { + return false; + } + + if (text.charAt(index) === "/" && text.charAt(index + 1) === "/") { + return skipEverythingButNewLine(text, index); + } + + return index; + } // This one doesn't use the above helper function because it wants to + // test \r\n in order and `skip` doesn't support ordering and we only + // want to skip one newline. It's simple to implement. + + /** + * @param {string} text + * @param {number | false} index + * @param {SkipOptions=} opts + * @returns {number | false} + */ + + + function skipNewline(text, index, opts) { + const backwards = opts && opts.backwards; + + if (index === false) { + return false; + } + + const atIndex = text.charAt(index); + + if (backwards) { + // We already replace `\r\n` with `\n` before parsing + + /* istanbul ignore next */ + if (text.charAt(index - 1) === "\r" && atIndex === "\n") { + return index - 2; + } + + if (atIndex === "\n" || atIndex === "\r" || atIndex === "\u2028" || atIndex === "\u2029") { + return index - 1; + } + } else { + // We already replace `\r\n` with `\n` before parsing + + /* istanbul ignore next */ + if (atIndex === "\r" && text.charAt(index + 1) === "\n") { + return index + 2; + } + + if (atIndex === "\n" || atIndex === "\r" || atIndex === "\u2028" || atIndex === "\u2029") { + return index + 1; + } + } + + return index; + } + /** + * @param {string} text + * @param {number} index + * @param {SkipOptions=} opts + * @returns {boolean} + */ + + + function hasNewline(text, index) { + let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); + const idx2 = skipNewline(text, idx, opts); + return idx !== idx2; + } + /** + * @param {string} text + * @param {number} start + * @param {number} end + * @returns {boolean} + */ + + + function hasNewlineInRange(text, start, end) { + for (let i = start; i < end; ++i) { + if (text.charAt(i) === "\n") { + return true; + } + } + + return false; + } // Note: this function doesn't ignore leading comments unlike isNextLineEmpty + + /** + * @template N + * @param {string} text + * @param {N} node + * @param {(node: N) => number} locStart + */ + + + function isPreviousLineEmpty(text, node, locStart) { + /** @type {number | false} */ + let idx = locStart(node) - 1; + idx = skipSpaces(text, idx, { + backwards: true + }); + idx = skipNewline(text, idx, { + backwards: true + }); + idx = skipSpaces(text, idx, { + backwards: true + }); + const idx2 = skipNewline(text, idx, { + backwards: true + }); + return idx !== idx2; + } + /** + * @param {string} text + * @param {number} index + * @returns {boolean} + */ + + + function isNextLineEmptyAfterIndex(text, index) { + /** @type {number | false} */ + let oldIdx = null; + /** @type {number | false} */ + + let idx = index; + + while (idx !== oldIdx) { + // We need to skip all the potential trailing inline comments + oldIdx = idx; + idx = skipToLineEnd(text, idx); + idx = skipInlineComment(text, idx); + idx = skipSpaces(text, idx); + } + + idx = skipTrailingComment(text, idx); + idx = skipNewline(text, idx); + return idx !== false && hasNewline(text, idx); + } + /** + * @template N + * @param {string} text + * @param {N} node + * @param {(node: N) => number} locEnd + * @returns {boolean} + */ + + + function isNextLineEmpty(text, node, locEnd) { + return isNextLineEmptyAfterIndex(text, locEnd(node)); + } + /** + * @param {string} text + * @param {number} idx + * @returns {number | false} + */ + + + function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { + /** @type {number | false} */ + let oldIdx = null; + /** @type {number | false} */ + + let nextIdx = idx; + + while (nextIdx !== oldIdx) { + oldIdx = nextIdx; + nextIdx = skipSpaces(text, nextIdx); + nextIdx = skipInlineComment(text, nextIdx); + nextIdx = skipTrailingComment(text, nextIdx); + nextIdx = skipNewline(text, nextIdx); + } + + return nextIdx; + } + /** + * @template N + * @param {string} text + * @param {N} node + * @param {(node: N) => number} locEnd + * @returns {number | false} + */ + + + function getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { + return getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd(node)); + } + /** + * @template N + * @param {string} text + * @param {N} node + * @param {(node: N) => number} locEnd + * @returns {string} + */ + + + function getNextNonSpaceNonCommentCharacter(text, node, locEnd) { + return text.charAt( // @ts-expect-error => TBD: can return false, should we define a fallback? + getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd)); + } // Not using, but it's public utils + + /* istanbul ignore next */ + + /** + * @param {string} text + * @param {number} index + * @param {SkipOptions=} opts + * @returns {boolean} + */ + + + function hasSpaces(text, index) { + let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); + return idx !== index; + } + /** + * @param {string} value + * @param {number} tabWidth + * @param {number=} startIndex + * @returns {number} + */ + + + function getAlignmentSize(value, tabWidth) { + let startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + let size = 0; + + for (let i = startIndex; i < value.length; ++i) { + if (value[i] === "\t") { + // Tabs behave in a way that they are aligned to the nearest + // multiple of tabWidth: + // 0 -> 4, 1 -> 4, 2 -> 4, 3 -> 4 + // 4 -> 8, 5 -> 8, 6 -> 8, 7 -> 8 ... + size = size + tabWidth - size % tabWidth; + } else { + size++; + } + } + + return size; + } + /** + * @param {string} value + * @param {number} tabWidth + * @returns {number} + */ + + + function getIndentSize(value, tabWidth) { + const lastNewlineIndex = value.lastIndexOf("\n"); + + if (lastNewlineIndex === -1) { + return 0; + } + + return getAlignmentSize( // All the leading whitespaces + value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], tabWidth); + } + /** + * @typedef {'"' | "'"} Quote + */ + + /** + * + * @param {string} rawContent + * @param {Quote} preferredQuote + * @returns {{ quote: Quote, regex: RegExp, escaped: string }} + */ + + + function getPreferredQuote(rawContent, preferredQuote) { + /** @type {{ quote: '"', regex: RegExp, escaped: """ }} */ + const double = { + quote: '"', + regex: /"/g, + escaped: """ + }; + /** @type {{ quote: "'", regex: RegExp, escaped: "'" }} */ + + const single = { + quote: "'", + regex: /'/g, + escaped: "'" + }; + const preferred = preferredQuote === "'" ? single : double; + const alternate = preferred === single ? double : single; + let result = preferred; // If `rawContent` contains at least one of the quote preferred for enclosing + // the string, we might want to enclose with the alternate quote instead, to + // minimize the number of escaped quotes. + + if (rawContent.includes(preferred.quote) || rawContent.includes(alternate.quote)) { + const numPreferredQuotes = (rawContent.match(preferred.regex) || []).length; + const numAlternateQuotes = (rawContent.match(alternate.regex) || []).length; + result = numPreferredQuotes > numAlternateQuotes ? alternate : preferred; + } + + return result; + } + + function printString(raw, options) { + // `rawContent` is the string exactly like it appeared in the input source + // code, without its enclosing quotes. + const rawContent = raw.slice(1, -1); + /** @type {Quote} */ + + const enclosingQuote = options.parser === "json" || options.parser === "json5" && options.quoteProps === "preserve" && !options.singleQuote ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote(rawContent, options.singleQuote ? "'" : '"').quote; // It might sound unnecessary to use `makeString` even if the string already + // is enclosed with `enclosingQuote`, but it isn't. The string could contain + // unnecessary escapes (such as in `"\'"`). Always using `makeString` makes + // sure that we consistently output the minimum amount of escaped quotes. + + return makeString(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.__embeddedInHtml)); + } + /** + * @param {string} rawContent + * @param {Quote} enclosingQuote + * @param {boolean=} unescapeUnnecessaryEscapes + * @returns {string} + */ + + + function makeString(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { + const otherQuote = enclosingQuote === '"' ? "'" : '"'; // Matches _any_ escape and unescaped quotes (both single and double). + + const regex = /\\(.)|(["'])/gs; // Escape and unescape single and double quotes as needed to be able to + // enclose `rawContent` with `enclosingQuote`. + + const newContent = rawContent.replace(regex, (match, escaped, quote) => { + // If we matched an escape, and the escaped character is a quote of the + // other type than we intend to enclose the string with, there's no need for + // it to be escaped, so return it _without_ the backslash. + if (escaped === otherQuote) { + return escaped; + } // If we matched an unescaped quote and it is of the _same_ type as we + // intend to enclose the string with, it must be escaped, so return it with + // a backslash. + + + if (quote === enclosingQuote) { + return "\\" + quote; + } + + if (quote) { + return quote; + } // Unescape any unnecessarily escaped character. + // Adapted from https://github.com/eslint/eslint/blob/de0b4ad7bd820ade41b1f606008bea68683dc11a/lib/rules/no-useless-escape.js#L27 + + + return unescapeUnnecessaryEscapes && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(escaped) ? escaped : "\\" + escaped; + }); + return enclosingQuote + newContent + enclosingQuote; + } + + function printNumber(rawNumber) { + return rawNumber.toLowerCase() // Remove unnecessary plus and zeroes from scientific notation. + .replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/, "$1$2$3") // Remove unnecessary scientific notation (1e0). + .replace(/^([+-]?[\d.]+)e[+-]?0+$/, "$1") // Make sure numbers always start with a digit. + .replace(/^([+-])?\./, "$10.") // Remove extraneous trailing decimal zeroes. + .replace(/(\.\d+?)0+(?=e|$)/, "$1") // Remove trailing dot. + .replace(/\.(?=e|$)/, ""); + } + /** + * @param {string} str + * @param {string} target + * @returns {number} + */ + + + function getMaxContinuousCount(str, target) { + const results = str.match(new RegExp("(".concat(escapeStringRegexp(target), ")+"), "g")); + + if (results === null) { + return 0; + } + + return results.reduce((maxCount, result) => Math.max(maxCount, result.length / target.length), 0); + } + + function getMinNotPresentContinuousCount(str, target) { + const matches = str.match(new RegExp("(".concat(escapeStringRegexp(target), ")+"), "g")); + + if (matches === null) { + return 0; + } + + const countPresent = new Map(); + let max = 0; + + for (const match of matches) { + const count = match.length / target.length; + countPresent.set(count, true); + + if (count > max) { + max = count; + } + } + + for (let i = 1; i < max; i++) { + if (!countPresent.get(i)) { + return i; + } + } + + return max + 1; + } + /** + * @param {string} text + * @returns {number} + */ + + + function getStringWidth$1(text) { + if (!text) { + return 0; + } // shortcut to avoid needless string `RegExp`s, replacements, and allocations within `string-width` + + + if (!notAsciiRegex.test(text)) { + return text.length; + } + + return stringWidth(text); + } + + function addCommentHelper(node, comment) { + const comments = node.comments || (node.comments = []); + comments.push(comment); + comment.printed = false; + comment.nodeDescription = describeNodeForDebugging(node); + } + + function addLeadingComment(node, comment) { + comment.leading = true; + comment.trailing = false; + addCommentHelper(node, comment); + } + + function addDanglingComment(node, comment, marker) { + comment.leading = false; + comment.trailing = false; + + if (marker) { + comment.marker = marker; + } + + addCommentHelper(node, comment); + } + + function addTrailingComment(node, comment) { + comment.leading = false; + comment.trailing = true; + addCommentHelper(node, comment); + } + + function inferParserByLanguage(language, options) { + const { + languages + } = getSupportInfo({ + plugins: options.plugins + }); + const matched = languages.find(_ref => { + let { + name + } = _ref; + return name.toLowerCase() === language; + }) || languages.find(_ref2 => { + let { + aliases + } = _ref2; + return Array.isArray(aliases) && aliases.includes(language); + }) || languages.find(_ref3 => { + let { + extensions + } = _ref3; + return Array.isArray(extensions) && extensions.includes(".".concat(language)); + }); + return matched && matched.parsers[0]; + } + + function isFrontMatterNode(node) { + return node && node.type === "front-matter"; + } + + function getShebang(text) { + if (!text.startsWith("#!")) { + return ""; + } + + const index = text.indexOf("\n"); + + if (index === -1) { + return text; + } + + return text.slice(0, index); + } + /** + * @param {any} object + * @returns {object is Array} + */ + + + function isNonEmptyArray(object) { + return Array.isArray(object) && object.length > 0; + } + /** + * @param {string} description + * @returns {(node: any) => symbol} + */ + + + function createGroupIdMapper(description) { + const groupIds = new WeakMap(); + return function (node) { + if (!groupIds.has(node)) { + groupIds.set(node, Symbol(description)); + } + + return groupIds.get(node); + }; + } + + function describeNodeForDebugging(node) { + const nodeType = node.type || node.kind || "(unknown type)"; + let nodeName = String(node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || ""); + + if (nodeName.length > 20) { + nodeName = nodeName.slice(0, 19) + "…"; + } + + return nodeType + (nodeName ? " " + nodeName : ""); + } + + var util = { + inferParserByLanguage, + getStringWidth: getStringWidth$1, + getMaxContinuousCount, + getMinNotPresentContinuousCount, + getPenultimate, + getLast: getLast$2, + getNextNonSpaceNonCommentCharacterIndexWithStartIndex, + getNextNonSpaceNonCommentCharacterIndex, + getNextNonSpaceNonCommentCharacter, + skip, + skipWhitespace, + skipSpaces, + skipToLineEnd, + skipEverythingButNewLine, + skipInlineComment, + skipTrailingComment, + skipNewline, + isNextLineEmptyAfterIndex, + isNextLineEmpty, + isPreviousLineEmpty, + hasNewline, + hasNewlineInRange, + hasSpaces, + getAlignmentSize, + getIndentSize, + getPreferredQuote, + printString, + printNumber, + makeString, + addLeadingComment, + addDanglingComment, + addTrailingComment, + isFrontMatterNode, + getShebang, + isNonEmptyArray, + createGroupIdMapper + }; + + function guessEndOfLine(text) { + const index = text.indexOf("\r"); + + if (index >= 0) { + return text.charAt(index + 1) === "\n" ? "crlf" : "cr"; + } + + return "lf"; + } + + function convertEndOfLineToChars$1(value) { + switch (value) { + case "cr": + return "\r"; + + case "crlf": + return "\r\n"; + + default: + return "\n"; + } + } + + function countEndOfLineChars(text, eol) { + let regex; + /* istanbul ignore else */ + + if (eol === "\n") { + regex = /\n/g; + } else if (eol === "\r") { + regex = /\r/g; + } else if (eol === "\r\n") { + regex = /\r\n/g; + } else { + throw new Error("Unexpected \"eol\" ".concat(JSON.stringify(eol), ".")); + } + + const endOfLines = text.match(regex); + return endOfLines ? endOfLines.length : 0; + } + + function normalizeEndOfLine(text) { + return text.replace(/\r\n?/g, "\n"); + } + + var endOfLine = { + guessEndOfLine, + convertEndOfLineToChars: convertEndOfLineToChars$1, + countEndOfLineChars, + normalizeEndOfLine + }; + + const getLast$1 = getLast_1; + const { + literalline, + join + } = docBuilders; + + const isConcat$2 = doc => Array.isArray(doc) || doc && doc.type === "concat"; + + const getDocParts$2 = doc => { + if (Array.isArray(doc)) { + return doc; + } + /* istanbul ignore next */ + + + if (doc.type !== "concat" && doc.type !== "fill") { + throw new Error("Expect doc type to be `concat` or `fill`."); + } + + return doc.parts; + }; // Using a unique object to compare by reference. + + + const traverseDocOnExitStackMarker = {}; + + function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { + const docsStack = [doc]; + + while (docsStack.length > 0) { + const doc = docsStack.pop(); + + if (doc === traverseDocOnExitStackMarker) { + onExit(docsStack.pop()); + continue; + } + + if (onExit) { + docsStack.push(doc, traverseDocOnExitStackMarker); + } + + if ( // Should Recurse + !onEnter || onEnter(doc) !== false) { + // When there are multiple parts to process, + // the parts need to be pushed onto the stack in reverse order, + // so that they are processed in the original order + // when the stack is popped. + if (isConcat$2(doc) || doc.type === "fill") { + const parts = getDocParts$2(doc); + + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); + } + } else if (doc.type === "if-break") { + if (doc.flatContents) { + docsStack.push(doc.flatContents); + } + + if (doc.breakContents) { + docsStack.push(doc.breakContents); + } + } else if (doc.type === "group" && doc.expandedStates) { + if (shouldTraverseConditionalGroups) { + for (let ic = doc.expandedStates.length, i = ic - 1; i >= 0; --i) { + docsStack.push(doc.expandedStates[i]); + } + } else { + docsStack.push(doc.contents); + } + } else if (doc.contents) { + docsStack.push(doc.contents); + } + } + } + } + + function mapDoc(doc, cb) { + // Within a doc tree, the same subtrees can be found multiple times. + // E.g., often this happens in conditional groups. + // As an optimization (those subtrees can be huge) and to maintain the + // reference structure of the tree, the mapping results are cached in + // a map and reused. + const mapped = new Map(); + return rec(doc); + + function rec(doc) { + if (mapped.has(doc)) { + return mapped.get(doc); + } + + const result = process(doc); + mapped.set(doc, result); + return result; + } + + function process(doc) { + if (Array.isArray(doc)) { + return cb(doc.map(rec)); + } + + if (doc.type === "concat" || doc.type === "fill") { + const parts = doc.parts.map(rec); + return cb(Object.assign(Object.assign({}, doc), {}, { + parts + })); + } + + if (doc.type === "if-break") { + const breakContents = doc.breakContents && rec(doc.breakContents); + const flatContents = doc.flatContents && rec(doc.flatContents); + return cb(Object.assign(Object.assign({}, doc), {}, { + breakContents, + flatContents + })); + } + + if (doc.type === "group" && doc.expandedStates) { + const expandedStates = doc.expandedStates.map(rec); + const contents = expandedStates[0]; + return cb(Object.assign(Object.assign({}, doc), {}, { + contents, + expandedStates + })); + } + + if (doc.contents) { + const contents = rec(doc.contents); + return cb(Object.assign(Object.assign({}, doc), {}, { + contents + })); + } + + return cb(doc); + } + } + + function findInDoc(doc, fn, defaultValue) { + let result = defaultValue; + let hasStopped = false; + + function findInDocOnEnterFn(doc) { + const maybeResult = fn(doc); + + if (maybeResult !== undefined) { + hasStopped = true; + result = maybeResult; + } + + if (hasStopped) { + return false; + } + } + + traverseDoc(doc, findInDocOnEnterFn); + return result; + } + + function willBreakFn(doc) { + if (doc.type === "group" && doc.break) { + return true; + } + + if (doc.type === "line" && doc.hard) { + return true; + } + + if (doc.type === "break-parent") { + return true; + } + } + + function willBreak(doc) { + return findInDoc(doc, willBreakFn, false); + } + + function breakParentGroup(groupStack) { + if (groupStack.length > 0) { + const parentGroup = getLast$1(groupStack); // Breaks are not propagated through conditional groups because + // the user is expected to manually handle what breaks. + + if (!parentGroup.expandedStates && !parentGroup.break) { + // An alternative truthy value allows to distinguish propagated group breaks + // and not to print them as `group(..., { break: true })` in `--debug-print-doc`. + parentGroup.break = "propagated"; + } + } + + return null; + } + + function propagateBreaks(doc) { + const alreadyVisitedSet = new Set(); + const groupStack = []; + + function propagateBreaksOnEnterFn(doc) { + if (doc.type === "break-parent") { + breakParentGroup(groupStack); + } + + if (doc.type === "group") { + groupStack.push(doc); + + if (alreadyVisitedSet.has(doc)) { + return false; + } + + alreadyVisitedSet.add(doc); + } + } + + function propagateBreaksOnExitFn(doc) { + if (doc.type === "group") { + const group = groupStack.pop(); + + if (group.break) { + breakParentGroup(groupStack); + } + } + } + + traverseDoc(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, + /* shouldTraverseConditionalGroups */ + true); + } + + function removeLinesFn(doc) { + // Force this doc into flat mode by statically converting all + // lines into spaces (or soft lines into nothing). Hard lines + // should still output because there's too great of a chance + // of breaking existing assumptions otherwise. + if (doc.type === "line" && !doc.hard) { + return doc.soft ? "" : " "; + } + + if (doc.type === "if-break") { + return doc.flatContents || ""; + } + + return doc; + } + + function removeLines(doc) { + return mapDoc(doc, removeLinesFn); + } + + const isHardline = (doc, nextDoc) => doc && doc.type === "line" && doc.hard && nextDoc && nextDoc.type === "break-parent"; + + function stripDocTrailingHardlineFromDoc(doc) { + if (!doc) { + return doc; + } + + if (isConcat$2(doc) || doc.type === "fill") { + const parts = getDocParts$2(doc); + + while (parts.length > 1 && isHardline(...parts.slice(-2))) { + parts.length -= 2; + } + + if (parts.length > 0) { + const lastPart = stripDocTrailingHardlineFromDoc(getLast$1(parts)); + parts[parts.length - 1] = lastPart; + } + + return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, { + parts + }); + } + + switch (doc.type) { + case "align": + case "indent": + case "indent-if-break": + case "group": + case "line-suffix": + case "label": + { + const contents = stripDocTrailingHardlineFromDoc(doc.contents); + return Object.assign(Object.assign({}, doc), {}, { + contents + }); + } + + case "if-break": + { + const breakContents = stripDocTrailingHardlineFromDoc(doc.breakContents); + const flatContents = stripDocTrailingHardlineFromDoc(doc.flatContents); + return Object.assign(Object.assign({}, doc), {}, { + breakContents, + flatContents + }); + } + } + + return doc; + } + + function stripTrailingHardline(doc) { + // HACK remove ending hardline, original PR: #1984 + return stripDocTrailingHardlineFromDoc(cleanDoc(doc)); + } + + function cleanDocFn(doc) { + switch (doc.type) { + case "fill": + if (doc.parts.every(part => part === "")) { + return ""; + } + + break; + + case "group": + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } // Remove nested only group + + + if (doc.contents.type === "group" && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + + break; + + case "align": + case "indent": + case "indent-if-break": + case "line-suffix": + if (!doc.contents) { + return ""; + } + + break; + + case "if-break": + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + + break; + } + + if (!isConcat$2(doc)) { + return doc; + } + + const parts = []; + + for (const part of getDocParts$2(doc)) { + if (!part) { + continue; + } + + const [currentPart, ...restParts] = isConcat$2(part) ? getDocParts$2(part) : [part]; + + if (typeof currentPart === "string" && typeof getLast$1(parts) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + + parts.push(...restParts); + } + + if (parts.length === 0) { + return ""; + } + + if (parts.length === 1) { + return parts[0]; + } + + return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, { + parts + }); + } // A safer version of `normalizeDoc` + // - `normalizeDoc` concat strings and flat "concat" in `fill`, while `cleanDoc` don't + // - On `concat` object, `normalizeDoc` always return object with `parts`, `cleanDoc` may return strings + // - `cleanDoc` also remove nested `group`s and empty `fill`/`align`/`indent`/`line-suffix`/`if-break` if possible + + + function cleanDoc(doc) { + return mapDoc(doc, currentDoc => cleanDocFn(currentDoc)); + } + + function normalizeParts(parts) { + const newParts = []; + const restParts = parts.filter(Boolean); + + while (restParts.length > 0) { + const part = restParts.shift(); + + if (!part) { + continue; + } + + if (isConcat$2(part)) { + restParts.unshift(...getDocParts$2(part)); + continue; + } + + if (newParts.length > 0 && typeof getLast$1(newParts) === "string" && typeof part === "string") { + newParts[newParts.length - 1] += part; + continue; + } + + newParts.push(part); + } + + return newParts; + } + + function normalizeDoc(doc) { + return mapDoc(doc, currentDoc => { + if (Array.isArray(currentDoc)) { + return normalizeParts(currentDoc); + } + + if (!currentDoc.parts) { + return currentDoc; + } + + return Object.assign(Object.assign({}, currentDoc), {}, { + parts: normalizeParts(currentDoc.parts) + }); + }); + } + + function replaceEndOfLine(doc) { + return mapDoc(doc, currentDoc => typeof currentDoc === "string" && currentDoc.includes("\n") ? replaceTextEndOfLine(currentDoc) : currentDoc); + } // This function need return array + // TODO: remove `.parts` when we remove `docBuilders.concat()` + + + function replaceTextEndOfLine(text) { + let replacement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : literalline; + return join(replacement, text.split("\n")).parts; + } + + function canBreakFn(doc) { + if (doc.type === "line") { + return true; + } + } + + function canBreak(doc) { + return findInDoc(doc, canBreakFn, false); + } + + var docUtils = { + isConcat: isConcat$2, + getDocParts: getDocParts$2, + willBreak, + traverseDoc, + findInDoc, + mapDoc, + propagateBreaks, + removeLines, + stripTrailingHardline, + normalizeParts, + normalizeDoc, + cleanDoc, + replaceTextEndOfLine, + replaceEndOfLine, + canBreak + }; + + const { + getStringWidth, + getLast + } = util; + const { + convertEndOfLineToChars + } = endOfLine; + const { + fill, + cursor, + indent + } = docBuilders; + const { + isConcat: isConcat$1, + getDocParts: getDocParts$1 + } = docUtils; + /** @type {Record} */ + + let groupModeMap; + const MODE_BREAK = 1; + const MODE_FLAT = 2; + + function rootIndent() { + return { + value: "", + length: 0, + queue: [] + }; + } + + function makeIndent(ind, options) { + return generateInd(ind, { + type: "indent" + }, options); + } + + function makeAlign(indent, widthOrDoc, options) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent.root || rootIndent(); + } + + if (widthOrDoc < 0) { + return generateInd(indent, { + type: "dedent" + }, options); + } + + if (!widthOrDoc) { + return indent; + } + + if (widthOrDoc.type === "root") { + return Object.assign(Object.assign({}, indent), {}, { + root: indent + }); + } + + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent, { + type: alignType, + n: widthOrDoc + }, options); + } + + function generateInd(ind, newPart, options) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + + if (options.useTabs) { + addTabs(1); + } else { + addSpaces(options.tabWidth); + } + + break; + + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + + /* istanbul ignore next */ + + default: + throw new Error("Unexpected type '".concat(part.type, "'")); + } + } + + flushSpaces(); + return Object.assign(Object.assign({}, ind), {}, { + value, + length, + queue + }); + + function addTabs(count) { + value += "\t".repeat(count); + length += options.tabWidth * count; + } + + function addSpaces(count) { + value += " ".repeat(count); + length += count; + } + + function flush() { + if (options.useTabs) { + flushTabs(); + } else { + flushSpaces(); + } + } + + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); + } + + resetLast(); + } + + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); + } + + resetLast(); + } + + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } + } + + function trim(out) { + if (out.length === 0) { + return 0; + } + + let trimCount = 0; // Trim whitespace at the end of line + + while (out.length > 0 && typeof getLast(out) === "string" && /^[\t ]*$/.test(getLast(out))) { + trimCount += out.pop().length; + } + + if (out.length > 0 && typeof getLast(out) === "string") { + const trimmed = getLast(out).replace(/[\t ]*$/, ""); + trimCount += getLast(out).length - trimmed.length; + out[out.length - 1] = trimmed; + } + + return trimCount; + } + + function fits(next, restCommands, width, options, hasLineSuffix, mustBeFlat) { + let restIdx = restCommands.length; + const cmds = [next]; // `out` is only used for width counting because `trim` requires to look + // backwards for space characters. + + const out = []; + + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; + } + + cmds.push(restCommands[restIdx - 1]); + restIdx--; + continue; + } + + const [ind, mode, doc] = cmds.pop(); + + if (typeof doc === "string") { + out.push(doc); + width -= getStringWidth(doc); + } else if (isConcat$1(doc)) { + const parts = getDocParts$1(doc); + + for (let i = parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, parts[i]]); + } + } else { + switch (doc.type) { + case "indent": + cmds.push([makeIndent(ind, options), mode, doc.contents]); + break; + + case "align": + cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); + break; + + case "trim": + width += trim(out); + break; + + case "group": + { + if (mustBeFlat && doc.break) { + return false; + } + + const groupMode = doc.break ? MODE_BREAK : mode; + cmds.push([ind, groupMode, // The most expanded state takes up the least space on the current line. + doc.expandedStates && groupMode === MODE_BREAK ? getLast(doc.expandedStates) : doc.contents]); + + if (doc.id) { + groupModeMap[doc.id] = groupMode; + } + + break; + } + + case "fill": + for (let i = doc.parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, doc.parts[i]]); + } + + break; + + case "if-break": + case "indent-if-break": + { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; + + if (groupMode === MODE_BREAK) { + const breakContents = doc.type === "if-break" ? doc.breakContents : doc.negate ? doc.contents : indent(doc.contents); + + if (breakContents) { + cmds.push([ind, mode, breakContents]); + } + } + + if (groupMode === MODE_FLAT) { + const flatContents = doc.type === "if-break" ? doc.flatContents : doc.negate ? indent(doc.contents) : doc.contents; + + if (flatContents) { + cmds.push([ind, mode, flatContents]); + } + } + + break; + } + + case "line": + switch (mode) { + // fallthrough + case MODE_FLAT: + if (!doc.hard) { + if (!doc.soft) { + out.push(" "); + width -= 1; + } + + break; + } + + return true; + + case MODE_BREAK: + return true; + } + + break; + + case "line-suffix": + hasLineSuffix = true; + break; + + case "line-suffix-boundary": + if (hasLineSuffix) { + return false; + } + + break; + + case "label": + cmds.push([ind, mode, doc.contents]); + break; + } + } + } + + return false; + } + + function printDocToString(doc, options) { + groupModeMap = {}; + const width = options.printWidth; + const newLine = convertEndOfLineToChars(options.endOfLine); + let pos = 0; // cmds is basically a stack. We've turned a recursive call into a + // while loop which is much faster. The while loop below adds new + // cmds to the array instead of recursively calling `print`. + + const cmds = [[rootIndent(), MODE_BREAK, doc]]; + const out = []; + let shouldRemeasure = false; + let lineSuffix = []; + + while (cmds.length > 0) { + const [ind, mode, doc] = cmds.pop(); + + if (typeof doc === "string") { + const formatted = newLine !== "\n" ? doc.replace(/\n/g, newLine) : doc; + out.push(formatted); + pos += getStringWidth(formatted); + } else if (isConcat$1(doc)) { + const parts = getDocParts$1(doc); + + for (let i = parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, parts[i]]); + } + } else { + switch (doc.type) { + case "cursor": + out.push(cursor.placeholder); + break; + + case "indent": + cmds.push([makeIndent(ind, options), mode, doc.contents]); + break; + + case "align": + cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); + break; + + case "trim": + pos -= trim(out); + break; + + case "group": + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push([ind, doc.break ? MODE_BREAK : MODE_FLAT, doc.contents]); + break; + } + + // fallthrough + + case MODE_BREAK: + { + shouldRemeasure = false; + const next = [ind, MODE_FLAT, doc.contents]; + const rem = width - pos; + const hasLineSuffix = lineSuffix.length > 0; + + if (!doc.break && fits(next, cmds, rem, options, hasLineSuffix)) { + cmds.push(next); + } else { + // Expanded states are a rare case where a document + // can manually provide multiple representations of + // itself. It provides an array of documents + // going from the least expanded (most flattened) + // representation first to the most expanded. If a + // group has these, we need to manually go through + // these states and find the first one that fits. + if (doc.expandedStates) { + const mostExpanded = getLast(doc.expandedStates); + + if (doc.break) { + cmds.push([ind, MODE_BREAK, mostExpanded]); + break; + } else { + for (let i = 1; i < doc.expandedStates.length + 1; i++) { + if (i >= doc.expandedStates.length) { + cmds.push([ind, MODE_BREAK, mostExpanded]); + break; + } else { + const state = doc.expandedStates[i]; + const cmd = [ind, MODE_FLAT, state]; + + if (fits(cmd, cmds, rem, options, hasLineSuffix)) { + cmds.push(cmd); + break; + } + } + } + } + } else { + cmds.push([ind, MODE_BREAK, doc.contents]); + } + } + + break; + } + } + + if (doc.id) { + groupModeMap[doc.id] = getLast(cmds)[1]; + } + + break; + // Fills each line with as much code as possible before moving to a new + // line with the same indentation. + // + // Expects doc.parts to be an array of alternating content and + // whitespace. The whitespace contains the linebreaks. + // + // For example: + // ["I", line, "love", line, "monkeys"] + // or + // [{ type: group, ... }, softline, { type: group, ... }] + // + // It uses this parts structure to handle three main layout cases: + // * The first two content items fit on the same line without + // breaking + // -> output the first content item and the whitespace "flat". + // * Only the first content item fits on the line without breaking + // -> output the first content item "flat" and the whitespace with + // "break". + // * Neither content item fits on the line without breaking + // -> output the first content item and the whitespace with "break". + + case "fill": + { + const rem = width - pos; + const { + parts + } = doc; + + if (parts.length === 0) { + break; + } + + const [content, whitespace] = parts; + const contentFlatCmd = [ind, MODE_FLAT, content]; + const contentBreakCmd = [ind, MODE_BREAK, content]; + const contentFits = fits(contentFlatCmd, [], rem, options, lineSuffix.length > 0, true); + + if (parts.length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + + break; + } + + const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; + const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; + + if (parts.length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); + } + + break; + } // At this point we've handled the first pair (context, separator) + // and will create a new fill doc for the rest of the content. + // Ideally we wouldn't mutate the array here but copying all the + // elements to a new array would make this algorithm quadratic, + // which is unusable for large arrays (e.g. large texts in JSX). + + + parts.splice(0, 2); + const remainingCmd = [ind, mode, fill(parts)]; + const secondContent = parts[0]; + const firstAndSecondContentFlatCmd = [ind, MODE_FLAT, [content, whitespace, secondContent]]; + const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, options, lineSuffix.length > 0, true); + + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + + break; + } + + case "if-break": + case "indent-if-break": + { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; + + if (groupMode === MODE_BREAK) { + const breakContents = doc.type === "if-break" ? doc.breakContents : doc.negate ? doc.contents : indent(doc.contents); + + if (breakContents) { + cmds.push([ind, mode, breakContents]); + } + } + + if (groupMode === MODE_FLAT) { + const flatContents = doc.type === "if-break" ? doc.flatContents : doc.negate ? indent(doc.contents) : doc.contents; + + if (flatContents) { + cmds.push([ind, mode, flatContents]); + } + } + + break; + } + + case "line-suffix": + lineSuffix.push([ind, mode, doc.contents]); + break; + + case "line-suffix-boundary": + if (lineSuffix.length > 0) { + cmds.push([ind, mode, { + type: "line", + hard: true + }]); + } + + break; + + case "line": + switch (mode) { + case MODE_FLAT: + if (!doc.hard) { + if (!doc.soft) { + out.push(" "); + pos += 1; + } + + break; + } else { + // This line was forced into the output even if we + // were in flattened mode, so we need to tell the next + // group that no matter what, it needs to remeasure + // because the previous measurement didn't accurately + // capture the entire expression (this is necessary + // for nested groups) + shouldRemeasure = true; + } + + // fallthrough + + case MODE_BREAK: + if (lineSuffix.length > 0) { + cmds.push([ind, mode, doc], ...lineSuffix.reverse()); + lineSuffix = []; + break; + } + + if (doc.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim(out); + out.push(newLine + ind.value); + pos = ind.length; + } + + break; + } + + break; + + case "label": + cmds.push([ind, mode, doc.contents]); + break; + } + } // Flush remaining line-suffix contents at the end of the document, in case + // there is no new line after the line-suffix. + + + if (cmds.length === 0 && lineSuffix.length > 0) { + cmds.push(...lineSuffix.reverse()); + lineSuffix = []; + } + } + + const cursorPlaceholderIndex = out.indexOf(cursor.placeholder); + + if (cursorPlaceholderIndex !== -1) { + const otherCursorPlaceholderIndex = out.indexOf(cursor.placeholder, cursorPlaceholderIndex + 1); + const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); + const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); + return { + formatted: beforeCursor + aroundCursor + afterCursor, + cursorNodeStart: beforeCursor.length, + cursorNodeText: aroundCursor + }; + } + + return { + formatted: out.join("") + }; + } + + var docPrinter = { + printDocToString + }; + + const { + isConcat, + getDocParts + } = docUtils; + + function flattenDoc(doc) { + if (!doc) { + return ""; + } + + if (isConcat(doc)) { + const res = []; + + for (const part of getDocParts(doc)) { + if (isConcat(part)) { + res.push(...flattenDoc(part).parts); + } else { + const flattened = flattenDoc(part); + + if (flattened !== "") { + res.push(flattened); + } + } + } + + return { + type: "concat", + parts: res + }; + } + + if (doc.type === "if-break") { + return Object.assign(Object.assign({}, doc), {}, { + breakContents: flattenDoc(doc.breakContents), + flatContents: flattenDoc(doc.flatContents) + }); + } + + if (doc.type === "group") { + return Object.assign(Object.assign({}, doc), {}, { + contents: flattenDoc(doc.contents), + expandedStates: doc.expandedStates && doc.expandedStates.map(flattenDoc) + }); + } + + if (doc.type === "fill") { + return { + type: "fill", + parts: doc.parts.map(flattenDoc) + }; + } + + if (doc.contents) { + return Object.assign(Object.assign({}, doc), {}, { + contents: flattenDoc(doc.contents) + }); + } + + return doc; + } + + function printDocToDebug(doc) { + /** @type Record */ + const printedSymbols = Object.create(null); + /** @type Set */ + + const usedKeysForSymbols = new Set(); + return printDoc(flattenDoc(doc)); + + function printDoc(doc, index, parentParts) { + if (typeof doc === "string") { + return JSON.stringify(doc); + } + + if (isConcat(doc)) { + const printed = getDocParts(doc).map(printDoc).filter(Boolean); + return printed.length === 1 ? printed[0] : "[".concat(printed.join(", "), "]"); + } + + if (doc.type === "line") { + const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === "break-parent"; + + if (doc.literal) { + return withBreakParent ? "literalline" : "literallineWithoutBreakParent"; + } + + if (doc.hard) { + return withBreakParent ? "hardline" : "hardlineWithoutBreakParent"; + } + + if (doc.soft) { + return "softline"; + } + + return "line"; + } + + if (doc.type === "break-parent") { + const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === "line" && parentParts[index - 1].hard; + return afterHardline ? undefined : "breakParent"; + } + + if (doc.type === "trim") { + return "trim"; + } + + if (doc.type === "indent") { + return "indent(" + printDoc(doc.contents) + ")"; + } + + if (doc.type === "align") { + return doc.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + printDoc(doc.contents) + ")" : doc.n < 0 ? "dedent(" + printDoc(doc.contents) + ")" : doc.n.type === "root" ? "markAsRoot(" + printDoc(doc.contents) + ")" : "align(" + JSON.stringify(doc.n) + ", " + printDoc(doc.contents) + ")"; + } + + if (doc.type === "if-break") { + return "ifBreak(" + printDoc(doc.breakContents) + (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + (doc.groupId ? (!doc.flatContents ? ', ""' : "") + ", { groupId: ".concat(printGroupId(doc.groupId), " }") : "") + ")"; + } + + if (doc.type === "indent-if-break") { + const optionsParts = []; + + if (doc.negate) { + optionsParts.push("negate: true"); + } + + if (doc.groupId) { + optionsParts.push("groupId: ".concat(printGroupId(doc.groupId))); + } + + const options = optionsParts.length > 0 ? ", { ".concat(optionsParts.join(", "), " }") : ""; + return "indentIfBreak(".concat(printDoc(doc.contents)).concat(options, ")"); + } + + if (doc.type === "group") { + const optionsParts = []; + + if (doc.break && doc.break !== "propagated") { + optionsParts.push("shouldBreak: true"); + } + + if (doc.id) { + optionsParts.push("id: ".concat(printGroupId(doc.id))); + } + + const options = optionsParts.length > 0 ? ", { ".concat(optionsParts.join(", "), " }") : ""; + + if (doc.expandedStates) { + return "conditionalGroup([".concat(doc.expandedStates.map(part => printDoc(part)).join(","), "]").concat(options, ")"); + } + + return "group(".concat(printDoc(doc.contents)).concat(options, ")"); + } + + if (doc.type === "fill") { + return "fill([".concat(doc.parts.map(part => printDoc(part)).join(", "), "])"); + } + + if (doc.type === "line-suffix") { + return "lineSuffix(" + printDoc(doc.contents) + ")"; + } + + if (doc.type === "line-suffix-boundary") { + return "lineSuffixBoundary"; + } + + if (doc.type === "label") { + return "label(".concat(JSON.stringify(doc.label), ", ").concat(printDoc(doc.contents), ")"); + } + + throw new Error("Unknown doc type " + doc.type); + } + + function printGroupId(id) { + if (typeof id !== "symbol") { + return JSON.stringify(String(id)); + } + + if (id in printedSymbols) { + return printedSymbols[id]; + } // TODO: use Symbol.prototype.description instead of slice once Node 10 is dropped + + + const prefix = String(id).slice(7, -1) || "symbol"; + + for (let counter = 0;; counter++) { + const key = prefix + (counter > 0 ? " #".concat(counter) : ""); + + if (!usedKeysForSymbols.has(key)) { + usedKeysForSymbols.add(key); + return printedSymbols[id] = "Symbol.for(".concat(JSON.stringify(key), ")"); + } + } + } + } + + var docDebug = { + printDocToDebug + }; + + /** + * @typedef {import("./doc-builders").Doc} Doc + */ + + + var document = { + builders: docBuilders, + printer: docPrinter, + utils: docUtils, + debug: docDebug + }; + + return document; + +})); diff --git a/node_modules/prettier/esm/parser-angular.mjs b/node_modules/prettier/esm/parser-angular.mjs new file mode 100755 index 0000000..20f2acc --- /dev/null +++ b/node_modules/prettier/esm/parser-angular.mjs @@ -0,0 +1,45 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}};const n=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")};var r={exports:{}};const i=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));r.exports=i,r.exports.default=i;const s=e=>"string"==typeof e?e.replace(n(),""):e,u=r.exports,a=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},o=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=s(e)).length)return 0;e=e.replace(a()," ");let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=u(r)?2:1))}return t};t.exports=o,t.exports.default=o;var c=e=>e[e.length-1];function D(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},s=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var p=function(e){return e&&e.Math==Math&&e},h=p("object"==typeof globalThis&&globalThis)||p("object"==typeof window&&window)||p("object"==typeof self&&self)||p("object"==typeof e&&e)||function(){return this}()||Function("return this")(),d={},f=function(e){try{return!!e()}catch(e){return!0}},E=!f((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),v=Function.prototype.call,C=v.bind?v.bind(v):function(){return v.apply(v,arguments)},g={},F={}.propertyIsEnumerable,m=Object.getOwnPropertyDescriptor,y=m&&!F.call({1:2},1);g.f=y?function(e){var t=m(this,e);return!!t&&t.enumerable}:F;var x,A,S=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},w=Function.prototype,I=w.bind,O=w.call,b=I&&I.bind(O),N=I?function(e){return e&&b(O,e)}:function(e){return e&&function(){return O.apply(e,arguments)}},B=N,P=B({}.toString),T=B("".slice),R=function(e){return T(P(e),8,-1)},L=N,k=f,_=R,M=h.Object,j=L("".split),G=k((function(){return!M("z").propertyIsEnumerable(0)}))?function(e){return"String"==_(e)?j(e,""):M(e)}:M,K=h.TypeError,U=function(e){if(null==e)throw K("Can't call method on "+e);return e},W=G,$=U,V=function(e){return W($(e))},X=function(e){return"function"==typeof e},z=X,q=function(e){return"object"==typeof e?null!==e:z(e)},Q=h,Y=X,H=function(e){return Y(e)?e:void 0},J=function(e,t){return arguments.length<2?H(Q[e]):Q[e]&&Q[e][t]},Z=N({}.isPrototypeOf),ee=J("navigator","userAgent")||"",te=h,ne=ee,re=te.process,ie=te.Deno,se=re&&re.versions||ie&&ie.version,ue=se&&se.v8;ue&&(A=(x=ue.split("."))[0]>0&&x[0]<4?1:+(x[0]+x[1])),!A&&ne&&(!(x=ne.match(/Edge\/(\d+)/))||x[1]>=74)&&(x=ne.match(/Chrome\/(\d+)/))&&(A=+x[1]);var ae=A,oe=ae,ce=f,De=!!Object.getOwnPropertySymbols&&!ce((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&oe&&oe<41})),le=De&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,pe=J,he=X,de=Z,fe=le,Ee=h.Object,ve=fe?function(e){return"symbol"==typeof e}:function(e){var t=pe("Symbol");return he(t)&&de(t.prototype,Ee(e))},Ce=h.String,ge=function(e){try{return Ce(e)}catch(e){return"Object"}},Fe=X,me=ge,ye=h.TypeError,xe=function(e){if(Fe(e))return e;throw ye(me(e)+" is not a function")},Ae=xe,Se=function(e,t){var n=e[t];return null==n?void 0:Ae(n)},we=C,Ie=X,Oe=q,be=h.TypeError,Ne={exports:{}},Be=h,Pe=Object.defineProperty,Te=function(e,t){try{Pe(Be,e,{value:t,configurable:!0,writable:!0})}catch(n){Be[e]=t}return t},Re=Te,Le=h["__core-js_shared__"]||Re("__core-js_shared__",{}),ke=Le;(Ne.exports=function(e,t){return ke[e]||(ke[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var _e=U,Me=h.Object,je=function(e){return Me(_e(e))},Ge=je,Ke=N({}.hasOwnProperty),Ue=Object.hasOwn||function(e,t){return Ke(Ge(e),t)},We=N,$e=0,Ve=Math.random(),Xe=We(1..toString),ze=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Xe(++$e+Ve,36)},qe=h,Qe=Ne.exports,Ye=Ue,He=ze,Je=De,Ze=le,et=Qe("wks"),tt=qe.Symbol,nt=tt&&tt.for,rt=Ze?tt:tt&&tt.withoutSetter||He,it=function(e){if(!Ye(et,e)||!Je&&"string"!=typeof et[e]){var t="Symbol."+e;Je&&Ye(tt,e)?et[e]=tt[e]:et[e]=Ze&&nt?nt(t):rt(t)}return et[e]},st=C,ut=q,at=ve,ot=Se,ct=function(e,t){var n,r;if("string"===t&&Ie(n=e.toString)&&!Oe(r=we(n,e)))return r;if(Ie(n=e.valueOf)&&!Oe(r=we(n,e)))return r;if("string"!==t&&Ie(n=e.toString)&&!Oe(r=we(n,e)))return r;throw be("Can't convert object to primitive value")},Dt=it,lt=h.TypeError,pt=Dt("toPrimitive"),ht=function(e,t){if(!ut(e)||at(e))return e;var n,r=ot(e,pt);if(r){if(void 0===t&&(t="default"),n=st(r,e,t),!ut(n)||at(n))return n;throw lt("Can't convert object to primitive value")}return void 0===t&&(t="number"),ct(e,t)},dt=ve,ft=function(e){var t=ht(e,"string");return dt(t)?t:t+""},Et=q,vt=h.document,Ct=Et(vt)&&Et(vt.createElement),gt=function(e){return Ct?vt.createElement(e):{}},Ft=!E&&!f((function(){return 7!=Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),mt=E,yt=C,xt=g,At=S,St=V,wt=ft,It=Ue,Ot=Ft,bt=Object.getOwnPropertyDescriptor;d.f=mt?bt:function(e,t){if(e=St(e),t=wt(t),Ot)try{return bt(e,t)}catch(e){}if(It(e,t))return At(!yt(xt.f,e,t),e[t])};var Nt={},Bt=h,Pt=q,Tt=Bt.String,Rt=Bt.TypeError,Lt=function(e){if(Pt(e))return e;throw Rt(Tt(e)+" is not an object")},kt=E,_t=Ft,Mt=Lt,jt=ft,Gt=h.TypeError,Kt=Object.defineProperty;Nt.f=kt?Kt:function(e,t,n){if(Mt(e),t=jt(t),Mt(n),_t)try{return Kt(e,t,n)}catch(e){}if("get"in n||"set"in n)throw Gt("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var Ut=Nt,Wt=S,$t=E?function(e,t,n){return Ut.f(e,t,Wt(1,n))}:function(e,t,n){return e[t]=n,e},Vt={exports:{}},Xt=X,zt=Le,qt=N(Function.toString);Xt(zt.inspectSource)||(zt.inspectSource=function(e){return qt(e)});var Qt,Yt,Ht,Jt=zt.inspectSource,Zt=X,en=Jt,tn=h.WeakMap,nn=Zt(tn)&&/native code/.test(en(tn)),rn=Ne.exports,sn=ze,un=rn("keys"),an={},on=nn,cn=h,Dn=N,ln=q,pn=$t,hn=Ue,dn=Le,fn=function(e){return un[e]||(un[e]=sn(e))},En=an,vn=cn.TypeError,Cn=cn.WeakMap;if(on||dn.state){var gn=dn.state||(dn.state=new Cn),Fn=Dn(gn.get),mn=Dn(gn.has),yn=Dn(gn.set);Qt=function(e,t){if(mn(gn,e))throw new vn("Object already initialized");return t.facade=e,yn(gn,e,t),t},Yt=function(e){return Fn(gn,e)||{}},Ht=function(e){return mn(gn,e)}}else{var xn=fn("state");En[xn]=!0,Qt=function(e,t){if(hn(e,xn))throw new vn("Object already initialized");return t.facade=e,pn(e,xn,t),t},Yt=function(e){return hn(e,xn)?e[xn]:{}},Ht=function(e){return hn(e,xn)}}var An={set:Qt,get:Yt,has:Ht,enforce:function(e){return Ht(e)?Yt(e):Qt(e,{})},getterFor:function(e){return function(t){var n;if(!ln(t)||(n=Yt(t)).type!==e)throw vn("Incompatible receiver, "+e+" required");return n}}},Sn=E,wn=Ue,In=Function.prototype,On=Sn&&Object.getOwnPropertyDescriptor,bn=wn(In,"name"),Nn=bn&&"something"===function(){}.name,Bn=bn&&(!Sn||Sn&&On(In,"name").configurable),Pn=h,Tn=X,Rn=Ue,Ln=$t,kn=Te,_n=Jt,Mn={EXISTS:bn,PROPER:Nn,CONFIGURABLE:Bn}.CONFIGURABLE,jn=An.get,Gn=An.enforce,Kn=String(String).split("String");(Vt.exports=function(e,t,n,r){var i,s=!!r&&!!r.unsafe,u=!!r&&!!r.enumerable,a=!!r&&!!r.noTargetGet,o=r&&void 0!==r.name?r.name:t;Tn(n)&&("Symbol("===String(o).slice(0,7)&&(o="["+String(o).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Rn(n,"name")||Mn&&n.name!==o)&&Ln(n,"name",o),(i=Gn(n)).source||(i.source=Kn.join("string"==typeof o?o:""))),e!==Pn?(s?!a&&e[t]&&(u=!0):delete e[t],u?e[t]=n:Ln(e,t,n)):u?e[t]=n:kn(t,n)})(Function.prototype,"toString",(function(){return Tn(this)&&jn(this).source||_n(this)}));var Un={},Wn=Math.ceil,$n=Math.floor,Vn=function(e){var t=+e;return t!=t||0===t?0:(t>0?$n:Wn)(t)},Xn=Vn,zn=Math.max,qn=Math.min,Qn=Vn,Yn=Math.min,Hn=function(e){return e>0?Yn(Qn(e),9007199254740991):0},Jn=function(e){return Hn(e.length)},Zn=V,er=function(e,t){var n=Xn(e);return n<0?zn(n+t,0):qn(n,t)},tr=Jn,nr=function(e){return function(t,n,r){var i,s=Zn(t),u=tr(s),a=er(r,u);if(e&&n!=n){for(;u>a;)if((i=s[a++])!=i)return!0}else for(;u>a;a++)if((e||a in s)&&s[a]===n)return e||a||0;return!e&&-1}},rr={includes:nr(!0),indexOf:nr(!1)},ir=Ue,sr=V,ur=rr.indexOf,ar=an,or=N([].push),cr=function(e,t){var n,r=sr(e),i=0,s=[];for(n in r)!ir(ar,n)&&ir(r,n)&&or(s,n);for(;t.length>i;)ir(r,n=t[i++])&&(~ur(s,n)||or(s,n));return s},Dr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Un.f=Object.getOwnPropertyNames||function(e){return cr(e,Dr)};var lr={};lr.f=Object.getOwnPropertySymbols;var pr=J,hr=Un,dr=lr,fr=Lt,Er=N([].concat),vr=pr("Reflect","ownKeys")||function(e){var t=hr.f(fr(e)),n=dr.f;return n?Er(t,n(e)):t},Cr=Ue,gr=vr,Fr=d,mr=Nt,yr=f,xr=X,Ar=/#|\.prototype\./,Sr=function(e,t){var n=Ir[wr(e)];return n==br||n!=Or&&(xr(t)?yr(t):!!t)},wr=Sr.normalize=function(e){return String(e).replace(Ar,".").toLowerCase()},Ir=Sr.data={},Or=Sr.NATIVE="N",br=Sr.POLYFILL="P",Nr=Sr,Br=h,Pr=d.f,Tr=$t,Rr=Vt.exports,Lr=Te,kr=function(e,t){for(var n=gr(t),r=mr.f,i=Fr.f,s=0;s0&&$r(o))c=Vr(o),D=qr(e,t,o,c,D,s-1)-1;else{if(D>=9007199254740991)throw zr("Exceed the acceptable array length");e[D]=o}D++}l++}return D},Qr=qr,Yr={};Yr[it("toStringTag")]="z";var Hr=h,Jr="[object z]"===String(Yr),Zr=X,ei=R,ti=it("toStringTag"),ni=Hr.Object,ri="Arguments"==ei(function(){return arguments}()),ii=Jr?ei: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=ni(e),ti))?n:ri?ei(t):"Object"==(r=ei(t))&&Zr(t.callee)?"Arguments":r},si=N,ui=f,ai=X,oi=ii,ci=Jt,Di=function(){},li=[],pi=J("Reflect","construct"),hi=/^\s*(?:class|function)\b/,di=si(hi.exec),fi=!hi.exec(Di),Ei=function(e){if(!ai(e))return!1;try{return pi(Di,li,e),!0}catch(e){return!1}},vi=!pi||ui((function(){var e;return Ei(Ei.call)||!Ei(Object)||!Ei((function(){e=!0}))||e}))?function(e){if(!ai(e))return!1;switch(oi(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return fi||!!di(hi,ci(e))}:Ei,Ci=h,gi=Gr,Fi=vi,mi=q,yi=it("species"),xi=Ci.Array,Ai=function(e){var t;return gi(e)&&(t=e.constructor,(Fi(t)&&(t===xi||gi(t.prototype))||mi(t)&&null===(t=t[yi]))&&(t=void 0)),void 0===t?xi:t},Si=Qr,wi=xe,Ii=je,Oi=Jn,bi=function(e,t){return new(Ai(e))(0===t?0:t)};Mr({target:"Array",proto:!0},{flatMap:function(e){var t,n=Ii(this),r=Oi(n);return wi(e),(t=bi(n,0)).length=Si(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Ni=ii,Bi=h.String,Pi=N([].slice),Ti=Math.floor,Ri=function(e,t){var n=e.length,r=Ti(n/2);return n<8?Li(e,t):ki(e,Ri(Pi(e,0,r),t),Ri(Pi(e,r),t),t)},Li=function(e,t){for(var n,r,i=e.length,s=1;s0;)e[r]=e[--r];r!==s++&&(e[r]=n)}return e},ki=function(e,t,n,r){for(var i=t.length,s=n.length,u=0,a=0;u3)){if(es)return!0;if(ns)return ns<603;var e,t,n,r,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)rs.push({k:t+r,v:n})}for(rs.sort((function(e,t){return t.v-e.v})),r=0;rQi(n)?1:-1}}(e)),n=i.length,r=0;rs;s++)if((a=E(e[s]))&&Rs(Gs,a))return a;return new js(!1)}r=Ls(e,i)}for(o=r.next;!(c=bs(o,r)).done;){try{a=E(c.value)}catch(e){_s(r,"throw",e)}if("object"==typeof a&&a&&Rs(Gs,a))return a}return new js(!1)},Vs=function(e,t,n){var r=Ks(t);r in e?Us.f(e,r,Ws(0,n)):e[r]=n};Mr({target:"Object",stat:!0},{fromEntries:function(e){var t={};return $s(e,(function(e,n){Vs(t,e,n)}),{AS_ENTRIES:!0}),t}});var Xs=void 0!==Xs?Xs:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function zs(){throw new Error("setTimeout has not been defined")}function qs(){throw new Error("clearTimeout has not been defined")}var Qs=zs,Ys=qs;function Hs(e){if(Qs===setTimeout)return setTimeout(e,0);if((Qs===zs||!Qs)&&setTimeout)return Qs=setTimeout,setTimeout(e,0);try{return Qs(e,0)}catch(t){try{return Qs.call(null,e,0)}catch(t){return Qs.call(this,e,0)}}}"function"==typeof Xs.setTimeout&&(Qs=setTimeout),"function"==typeof Xs.clearTimeout&&(Ys=clearTimeout);var Js,Zs=[],eu=!1,tu=-1;function nu(){eu&&Js&&(eu=!1,Js.length?Zs=Js.concat(Zs):tu=-1,Zs.length&&ru())}function ru(){if(!eu){var e=Hs(nu);eu=!0;for(var t=Zs.length;t;){for(Js=Zs,Zs=[];++tu1)for(var n=1;n{};var Cu={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},gu={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Cu,r=vu,i=(t=e.exports={}).re=[],s=t.src=[],u=t.t={};let a=0;const o=(e,t,n)=>{const o=a++;r(o,t),u[e]=o,s[o]=t,i[o]=new RegExp(t,n?"g":void 0)};o("NUMERICIDENTIFIER","0|[1-9]\\d*"),o("NUMERICIDENTIFIERLOOSE","[0-9]+"),o("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),o("MAINVERSION","(".concat(s[u.NUMERICIDENTIFIER],")\\.")+"(".concat(s[u.NUMERICIDENTIFIER],")\\.")+"(".concat(s[u.NUMERICIDENTIFIER],")")),o("MAINVERSIONLOOSE","(".concat(s[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[u.NUMERICIDENTIFIERLOOSE],")")),o("PRERELEASEIDENTIFIER","(?:".concat(s[u.NUMERICIDENTIFIER],"|").concat(s[u.NONNUMERICIDENTIFIER],")")),o("PRERELEASEIDENTIFIERLOOSE","(?:".concat(s[u.NUMERICIDENTIFIERLOOSE],"|").concat(s[u.NONNUMERICIDENTIFIER],")")),o("PRERELEASE","(?:-(".concat(s[u.PRERELEASEIDENTIFIER],"(?:\\.").concat(s[u.PRERELEASEIDENTIFIER],")*))")),o("PRERELEASELOOSE","(?:-?(".concat(s[u.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(s[u.PRERELEASEIDENTIFIERLOOSE],")*))")),o("BUILDIDENTIFIER","[0-9A-Za-z-]+"),o("BUILD","(?:\\+(".concat(s[u.BUILDIDENTIFIER],"(?:\\.").concat(s[u.BUILDIDENTIFIER],")*))")),o("FULLPLAIN","v?".concat(s[u.MAINVERSION]).concat(s[u.PRERELEASE],"?").concat(s[u.BUILD],"?")),o("FULL","^".concat(s[u.FULLPLAIN],"$")),o("LOOSEPLAIN","[v=\\s]*".concat(s[u.MAINVERSIONLOOSE]).concat(s[u.PRERELEASELOOSE],"?").concat(s[u.BUILD],"?")),o("LOOSE","^".concat(s[u.LOOSEPLAIN],"$")),o("GTLT","((?:<|>)?=?)"),o("XRANGEIDENTIFIERLOOSE","".concat(s[u.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),o("XRANGEIDENTIFIER","".concat(s[u.NUMERICIDENTIFIER],"|x|X|\\*")),o("XRANGEPLAIN","[v=\\s]*(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:".concat(s[u.PRERELEASE],")?").concat(s[u.BUILD],"?")+")?)?"),o("XRANGEPLAINLOOSE","[v=\\s]*(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(s[u.PRERELEASELOOSE],")?").concat(s[u.BUILD],"?")+")?)?"),o("XRANGE","^".concat(s[u.GTLT],"\\s*").concat(s[u.XRANGEPLAIN],"$")),o("XRANGELOOSE","^".concat(s[u.GTLT],"\\s*").concat(s[u.XRANGEPLAINLOOSE],"$")),o("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),o("COERCERTL",s[u.COERCE],!0),o("LONETILDE","(?:~>?)"),o("TILDETRIM","(\\s*)".concat(s[u.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",o("TILDE","^".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAIN],"$")),o("TILDELOOSE","^".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAINLOOSE],"$")),o("LONECARET","(?:\\^)"),o("CARETTRIM","(\\s*)".concat(s[u.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",o("CARET","^".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAIN],"$")),o("CARETLOOSE","^".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAINLOOSE],"$")),o("COMPARATORLOOSE","^".concat(s[u.GTLT],"\\s*(").concat(s[u.LOOSEPLAIN],")$|^$")),o("COMPARATOR","^".concat(s[u.GTLT],"\\s*(").concat(s[u.FULLPLAIN],")$|^$")),o("COMPARATORTRIM","(\\s*)".concat(s[u.GTLT],"\\s*(").concat(s[u.LOOSEPLAIN],"|").concat(s[u.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",o("HYPHENRANGE","^\\s*(".concat(s[u.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(s[u.XRANGEPLAIN],")")+"\\s*$"),o("HYPHENRANGELOOSE","^\\s*(".concat(s[u.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(s[u.XRANGEPLAINLOOSE],")")+"\\s*$"),o("STAR","(<|>)?=?\\s*\\*"),o("GTE0","^\\s*>=\\s*0.0.0\\s*$"),o("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(gu,gu.exports);const Fu=["includePrerelease","loose","rtl"];var mu=e=>e?"object"!=typeof e?{loose:!0}:Fu.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const yu=/^[0-9]+$/,xu=(e,t)=>{const n=yu.test(e),r=yu.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:exu(t,e)};const Su=vu,{MAX_LENGTH:wu,MAX_SAFE_INTEGER:Iu}=Cu,{re:Ou,t:bu}=gu.exports,Nu=mu,{compareIdentifiers:Bu}=Au;class Pu{constructor(e,t){if(t=Nu(t),e instanceof Pu){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>wu)throw new TypeError("version is longer than ".concat(wu," characters"));Su("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?Ou[bu.LOOSE]:Ou[bu.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Iu||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Iu||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Iu||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}const Tu=Pu;var Ru=(e,t,n)=>new Tu(e,n).compare(new Tu(t,n));const Lu=Ru;var ku=(e,t,n)=>Lu(e,t,n)<0;const _u=Ru;var Mu,ju,Gu,Ku,Uu,Wu,$u=(e,t,n)=>_u(e,t,n)>=0,Vu={exports:{}};!function(e,t){function n(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Xu(Gu||(Gu=l(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Xu(Ku||(Ku=l(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Xu(Uu||(Uu=l(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Xu(Wu||(Wu=l(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const qu=["cliName","cliCategory","cliDescription"],Qu={compare:Ru,lt:ku,gte:$u},Yu=(e,t)=>Object.entries(e).map((e=>{let[n,r]=e;return Object.assign({[t]:n},r)})),Hu="2.5.1",Ju={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:zu}.options;function Zu(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!r.has(t)){r.add(t);const s=n.find((e=>e.parsers&&e.parsers[t]));let u=i.name;s&&s.name&&(u+=" (plugin: ".concat(s.name,")")),e.choices.push({value:t,description:u})}}var ea={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i=Hu.split("-",1)[0],s=e.flatMap((e=>e.languages||[])).filter(a),u=Yu(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),Ju),"name").filter((e=>a(e)&&o(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>Qu.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&o(e))),"parser"===t.name&&Zu(t,s,e));const n=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:n})}));return{languages:s,options:u};function a(e){return t||!("since"in e)||e.since&&Qu.gte(i,e.since)}function o(e){return n||!("deprecated"in e)||e.deprecated&&Qu.lt(i,e.deprecated)}function c(e){if(r)return e;return D(e,qu)}}};const ta=t.exports,na=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},ra=c,{getSupportInfo:ia}=ea,sa=/[^\x20-\x7F]/;function ua(e){return(t,n,r)=>{const i=r&&r.backwards;if(!1===n)return!1;const{length:s}=t;let u=n;for(;u>=0&&u2&&void 0!==arguments[2]?arguments[2]:{};const r=oa(e,n.backwards?t-1:t,n),i=ha(e,r,n);return r!==i}function fa(e,t){let n=null,r=t;for(;r!==n;)n=r,r=ca(e,r),r=la(e,r),r=oa(e,r);return r=pa(e,r),r=ha(e,r),!1!==r&&da(e,r)}function Ea(e,t){let n=null,r=t;for(;r!==n;)n=r,r=oa(e,r),r=la(e,r),r=pa(e,r),r=ha(e,r);return r}function va(e,t,n){return Ea(e,n(t))}function Ca(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let i=n;i(e.match(s.regex)||[]).length?s:i}return u}function Fa(e,t,n){const r='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,s)=>i===r?i:s===t?"\\"+s:s||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function ma(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let n=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");n.length>20&&(n=n.slice(0,19)+"\u2026");return t+(n?" "+n:"")}(e)}var ya={inferParserByLanguage:function(e,t){const{languages:n}=ia({plugins:t.plugins}),r=n.find((t=>{let{name:n}=t;return n.toLowerCase()===e}))||n.find((t=>{let{aliases:n}=t;return Array.isArray(n)&&n.includes(e)}))||n.find((t=>{let{extensions:n}=t;return Array.isArray(n)&&n.includes(".".concat(e))}));return r&&r.parsers[0]},getStringWidth:function(e){return e?sa.test(e)?ta(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(na(t),")+"),"g"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(na(t),")+"),"g"));if(null===n)return 0;const r=new Map;let i=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>i&&(i=n)}for(let e=1;ee[e.length-2],getLast:ra,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ea,getNextNonSpaceNonCommentCharacterIndex:va,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(va(e,t,n))},skip:ua,skipWhitespace:aa,skipSpaces:oa,skipToLineEnd:ca,skipEverythingButNewLine:Da,skipInlineComment:la,skipTrailingComment:pa,skipNewline:ha,isNextLineEmptyAfterIndex:fa,isNextLineEmpty:function(e,t,n){return fa(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=oa(e,r,{backwards:!0}),r=ha(e,r,{backwards:!0}),r=oa(e,r,{backwards:!0}),r!==ha(e,r,{backwards:!0})},hasNewline:da,hasNewlineInRange:function(e,t,n){for(let r=t;r2&&void 0!==arguments[2]?arguments[2]:{};const r=oa(e,n.backwards?t-1:t,n);return r!==t},getAlignmentSize:Ca,getIndentSize:function(e,t){const n=e.lastIndexOf("\n");return-1===n?0:Ca(e.slice(n+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:ga,printString:function(e,t){const n=e.slice(1,-1);return Fa(n,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":ga(n,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:Fa,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,ma(e,t)},addDanglingComment:function(e,t,n){t.leading=!1,t.trailing=!1,n&&(t.marker=n),ma(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,ma(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(n){return t.has(n)||t.set(n,Symbol(e)),t.get(n)}}};const{isNonEmptyArray:xa}=ya;function Aa(e,t){const{ignoreDecorators:n}=t||{};if(!n){const t=e.declaration&&e.declaration.decorators||e.decorators;if(xa(t))return Aa(t[0])}return e.range?e.range[0]:e.start}function Sa(e){return e.range?e.range[1]:e.end}function wa(e,t){return Aa(e)===Aa(t)}var Ia,Oa,ba,Na={locStart:Aa,locEnd:Sa,hasSameLocStart:wa,hasSameLoc:function(e,t){return wa(e,t)&&function(e,t){return Sa(e)===Sa(t)}(e,t)}},Ba={},Pa={},Ta={};Ia=Ta,Oa="\n",ba=function(){function e(e){this.string=e;for(var t=[0],n=0;nthis.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}(),Ia.__esModule=!0,Ia.default=ba,Object.defineProperty(Pa,"__esModule",{value:!0}),Pa.Context=void 0;const Ra=Ta;Pa.Context=class{constructor(e){this.text=e,this.locator=new La(this.text)}};class La{constructor(e){this._lineAndColumn=new Ra.default(e)}locationForIndex(e){const{line:t,column:n}=this._lineAndColumn.locationForIndex(e);return{line:t+1,column:n}}}var ka,_a={},Ma={}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class ja{constructor(e,t,n,r){this.input=t,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: ".concat(e," ").concat(n," [").concat(t,"] in ").concat(r)}}class Ga{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new ho(e+this.start,e+this.end)}}class Ka{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}}class Ua extends Ka{constructor(e,t,n){super(e,t),this.nameSpan=n}}class Wa extends Ka{constructor(e,t,n,r,i){super(e,t),this.prefix=n,this.uninterpretedExpression=r,this.location=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitQuote(this,t)}toString(){return"Quote"}}class $a extends Ka{visit(e){}}class Va extends Ka{visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitImplicitReceiver(this,t)}}class Xa extends Va{visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var n;return null===(n=e.visitThisReceiver)||void 0===n?void 0:n.call(e,this,t)}}class za extends Ka{constructor(e,t,n){super(e,t),this.expressions=n}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitChain(this,t)}}class qa extends Ka{constructor(e,t,n,r,i){super(e,t),this.condition=n,this.trueExp=r,this.falseExp=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitConditional(this,t)}}class Qa extends Ua{constructor(e,t,n,r,i){super(e,t,n),this.receiver=r,this.name=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitPropertyRead(this,t)}}class Ya extends Ua{constructor(e,t,n,r,i,s){super(e,t,n),this.receiver=r,this.name=i,this.value=s}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitPropertyWrite(this,t)}}class Ha extends Ua{constructor(e,t,n,r,i){super(e,t,n),this.receiver=r,this.name=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitSafePropertyRead(this,t)}}class Ja extends Ka{constructor(e,t,n,r){super(e,t),this.receiver=n,this.key=r}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitKeyedRead(this,t)}}class Za extends Ka{constructor(e,t,n,r){super(e,t),this.receiver=n,this.key=r}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitSafeKeyedRead(this,t)}}class eo extends Ka{constructor(e,t,n,r,i){super(e,t),this.receiver=n,this.key=r,this.value=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitKeyedWrite(this,t)}}class to extends Ua{constructor(e,t,n,r,i,s){super(e,t,s),this.exp=n,this.name=r,this.args=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitPipe(this,t)}}class no extends Ka{constructor(e,t,n){super(e,t),this.value=n}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitLiteralPrimitive(this,t)}}class ro extends Ka{constructor(e,t,n){super(e,t),this.expressions=n}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitLiteralArray(this,t)}}class io extends Ka{constructor(e,t,n,r){super(e,t),this.keys=n,this.values=r}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitLiteralMap(this,t)}}class so extends Ka{constructor(e,t,n,r){super(e,t),this.strings=n,this.expressions=r}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitInterpolation(this,t)}}class uo extends Ka{constructor(e,t,n,r,i){super(e,t),this.operation=n,this.left=r,this.right=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitBinary(this,t)}}class ao extends uo{constructor(e,t,n,r,i,s,u){super(e,t,i,s,u),this.operator=n,this.expr=r}static createMinus(e,t,n){return new ao(e,t,"-",n,"-",new no(e,t,0),n)}static createPlus(e,t,n){return new ao(e,t,"+",n,"-",n,new no(e,t,0))}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return void 0!==e.visitUnary?e.visitUnary(this,t):e.visitBinary(this,t)}}class oo extends Ka{constructor(e,t,n){super(e,t),this.expression=n}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitPrefixNot(this,t)}}class co extends Ka{constructor(e,t,n){super(e,t),this.expression=n}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitNonNullAssert(this,t)}}class Do extends Ua{constructor(e,t,n,r,i,s,u){super(e,t,n),this.receiver=r,this.name=i,this.args=s,this.argumentSpan=u}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitMethodCall(this,t)}}class lo extends Ua{constructor(e,t,n,r,i,s,u){super(e,t,n),this.receiver=r,this.name=i,this.args=s,this.argumentSpan=u}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitSafeMethodCall(this,t)}}class po extends Ka{constructor(e,t,n,r){super(e,t),this.target=n,this.args=r}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitFunctionCall(this,t)}}class ho{constructor(e,t){this.start=e,this.end=t}}class fo extends Ka{constructor(e,t,n,r,i){super(new Ga(0,null===t?0:t.length),new ho(r,null===t?r:r+t.length)),this.ast=e,this.source=t,this.location=n,this.errors=i}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return"".concat(this.source," in ").concat(this.location)}}class Eo{constructor(e,t,n){this.sourceSpan=e,this.key=t,this.value=n}}class vo{constructor(e,t,n){this.sourceSpan=e,this.key=t,this.value=n}}class Co{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitFunctionCall(e,t){e.target&&this.visit(e.target,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitQuote(e,t){}visitAll(e,t){for(const n of e)this.visit(n,t)}}!function(e){e[e.DEFAULT=0]="DEFAULT",e[e.LITERAL_ATTR=1]="LITERAL_ATTR",e[e.ANIMATION=2]="ANIMATION"}(ka||(ka={}));var go=Object.freeze({__proto__:null,ParserError:ja,ParseSpan:Ga,AST:Ka,ASTWithName:Ua,Quote:Wa,EmptyExpr:$a,ImplicitReceiver:Va,ThisReceiver:Xa,Chain:za,Conditional:qa,PropertyRead:Qa,PropertyWrite:Ya,SafePropertyRead:Ha,KeyedRead:Ja,SafeKeyedRead:Za,KeyedWrite:eo,BindingPipe:to,LiteralPrimitive:no,LiteralArray:ro,LiteralMap:io,Interpolation:so,Binary:uo,Unary:ao,PrefixNot:oo,NonNullAssert:co,MethodCall:Do,SafeMethodCall:lo,FunctionCall:po,AbsoluteSourceSpan:ho,ASTWithSource:fo,VariableBinding:Eo,ExpressionBinding:vo,RecursiveAstVisitor:Co,AstTransformer:class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new so(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new no(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new Qa(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new Ya(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new Ha(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new Do(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new lo(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new po(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new ro(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new io(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return ao.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return ao.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error("Unknown unary operator ".concat(e.operator))}}visitBinary(e,t){return new uo(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new oo(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new co(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new qa(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new to(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new Ja(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new eo(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){const t=[];for(let n=0;n=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const e=this.input,t=this.length;let n=this.peek,r=this.index;for(;n<=32;){if(++r>=t){n=0;break}n=e.charCodeAt(r)}if(this.peek=n,this.index=r,r>=t)return null;if(bo(n))return this.scanIdentifier();if(Fo(n))return this.scanNumber(r);const i=r;switch(n){case 46:return this.advance(),Fo(this.peek)?this.scanNumber(i):So(i,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(i,n);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(i,String.fromCharCode(n));case 63:return this.scanQuestion(i);case 60:case 62:return this.scanComplexOperator(i,String.fromCharCode(n),61,"=");case 33:case 61:return this.scanComplexOperator(i,String.fromCharCode(n),61,"=",61,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case 160:for(;(s=this.peek)>=9&&s<=32||160==s;)this.advance();return this.scanToken()}var s;return this.advance(),this.error("Unexpected character [".concat(String.fromCharCode(n),"]"),0)}scanCharacter(e,t){return this.advance(),So(e,this.index,t)}scanOperator(e,t){return this.advance(),wo(e,this.index,t)}scanComplexOperator(e,t,n,r,i,s){this.advance();let u=t;return this.peek==n&&(this.advance(),u+=r),null!=i&&this.peek==i&&(this.advance(),u+=s),wo(e,this.index,u)}scanIdentifier(){const e=this.index;for(this.advance();Bo(this.peek);)this.advance();const t=this.input.substring(e,this.index);return xo.indexOf(t)>-1?(n=e,r=this.index,i=t,new Ao(n,r,yo.Keyword,0,i)):function(e,t,n){return new Ao(e,t,yo.Identifier,0,n)}(e,this.index,t);var n,r,i}scanPrivateIdentifier(){const e=this.index;if(this.advance(),!bo(this.peek))return this.error("Invalid character [#]",-1);for(;Bo(this.peek);)this.advance();const t=this.input.substring(e,this.index);return n=e,r=this.index,i=t,new Ao(n,r,yo.PrivateIdentifier,0,i);var n,r,i}scanNumber(e){let t=this.index===e,n=!1;for(this.advance();;){if(Fo(this.peek));else if(95===this.peek){if(!Fo(this.input.charCodeAt(this.index-1))||!Fo(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);n=!0}else if(46===this.peek)t=!1;else{if(101!=(r=this.peek)&&69!=r)break;if(this.advance(),Po(this.peek)&&this.advance(),!Fo(this.peek))return this.error("Invalid exponent",-1);t=!1}this.advance()}var r;let i=this.input.substring(e,this.index);n&&(i=i.replace(/_/g,""));const s=t?function(e){const t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}(i):parseFloat(i);return u=e,a=this.index,o=s,new Ao(u,a,yo.Number,o,"");var u,a,o}scanString(){const e=this.index,t=this.peek;this.advance();let n="",r=this.index;const i=this.input;for(;this.peek!=t;)if(92==this.peek){let e;if(n+=i.substring(r,this.index),this.advance(),this.peek=this.peek,117==this.peek){const t=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(t))return this.error("Invalid unicode escape [\\u".concat(t,"]"),0);e=parseInt(t,16);for(let e=0;e<5;e++)this.advance()}else e=To(this.peek),this.advance();n+=String.fromCharCode(e),r=this.index}else{if(0==this.peek)return this.error("Unterminated quote",0);this.advance()}const s=i.substring(r,this.index);return this.advance(),u=e,a=this.index,o=n+s,new Ao(u,a,yo.String,0,o);var u,a,o}scanQuestion(e){this.advance();let t="?";return 63!==this.peek&&46!==this.peek||(t+=46===this.peek?".":"?",this.advance()),wo(e,this.index,t)}error(e,t){const n=this.index+t;return function(e,t,n){return new Ao(e,t,yo.Error,0,n)}(n,this.index,"Lexer Error: ".concat(e," at column ").concat(n," in expression [").concat(this.input,"]"))}}function bo(e){return 97<=e&&e<=122||65<=e&&e<=90||95==e||36==e}function No(e){if(0==e.length)return!1;const t=new Oo(e);if(!bo(t.peek))return!1;for(t.advance();0!==t.peek;){if(!Bo(t.peek))return!1;t.advance()}return!0}function Bo(e){return function(e){return e>=97&&e<=122||e>=65&&e<=90}(e)||Fo(e)||95==e||36==e}function Po(e){return 45==e||43==e}function To(e){switch(e){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return e}}var Ro=Object.freeze({__proto__:null,get TokenType(){return yo},Lexer:class{tokenize(e){const t=new Oo(e),n=[];let r=t.scanToken();for(;null!=r;)n.push(r),r=t.scanToken();return n}},Token:Ao,EOF:Io,isIdentifier:No}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */const Lo=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class ko{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error("Expected '".concat(e,"' to be an array, [start, end]."));if(null!=t){const e=t[0],n=t[1];Lo.forEach((t=>{if(t.test(e)||t.test(n))throw new Error("['".concat(e,"', '").concat(n,"'] contains unusable interpolation symbol."))}))}}("interpolation",e),new ko(e[0],e[1])):_o}}const _o=new ko("{{","}}"); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */class Mo{constructor(e,t,n){this.strings=e,this.expressions=t,this.offsets=n}}class jo{constructor(e,t,n){this.templateBindings=e,this.warnings=t,this.errors=n}}class Go{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=Wo}parseAction(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_o;this._checkNoInterpolation(e,t,r);const i=this._stripComments(e),s=this._lexer.tokenize(this._stripComments(e)),u=new Uo(e,t,n,s,i.length,!0,this.errors,e.length-i.length).parseChain();return new fo(u,e,t,n,this.errors)}parseBinding(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_o;const i=this._parseBindingAst(e,t,n,r);return new fo(i,e,t,n,this.errors)}checkSimpleExpression(e){const t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_o;const i=this._parseBindingAst(e,t,n,r),s=this.checkSimpleExpression(i);return s.length>0&&this._reportError("Host binding expression cannot contain ".concat(s.join(" ")),e,t),new fo(i,e,t,n,this.errors)}_reportError(e,t,n,r){this.errors.push(new ja(e,t,n,r))}_parseBindingAst(e,t,n,r){const i=this._parseQuote(e,t,n);if(null!=i)return i;this._checkNoInterpolation(e,t,r);const s=this._stripComments(e),u=this._lexer.tokenize(s);return new Uo(e,t,n,u,s.length,!1,this.errors,e.length-s.length).parseChain()}_parseQuote(e,t,n){if(null==e)return null;const r=e.indexOf(":");if(-1==r)return null;const i=e.substring(0,r).trim();if(!No(i))return null;const s=e.substring(r+1),u=new Ga(0,e.length);return new Wa(u,u.toAbsolute(n),i,s,t)}parseTemplateBindings(e,t,n,r,i){const s=this._lexer.tokenize(t);return new Uo(t,n,i,s,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new ho(r,r+e.length)})}parseInterpolation(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_o;const{strings:i,expressions:s,offsets:u}=this.splitInterpolation(e,t,r);if(0===s.length)return null;const a=[];for(let r=0;re.text)),a,e,t,n)}parseInterpolationExpression(e,t,n){const r=this._stripComments(e),i=this._lexer.tokenize(r),s=new Uo(e,t,n,i,r.length,!1,this.errors,0).parseChain();return this.createInterpolationAst(["",""],[s],e,t,n)}createInterpolationAst(e,t,n,r,i){const s=new Ga(0,n.length),u=new so(s,s.toAbsolute(i),e,t);return new fo(u,n,r,i,this.errors)}splitInterpolation(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_o;const r=[],i=[],s=[];let u=0,a=!1,o=!1,{start:c,end:D}=n;for(;u-1)break;s>-1&&u>-1&&this._reportError("Got interpolation (".concat(r).concat(i,") where expression was expected"),e,"at column ".concat(s," in"),t)}_getInterpolationEndIndex(e,t,n){for(const r of this._forEachUnquotedChar(e,n)){if(e.startsWith(t,r))return r;if(e.startsWith("//",r))return e.indexOf(t,r)}return-1}*_forEachUnquotedChar(e,t){let n=null,r=0;for(let i=t;i=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){if(this.index>0){return this.peek(-1).end+this.offset}return 0===this.tokens.length?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let n=this.currentEndIndex;if(void 0!==t&&t>this.currentEndIndex&&(n=t),e>n){const t=n;n=e,e=t}return new Ga(e,n)}sourceSpan(e,t){const n="".concat(e,"@").concat(this.inputIndex,":").concat(t);return this.sourceSpanCache.has(n)||this.sourceSpanCache.set(n,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(n)}advance(){this.index++}withContext(e,t){this.context|=e;const n=t();return this.context^=e,n}consumeOptionalCharacter(e){return!!this.next.isCharacter(e)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error("Missing expected ".concat(String.fromCharCode(e)))}consumeOptionalOperator(e){return!!this.next.isOperator(e)&&(this.advance(),!0)}expectOperator(e){this.consumeOptionalOperator(e)||this.error("Missing expected operator ".concat(e))}prettyPrintToken(e){return e===Io?"end of input":"token ".concat(e)}expectIdentifierOrKeyword(){const e=this.next;return e.isIdentifier()||e.isKeyword()?(this.advance(),e.toString()):(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error("Unexpected ".concat(this.prettyPrintToken(e),", expected identifier or keyword")),null)}expectIdentifierOrKeywordOrString(){const e=this.next;return e.isIdentifier()||e.isKeyword()||e.isString()?(this.advance(),e.toString()):(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error("Unexpected ".concat(this.prettyPrintToken(e),", expected identifier, keyword, or string")),"")}parseChain(){const e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();const r=this.parseAdditive();t=new uo(this.span(e),this.sourceSpan(e),n,t,r);continue}break}return t}parseAdditive(){const e=this.inputIndex;let t=this.parseMultiplicative();for(;this.next.type==yo.Operator;){const n=this.next.strValue;switch(n){case"+":case"-":this.advance();let r=this.parseMultiplicative();t=new uo(this.span(e),this.sourceSpan(e),n,t,r);continue}break}return t}parseMultiplicative(){const e=this.inputIndex;let t=this.parsePrefix();for(;this.next.type==yo.Operator;){const n=this.next.strValue;switch(n){case"*":case"%":case"/":this.advance();let r=this.parsePrefix();t=new uo(this.span(e),this.sourceSpan(e),n,t,r);continue}break}return t}parsePrefix(){if(this.next.type==yo.Operator){const e=this.inputIndex;let t;switch(this.next.strValue){case"+":return this.advance(),t=this.parsePrefix(),ao.createPlus(this.span(e),this.sourceSpan(e),t);case"-":return this.advance(),t=this.parsePrefix(),ao.createMinus(this.span(e),this.sourceSpan(e),t);case"!":return this.advance(),t=this.parsePrefix(),new oo(this.span(e),this.sourceSpan(e),t)}}return this.parseCallChain()}parseCallChain(){const e=this.inputIndex;let t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(91))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const n=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new po(this.span(e),this.sourceSpan(e),t,n)}else{if(!this.consumeOptionalOperator("!"))return t;t=new co(this.span(e),this.sourceSpan(e),t)}}parsePrimary(){const e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),e}if(this.next.isKeywordNull())return this.advance(),new no(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new no(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new no(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new no(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Xa(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;const t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new ro(this.span(e),this.sourceSpan(e),t)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Va(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){const t=this.next.toNumber();return this.advance(),new no(this.span(e),this.sourceSpan(e),t)}if(this.next.isString()){const t=this.next.toString();return this.advance(),new no(this.span(e),this.sourceSpan(e),t)}return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new $a(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error("Unexpected end of expression: ".concat(this.input)),new $a(this.span(e),this.sourceSpan(e))):(this.error("Unexpected token ".concat(this.next)),new $a(this.span(e),this.sourceSpan(e)))}parseExpressionList(e){const t=[];do{if(this.next.isCharacter(e))break;t.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return t}parseLiteralMap(){const e=[],t=[],n=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{const n=this.inputIndex,r=this.next.isString(),i=this.expectIdentifierOrKeywordOrString();if(e.push({key:i,quoted:r}),r)this.expectCharacter(58),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(58))t.push(this.parsePipe());else{const e=this.span(n),r=this.sourceSpan(n);t.push(new Qa(e,r,r,new Va(e,r),i))}}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new io(this.span(n),this.sourceSpan(n),e,t)}parseAccessMemberOrMethodCall(e,t,n){const r=this.inputIndex,i=this.withContext(Ko.Writable,(()=>{var t;const n=null!==(t=this.expectIdentifierOrKeyword())&&void 0!==t?t:"";return 0===n.length&&this.error("Expected identifier for property access",e.span.end),n})),s=this.sourceSpan(r);if(this.consumeOptionalCharacter(40)){const r=this.inputIndex;this.rparensExpected++;const u=this.parseCallArguments(),a=this.span(r,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;const o=this.span(t),c=this.sourceSpan(t);return n?new lo(o,c,s,e,i,u,a):new Do(o,c,s,e,i,u,a)}if(n)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new $a(this.span(t),this.sourceSpan(t))):new Ha(this.span(t),this.sourceSpan(t),s,e,i);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new $a(this.span(t),this.sourceSpan(t));const n=this.parseConditional();return new Ya(this.span(t),this.sourceSpan(t),s,e,i,n)}return new Qa(this.span(t),this.sourceSpan(t),s,e,i)}parseCallArguments(){if(this.next.isCharacter(41))return[];const e=[];do{e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return e}expectTemplateBindingKey(){let e="",t=!1;const n=this.currentAbsoluteOffset;do{e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-")}while(t);return{source:e,span:new ho(n,n+e.length)}}parseTemplateBindings(e){const t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;const r=this.parsePipe();if(r instanceof $a&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),!this.consumeOptionalOperator("="))return n?new Za(this.span(t),this.sourceSpan(t),e,r):new Ja(this.span(t),this.sourceSpan(t),e,r);if(!n){const n=this.parseConditional();return new eo(this.span(t),this.sourceSpan(t),e,r,n)}return this.error("The '?.' operator cannot be used in the assignment"),new $a(this.span(t),this.sourceSpan(t))}))}parseDirectiveKeywordBindings(e){const t=[];this.consumeOptionalCharacter(58);const n=this.getDirectiveBoundTarget();let r=this.currentAbsoluteOffset;const i=this.parseAsBinding(e);i||(this.consumeStatementTerminator(),r=this.currentAbsoluteOffset);const s=new ho(e.span.start,r);return t.push(new vo(s,e,n)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===Io||this.peekKeywordAs()||this.peekKeywordLet())return null;const e=this.parsePipe(),{start:t,end:n}=e.span,r=this.input.substring(t,n);return new fo(e,r,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();const t=this.expectTemplateBindingKey();this.consumeStatementTerminator();const n=new ho(e.span.start,this.currentAbsoluteOffset);return new Eo(n,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;const e=this.currentAbsoluteOffset;this.advance();const t=this.expectTemplateBindingKey();let n=null;this.consumeOptionalOperator("=")&&(n=this.expectTemplateBindingKey()),this.consumeStatementTerminator();const r=new ho(e,this.currentAbsoluteOffset);return new Eo(r,t,n)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.errors.push(new ja(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null==e&&(e=this.index),ee.visit(this,t)))}visitChain(e,t){}visitQuote(e,t){}visitSafeKeyedRead(e,t){}}class $o extends Co{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}var Vo=Object.freeze({__proto__:null,SplitInterpolation:Mo,TemplateBindingParseResult:jo,Parser:Go,IvyParser:class extends Go{constructor(){super(...arguments),this.simpleExpressionChecker=$o}},_ParseAST:Uo});!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.getLast=e.toLowerCamelCase=e.findBackChar=e.findFrontChar=e.fitSpans=e.getNgType=e.parseNgInterpolation=e.parseNgTemplateBindings=e.parseNgAction=e.parseNgSimpleBinding=e.parseNgBinding=e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;const t=go,n=Ro,r=Vo,i="angular-estree-parser";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";const s=[i,0];function u(){return new r.Parser(new n.Lexer)}function a(e,t){const n=u(),{astInput:r,comments:i}=D(e,n),{ast:s,errors:a}=t(r,n);return c(a),{ast:s,comments:i}}function o(e,t){if(e&&"object"==typeof e){if(Array.isArray(e))return e.forEach((e=>o(e,t)));for(const n of Object.keys(e)){const r=e[n];"span"===n?t(r):o(r,t)}}}function c(e){if(0!==e.length){const[{message:t}]=e;throw new SyntaxError(t.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function D(e,t){const n=t._commentStart(e);return null===n?{astInput:e,comments:[]}:{astInput:e.slice(0,n),comments:[{type:"Comment",value:e.slice(n+"//".length),span:{start:n,end:e.length}}]}}function l(e,t){let{start:n,end:r}=e,i=n,s=r;for(;s!==i&&/\s/.test(t[s-1]);)s--;for(;i!==s&&/\s/.test(t[i]);)i++;return{start:i,end:s}}function p(e,t){let{start:n,end:r}=e,i=n,s=r;for(;s!==t.length&&/\s/.test(t[s]);)s++;for(;0!==i&&/\s/.test(t[i-1]);)i--;return{start:i,end:s}}function h(e,t){return"("===t[e.start-1]&&")"===t[e.end]?{start:e.start-1,end:e.end+1}:e}e.parseNgBinding=function(e){return a(e,((e,t)=>t.parseBinding(e,...s)))},e.parseNgSimpleBinding=function(e){return a(e,((e,t)=>t.parseSimpleBinding(e,...s)))},e.parseNgAction=function(e){return a(e,((e,t)=>t.parseAction(e,...s)))},e.parseNgTemplateBindings=function(t){const n=u(),{templateBindings:r,errors:s}=n.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,t,i,0,0);return c(s),r},e.parseNgInterpolation=function(e){const t=u(),{astInput:n,comments:r}=D(e,t),i="{{",{ast:a,errors:l}=t.parseInterpolation(i+n+"}}",...s);c(l);const p=a.expressions[0],h=new Set;return o(p,(e=>{h.has(e)||(e.start-=i.length,e.end-=i.length,h.add(e))})),{ast:p,comments:r}},e.getNgType=function(e){return t.Unary&&e instanceof t.Unary?"Unary":e instanceof t.Binary?"Binary":e instanceof t.BindingPipe?"BindingPipe":e instanceof t.Chain?"Chain":e instanceof t.Conditional?"Conditional":e instanceof t.EmptyExpr?"EmptyExpr":e instanceof t.FunctionCall?"FunctionCall":e instanceof t.ImplicitReceiver?"ImplicitReceiver":e instanceof t.KeyedRead?"KeyedRead":e instanceof t.KeyedWrite?"KeyedWrite":e instanceof t.LiteralArray?"LiteralArray":e instanceof t.LiteralMap?"LiteralMap":e instanceof t.LiteralPrimitive?"LiteralPrimitive":e instanceof t.MethodCall?"MethodCall":e instanceof t.NonNullAssert?"NonNullAssert":e instanceof t.PrefixNot?"PrefixNot":e instanceof t.PropertyRead?"PropertyRead":e instanceof t.PropertyWrite?"PropertyWrite":e instanceof t.Quote?"Quote":e instanceof t.SafeMethodCall?"SafeMethodCall":e instanceof t.SafePropertyRead?"SafePropertyRead":e.type},e.fitSpans=function(e,t,n){let r=0;const i={start:e.start,end:e.end};for(;;){const e=p(i,t),n=h(e,t);if(e.start===n.start&&e.end===n.end)break;i.start=n.start,i.end=n.end,r++}return{hasParens:0!==(n?r-1:r),outerSpan:l(n?{start:i.start+1,end:i.end-1}:i,t),innerSpan:l(e,t)}},e.findFrontChar=function(e,t,n){let r=t;for(;!e.test(n[r]);)if(--r<0)throw new Error("Cannot find front char ".concat(e," from index ").concat(t," in ").concat(JSON.stringify(n)));return r},e.findBackChar=function(e,t,n){let r=t;for(;!e.test(n[r]);)if(++r>=n.length)throw new Error("Cannot find back char ".concat(e," from index ").concat(t," in ").concat(JSON.stringify(n)));return r},e.toLowerCamelCase=function(e){return e.slice(0,1).toLowerCase()+e.slice(1)},e.getLast=function(e){return 0===e.length?void 0:e[e.length-1]}}(Ma),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.transformSpan=e.transform=void 0;const t=Ma;function n(e,n){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!r){const{start:t,end:r}=e;return{start:t,end:r,loc:{start:n.locator.locationForIndex(t),end:n.locator.locationForIndex(r)}}}const{outerSpan:s,innerSpan:u,hasParens:a}=t.fitSpans(e,n.text,i);return Object.assign({start:u.start,end:u.end,loc:{start:n.locator.locationForIndex(u.start),end:n.locator.locationForIndex(u.end)}},a&&{extra:{parenthesized:!0,parenStart:s.start,parenEnd:s.end}})}e.transform=function(r,i){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const u=t.getNgType(r);switch(u){case"Unary":{const{operator:e,expr:t}=r;return c("UnaryExpression",{prefix:!0,argument:a(t),operator:e},r.span,{hasParentParens:s})}case"Binary":{const{left:e,operation:t,right:n}=r,i=n.span.start===n.span.end,u=e.span.start===e.span.end;if(i||u){const t=e.span.start===e.span.end?a(n):a(e);return c("UnaryExpression",{prefix:!0,argument:t,operator:i?"+":"-"},{start:r.span.start,end:v(t)},{hasParentParens:s})}const o=a(e),D=a(n);return c("&&"===t||"||"===t?"LogicalExpression":"BinaryExpression",{left:o,right:D,operator:t},{start:E(o),end:v(D)},{hasParentParens:s})}case"BindingPipe":{const{exp:e,name:n,args:i}=r,u=a(e),o=p(/\S/,p(/\|/,v(u))+1),D=c("Identifier",{name:n},{start:o,end:o+n.length}),l=i.map(a);return c("NGPipeExpression",{left:u,right:D,arguments:l},{start:E(u),end:v(0===l.length?D:t.getLast(l))},{hasParentParens:s})}case"Chain":{const{expressions:e}=r;return c("NGChainedExpression",{expressions:e.map(a)},r.span,{hasParentParens:s})}case"Comment":{const{value:e}=r;return c("CommentLine",{value:e},r.span,{processSpan:!1})}case"Conditional":{const{condition:e,trueExp:t,falseExp:n}=r,i=a(e),u=a(t),o=a(n);return c("ConditionalExpression",{test:i,consequent:u,alternate:o},{start:E(i),end:v(o)},{hasParentParens:s})}case"EmptyExpr":return c("NGEmptyExpression",{},r.span,{hasParentParens:s});case"FunctionCall":{const{target:e,args:t}=r,n=1===t.length?[o(t[0])]:t.map(a),i=a(e);return c("CallExpression",{callee:i,arguments:n},{start:E(i),end:r.span.end},{hasParentParens:s})}case"ImplicitReceiver":return c("ThisExpression",{},r.span,{hasParentParens:s});case"KeyedRead":{const{key:e}=r;return D(Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,a(e),{computed:!0,optional:!1},{end:r.span.end,hasParentParens:s})}case"LiteralArray":{const{expressions:e}=r;return c("ArrayExpression",{elements:e.map(a)},r.span,{hasParentParens:s})}case"LiteralMap":{const{keys:e,values:t}=r,n=t.map((e=>a(e))),i=e.map(((e,t)=>{let{key:i,quoted:s}=e;const u=n[t],a={start:p(/\S/,0===t?r.span.start+1:p(/,/,v(n[t-1]))+1),end:l(/\S/,l(/:/,E(u)-1)-1)+1},o=s?c("StringLiteral",{value:i},a):c("Identifier",{name:i},a);return c("ObjectProperty",{key:o,value:u,method:!1,shorthand:!1,computed:!1},{start:E(o),end:v(u)})}));return c("ObjectExpression",{properties:i},r.span,{hasParentParens:s})}case"LiteralPrimitive":{const{value:e}=r;switch(typeof e){case"boolean":return c("BooleanLiteral",{value:e},r.span,{hasParentParens:s});case"number":return c("NumericLiteral",{value:e},r.span,{hasParentParens:s});case"object":return c("NullLiteral",{},r.span,{hasParentParens:s});case"string":return c("StringLiteral",{value:e},r.span,{hasParentParens:s});case"undefined":return c("Identifier",{name:"undefined"},r.span,{hasParentParens:s});default:throw new Error("Unexpected LiteralPrimitive value type ".concat(typeof e))}}case"MethodCall":case"SafeMethodCall":{const e="SafeMethodCall"===u,{receiver:t,name:n,args:i}=r,p=1===i.length?[o(i[0])]:i.map(a),h=l(/\S/,l(/\(/,(0===p.length?l(/\)/,r.span.end-1):E(p[0]))-1)-1)+1,f=D(t,c("Identifier",{name:n},{start:h-n.length,end:h}),{computed:!1,optional:e}),v=d(f);return c(e||v?"OptionalCallExpression":"CallExpression",{callee:f,arguments:p},{start:E(f),end:r.span.end},{hasParentParens:s})}case"NonNullAssert":{const{expression:e}=r,t=a(e);return c("TSNonNullExpression",{expression:t},{start:E(t),end:r.span.end},{hasParentParens:s})}case"PrefixNot":{const{expression:e}=r,t=a(e);return c("UnaryExpression",{prefix:!0,operator:"!",argument:t},{start:r.span.start,end:v(t)},{hasParentParens:s})}case"PropertyRead":case"SafePropertyRead":{const e="SafePropertyRead"===u,{receiver:t,name:n}=r,i=l(/\S/,r.span.end-1)+1;return D(t,c("Identifier",{name:n},{start:i-n.length,end:i},h(t)?{hasParentParens:s}:{}),{computed:!1,optional:e},{hasParentParens:s})}case"KeyedWrite":{const{key:e,value:t}=r,n=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,i=a(e),u=a(t),o=D(n,i,{computed:!0,optional:!1},{end:p(/\]/,v(i))+1});return c("AssignmentExpression",{left:o,operator:"=",right:u},{start:E(o),end:v(u)},{hasParentParens:s})}case"PropertyWrite":{const{receiver:e,name:t,value:n}=r,i=a(n),u=l(/\S/,l(/=/,E(i)-1)-1)+1,o=D(e,c("Identifier",{name:t},{start:u-t.length,end:u}),{computed:!1,optional:!1});return c("AssignmentExpression",{left:o,operator:"=",right:i},{start:E(o),end:v(i)},{hasParentParens:s})}case"Quote":{const{prefix:e,uninterpretedExpression:t}=r;return c("NGQuotedExpression",{prefix:e,value:t},r.span,{hasParentParens:s})}default:throw new Error("Unexpected node ".concat(u))}function a(t){return e.transform(t,i)}function o(t){return e.transform(t,i,!0)}function c(e,t,r){let{processSpan:s=!0,hasParentParens:u=!1}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a=Object.assign(Object.assign({type:e},n(r,i,s,u)),t);switch(e){case"Identifier":{const e=a;e.loc.identifierName=e.name;break}case"NumericLiteral":{const e=a;e.extra=Object.assign(Object.assign({},e.extra),{raw:i.text.slice(e.start,e.end),rawValue:e.value});break}case"StringLiteral":{const e=a;e.extra=Object.assign(Object.assign({},e.extra),{raw:i.text.slice(e.start,e.end),rawValue:e.value});break}}return a}function D(e,t,n){let{end:r=v(t),hasParentParens:i=!1}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(h(e))return t;const s=a(e),u=d(s);return c(n.optional||u?"OptionalMemberExpression":"MemberExpression",Object.assign({object:s,property:t,computed:n.computed},n.optional?{optional:!0}:u?{optional:!1}:null),{start:E(s),end:r},{hasParentParens:i})}function l(e,n){return t.findFrontChar(e,n,i.text)}function p(e,n){return t.findBackChar(e,n,i.text)}function h(e){return e.span.start>=e.span.end||/^\s+$/.test(i.text.slice(e.span.start,e.span.end))}function d(e){return("OptionalCallExpression"===e.type||"OptionalMemberExpression"===e.type)&&!f(e)}function f(e){return e.extra&&e.extra.parenthesized}function E(e){return f(e)?e.extra.parenStart:e.start}function v(e){return f(e)?e.extra.parenEnd:e.end}},e.transformSpan=n}(_a);var Xo={};Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.transformTemplateBindings=void 0;const zo=go,qo=_a,Qo=Ma;Xo.transformTemplateBindings=function(e,t){e.forEach((function(e){h(e.key.span),p(e)&&e.value&&h(e.value.span)}));const[n]=e,{key:r}=n,i=0===t.text.slice(n.sourceSpan.start,n.sourceSpan.end).trim().length?e.slice(1):e,s=[];let u=null;for(let e=0;eObject.assign(Object.assign({},e),qo.transformSpan({start:e.start,end:n},t)),i=t=>Object.assign(Object.assign({},r(t,e.end)),{alias:e}),u=s.pop();if("NGMicrosyntaxExpression"===u.type)s.push(i(u));else{if("NGMicrosyntaxKeyedExpression"!==u.type)throw new Error("Unexpected type ".concat(u.type));{const e=i(u.expression);s.push(r(Object.assign(Object.assign({},u),{expression:e}),e.end))}}}else s.push(a(n,e));u=n}return c("NGMicrosyntax",{body:s},0===s.length?e[0].sourceSpan:{start:s[0].start,end:s[s.length-1].end});function a(e,n){if(l(e)){const{key:t,value:r}=e;return r?0===n?c("NGMicrosyntaxExpression",{expression:o(r.ast),alias:null},r.sourceSpan):c("NGMicrosyntaxKeyedExpression",{key:c("NGMicrosyntaxKey",{name:D(t.source)},t.span),expression:c("NGMicrosyntaxExpression",{expression:o(r.ast),alias:null},r.sourceSpan)},{start:t.span.start,end:r.sourceSpan.end}):c("NGMicrosyntaxKey",{name:D(t.source)},t.span)}{const{key:n,sourceSpan:r}=e;if(/^let\s$/.test(t.text.slice(r.start,r.start+4))){const{value:t}=e;return c("NGMicrosyntaxLet",{key:c("NGMicrosyntaxKey",{name:n.source},n.span),value:t?c("NGMicrosyntaxKey",{name:t.source},t.span):null},{start:r.start,end:t?t.span.end:n.span.end})}{const r=function(e){if(!e.value||e.value.source!==Qo.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return e.value;const n=Qo.findBackChar(/\S/,e.sourceSpan.start,t.text);return{source:"$implicit",span:{start:n,end:n}}}(e);return c("NGMicrosyntaxAs",{key:c("NGMicrosyntaxKey",{name:r.source},r.span),alias:c("NGMicrosyntaxKey",{name:n.source},n.span)},{start:r.span.start,end:n.span.end})}}}function o(e){return qo.transform(e,t)}function c(e,n,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return Object.assign(Object.assign({type:e},qo.transformSpan(r,t,i)),n)}function D(e){return Qo.toLowerCamelCase(e.slice(r.source.length))}function l(e){return e instanceof zo.ExpressionBinding}function p(e){return e instanceof zo.VariableBinding}function h(e){if('"'!==t.text[e.start]&&"'"!==t.text[e.start])return;const n=t.text[e.start];let r=!1;for(let i=e.start+1;iHo.transform(e,i),u=s(n);return u.comments=r.map(s),u}Ba.parseBinding=function(e){return ec(e,Zo.parseNgBinding)},Ba.parseSimpleBinding=function(e){return ec(e,Zo.parseNgSimpleBinding)},Ba.parseInterpolation=function(e){return ec(e,Zo.parseNgInterpolation)},Ba.parseAction=function(e){return ec(e,Zo.parseNgAction)},Ba.parseTemplateBindings=function(e){return Jo.transformTemplateBindings(Zo.parseNgTemplateBindings(e),new Yo.Context(e))};const{locStart:tc,locEnd:nc}=Na;function rc(e){return{astFormat:"estree",parse:(t,n,r)=>{const i=e(t,Ba);return{type:"NGRoot",node:"__ng_action"===r.parser&&"NGChainedExpression"!==i.type?Object.assign(Object.assign({},i),{},{type:"NGChainedExpression",expressions:[i]}):i}},locStart:tc,locEnd:nc}}var ic={parsers:{__ng_action:rc(((e,t)=>t.parseAction(e))),__ng_binding:rc(((e,t)=>t.parseBinding(e))),__ng_interpolation:rc(((e,t)=>t.parseInterpolation(e))),__ng_directive:rc(((e,t)=>t.parseTemplateBindings(e)))}};export{ic as default}; diff --git a/node_modules/prettier/esm/parser-babel.mjs b/node_modules/prettier/esm/parser-babel.mjs new file mode 100755 index 0000000..584ac32 --- /dev/null +++ b/node_modules/prettier/esm/parser-babel.mjs @@ -0,0 +1 @@ +var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){return t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var s=function(t){return t&&t.Math==Math&&t},r=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof t&&t)||function(){return this}()||Function("return this")(),i={},n=function(t){try{return!!t()}catch(t){return!0}},a=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),o=Function.prototype.call,u=o.bind?o.bind(o):function(){return o.apply(o,arguments)},h={},p={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,l=c&&!p.call({1:2},1);h.f=l?function(t){var e=c(this,t);return!!e&&e.enumerable}:p;var d,D,m=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},f=Function.prototype,y=f.bind,E=f.call,A=y&&y.bind(E),C=y?function(t){return t&&A(E,t)}:function(t){return t&&function(){return E.apply(t,arguments)}},x=C,F=x({}.toString),g=x("".slice),P=function(t){return g(F(t),8,-1)},T=C,b=n,S=P,w=r.Object,B=T("".split),N=b((function(){return!w("z").propertyIsEnumerable(0)}))?function(t){return"String"==S(t)?B(t,""):w(t)}:w,I=r.TypeError,v=function(t){if(null==t)throw I("Can't call method on "+t);return t},k=N,L=v,O=function(t){return k(L(t))},M=function(t){return"function"==typeof t},R=M,j=function(t){return"object"==typeof t?null!==t:R(t)},U=r,_=M,z=function(t){return _(t)?t:void 0},H=function(t,e){return arguments.length<2?z(U[t]):U[t]&&U[t][e]},V=C({}.isPrototypeOf),q=H("navigator","userAgent")||"",G=r,W=q,K=G.process,X=G.Deno,J=K&&K.versions||X&&X.version,$=J&&J.v8;$&&(D=(d=$.split("."))[0]>0&&d[0]<4?1:+(d[0]+d[1])),!D&&W&&(!(d=W.match(/Edge\/(\d+)/))||d[1]>=74)&&(d=W.match(/Chrome\/(\d+)/))&&(D=+d[1]);var Y=D,Q=Y,Z=n,tt=!!Object.getOwnPropertySymbols&&!Z((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&Q&&Q<41})),et=tt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,st=H,rt=M,it=V,nt=et,at=r.Object,ot=nt?function(t){return"symbol"==typeof t}:function(t){var e=st("Symbol");return rt(e)&&it(e.prototype,at(t))},ut=r.String,ht=function(t){try{return ut(t)}catch(t){return"Object"}},pt=M,ct=ht,lt=r.TypeError,dt=function(t){if(pt(t))return t;throw lt(ct(t)+" is not a function")},Dt=dt,mt=function(t,e){var s=t[e];return null==s?void 0:Dt(s)},ft=u,yt=M,Et=j,At=r.TypeError,Ct={exports:{}},xt=r,Ft=Object.defineProperty,gt=function(t,e){try{Ft(xt,t,{value:e,configurable:!0,writable:!0})}catch(s){xt[t]=e}return e},Pt=gt,Tt=r["__core-js_shared__"]||Pt("__core-js_shared__",{}),bt=Tt;(Ct.exports=function(t,e){return bt[t]||(bt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var St=v,wt=r.Object,Bt=function(t){return wt(St(t))},Nt=Bt,It=C({}.hasOwnProperty),vt=Object.hasOwn||function(t,e){return It(Nt(t),e)},kt=C,Lt=0,Ot=Math.random(),Mt=kt(1..toString),Rt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Mt(++Lt+Ot,36)},jt=r,Ut=Ct.exports,_t=vt,zt=Rt,Ht=tt,Vt=et,qt=Ut("wks"),Gt=jt.Symbol,Wt=Gt&&Gt.for,Kt=Vt?Gt:Gt&&Gt.withoutSetter||zt,Xt=function(t){if(!_t(qt,t)||!Ht&&"string"!=typeof qt[t]){var e="Symbol."+t;Ht&&_t(Gt,t)?qt[t]=Gt[t]:qt[t]=Vt&&Wt?Wt(e):Kt(e)}return qt[t]},Jt=u,$t=j,Yt=ot,Qt=mt,Zt=function(t,e){var s,r;if("string"===e&&yt(s=t.toString)&&!Et(r=ft(s,t)))return r;if(yt(s=t.valueOf)&&!Et(r=ft(s,t)))return r;if("string"!==e&&yt(s=t.toString)&&!Et(r=ft(s,t)))return r;throw At("Can't convert object to primitive value")},te=Xt,ee=r.TypeError,se=te("toPrimitive"),re=function(t,e){if(!$t(t)||Yt(t))return t;var s,r=Qt(t,se);if(r){if(void 0===e&&(e="default"),s=Jt(r,t,e),!$t(s)||Yt(s))return s;throw ee("Can't convert object to primitive value")}return void 0===e&&(e="number"),Zt(t,e)},ie=ot,ne=function(t){var e=re(t,"string");return ie(e)?e:e+""},ae=j,oe=r.document,ue=ae(oe)&&ae(oe.createElement),he=function(t){return ue?oe.createElement(t):{}},pe=!a&&!n((function(){return 7!=Object.defineProperty(he("div"),"a",{get:function(){return 7}}).a})),ce=a,le=u,de=h,De=m,me=O,fe=ne,ye=vt,Ee=pe,Ae=Object.getOwnPropertyDescriptor;i.f=ce?Ae:function(t,e){if(t=me(t),e=fe(e),Ee)try{return Ae(t,e)}catch(t){}if(ye(t,e))return De(!le(de.f,t,e),t[e])};var Ce={},xe=r,Fe=j,ge=xe.String,Pe=xe.TypeError,Te=function(t){if(Fe(t))return t;throw Pe(ge(t)+" is not an object")},be=a,Se=pe,we=Te,Be=ne,Ne=r.TypeError,Ie=Object.defineProperty;Ce.f=be?Ie:function(t,e,s){if(we(t),e=Be(e),we(s),Se)try{return Ie(t,e,s)}catch(t){}if("get"in s||"set"in s)throw Ne("Accessors not supported");return"value"in s&&(t[e]=s.value),t};var ve=Ce,ke=m,Le=a?function(t,e,s){return ve.f(t,e,ke(1,s))}:function(t,e,s){return t[e]=s,t},Oe={exports:{}},Me=M,Re=Tt,je=C(Function.toString);Me(Re.inspectSource)||(Re.inspectSource=function(t){return je(t)});var Ue,_e,ze,He=Re.inspectSource,Ve=M,qe=He,Ge=r.WeakMap,We=Ve(Ge)&&/native code/.test(qe(Ge)),Ke=Ct.exports,Xe=Rt,Je=Ke("keys"),$e={},Ye=We,Qe=r,Ze=C,ts=j,es=Le,ss=vt,rs=Tt,is=function(t){return Je[t]||(Je[t]=Xe(t))},ns=$e,as=Qe.TypeError,os=Qe.WeakMap;if(Ye||rs.state){var us=rs.state||(rs.state=new os),hs=Ze(us.get),ps=Ze(us.has),cs=Ze(us.set);Ue=function(t,e){if(ps(us,t))throw new as("Object already initialized");return e.facade=t,cs(us,t,e),e},_e=function(t){return hs(us,t)||{}},ze=function(t){return ps(us,t)}}else{var ls=is("state");ns[ls]=!0,Ue=function(t,e){if(ss(t,ls))throw new as("Object already initialized");return e.facade=t,es(t,ls,e),e},_e=function(t){return ss(t,ls)?t[ls]:{}},ze=function(t){return ss(t,ls)}}var ds={set:Ue,get:_e,has:ze,enforce:function(t){return ze(t)?_e(t):Ue(t,{})},getterFor:function(t){return function(e){var s;if(!ts(e)||(s=_e(e)).type!==t)throw as("Incompatible receiver, "+t+" required");return s}}},Ds=a,ms=vt,fs=Function.prototype,ys=Ds&&Object.getOwnPropertyDescriptor,Es=ms(fs,"name"),As=Es&&"something"===function(){}.name,Cs=Es&&(!Ds||Ds&&ys(fs,"name").configurable),xs=r,Fs=M,gs=vt,Ps=Le,Ts=gt,bs=He,Ss={EXISTS:Es,PROPER:As,CONFIGURABLE:Cs}.CONFIGURABLE,ws=ds.get,Bs=ds.enforce,Ns=String(String).split("String");(Oe.exports=function(t,e,s,r){var i,n=!!r&&!!r.unsafe,a=!!r&&!!r.enumerable,o=!!r&&!!r.noTargetGet,u=r&&void 0!==r.name?r.name:e;Fs(s)&&("Symbol("===String(u).slice(0,7)&&(u="["+String(u).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!gs(s,"name")||Ss&&s.name!==u)&&Ps(s,"name",u),(i=Bs(s)).source||(i.source=Ns.join("string"==typeof u?u:""))),t!==xs?(n?!o&&t[e]&&(a=!0):delete t[e],a?t[e]=s:Ps(t,e,s)):a?t[e]=s:Ts(e,s)})(Function.prototype,"toString",(function(){return Fs(this)&&ws(this).source||bs(this)}));var Is={},vs=Math.ceil,ks=Math.floor,Ls=function(t){var e=+t;return e!=e||0===e?0:(e>0?ks:vs)(e)},Os=Ls,Ms=Math.max,Rs=Math.min,js=Ls,Us=Math.min,_s=function(t){return t>0?Us(js(t),9007199254740991):0},zs=function(t){return _s(t.length)},Hs=O,Vs=function(t,e){var s=Os(t);return s<0?Ms(s+e,0):Rs(s,e)},qs=zs,Gs=function(t){return function(e,s,r){var i,n=Hs(e),a=qs(n),o=Vs(r,a);if(t&&s!=s){for(;a>o;)if((i=n[o++])!=i)return!0}else for(;a>o;o++)if((t||o in n)&&n[o]===s)return t||o||0;return!t&&-1}},Ws={includes:Gs(!0),indexOf:Gs(!1)},Ks=vt,Xs=O,Js=Ws.indexOf,$s=$e,Ys=C([].push),Qs=function(t,e){var s,r=Xs(t),i=0,n=[];for(s in r)!Ks($s,s)&&Ks(r,s)&&Ys(n,s);for(;e.length>i;)Ks(r,s=e[i++])&&(~Js(n,s)||Ys(n,s));return n},Zs=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Is.f=Object.getOwnPropertyNames||function(t){return Qs(t,Zs)};var tr={};tr.f=Object.getOwnPropertySymbols;var er=H,sr=Is,rr=tr,ir=Te,nr=C([].concat),ar=er("Reflect","ownKeys")||function(t){var e=sr.f(ir(t)),s=rr.f;return s?nr(e,s(t)):e},or=vt,ur=ar,hr=i,pr=Ce,cr=n,lr=M,dr=/#|\.prototype\./,Dr=function(t,e){var s=fr[mr(t)];return s==Er||s!=yr&&(lr(e)?cr(e):!!e)},mr=Dr.normalize=function(t){return String(t).replace(dr,".").toLowerCase()},fr=Dr.data={},yr=Dr.NATIVE="N",Er=Dr.POLYFILL="P",Ar=Dr,Cr=r,xr=i.f,Fr=Le,gr=Oe.exports,Pr=gt,Tr=function(t,e){for(var s=ur(e),r=pr.f,i=hr.f,n=0;n0&&kr(u))h=Lr(u),p=Rr(t,e,u,h,p,n-1)-1;else{if(p>=9007199254740991)throw Mr("Exceed the acceptable array length");t[p]=u}p++}c++}return p},jr=Rr,Ur={};Ur[Xt("toStringTag")]="z";var _r=r,zr="[object z]"===String(Ur),Hr=M,Vr=P,qr=Xt("toStringTag"),Gr=_r.Object,Wr="Arguments"==Vr(function(){return arguments}()),Kr=zr?Vr:function(t){var e,s,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(s=function(t,e){try{return t[e]}catch(t){}}(e=Gr(t),qr))?s:Wr?Vr(e):"Object"==(r=Vr(e))&&Hr(e.callee)?"Arguments":r},Xr=C,Jr=n,$r=M,Yr=Kr,Qr=He,Zr=function(){},ti=[],ei=H("Reflect","construct"),si=/^\s*(?:class|function)\b/,ri=Xr(si.exec),ii=!si.exec(Zr),ni=function(t){if(!$r(t))return!1;try{return ei(Zr,ti,t),!0}catch(t){return!1}},ai=!ei||Jr((function(){var t;return ni(ni.call)||!ni(Object)||!ni((function(){t=!0}))||t}))?function(t){if(!$r(t))return!1;switch(Yr(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return ii||!!ri(si,Qr(t))}:ni,oi=r,ui=Br,hi=ai,pi=j,ci=Xt("species"),li=oi.Array,di=function(t){var e;return ui(t)&&(e=t.constructor,(hi(e)&&(e===li||ui(e.prototype))||pi(e)&&null===(e=e[ci]))&&(e=void 0)),void 0===e?li:e},Di=jr,mi=dt,fi=Bt,yi=zs,Ei=function(t,e){return new(di(t))(0===e?0:e)};Sr({target:"Array",proto:!0},{flatMap:function(t){var e,s=fi(this),r=yi(s);return mi(t),(e=Ei(s,0)).length=Di(e,s,s,r,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var Ai=function(){let t;for(var e=arguments.length,s=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{};const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")};var Fi={exports:{}};const gi=t=>!Number.isNaN(t)&&(t>=4352&&(t<=4447||9001===t||9002===t||11904<=t&&t<=12871&&12351!==t||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141));Fi.exports=gi,Fi.exports.default=gi;const Pi=t=>"string"==typeof t?t.replace(xi(),""):t,Ti=Fi.exports,bi=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Si=t=>{if("string"!=typeof t||0===t.length)return 0;if(0===(t=Pi(t)).length)return 0;t=t.replace(bi()," ");let e=0;for(let s=0;s=127&&r<=159||(r>=768&&r<=879||(r>65535&&s++,e+=Ti(r)?2:1))}return e};Ci.exports=Si,Ci.exports.default=Si;var wi=t=>t[t.length-1];function Bi(t,e){if(null==t)return{};var s,r,i=function(t,e){if(null==t)return{};var s,r,i={},n=Object.keys(t);for(r=0;r=0||(i[s]=t[s]);return i}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,s)&&(i[s]=t[s])}return i}function Ni(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}var Ii=Kr,vi=r.String,ki=C([].slice),Li=Math.floor,Oi=function(t,e){var s=t.length,r=Li(s/2);return s<8?Mi(t,e):Ri(t,Oi(ki(t,0,r),e),Oi(ki(t,r),e),e)},Mi=function(t,e){for(var s,r,i=t.length,n=1;n0;)t[r]=t[--r];r!==n++&&(t[r]=s)}return t},Ri=function(t,e,s,r){for(var i=e.length,n=s.length,a=0,o=0;a3)){if(en)return!0;if(rn)return rn<603;var t,e,s,r,i="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:s=3;break;case 68:case 71:s=4;break;default:s=2}for(r=0;r<47;r++)nn.push({k:e+r,v:s})}for(nn.sort((function(t,e){return e.v-t.v})),r=0;r$i(s)?1:-1}}(t)),s=i.length,r=0;rn;n++)if((o=f(t[n]))&&Mn(Hn,o))return o;return new zn(!1)}r=Rn(t,i)}for(u=r.next;!(h=In(u,r)).done;){try{o=f(h.value)}catch(t){Un(r,"throw",t)}if("object"==typeof o&&o&&Mn(Hn,o))return o}return new zn(!1)},Kn=function(t,e,s){var r=Vn(e);r in t?qn.f(t,r,Gn(0,s)):t[r]=s};Sr({target:"Object",stat:!0},{fromEntries:function(t){var e={};return Wn(t,(function(t,s){Kn(e,t,s)}),{AS_ENTRIES:!0}),e}});var Xn=void 0!==Xn?Xn:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Jn(){throw new Error("setTimeout has not been defined")}function $n(){throw new Error("clearTimeout has not been defined")}var Yn=Jn,Qn=$n;function Zn(t){if(Yn===setTimeout)return setTimeout(t,0);if((Yn===Jn||!Yn)&&setTimeout)return Yn=setTimeout,setTimeout(t,0);try{return Yn(t,0)}catch(e){try{return Yn.call(null,t,0)}catch(e){return Yn.call(this,t,0)}}}"function"==typeof Xn.setTimeout&&(Yn=setTimeout),"function"==typeof Xn.clearTimeout&&(Qn=clearTimeout);var ta,ea=[],sa=!1,ra=-1;function ia(){sa&&ta&&(sa=!1,ta.length?ea=ta.concat(ea):ra=-1,ea.length&&na())}function na(){if(!sa){var t=Zn(ia);sa=!0;for(var e=ea.length;e;){for(ta=ea,ea=[];++ra1)for(var s=1;s{};var Ca={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},xa={exports:{}};!function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:s}=Ca,r=Aa,i=(e=t.exports={}).re=[],n=e.src=[],a=e.t={};let o=0;const u=(t,e,s)=>{const u=o++;r(u,e),a[t]=u,n[u]=e,i[u]=new RegExp(e,s?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","[0-9]+"),u("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),u("MAINVERSION","(".concat(n[a.NUMERICIDENTIFIER],")\\.")+"(".concat(n[a.NUMERICIDENTIFIER],")\\.")+"(".concat(n[a.NUMERICIDENTIFIER],")")),u("MAINVERSIONLOOSE","(".concat(n[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(n[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(n[a.NUMERICIDENTIFIERLOOSE],")")),u("PRERELEASEIDENTIFIER","(?:".concat(n[a.NUMERICIDENTIFIER],"|").concat(n[a.NONNUMERICIDENTIFIER],")")),u("PRERELEASEIDENTIFIERLOOSE","(?:".concat(n[a.NUMERICIDENTIFIERLOOSE],"|").concat(n[a.NONNUMERICIDENTIFIER],")")),u("PRERELEASE","(?:-(".concat(n[a.PRERELEASEIDENTIFIER],"(?:\\.").concat(n[a.PRERELEASEIDENTIFIER],")*))")),u("PRERELEASELOOSE","(?:-?(".concat(n[a.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(n[a.PRERELEASEIDENTIFIERLOOSE],")*))")),u("BUILDIDENTIFIER","[0-9A-Za-z-]+"),u("BUILD","(?:\\+(".concat(n[a.BUILDIDENTIFIER],"(?:\\.").concat(n[a.BUILDIDENTIFIER],")*))")),u("FULLPLAIN","v?".concat(n[a.MAINVERSION]).concat(n[a.PRERELEASE],"?").concat(n[a.BUILD],"?")),u("FULL","^".concat(n[a.FULLPLAIN],"$")),u("LOOSEPLAIN","[v=\\s]*".concat(n[a.MAINVERSIONLOOSE]).concat(n[a.PRERELEASELOOSE],"?").concat(n[a.BUILD],"?")),u("LOOSE","^".concat(n[a.LOOSEPLAIN],"$")),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE","".concat(n[a.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),u("XRANGEIDENTIFIER","".concat(n[a.NUMERICIDENTIFIER],"|x|X|\\*")),u("XRANGEPLAIN","[v=\\s]*(".concat(n[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(n[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(n[a.XRANGEIDENTIFIER],")")+"(?:".concat(n[a.PRERELEASE],")?").concat(n[a.BUILD],"?")+")?)?"),u("XRANGEPLAINLOOSE","[v=\\s]*(".concat(n[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(n[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(n[a.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(n[a.PRERELEASELOOSE],")?").concat(n[a.BUILD],"?")+")?)?"),u("XRANGE","^".concat(n[a.GTLT],"\\s*").concat(n[a.XRANGEPLAIN],"$")),u("XRANGELOOSE","^".concat(n[a.GTLT],"\\s*").concat(n[a.XRANGEPLAINLOOSE],"$")),u("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(s,"})")+"(?:\\.(\\d{1,".concat(s,"}))?")+"(?:\\.(\\d{1,".concat(s,"}))?")+"(?:$|[^\\d])"),u("COERCERTL",n[a.COERCE],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM","(\\s*)".concat(n[a.LONETILDE],"\\s+"),!0),e.tildeTrimReplace="$1~",u("TILDE","^".concat(n[a.LONETILDE]).concat(n[a.XRANGEPLAIN],"$")),u("TILDELOOSE","^".concat(n[a.LONETILDE]).concat(n[a.XRANGEPLAINLOOSE],"$")),u("LONECARET","(?:\\^)"),u("CARETTRIM","(\\s*)".concat(n[a.LONECARET],"\\s+"),!0),e.caretTrimReplace="$1^",u("CARET","^".concat(n[a.LONECARET]).concat(n[a.XRANGEPLAIN],"$")),u("CARETLOOSE","^".concat(n[a.LONECARET]).concat(n[a.XRANGEPLAINLOOSE],"$")),u("COMPARATORLOOSE","^".concat(n[a.GTLT],"\\s*(").concat(n[a.LOOSEPLAIN],")$|^$")),u("COMPARATOR","^".concat(n[a.GTLT],"\\s*(").concat(n[a.FULLPLAIN],")$|^$")),u("COMPARATORTRIM","(\\s*)".concat(n[a.GTLT],"\\s*(").concat(n[a.LOOSEPLAIN],"|").concat(n[a.XRANGEPLAIN],")"),!0),e.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE","^\\s*(".concat(n[a.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(n[a.XRANGEPLAIN],")")+"\\s*$"),u("HYPHENRANGELOOSE","^\\s*(".concat(n[a.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(n[a.XRANGEPLAINLOOSE],")")+"\\s*$"),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0.0.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(xa,xa.exports);const Fa=["includePrerelease","loose","rtl"];var ga=t=>t?"object"!=typeof t?{loose:!0}:Fa.filter((e=>t[e])).reduce(((t,e)=>(t[e]=!0,t)),{}):{};const Pa=/^[0-9]+$/,Ta=(t,e)=>{const s=Pa.test(t),r=Pa.test(e);return s&&r&&(t=+t,e=+e),t===e?0:s&&!r?-1:r&&!s?1:tTa(e,t)};const Sa=Aa,{MAX_LENGTH:wa,MAX_SAFE_INTEGER:Ba}=Ca,{re:Na,t:Ia}=xa.exports,va=ga,{compareIdentifiers:ka}=ba;class La{constructor(t,e){if(e=va(e),t instanceof La){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError("Invalid Version: ".concat(t));if(t.length>wa)throw new TypeError("version is longer than ".concat(wa," characters"));Sa("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const s=t.trim().match(e.loose?Na[Ia.LOOSE]:Na[Ia.FULL]);if(!s)throw new TypeError("Invalid Version: ".concat(t));if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Ba||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ba||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ba||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: ".concat(t))}return this.format(),this.raw=this.version,this}}const Oa=La;var Ma=(t,e,s)=>new Oa(t,s).compare(new Oa(e,s));const Ra=Ma;var ja=(t,e,s)=>Ra(t,e,s)<0;const Ua=Ma;var _a,za,Ha,Va,qa,Ga,Wa=(t,e,s)=>Ua(t,e,s)>=0,Ka={exports:{}};!function(t,e){function s(){for(var t=[],e=0;e"string"==typeof t||"function"==typeof t,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:t=>"string"==typeof t||"object"==typeof t,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Xa(Ha||(Ha=Ni(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:t=>"string"==typeof t||"object"==typeof t,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Xa(Va||(Va=Ni(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Xa(qa||(qa=Ni(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Xa(Ga||(Ga=Ni(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const $a=["cliName","cliCategory","cliDescription"],Ya={compare:Ma,lt:ja,gte:Wa},Qa=(t,e)=>Object.entries(t).map((t=>{let[s,r]=t;return Object.assign({[e]:s},r)})),Za="2.5.1",to={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Ja}.options;function eo(t,e,s){const r=new Set(t.choices.map((t=>t.value)));for(const i of e)if(i.parsers)for(const e of i.parsers)if(!r.has(e)){r.add(e);const n=s.find((t=>t.parsers&&t.parsers[e]));let a=i.name;n&&n.name&&(a+=" (plugin: ".concat(n.name,")")),t.choices.push({value:e,description:a})}}var so={getSupportInfo:function(){let{plugins:t=[],showUnreleased:e=!1,showDeprecated:s=!1,showInternal:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i=Za.split("-",1)[0],n=t.flatMap((t=>t.languages||[])).filter(o),a=Qa(Object.assign({},...t.map((t=>{let{options:e}=t;return e})),to),"name").filter((t=>o(t)&&u(t))).sort(((t,e)=>t.name===e.name?0:t.name{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(o).sort(((t,e)=>Ya.compare(e.since,t.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((t=>o(t)&&u(t))),"parser"===e.name&&eo(e,n,t));const s=Object.fromEntries(t.filter((t=>t.defaultOptions&&void 0!==t.defaultOptions[e.name])).map((t=>[t.name,t.defaultOptions[e.name]])));return Object.assign(Object.assign({},e),{},{pluginDefaults:s})}));return{languages:n,options:a};function o(t){return e||!("since"in t)||t.since&&Ya.gte(i,t.since)}function u(t){return s||!("deprecated"in t)||t.deprecated&&Ya.lt(i,t.deprecated)}function h(t){if(r)return t;return Bi(t,$a)}}};const ro=Ci.exports,io=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},no=wi,{getSupportInfo:ao}=so,oo=/[^\x20-\x7F]/;function uo(t){return(e,s,r)=>{const i=r&&r.backwards;if(!1===s)return!1;const{length:n}=e;let a=s;for(;a>=0&&a2&&void 0!==arguments[2]?arguments[2]:{};const r=po(t,s.backwards?e-1:e,s),i=fo(t,r,s);return r!==i}function Eo(t,e){let s=null,r=e;for(;r!==s;)s=r,r=co(t,r),r=Do(t,r),r=po(t,r);return r=mo(t,r),r=fo(t,r),!1!==r&&yo(t,r)}function Ao(t,e){let s=null,r=e;for(;r!==s;)s=r,r=po(t,r),r=Do(t,r),r=mo(t,r),r=fo(t,r);return r}function Co(t,e,s){return Ao(t,s(e))}function xo(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let i=s;i(t.match(n.regex)||[]).length?n:i}return a}function go(t,e,s){const r='"'===e?"'":'"',i=t.replace(/\\(.)|(["'])/gs,((t,i,n)=>i===r?i:n===e?"\\"+n:n||(s&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return e+i+e}function Po(t,e){(t.comments||(t.comments=[])).push(e),e.printed=!1,e.nodeDescription=function(t){const e=t.type||t.kind||"(unknown type)";let s=String(t.name||t.id&&("object"==typeof t.id?t.id.name:t.id)||t.key&&("object"==typeof t.key?t.key.name:t.key)||t.value&&("object"==typeof t.value?"":String(t.value))||t.operator||"");s.length>20&&(s=s.slice(0,19)+"\u2026");return e+(s?" "+s:"")}(t)}var To,bo={inferParserByLanguage:function(t,e){const{languages:s}=ao({plugins:e.plugins}),r=s.find((e=>{let{name:s}=e;return s.toLowerCase()===t}))||s.find((e=>{let{aliases:s}=e;return Array.isArray(s)&&s.includes(t)}))||s.find((e=>{let{extensions:s}=e;return Array.isArray(s)&&s.includes(".".concat(t))}));return r&&r.parsers[0]},getStringWidth:function(t){return t?oo.test(t)?ro(t):t.length:0},getMaxContinuousCount:function(t,e){const s=t.match(new RegExp("(".concat(io(e),")+"),"g"));return null===s?0:s.reduce(((t,s)=>Math.max(t,s.length/e.length)),0)},getMinNotPresentContinuousCount:function(t,e){const s=t.match(new RegExp("(".concat(io(e),")+"),"g"));if(null===s)return 0;const r=new Map;let i=0;for(const t of s){const s=t.length/e.length;r.set(s,!0),s>i&&(i=s)}for(let t=1;tt[t.length-2],getLast:no,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ao,getNextNonSpaceNonCommentCharacterIndex:Co,getNextNonSpaceNonCommentCharacter:function(t,e,s){return t.charAt(Co(t,e,s))},skip:uo,skipWhitespace:ho,skipSpaces:po,skipToLineEnd:co,skipEverythingButNewLine:lo,skipInlineComment:Do,skipTrailingComment:mo,skipNewline:fo,isNextLineEmptyAfterIndex:Eo,isNextLineEmpty:function(t,e,s){return Eo(t,s(e))},isPreviousLineEmpty:function(t,e,s){let r=s(e)-1;return r=po(t,r,{backwards:!0}),r=fo(t,r,{backwards:!0}),r=po(t,r,{backwards:!0}),r!==fo(t,r,{backwards:!0})},hasNewline:yo,hasNewlineInRange:function(t,e,s){for(let r=e;r2&&void 0!==arguments[2]?arguments[2]:{};const r=po(t,s.backwards?e-1:e,s);return r!==e},getAlignmentSize:xo,getIndentSize:function(t,e){const s=t.lastIndexOf("\n");return-1===s?0:xo(t.slice(s+1).match(/^[\t ]*/)[0],e)},getPreferredQuote:Fo,printString:function(t,e){const s=t.slice(1,-1);return go(s,"json"===e.parser||"json5"===e.parser&&"preserve"===e.quoteProps&&!e.singleQuote?'"':e.__isInHtmlAttribute?"'":Fo(s,e.singleQuote?"'":'"').quote,!("css"===e.parser||"less"===e.parser||"scss"===e.parser||e.__embeddedInHtml))},printNumber:function(t){return t.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:go,addLeadingComment:function(t,e){e.leading=!0,e.trailing=!1,Po(t,e)},addDanglingComment:function(t,e,s){e.leading=!1,e.trailing=!1,s&&(e.marker=s),Po(t,e)},addTrailingComment:function(t,e){e.leading=!1,e.trailing=!0,Po(t,e)},isFrontMatterNode:function(t){return t&&"front-matter"===t.type},getShebang:function(t){if(!t.startsWith("#!"))return"";const e=t.indexOf("\n");return-1===e?t:t.slice(0,e)},isNonEmptyArray:function(t){return Array.isArray(t)&&t.length>0},createGroupIdMapper:function(t){const e=new WeakMap;return function(s){return e.has(s)||e.set(s,Symbol(t)),e.get(s)}}},So={};function wo(){if(void 0===To){var t=new ArrayBuffer(2),e=new Uint8Array(t),s=new Uint16Array(t);if(e[0]=1,e[1]=2,258===s[0])To="BE";else{if(513!==s[0])throw new Error("unable to figure out endianess");To="LE"}}return To}function Bo(){return void 0!==Xn.location?Xn.location.hostname:""}function No(){return[]}function Io(){return 0}function vo(){return Number.MAX_VALUE}function ko(){return Number.MAX_VALUE}function Lo(){return[]}function Oo(){return"Browser"}function Mo(){return void 0!==Xn.navigator?Xn.navigator.appVersion:""}function Ro(){}function jo(){}function Uo(){return"javascript"}function _o(){return"browser"}function zo(){return"/tmp"}var Ho=zo,Vo={EOL:"\n",arch:Uo,platform:_o,tmpdir:Ho,tmpDir:zo,networkInterfaces:Ro,getNetworkInterfaces:jo,release:Mo,type:Oo,cpus:Lo,totalmem:ko,freemem:vo,uptime:Io,loadavg:No,hostname:Bo,endianness:wo},qo=e(Object.freeze({__proto__:null,endianness:wo,hostname:Bo,loadavg:No,uptime:Io,freemem:vo,totalmem:ko,cpus:Lo,type:Oo,release:Mo,networkInterfaces:Ro,getNetworkInterfaces:jo,arch:Uo,platform:_o,tmpDir:zo,tmpdir:Ho,EOL:"\n",default:Vo})),Go={exports:{}};const Wo=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");const e=t.match(/(?:\r?\n)/g)||[];if(0===e.length)return;const s=e.filter((t=>"\r\n"===t)).length;return s>e.length-s?"\r\n":"\n"};function Ko(){const t=qo;return Ko=function(){return t},t}function Xo(){const t=(e=Go.exports)&&e.__esModule?e:{default:e};var e;return Xo=function(){return t},t}Go.exports=Wo,Go.exports.graceful=t=>"string"==typeof t&&Wo(t)||"\n",Object.defineProperty(So,"__esModule",{value:!0}),So.extract=function(t){const e=t.match(Yo);return e?e[0].trimLeft():""},So.strip=function(t){const e=t.match(Yo);return e&&e[0]?t.substring(e[0].length):t},So.parse=function(t){return iu(t).pragmas},So.parseWithComments=iu,So.print=function(t){let{comments:e="",pragmas:s={}}=t;const r=(0,Xo().default)(e)||Ko().EOL,i=" *",n=Object.keys(s),a=n.map((t=>nu(t,s[t]))).reduce(((t,e)=>t.concat(e)),[]).map((t=>" * "+t+r)).join("");if(!e){if(0===n.length)return"";if(1===n.length&&!Array.isArray(s[n[0]])){const t=s[n[0]];return"".concat("/**"," ").concat(nu(n[0],t)[0]).concat(" */")}}const o=e.split(r).map((t=>"".concat(i," ").concat(t))).join(r)+r;return"/**"+r+(e?o:"")+(e&&n.length?i+r:"")+a+" */"};const Jo=/\*\/$/,$o=/^\/\*\*/,Yo=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Qo=/(^|\s+)\/\/([^\r\n]*)/g,Zo=/^(\r?\n)+/,tu=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,eu=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,su=/(\r?\n|^) *\* ?/g,ru=[];function iu(t){const e=(0,Xo().default)(t)||Ko().EOL;t=t.replace($o,"").replace(Jo,"").replace(su,"$1");let s="";for(;s!==t;)s=t,t=t.replace(tu,"".concat(e,"$1 $2").concat(e));t=t.replace(Zo,"").trimRight();const r=Object.create(null),i=t.replace(eu,"").replace(Zo,"").trimRight();let n;for(;n=eu.exec(t);){const t=n[2].replace(Qo,"");"string"==typeof r[n[1]]||Array.isArray(r[n[1]])?r[n[1]]=ru.concat(r[n[1]],t):r[n[1]]=t}return{comments:i,pragmas:r}}function nu(t,e){return ru.concat(e).map((e=>"@".concat(t," ").concat(e).trim()))}var au={guessEndOfLine:function(t){const e=t.indexOf("\r");return e>=0?"\n"===t.charAt(e+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(t){switch(t){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(t,e){let s;if("\n"===e)s=/\n/g;else if("\r"===e)s=/\r/g;else{if("\r\n"!==e)throw new Error('Unexpected "eol" '.concat(JSON.stringify(e),"."));s=/\r\n/g}const r=t.match(s);return r?r.length:0},normalizeEndOfLine:function(t){return t.replace(/\r\n?/g,"\n")}};const{parseWithComments:ou,strip:uu,extract:hu,print:pu}=So,{getShebang:cu}=bo,{normalizeEndOfLine:lu}=au;function du(t){const e=cu(t);e&&(t=t.slice(e.length+1));const s=hu(t),{pragmas:r,comments:i}=ou(s);return{shebang:e,text:t,pragmas:r,comments:i}}var Du={hasPragma:function(t){const e=Object.keys(du(t).pragmas);return e.includes("prettier")||e.includes("format")},insertPragma:function(t){const{shebang:e,text:s,pragmas:r,comments:i}=du(t),n=uu(s),a=pu({pragmas:Object.assign({format:""},r),comments:i.trimStart()});return(e?"".concat(e,"\n"):"")+lu(a)+(n.startsWith("\n")?"\n":"\n\n")+n}};const{isNonEmptyArray:mu}=bo;function fu(t,e){const{ignoreDecorators:s}=e||{};if(!s){const e=t.declaration&&t.declaration.decorators||t.decorators;if(mu(e))return fu(e[0])}return t.range?t.range[0]:t.start}function yu(t){return t.range?t.range[1]:t.end}function Eu(t,e){return fu(t)===fu(e)}var Au={locStart:fu,locEnd:yu,hasSameLocStart:Eu,hasSameLoc:function(t,e){return Eu(t,e)&&function(t,e){return yu(t)===yu(e)}(t,e)}};const{hasPragma:Cu}=Du,{locStart:xu,locEnd:Fu}=Au;var gu=function(t){return t="function"==typeof t?{parse:t}:t,Object.assign({astFormat:"estree",hasPragma:Cu,locStart:xu,locEnd:Fu},t)};var Pu=function(t,e){const s=new SyntaxError(t+" ("+e.start.line+":"+e.start.column+")");return s.loc=e,s};const Tu=Pu;var bu=function(t){const{message:e,loc:s}=t;return Tu(e.replace(/ \(.*\)/,""),{start:{line:s?s.line:0,column:s?s.column+1:0}})},Su={},wu={exports:{}};!function(){function t(t){if(null==t)return!1;switch(t.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function e(t){switch(t.type){case"IfStatement":return null!=t.alternate?t.alternate:t.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return t.body}return null}wu.exports={isExpression:function(t){if(null==t)return!1;switch(t.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(t){if(null==t)return!1;switch(t.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(t){var s;if("IfStatement"!==t.type)return!1;if(null==t.alternate)return!1;s=t.consequent;do{if("IfStatement"===s.type&&null==s.alternate)return!0;s=e(s)}while(s);return!1},trailingStatement:e}}();var Bu={exports:{}};!function(){var t,e,s,r,i,n;function a(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(Math.floor((t-65536)/1024)+55296)+String.fromCharCode((t-65536)%1024+56320)}for(e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},s=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],r=new Array(128),n=0;n<128;++n)r[n]=n>=97&&n<=122||n>=65&&n<=90||36===n||95===n;for(i=new Array(128),n=0;n<128;++n)i[n]=n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||36===n||95===n;Bu.exports={isDecimalDigit:function(t){return 48<=t&&t<=57},isHexDigit:function(t){return 48<=t&&t<=57||97<=t&&t<=102||65<=t&&t<=70},isOctalDigit:function(t){return t>=48&&t<=55},isWhiteSpace:function(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&s.indexOf(t)>=0},isLineTerminator:function(t){return 10===t||13===t||8232===t||8233===t},isIdentifierStartES5:function(t){return t<128?r[t]:e.NonAsciiIdentifierStart.test(a(t))},isIdentifierPartES5:function(t){return t<128?i[t]:e.NonAsciiIdentifierPart.test(a(t))},isIdentifierStartES6:function(e){return e<128?r[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierPart.test(a(e))}}}();var Nu={exports:{}};!function(){var t=Bu.exports;function e(t,e){return!(!e&&"yield"===t)&&s(t,e)}function s(t,e){if(e&&function(t){switch(t){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(t))return!0;switch(t.length){case 2:return"if"===t||"in"===t||"do"===t;case 3:return"var"===t||"for"===t||"new"===t||"try"===t;case 4:return"this"===t||"else"===t||"case"===t||"void"===t||"with"===t||"enum"===t;case 5:return"while"===t||"break"===t||"catch"===t||"throw"===t||"const"===t||"yield"===t||"class"===t||"super"===t;case 6:return"return"===t||"typeof"===t||"delete"===t||"switch"===t||"export"===t||"import"===t;case 7:return"default"===t||"finally"===t||"extends"===t;case 8:return"function"===t||"continue"===t||"debugger"===t;case 10:return"instanceof"===t;default:return!1}}function r(t,s){return"null"===t||"true"===t||"false"===t||e(t,s)}function i(t,e){return"null"===t||"true"===t||"false"===t||s(t,e)}function n(e){var s,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(s=1,r=e.length;s=r)return!1;if(!(56320<=(n=e.charCodeAt(s))&&n<=57343))return!1;i=1024*(i-55296)+(n-56320)+65536}if(!a(i))return!1;a=t.isIdentifierPartES6}return!0}Nu.exports={isKeywordES5:e,isKeywordES6:s,isReservedWordES5:r,isReservedWordES6:i,isRestrictedWord:function(t){return"eval"===t||"arguments"===t},isIdentifierNameES5:n,isIdentifierNameES6:a,isIdentifierES5:function(t,e){return n(t)&&!r(t,e)},isIdentifierES6:function(t,e){return a(t)&&!i(t,e)}}}(),Su.ast=wu.exports,Su.code=Bu.exports,Su.keyword=Nu.exports;const Iu=Su.keyword.isIdentifierNameES5,{getLast:vu,hasNewline:ku,skipWhitespace:Lu,isNonEmptyArray:Ou,isNextLineEmptyAfterIndex:Mu,getStringWidth:Ru}=bo,{locStart:ju,locEnd:Uu,hasSameLocStart:_u}=Au,zu=new RegExp("^".concat("(?:(?=.)\\s)","*:")),Hu=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function Vu(t){return"Block"===t.type||"CommentBlock"===t.type||"MultiLine"===t.type}function qu(t){return"Line"===t.type||"CommentLine"===t.type||"SingleLine"===t.type||"HashbangComment"===t.type||"HTMLOpen"===t.type||"HTMLClose"===t.type}const Gu=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Wu(t){return t&&Gu.has(t.type)}function Ku(t){return"NumericLiteral"===t.type||"Literal"===t.type&&"number"==typeof t.value}function Xu(t){return"StringLiteral"===t.type||"Literal"===t.type&&"string"==typeof t.value}function Ju(t){return"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type}function $u(t){return rh(t)&&"Identifier"===t.callee.type&&("async"===t.callee.name||"inject"===t.callee.name||"fakeAsync"===t.callee.name)}function Yu(t){return"JSXElement"===t.type||"JSXFragment"===t.type}function Qu(t){return"get"===t.kind||"set"===t.kind}function Zu(t){return Qu(t)||_u(t,t.value)}const th=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const eh=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const sh=/^(?:skip|[fx]?(?:it|describe|test))$/;function rh(t){return t&&("CallExpression"===t.type||"OptionalCallExpression"===t.type)}function ih(t){return t&&("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)}function nh(t){return/^(?:\d+|\d+\.\d+)$/.test(t)}function ah(t){return t.quasis.some((t=>t.value.raw.includes("\n")))}function oh(t){return t.extra?t.extra.raw:t.raw}const uh={"==":!0,"!=":!0,"===":!0,"!==":!0},hh={"*":!0,"/":!0,"%":!0},ph={">>":!0,">>>":!0,"<<":!0};const ch={};for(const[t,e]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const s of e)ch[s]=t;function lh(t){return ch[t]}const dh=new WeakMap;function Dh(t){if(dh.has(t))return dh.get(t);const e=[];return t.this&&e.push(t.this),Array.isArray(t.parameters)?e.push(...t.parameters):Array.isArray(t.params)&&e.push(...t.params),t.rest&&e.push(t.rest),dh.set(t,e),e}const mh=new WeakMap;function fh(t){if(mh.has(t))return mh.get(t);let e=t.arguments;return"ImportExpression"===t.type&&(e=[t.source],t.attributes&&e.push(t.attributes)),mh.set(t,e),e}function yh(t){return"prettier-ignore"===t.value.trim()&&!t.unignore}function Eh(t){return t&&(t.prettierIgnore||xh(t,Ah.PrettierIgnore))}const Ah={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Ch=(t,e)=>{if("function"==typeof t&&(e=t,t=0),t||e)return(s,r,i)=>!(t&Ah.Leading&&!s.leading||t&Ah.Trailing&&!s.trailing||t&Ah.Dangling&&(s.leading||s.trailing)||t&Ah.Block&&!Vu(s)||t&Ah.Line&&!qu(s)||t&Ah.First&&0!==r||t&Ah.Last&&r!==i.length-1||t&Ah.PrettierIgnore&&!yh(s)||e&&!e(s))};function xh(t,e,s){if(!t||!Ou(t.comments))return!1;const r=Ch(e,s);return!r||t.comments.some(r)}function Fh(t,e,s){if(!t||!Array.isArray(t.comments))return[];const r=Ch(e,s);return r?t.comments.filter(r):t.comments}function gh(t){return rh(t)||"NewExpression"===t.type||"ImportExpression"===t.type}var Ph={getFunctionParameters:Dh,iterateFunctionParametersPath:function(t,e){const s=t.getValue();let r=0;const i=t=>e(t,r++);s.this&&t.call(i,"this"),Array.isArray(s.parameters)?t.each(i,"parameters"):Array.isArray(s.params)&&t.each(i,"params"),s.rest&&t.call(i,"rest")},getCallArguments:fh,iterateCallArgumentsPath:function(t,e){const s=t.getValue();"ImportExpression"===s.type?(t.call((t=>e(t,0)),"source"),s.attributes&&t.call((t=>e(t,1)),"attributes")):t.each(e,"arguments")},hasRestParameter:function(t){if(t.rest)return!0;const e=Dh(t);return e.length>0&&"RestElement"===vu(e).type},getLeftSide:function(t){return t.expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression},getLeftSidePathName:function(t,e){if(e.expressions)return["expressions",0];if(e.left)return["left"];if(e.test)return["test"];if(e.object)return["object"];if(e.callee)return["callee"];if(e.tag)return["tag"];if(e.argument)return["argument"];if(e.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(t){const e=t.getParentNode();return"declaration"===t.getName()&&Wu(e)?e:null},getTypeScriptMappedTypeModifier:function(t,e){return"+"===t?"+"+e:"-"===t?"-"+e:e},hasFlowAnnotationComment:function(t){return Ou(t)&&Vu(t[0])&&Hu.test(t[0].value)},hasFlowShorthandAnnotationComment:function(t){return t.extra&&t.extra.parenthesized&&Ou(t.trailingComments)&&Vu(t.trailingComments[0])&&zu.test(t.trailingComments[0].value)},hasLeadingOwnLineComment:function(t,e){return Yu(e)?Eh(e):xh(e,Ah.Leading,(e=>ku(t,Uu(e))))},hasNakedLeftSide:function(t){return"AssignmentExpression"===t.type||"BinaryExpression"===t.type||"LogicalExpression"===t.type||"NGPipeExpression"===t.type||"ConditionalExpression"===t.type||rh(t)||ih(t)||"SequenceExpression"===t.type||"TaggedTemplateExpression"===t.type||"BindExpression"===t.type||"UpdateExpression"===t.type&&!t.prefix||"TSAsExpression"===t.type||"TSNonNullExpression"===t.type},hasNode:function t(e,s){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>t(e,s)));const r=s(e);return"boolean"==typeof r?r:Object.values(e).some((e=>t(e,s)))},hasIgnoreComment:function(t){return Eh(t.getValue())},hasNodeIgnoreComment:Eh,identity:function(t){return t},isBinaryish:function(t){return th.has(t.type)},isBlockComment:Vu,isCallLikeExpression:gh,isEnabledHackPipeline:function(t){return Boolean(t.__isUsingHackPipeline)},isLineComment:qu,isPrettierIgnoreComment:yh,isCallExpression:rh,isMemberExpression:ih,isExportDeclaration:Wu,isFlowAnnotationComment:function(t,e){const s=ju(e),r=Lu(t,Uu(e));return!1!==r&&"/*"===t.slice(s,s+2)&&"*/"===t.slice(r,r+2)},isFunctionCompositionArgs:function(t){if(t.length<=1)return!1;let e=0;for(const s of t)if(Ju(s)){if(e+=1,e>1)return!0}else if(rh(s))for(const t of s.arguments)if(Ju(t))return!0;return!1},isFunctionNotation:Zu,isFunctionOrArrowExpression:Ju,isGetterOrSetter:Qu,isJestEachTemplateLiteral:function(t,e){const s=/^[fx]?(?:describe|it|test)$/;return"TaggedTemplateExpression"===e.type&&e.quasi===t&&"MemberExpression"===e.tag.type&&"Identifier"===e.tag.property.type&&"each"===e.tag.property.name&&("Identifier"===e.tag.object.type&&s.test(e.tag.object.name)||"MemberExpression"===e.tag.object.type&&"Identifier"===e.tag.object.property.type&&("only"===e.tag.object.property.name||"skip"===e.tag.object.property.name)&&"Identifier"===e.tag.object.object.type&&s.test(e.tag.object.object.name))},isJsxNode:Yu,isLiteral:function(t){return"BooleanLiteral"===t.type||"DirectiveLiteral"===t.type||"Literal"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"TemplateLiteral"===t.type||"TSTypeLiteral"===t.type||"JSXText"===t.type},isLongCurriedCallExpression:function(t){const e=t.getValue(),s=t.getParentNode();return rh(e)&&rh(s)&&s.callee===e&&e.arguments.length>s.arguments.length&&s.arguments.length>0},isSimpleCallArgument:function t(e,s){if(s>=2)return!1;const r=e=>t(e,s+1),i="Literal"===e.type&&"regex"in e&&e.regex.pattern||"RegExpLiteral"===e.type&&e.pattern;return!(i&&Ru(i)>5)&&("Literal"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"BooleanLiteral"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"Identifier"===e.type||"ThisExpression"===e.type||"Super"===e.type||"PrivateName"===e.type||"PrivateIdentifier"===e.type||"ArgumentPlaceholder"===e.type||"Import"===e.type||("TemplateLiteral"===e.type?e.quasis.every((t=>!t.value.raw.includes("\n")))&&e.expressions.every(r):"ObjectExpression"===e.type?e.properties.every((t=>!t.computed&&(t.shorthand||t.value&&r(t.value)))):"ArrayExpression"===e.type?e.elements.every((t=>null===t||r(t))):gh(e)?("ImportExpression"===e.type||t(e.callee,s))&&fh(e).every(r):ih(e)?t(e.object,s)&&t(e.property,s):"UnaryExpression"!==e.type||"!"!==e.operator&&"-"!==e.operator?"TSNonNullExpression"===e.type&&t(e.expression,s):t(e.argument,s)))},isMemberish:function(t){return ih(t)||"BindExpression"===t.type&&Boolean(t.object)},isNumericLiteral:Ku,isSignedNumericLiteral:function(t){return"UnaryExpression"===t.type&&("+"===t.operator||"-"===t.operator)&&Ku(t.argument)},isObjectProperty:function(t){return t&&("ObjectProperty"===t.type||"Property"===t.type&&!t.method&&"init"===t.kind)},isObjectType:function(t){return"ObjectTypeAnnotation"===t.type||"TSTypeLiteral"===t.type||"TSMappedType"===t.type},isObjectTypePropertyAFunction:function(t){return!("ObjectTypeProperty"!==t.type&&"ObjectTypeInternalSlot"!==t.type||"FunctionTypeAnnotation"!==t.value.type||t.static||Zu(t))},isSimpleType:function(t){return!!t&&(!("GenericTypeAnnotation"!==t.type&&"TSTypeReference"!==t.type||t.typeParameters)||!!eh.has(t.type))},isSimpleNumber:nh,isSimpleTemplateLiteral:function(t){let e="expressions";"TSTemplateLiteralType"===t.type&&(e="types");const s=t[e];return 0!==s.length&&s.every((t=>{if(xh(t))return!1;if("Identifier"===t.type||"ThisExpression"===t.type)return!0;if(ih(t)){let e=t;for(;ih(e);){if("Identifier"!==e.property.type&&"Literal"!==e.property.type&&"StringLiteral"!==e.property.type&&"NumericLiteral"!==e.property.type)return!1;if(e=e.object,xh(e))return!1}return"Identifier"===e.type||"ThisExpression"===e.type}return!1}))},isStringLiteral:Xu,isStringPropSafeToUnquote:function(t,e){return"json"!==e.parser&&Xu(t.key)&&oh(t.key).slice(1,-1)===t.key.value&&(Iu(t.key.value)&&!("babel-ts"===e.parser&&"ClassProperty"===t.type||"typescript"===e.parser&&"PropertyDefinition"===t.type)||nh(t.key.value)&&String(Number(t.key.value))===t.key.value&&("babel"===e.parser||"espree"===e.parser||"meriyah"===e.parser||"__babel_estree"===e.parser))},isTemplateOnItsOwnLine:function(t,e){return("TemplateLiteral"===t.type&&ah(t)||"TaggedTemplateExpression"===t.type&&ah(t.quasi))&&!ku(e,ju(t),{backwards:!0})},isTestCall:function t(e,s){if("CallExpression"!==e.type)return!1;if(1===e.arguments.length){if($u(e)&&s&&t(s))return Ju(e.arguments[0]);if(function(t){return"Identifier"===t.callee.type&&/^(?:before|after)(?:Each|All)$/.test(t.callee.name)&&1===t.arguments.length}(e))return $u(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&("Identifier"===e.callee.type&&sh.test(e.callee.name)||function(t){return ih(t.callee)&&"Identifier"===t.callee.object.type&&"Identifier"===t.callee.property.type&&sh.test(t.callee.object.name)&&("only"===t.callee.property.name||"skip"===t.callee.property.name)}(e))&&(function(t){return"TemplateLiteral"===t.type}(e.arguments[0])||Xu(e.arguments[0])))return!(e.arguments[2]&&!Ku(e.arguments[2]))&&((2===e.arguments.length?Ju(e.arguments[1]):function(t){return"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type&&"BlockStatement"===t.body.type}(e.arguments[1])&&Dh(e.arguments[1]).length<=1)||$u(e.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(t,e){if("markdown"!==t.parentParser&&"mdx"!==t.parentParser)return!1;const s=e.getNode();if(!s.expression||!Yu(s.expression))return!1;const r=e.getParentNode();return"Program"===r.type&&1===r.body.length},isTSXFile:function(t){return t.filepath&&/\.tsx$/i.test(t.filepath)},isTypeAnnotationAFunction:function(t){return!("TypeAnnotation"!==t.type&&"TSTypeAnnotation"!==t.type||"FunctionTypeAnnotation"!==t.typeAnnotation.type||t.static||_u(t,t.typeAnnotation))},isNextLineEmpty:(t,e)=>{let{originalText:s}=e;return Mu(s,Uu(t))},needsHardlineAfterDanglingComment:function(t){if(!xh(t))return!1;const e=vu(Fh(t,Ah.Dangling));return e&&!Vu(e)},rawText:oh,shouldPrintComma:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es5";return"es5"===t.trailingComma&&"es5"===e||"all"===t.trailingComma&&("all"===e||"es5"===e)},isBitwiseOperator:function(t){return Boolean(ph[t])||"|"===t||"^"===t||"&"===t},shouldFlatten:function(t,e){return lh(e)===lh(t)&&("**"!==t&&((!uh[t]||!uh[e])&&(!("%"===e&&hh[t]||"%"===t&&hh[e])&&((e===t||!hh[e]||!hh[t])&&(!ph[t]||!ph[e])))))},startsWithNoLookaheadToken:function t(e,s){switch((e=function(t){for(;t.left;)t=t.left;return t}(e)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return s;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return t(e.object,s);case"TaggedTemplateExpression":return"FunctionExpression"!==e.tag.type&&t(e.tag,s);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==e.callee.type&&t(e.callee,s);case"ConditionalExpression":return t(e.test,s);case"UpdateExpression":return!e.prefix&&t(e.argument,s);case"BindExpression":return e.object&&t(e.object,s);case"SequenceExpression":return t(e.expressions[0],s);case"TSAsExpression":case"TSNonNullExpression":return t(e.expression,s);default:return!1}},getPrecedence:lh,hasComment:xh,getComments:Fh,CommentCheckFlags:Ah};const{getLast:Th,hasNewline:bh,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Sh,getNextNonSpaceNonCommentCharacter:wh,hasNewlineInRange:Bh,addLeadingComment:Nh,addTrailingComment:Ih,addDanglingComment:vh,getNextNonSpaceNonCommentCharacterIndex:kh,isNonEmptyArray:Lh}=bo,{isBlockComment:Oh,getFunctionParameters:Mh,isPrettierIgnoreComment:Rh,isJsxNode:jh,hasFlowShorthandAnnotationComment:Uh,hasFlowAnnotationComment:_h,hasIgnoreComment:zh,isCallLikeExpression:Hh,getCallArguments:Vh,isCallExpression:qh,isMemberExpression:Gh,isObjectProperty:Wh,getComments:Kh,CommentCheckFlags:Xh}=Ph,{locStart:Jh,locEnd:$h}=Au;function Yh(t,e){const s=(t.body||t.properties).find((t=>{let{type:e}=t;return"EmptyStatement"!==e}));s?Nh(s,e):vh(t,e)}function Qh(t,e){"BlockStatement"===t.type?Yh(t,e):Nh(t,e)}function Zh(t){let{comment:e,followingNode:s}=t;return!(!s||!wp(e))&&(Nh(s,e),!0)}function tp(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i,text:n}=t;if(!r||"IfStatement"!==r.type||!i)return!1;return")"===wh(n,e,$h)?(Ih(s,e),!0):s===r.consequent&&i===r.alternate?("BlockStatement"===s.type?Ih(s,e):vh(r,e),!0):"BlockStatement"===i.type?(Yh(i,e),!0):"IfStatement"===i.type?(Qh(i.consequent,e),!0):r.consequent===i&&(Nh(i,e),!0)}function ep(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i,text:n}=t;if(!r||"WhileStatement"!==r.type||!i)return!1;return")"===wh(n,e,$h)?(Ih(s,e),!0):"BlockStatement"===i.type?(Yh(i,e),!0):r.body===i&&(Nh(i,e),!0)}function sp(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i}=t;return!(!r||"TryStatement"!==r.type&&"CatchClause"!==r.type||!i)&&("CatchClause"===r.type&&s?(Ih(s,e),!0):"BlockStatement"===i.type?(Yh(i,e),!0):"TryStatement"===i.type?(Qh(i.finalizer,e),!0):"CatchClause"===i.type&&(Qh(i.body,e),!0))}function rp(t){let{comment:e,enclosingNode:s,followingNode:r}=t;return!(!Gh(s)||!r||"Identifier"!==r.type)&&(Nh(s,e),!0)}function ip(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i,text:n}=t;const a=s&&!Bh(n,$h(s),Jh(e));return!(s&&a||!r||"ConditionalExpression"!==r.type&&"TSConditionalType"!==r.type||!i)&&(Nh(i,e),!0)}function np(t){let{comment:e,precedingNode:s,enclosingNode:r}=t;return!(!Wh(r)||!r.shorthand||r.key!==s||"AssignmentPattern"!==r.value.type)&&(Ih(r.value.left,e),!0)}function ap(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i}=t;if(r&&("ClassDeclaration"===r.type||"ClassExpression"===r.type||"DeclareClass"===r.type||"DeclareInterface"===r.type||"InterfaceDeclaration"===r.type||"TSInterfaceDeclaration"===r.type)){if(Lh(r.decorators)&&(!i||"Decorator"!==i.type))return Ih(Th(r.decorators),e),!0;if(r.body&&i===r.body)return Yh(r.body,e),!0;if(i)for(const t of["implements","extends","mixins"])if(r[t]&&i===r[t][0])return!s||s!==r.id&&s!==r.typeParameters&&s!==r.superClass?vh(r,e,t):Ih(s,e),!0}return!1}function op(t){let{comment:e,precedingNode:s,enclosingNode:r,text:i}=t;return(r&&s&&("Property"===r.type||"TSDeclareMethod"===r.type||"TSAbstractMethodDefinition"===r.type)&&"Identifier"===s.type&&r.key===s&&":"!==wh(i,s,$h)||!(!s||!r||"Decorator"!==s.type||"ClassMethod"!==r.type&&"ClassProperty"!==r.type&&"PropertyDefinition"!==r.type&&"TSAbstractPropertyDefinition"!==r.type&&"TSAbstractMethodDefinition"!==r.type&&"TSDeclareMethod"!==r.type&&"MethodDefinition"!==r.type))&&(Ih(s,e),!0)}function up(t){let{comment:e,precedingNode:s,enclosingNode:r,text:i}=t;return"("===wh(i,e,$h)&&(!(!s||!r||"FunctionDeclaration"!==r.type&&"FunctionExpression"!==r.type&&"ClassMethod"!==r.type&&"MethodDefinition"!==r.type&&"ObjectMethod"!==r.type)&&(Ih(s,e),!0))}function hp(t){let{comment:e,enclosingNode:s,text:r}=t;if(!s||"ArrowFunctionExpression"!==s.type)return!1;const i=kh(r,e,$h);return!1!==i&&"=>"===r.slice(i,i+2)&&(vh(s,e),!0)}function pp(t){let{comment:e,enclosingNode:s,text:r}=t;return")"===wh(r,e,$h)&&(s&&(Sp(s)&&0===Mh(s).length||Hh(s)&&0===Vh(s).length)?(vh(s,e),!0):!(!s||"MethodDefinition"!==s.type&&"TSAbstractMethodDefinition"!==s.type||0!==Mh(s.value).length)&&(vh(s.value,e),!0))}function cp(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i,text:n}=t;if(s&&"FunctionTypeParam"===s.type&&r&&"FunctionTypeAnnotation"===r.type&&i&&"FunctionTypeParam"!==i.type)return Ih(s,e),!0;if(s&&("Identifier"===s.type||"AssignmentPattern"===s.type)&&r&&Sp(r)&&")"===wh(n,e,$h))return Ih(s,e),!0;if(r&&"FunctionDeclaration"===r.type&&i&&"BlockStatement"===i.type){const t=(()=>{const t=Mh(r);if(t.length>0)return Sh(n,$h(Th(t)));const e=Sh(n,$h(r.id));return!1!==e&&Sh(n,e+1)})();if(Jh(e)>t)return Yh(i,e),!0}return!1}function lp(t){let{comment:e,enclosingNode:s}=t;return!(!s||"ImportSpecifier"!==s.type)&&(Nh(s,e),!0)}function dp(t){let{comment:e,enclosingNode:s}=t;return!(!s||"LabeledStatement"!==s.type)&&(Nh(s,e),!0)}function Dp(t){let{comment:e,enclosingNode:s}=t;return!(!s||"ContinueStatement"!==s.type&&"BreakStatement"!==s.type||s.label)&&(Ih(s,e),!0)}function mp(t){let{comment:e,precedingNode:s,enclosingNode:r}=t;return!!(qh(r)&&s&&r.callee===s&&r.arguments.length>0)&&(Nh(r.arguments[0],e),!0)}function fp(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i}=t;return!r||"UnionTypeAnnotation"!==r.type&&"TSUnionType"!==r.type?(i&&("UnionTypeAnnotation"===i.type||"TSUnionType"===i.type)&&Rh(e)&&(i.types[0].prettierIgnore=!0,e.unignore=!0),!1):(Rh(e)&&(i.prettierIgnore=!0,e.unignore=!0),!!s&&(Ih(s,e),!0))}function yp(t){let{comment:e,enclosingNode:s}=t;return!!Wh(s)&&(Nh(s,e),!0)}function Ep(t){let{comment:e,enclosingNode:s,followingNode:r,ast:i,isLastComment:n}=t;return i&&i.body&&0===i.body.length?(n?vh(i,e):Nh(i,e),!0):s&&"Program"===s.type&&0===s.body.length&&!Lh(s.directives)?(n?vh(s,e):Nh(s,e),!0):!(!r||"Program"!==r.type||0!==r.body.length||!s||"ModuleExpression"!==s.type)&&(vh(r,e),!0)}function Ap(t){let{comment:e,enclosingNode:s}=t;return!(!s||"ForInStatement"!==s.type&&"ForOfStatement"!==s.type)&&(Nh(s,e),!0)}function Cp(t){let{comment:e,precedingNode:s,enclosingNode:r,text:i}=t;return!!(s&&"ImportSpecifier"===s.type&&r&&"ImportDeclaration"===r.type&&bh(i,$h(e)))&&(Ih(s,e),!0)}function xp(t){let{comment:e,enclosingNode:s}=t;return!(!s||"AssignmentPattern"!==s.type)&&(Nh(s,e),!0)}function Fp(t){let{comment:e,enclosingNode:s}=t;return!(!s||"TypeAlias"!==s.type)&&(Nh(s,e),!0)}function gp(t){let{comment:e,enclosingNode:s,followingNode:r}=t;return!(!s||"VariableDeclarator"!==s.type&&"AssignmentExpression"!==s.type||!r||"ObjectExpression"!==r.type&&"ArrayExpression"!==r.type&&"TemplateLiteral"!==r.type&&"TaggedTemplateExpression"!==r.type&&!Oh(e))&&(Nh(r,e),!0)}function Pp(t){let{comment:e,enclosingNode:s,followingNode:r,text:i}=t;return!(r||!s||"TSMethodSignature"!==s.type&&"TSDeclareFunction"!==s.type&&"TSAbstractMethodDefinition"!==s.type||";"!==wh(i,e,$h))&&(Ih(s,e),!0)}function Tp(t){let{comment:e,enclosingNode:s,followingNode:r}=t;if(Rh(e)&&s&&"TSMappedType"===s.type&&r&&"TSTypeParameter"===r.type&&r.constraint)return s.prettierIgnore=!0,e.unignore=!0,!0}function bp(t){let{comment:e,precedingNode:s,enclosingNode:r,followingNode:i}=t;return!(!r||"TSMappedType"!==r.type)&&(i&&"TSTypeParameter"===i.type&&i.name?(Nh(i.name,e),!0):!(!s||"TSTypeParameter"!==s.type||!s.constraint)&&(Ih(s.constraint,e),!0))}function Sp(t){return"ArrowFunctionExpression"===t.type||"FunctionExpression"===t.type||"FunctionDeclaration"===t.type||"ObjectMethod"===t.type||"ClassMethod"===t.type||"TSDeclareFunction"===t.type||"TSCallSignatureDeclaration"===t.type||"TSConstructSignatureDeclaration"===t.type||"TSMethodSignature"===t.type||"TSConstructorType"===t.type||"TSFunctionType"===t.type||"TSDeclareMethod"===t.type}function wp(t){return Oh(t)&&"*"===t.value[0]&&/@type\b/.test(t.value)}var Bp={handleOwnLineComment:function(t){return[Tp,cp,rp,tp,ep,sp,ap,lp,Ap,fp,Ep,Cp,xp,op,dp].some((e=>e(t)))},handleEndOfLineComment:function(t){return[Zh,cp,ip,lp,tp,ep,sp,ap,dp,mp,yp,Ep,Fp,gp].some((e=>e(t)))},handleRemainingComment:function(t){return[Tp,tp,ep,np,pp,op,Ep,hp,up,bp,Dp,Pp].some((e=>e(t)))},isTypeCastComment:wp,getCommentChildNodes:function(t,e){if(("typescript"===e.parser||"flow"===e.parser||"espree"===e.parser||"meriyah"===e.parser||"__babel_estree"===e.parser)&&"MethodDefinition"===t.type&&t.value&&"FunctionExpression"===t.value.type&&0===Mh(t.value).length&&!t.value.returnType&&!Lh(t.value.typeParameters)&&t.value.body)return[...t.decorators||[],t.key,t.value.body]},willPrintOwnComments:function(t){const e=t.getValue(),s=t.getParentNode();return(e&&(jh(e)||Uh(e)||qh(s)&&(t=>_h(Kh(t,Xh.Leading))||_h(Kh(t,Xh.Trailing)))(e))||s&&("JSXSpreadAttribute"===s.type||"JSXSpreadChild"===s.type||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type||("ClassDeclaration"===s.type||"ClassExpression"===s.type)&&s.superClass===e))&&(!zh(t)||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type)}};var Np=function t(e,s){let r;if(Array.isArray(e))r=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;r=Object.entries(e)}for(const[i,n]of r)e[i]=t(n,s);return Array.isArray(e)?e:s(e)||e};const Ip=Pu,vp=Np;function kp(t,e){const{start:s,end:r}=t.loc;throw Ip(e,{start:{line:s.line,column:s.column+1},end:{line:r.line,column:r.column+1}})}var Lp={throwErrorForInvalidNodes:function(t,e){const{esTreeNodeToTSNodeMap:s,tsNodeToESTreeNodeMap:r}=e.tsParseResult;t=vp(t,(t=>{const e=s.get(t);if(!e)return;const i=r.get(e);i===t&&(function(t,e,s){const r=t.decorators;if(!Array.isArray(r))return;const i=e.decorators;Array.isArray(i)&&i.length===r.length&&!r.some((t=>{const e=s.get(t);return!e||!i.includes(e)}))||kp(e,"Leading decorators must be attached to a class declaration")}(e,i,r),function(t,e){166!==t.kind||t.modifiers&&!t.modifiers.some((t=>126===t.kind))||t.initializer&&null===e.value&&kp(e,"Abstract property cannot have an initializer")}(e,i))}))}};const{getLast:Op}=bo,{locStart:Mp,locEnd:Rp}=Au,{isTypeCastComment:jp}=Bp,Up=Np,{throwErrorForInvalidNodes:_p}=Lp;function zp(t){return"CallExpression"===t.type?(t.type="OptionalCallExpression",t.callee=zp(t.callee)):"MemberExpression"===t.type?(t.type="OptionalMemberExpression",t.object=zp(t.object)):"TSNonNullExpression"===t.type&&(t.expression=zp(t.expression)),t}function Hp(t){return"LogicalExpression"===t.type&&"LogicalExpression"===t.right.type&&t.operator===t.right.operator}function Vp(t){return Hp(t)?Vp({type:"LogicalExpression",operator:t.operator,left:Vp({type:"LogicalExpression",operator:t.operator,left:t.left,right:t.right.left,range:[Mp(t.left),Rp(t.right.left)]}),right:t.right.right,range:[Mp(t),Rp(t)]}):t}var qp=function(t,e){if("typescript"===e.parser&&/@|abstract/.test(e.originalText)&&_p(t,e),"typescript"!==e.parser&&"flow"!==e.parser&&"espree"!==e.parser&&"meriyah"!==e.parser){const e=new Set;t=Up(t,(t=>{t.leadingComments&&t.leadingComments.some(jp)&&e.add(Mp(t))})),t=Up(t,(t=>{if("ParenthesizedExpression"===t.type){const{expression:s}=t;if("TypeCastExpression"===s.type)return s.range=t.range,s;const r=Mp(t);if(!e.has(r))return s.extra=Object.assign(Object.assign({},s.extra),{},{parenthesized:!0}),s}}))}return t=Up(t,(t=>{switch(t.type){case"ChainExpression":return zp(t.expression);case"LogicalExpression":if(Hp(t))return Vp(t);break;case"VariableDeclaration":{const s=Op(t.declarations);s&&s.init&&function(t,s){if(";"===e.originalText[Rp(s)])return;t.range=[Mp(t),Rp(s)]}(t,s);break}case"TSParenthesizedType":return t.typeAnnotation.range=[Mp(t),Rp(t)],t.typeAnnotation;case"TSTypeParameter":if("string"==typeof t.name){const e=Mp(t);t.name={type:"Identifier",name:t.name,range:[e,e+t.name.length]}}break;case"SequenceExpression":{const e=Op(t.expressions);t.range=[Mp(t),Math.min(Rp(e),Rp(t))];break}case"TopicReference":e.__isUsingHackPipeline=!0}}))},Gp={};Object.defineProperty(Gp,"__esModule",{value:!0});const Wp=/\r\n?|[\n\u2028\u2029]/,Kp=new RegExp(Wp.source,"g");function Xp(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const Jp=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,$p=new RegExp("(?=("+/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/y.source+"))\\1"+/(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source,"y");function Yp(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class Qp{constructor(t,e){this.line=void 0,this.column=void 0,this.line=t,this.column=e}}class Zp{constructor(t,e){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=e}}function tc(t,e){void 0===t.trailingComments?t.trailingComments=e:t.trailingComments.unshift(...e)}function ec(t,e){void 0===t.innerComments?t.innerComments=e:t.innerComments.unshift(...e)}function sc(t,e,s){let r=null,i=e.length;for(;null===r&&i>0;)r=e[--i];null===r||r.start>s.start?ec(t,s.comments):tc(r,s.comments)}const rc=Object.freeze({SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),ic=oc({AccessorIsGenerator:"A %0ter cannot be a generator.",ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accesor must not have any formal parameters.",BadSetterArity:"A 'set' accesor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accesor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:"'%0' require an initialization value.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?",ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:"'%0' loop variable declaration may not have an initializer.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:"Unsyntactic %0.",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportBindingIsString:'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:"`import()` requires exactly %0.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidDecimal:"Invalid decimal.",InvalidDigit:"Expected number in radix %0.",InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:"Escape sequence in keyword %0.",InvalidIdentifier:"Invalid identifier %0.",InvalidLhs:"Invalid left-hand side in %0.",InvalidLhsBinding:"Binding invalid left-hand side in %0.",InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:"Unexpected character '%0'.",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:"Private name #%0 is not defined.",InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:"Label '%0' is already declared.",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:'Duplicate key "%0" is not allowed in module attributes.',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found '\\u%0'.",ModuleExportUndefined:"Export '%0' is not defined.",MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PipeBodyIsTighter:"Unexpected %0 after pipeline body; any %0 expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:'Invalid topic token %0. In order to use %0 as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "%0" }.',PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:"Hack-style pipe body cannot be an unparenthesized %0 expression; please wrap it in parentheses.",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).",PrivateNameRedeclaration:"Duplicate private name #%0.",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",StaticPrototype:"Classes may not have static property named prototype.",StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:"Assigning to '%0' in strict mode.",StrictEvalArgumentsBinding:"Binding '%0' in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:"Unexpected keyword '%0'.",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'.",UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:"Unexpected token '%0'.",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1.",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",VarRedeclaration:"Identifier '%0' has already been declared.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},rc.SyntaxError),nc=oc({ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'"},rc.SourceTypeModuleError);function ac(t,e){return"flow"===e&&"PatternIsOptional"===t?"OptionalBindingPattern":t}function oc(t,e,s){const r={};return Object.keys(t).forEach((i=>{r[i]=Object.freeze({code:e,reasonCode:ac(i,s),template:t[i]})})),Object.freeze(r)}class uc{constructor(t,e){this.token=void 0,this.preserveSpace=void 0,this.token=t,this.preserveSpace=!!e}}const hc={brace:new uc("{"),template:new uc("`",!0)};class pc{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const cc=new Map;function lc(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.keyword=t;const s=xc(t,e);return cc.set(t,s),s}function dc(t,e){return xc(t,{beforeExpr:true,binop:e})}let Dc=-1;const mc=[],fc=[],yc=[],Ec=[],Ac=[],Cc=[];function xc(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var s,r,i,n;return++Dc,fc.push(t),yc.push(null!=(s=e.binop)?s:-1),Ec.push(null!=(r=e.beforeExpr)&&r),Ac.push(null!=(i=e.startsExpr)&&i),Cc.push(null!=(n=e.prefix)&&n),mc.push(new pc(t,e)),Dc}function Fc(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var s,r,i,n;return++Dc,cc.set(t,Dc),fc.push(t),yc.push(null!=(s=e.binop)?s:-1),Ec.push(null!=(r=e.beforeExpr)&&r),Ac.push(null!=(i=e.startsExpr)&&i),Cc.push(null!=(n=e.prefix)&&n),mc.push(new pc("name",e)),Dc}const gc={bracketL:xc("[",{beforeExpr:true,startsExpr:true}),bracketHashL:xc("#[",{beforeExpr:true,startsExpr:true}),bracketBarL:xc("[|",{beforeExpr:true,startsExpr:true}),bracketR:xc("]"),bracketBarR:xc("|]"),braceL:xc("{",{beforeExpr:true,startsExpr:true}),braceBarL:xc("{|",{beforeExpr:true,startsExpr:true}),braceHashL:xc("#{",{beforeExpr:true,startsExpr:true}),braceR:xc("}",{beforeExpr:true}),braceBarR:xc("|}"),parenL:xc("(",{beforeExpr:true,startsExpr:true}),parenR:xc(")"),comma:xc(",",{beforeExpr:true}),semi:xc(";",{beforeExpr:true}),colon:xc(":",{beforeExpr:true}),doubleColon:xc("::",{beforeExpr:true}),dot:xc("."),question:xc("?",{beforeExpr:true}),questionDot:xc("?."),arrow:xc("=>",{beforeExpr:true}),template:xc("template"),ellipsis:xc("...",{beforeExpr:true}),backQuote:xc("`",{startsExpr:true}),dollarBraceL:xc("${",{beforeExpr:true,startsExpr:true}),at:xc("@"),hash:xc("#",{startsExpr:true}),interpreterDirective:xc("#!..."),eq:xc("=",{beforeExpr:true,isAssign:true}),assign:xc("_=",{beforeExpr:true,isAssign:true}),slashAssign:xc("_=",{beforeExpr:true,isAssign:true}),xorAssign:xc("_=",{beforeExpr:true,isAssign:true}),moduloAssign:xc("_=",{beforeExpr:true,isAssign:true}),incDec:xc("++/--",{prefix:true,postfix:!0,startsExpr:true}),bang:xc("!",{beforeExpr:true,prefix:true,startsExpr:true}),tilde:xc("~",{beforeExpr:true,prefix:true,startsExpr:true}),pipeline:dc("|>",0),nullishCoalescing:dc("??",1),logicalOR:dc("||",1),logicalAND:dc("&&",2),bitwiseOR:dc("|",3),bitwiseXOR:dc("^",4),bitwiseAND:dc("&",5),equality:dc("==/!=/===/!==",6),lt:dc("/<=/>=",7),gt:dc("/<=/>=",7),relational:dc("/<=/>=",7),bitShift:dc("<>/>>>",8),plusMin:xc("+/-",{beforeExpr:true,binop:9,prefix:true,startsExpr:true}),modulo:xc("%",{binop:10,startsExpr:true}),star:xc("*",{binop:10}),slash:dc("/",10),exponent:xc("**",{beforeExpr:true,binop:11,rightAssociative:!0}),_in:lc("in",{beforeExpr:true,binop:7}),_instanceof:lc("instanceof",{beforeExpr:true,binop:7}),_break:lc("break"),_case:lc("case",{beforeExpr:true}),_catch:lc("catch"),_continue:lc("continue"),_debugger:lc("debugger"),_default:lc("default",{beforeExpr:true}),_else:lc("else",{beforeExpr:true}),_finally:lc("finally"),_function:lc("function",{startsExpr:true}),_if:lc("if"),_return:lc("return",{beforeExpr:true}),_switch:lc("switch"),_throw:lc("throw",{beforeExpr:true,prefix:true,startsExpr:true}),_try:lc("try"),_var:lc("var"),_const:lc("const"),_with:lc("with"),_new:lc("new",{beforeExpr:true,startsExpr:true}),_this:lc("this",{startsExpr:true}),_super:lc("super",{startsExpr:true}),_class:lc("class",{startsExpr:true}),_extends:lc("extends",{beforeExpr:true}),_export:lc("export"),_import:lc("import",{startsExpr:true}),_null:lc("null",{startsExpr:true}),_true:lc("true",{startsExpr:true}),_false:lc("false",{startsExpr:true}),_typeof:lc("typeof",{beforeExpr:true,prefix:true,startsExpr:true}),_void:lc("void",{beforeExpr:true,prefix:true,startsExpr:true}),_delete:lc("delete",{beforeExpr:true,prefix:true,startsExpr:true}),_do:lc("do",{isLoop:true,beforeExpr:true}),_for:lc("for",{isLoop:true}),_while:lc("while",{isLoop:true}),_as:Fc("as",{startsExpr:true}),_assert:Fc("assert",{startsExpr:true}),_async:Fc("async",{startsExpr:true}),_await:Fc("await",{startsExpr:true}),_from:Fc("from",{startsExpr:true}),_get:Fc("get",{startsExpr:true}),_let:Fc("let",{startsExpr:true}),_meta:Fc("meta",{startsExpr:true}),_of:Fc("of",{startsExpr:true}),_sent:Fc("sent",{startsExpr:true}),_set:Fc("set",{startsExpr:true}),_static:Fc("static",{startsExpr:true}),_yield:Fc("yield",{startsExpr:true}),_asserts:Fc("asserts",{startsExpr:true}),_checks:Fc("checks",{startsExpr:true}),_exports:Fc("exports",{startsExpr:true}),_global:Fc("global",{startsExpr:true}),_implements:Fc("implements",{startsExpr:true}),_intrinsic:Fc("intrinsic",{startsExpr:true}),_infer:Fc("infer",{startsExpr:true}),_is:Fc("is",{startsExpr:true}),_mixins:Fc("mixins",{startsExpr:true}),_proto:Fc("proto",{startsExpr:true}),_require:Fc("require",{startsExpr:true}),_keyof:Fc("keyof",{startsExpr:true}),_readonly:Fc("readonly",{startsExpr:true}),_unique:Fc("unique",{startsExpr:true}),_abstract:Fc("abstract",{startsExpr:true}),_declare:Fc("declare",{startsExpr:true}),_enum:Fc("enum",{startsExpr:true}),_module:Fc("module",{startsExpr:true}),_namespace:Fc("namespace",{startsExpr:true}),_interface:Fc("interface",{startsExpr:true}),_type:Fc("type",{startsExpr:true}),_opaque:Fc("opaque",{startsExpr:true}),name:xc("name",{startsExpr:true}),string:xc("string",{startsExpr:true}),num:xc("num",{startsExpr:true}),bigint:xc("bigint",{startsExpr:true}),decimal:xc("decimal",{startsExpr:true}),regexp:xc("regexp",{startsExpr:true}),privateName:xc("#name",{startsExpr:true}),eof:xc("eof"),jsxName:xc("jsxName"),jsxText:xc("jsxText",{beforeExpr:!0}),jsxTagStart:xc("jsxTagStart",{startsExpr:!0}),jsxTagEnd:xc("jsxTagEnd"),placeholder:xc("%%",{startsExpr:!0})};function Pc(t){return t>=87&&t<=122}function Tc(t){return t>=52&&t<=122}function bc(t){return t>=52&&t<=126}function Sc(t){return Ac[t]}function wc(t){return t>=119&&t<=121}function Bc(t){return t>=52&&t<=86}function Nc(t){return fc[t]}function Ic(t){return yc[t]}function vc(t){return mc[t]}mc[8].updateContext=t=>{t.pop()},mc[5].updateContext=mc[7].updateContext=mc[23].updateContext=t=>{t.push(hc.brace)},mc[22].updateContext=t=>{t[t.length-1]===hc.template?t.pop():t.push(hc.template)},mc[132].updateContext=t=>{t.push(hc.j_expr,hc.j_oTag)};let kc="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",Lc="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";const Oc=new RegExp("["+kc+"]"),Mc=new RegExp("["+kc+Lc+"]");kc=Lc=null;const Rc=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],jc=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];function Uc(t,e){let s=65536;for(let r=0,i=e.length;rt)return!1;if(s+=e[r+1],s>=t)return!0}return!1}function _c(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&Oc.test(String.fromCharCode(t)):Uc(t,Rc)))}function zc(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&Mc.test(String.fromCharCode(t)):Uc(t,Rc)||Uc(t,jc))))}const Hc=["implements","interface","let","package","private","protected","public","static","yield"],Vc=["eval","arguments"],qc=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),Gc=new Set(Hc),Wc=new Set(Vc);function Kc(t,e){return e&&"await"===t||"enum"===t}function Xc(t,e){return Kc(t,e)||Gc.has(t)}function Jc(t){return Wc.has(t)}function $c(t,e){return Xc(t,e)||Jc(t)}const Yc=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);class Qc{constructor(t){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=t}}class Zc{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=t,this.inModule=e}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){const t=this.currentThisScopeFlags();return(64&t)>0&&0==(2&t)}get inStaticBlock(){for(let t=this.scopeStack.length-1;;t--){const{flags:e}=this.scopeStack[t];if(128&e)return!0;if(323&e)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new Qc(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(2&t.flags||!this.inModule&&1&t.flags)}declareName(t,e,s){let r=this.currentScope();if(8&e||16&e)this.checkRedeclarationInScope(r,t,e,s),16&e?r.functions.add(t):r.lexical.add(t),8&e&&this.maybeExportDefined(r,t);else if(4&e)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,t,e,s),r.var.add(t),this.maybeExportDefined(r,t),!(259&r.flags));--i);this.inModule&&1&r.flags&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&1&t.flags&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.raise(r,ic.VarRedeclaration,e)}isRedeclaredInScope(t,e,s){return!!(1&s)&&(8&s?t.lexical.has(e)||t.functions.has(e)||t.var.has(e):16&s?t.lexical.has(e)||!this.treatFunctionsAsVarInScope(t)&&t.var.has(e):t.lexical.has(e)&&!(8&t.flags&&t.lexical.values().next().value===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.has(e))}checkLocalExport(t){const{name:e}=t,s=this.scopeStack[0];s.lexical.has(e)||s.var.has(e)||s.functions.has(e)||this.undefinedExports.set(e,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let t=this.scopeStack.length-1;;t--){const{flags:e}=this.scopeStack[t];if(259&e)return e}}currentThisScopeFlags(){for(let t=this.scopeStack.length-1;;t--){const{flags:e}=this.scopeStack[t];if(323&e&&!(4&e))return e}}}class tl extends Qc{constructor(){super(...arguments),this.declareFunctions=new Set}}class el extends Zc{createScope(t){return new tl(t)}declareName(t,e,s){const r=this.currentScope();if(2048&e)return this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t),void r.declareFunctions.add(t);super.declareName(...arguments)}isRedeclaredInScope(t,e,s){return!!super.isRedeclaredInScope(...arguments)||!!(2048&s)&&(!t.declareFunctions.has(e)&&(t.lexical.has(e)||t.functions.has(e)))}checkLocalExport(t){this.scopeStack[0].declareFunctions.has(t.name)||super.checkLocalExport(t)}}class sl{constructor(){this.strict=void 0,this.curLine=void 0,this.lineStart=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inType=!1,this.noAnonFunctionType=!1,this.hasFlowComment=!1,this.isAmbientContext=!1,this.inAbstractClass=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.commentStack=[],this.pos=0,this.type=129,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[hc.brace],this.canStartJSXElement=!0,this.containsEsc=!1,this.strictErrors=new Map,this.tokensLength=0}init(t){let{strictMode:e,sourceType:s,startLine:r,startColumn:i}=t;this.strict=!1!==e&&(!0===e||"module"===s),this.curLine=r,this.lineStart=-i,this.startLoc=this.endLoc=new Qp(r,i)}curPosition(){return new Qp(this.curLine,this.pos-this.lineStart)}clone(t){const e=new sl,s=Object.keys(this);for(let r=0,i=s.length;r=48&&t<=57};const il=new Set([103,109,115,105,121,117,100]),nl={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},al={bin:[48,49]};al.oct=[...al.bin,50,51,52,53,54,55],al.dec=[...al.oct,56,57],al.hex=[...al.dec,65,66,67,68,69,70,97,98,99,100,101,102];class ol{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new Zp(t.startLoc,t.endLoc)}}class ul{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class hl{constructor(t){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new ul)}exit(){const t=this.stack.pop(),e=this.current();for(const[s,r]of Array.from(t.undefinedPrivateNames))e?e.undefinedPrivateNames.has(s)||e.undefinedPrivateNames.set(s,r):this.raise(r,ic.InvalidPrivateFieldResolution,s)}declarePrivateName(t,e,s){const r=this.current();let i=r.privateNames.has(t);if(3&e){const s=i&&r.loneAccessors.get(t);if(s){const n=4&s,a=4&e;i=(3&s)===(3&e)||n!==a,i||r.loneAccessors.delete(t)}else i||r.loneAccessors.set(t,e)}i&&this.raise(s,ic.PrivateNameRedeclaration,t),r.privateNames.add(t),r.undefinedPrivateNames.delete(t)}usePrivateName(t,e){let s;for(s of this.stack)if(s.privateNames.has(t))return;s?s.undefinedPrivateNames.set(t,e):this.raise(e,ic.InvalidPrivateFieldResolution,t)}}class pl{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class cl extends pl{constructor(t){super(t),this.errors=new Map}recordDeclarationError(t,e){this.errors.set(t,e)}clearDeclarationError(t){this.errors.delete(t)}iterateErrors(t){this.errors.forEach(t)}}class ll{constructor(t){this.stack=[new pl],this.raise=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(t,e),i=s[--r]}this.raise(t,e)}recordParenthesizedIdentifierError(t,e){const{stack:s}=this,r=s[s.length-1];if(r.isCertainlyParameterDeclaration())this.raise(t,e);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(t,e)}}recordAsyncArrowParametersError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(t,e),i=s[--r]}validateAsPattern(){const{stack:t}=this,e=t[t.length-1];e.canBeArrowParameterDeclaration()&&e.iterateErrors(((e,s)=>{this.raise(s,e);let r=t.length-2,i=t[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(s),i=t[--r]}))}}function dl(){return new pl}class Dl{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function ml(t,e){return(t?2:0)|(e?1:0)}class fl{constructor(){this.shorthandAssign=-1,this.doubleProto=-1,this.optionalParameters=-1}}class yl{constructor(t,e,s){this.type="",this.start=e,this.end=0,this.loc=new Zp(s),null!=t&&t.options.ranges&&(this.range=[e,0]),null!=t&&t.filename&&(this.loc.filename=t.filename)}}const El=yl.prototype;function Al(t){const{type:e,start:s,end:r,loc:i,range:n,extra:a,name:o}=t,u=Object.create(El);return u.type=e,u.start=s,u.end=r,u.loc=i,u.range=n,u.extra=a,u.name=o,"Placeholder"===e&&(u.expectedNode=t.expectedNode),u}function Cl(t){const{type:e,start:s,end:r,loc:i,range:n,extra:a}=t;if("Placeholder"===e)return function(t){return Al(t)}(t);const o=Object.create(El);return o.type="StringLiteral",o.start=s,o.end=r,o.loc=i,o.range=n,o.extra=a,o.value=t.value,o}El.__clone=function(){const t=new yl,e=Object.keys(this);for(let s=0,r=e.length;s async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead.",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."},rc.SyntaxError,"flow");function gl(t){return"type"===t.importKind||"typeof"===t.importKind}function Pl(t){return Tc(t)&&91!==t}const Tl={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const bl=/\*?\s*@((?:no)?flow)\b/;const Sl={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},wl=/^[\da-fA-F]+$/,Bl=/^\d+$/,Nl=oc({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>.",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"},rc.SyntaxError,"jsx");function Il(t){return!!t&&("JSXOpeningFragment"===t.type||"JSXClosingFragment"===t.type)}function vl(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return vl(t.object)+"."+vl(t.property);throw new Error("Node had unexpected type: "+t.type)}hc.j_oTag=new uc("...",!0);class kl extends Qc{constructor(){super(...arguments),this.types=new Set,this.enums=new Set,this.constEnums=new Set,this.classes=new Set,this.exportOnlyBindings=new Set}}class Ll extends Zc{createScope(t){return new kl(t)}declareName(t,e,s){const r=this.currentScope();if(1024&e)return this.maybeExportDefined(r,t),void r.exportOnlyBindings.add(t);super.declareName(...arguments),2&e&&(1&e||(this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t)),r.types.add(t)),256&e&&r.enums.add(t),512&e&&r.constEnums.add(t),128&e&&r.classes.add(t)}isRedeclaredInScope(t,e,s){if(t.enums.has(e)){if(256&s){return!!(512&s)!==t.constEnums.has(e)}return!0}return 128&s&&t.classes.has(e)?!!t.lexical.has(e)&&!!(1&s):!!(2&s&&t.types.has(e))||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){const e=this.scopeStack[0],{name:s}=t;e.types.has(s)||e.exportOnlyBindings.has(s)||super.checkLocalExport(t)}}function Ol(t){if(!t)throw new Error("Assert fail")}const Ml=oc({AbstractMethodHasImplementation:"Method '%0' cannot have an implementation because it is marked abstract.",AbstractPropertyHasInitializer:"Property '%0' cannot have an initializer because it is marked abstract.",AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:"'declare' is not allowed in %0ters.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",DuplicateModifier:"Duplicate modifier: '%0'.",EmptyHeritageClauseType:"'%0' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",IncompatibleModifiers:"'%0' modifier cannot be used with '%1' modifier.",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0').",IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InvalidModifierOnTypeMember:"'%0' modifier cannot appear on a type member.",InvalidModifiersOrder:"'%0' modifier must precede '%1' modifier.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0').",ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0."},rc.SyntaxError,"typescript");function Rl(t){return"private"===t||"public"===t||"protected"===t}const jl=oc({ClassNameIsRequired:"A class name is required."},rc.SyntaxError);function Ul(t,e){return t.some((t=>Array.isArray(t)?t[0]===e:t===e))}function _l(t,e,s){const r=t.find((t=>Array.isArray(t)?t[0]===e:t===e));return r&&Array.isArray(r)?r[1][s]:null}const zl=["minimal","fsharp","hack","smart"],Hl=["^","%","#"],Vl=["hash","bar"];const ql={estree:t=>class extends t{parseRegExpLiteral(t){let{pattern:e,flags:s}=t,r=null;try{r=new RegExp(e,s)}catch(t){}const i=this.estreeParseLiteral(r);return i.regex={pattern:e,flags:s},i}parseBigIntLiteral(t){let e;try{e=BigInt(t)}catch(t){e=null}const s=this.estreeParseLiteral(e);return s.bigint=String(s.value||t),s}parseDecimalLiteral(t){const e=this.estreeParseLiteral(null);return e.decimal=String(e.value||t),e}estreeParseLiteral(t){return this.parseLiteral(t,"Literal")}parseStringLiteral(t){return this.estreeParseLiteral(t)}parseNumericLiteral(t){return this.estreeParseLiteral(t)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(t){return this.estreeParseLiteral(t)}directiveToStmt(t){const e=t.value,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start);return r.value=e.extra.expressionValue,r.raw=e.extra.raw,s.expression=this.finishNodeAt(r,"Literal",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){null!=t&&this.isObjectProperty(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}getObjectOrClassMethodParams(t){return t.value.params}isValidDirective(t){var e;return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&!(null!=(e=t.expression.extra)&&e.parenthesized)}parseBlockBody(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),r=1;rthis.directiveToStmt(t)));t.body=i.concat(t.body),delete t.directives}pushClassMethod(t,e,s,r,i,n){this.parseMethod(e,s,r,i,n,"ClassMethod",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parsePrivateName(){const t=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(t):t}convertPrivateNameToPrivateIdentifier(t){const e=super.getPrivateNameSV(t);return delete(t=t).id,t.name=e,t.type="PrivateIdentifier",t}isPrivateName(t){return this.getPluginOption("estree","classFeatures")?"PrivateIdentifier"===t.type:super.isPrivateName(t)}getPrivateNameSV(t){return this.getPluginOption("estree","classFeatures")?t.name:super.getPrivateNameSV(t)}parseLiteral(t,e){const s=super.parseLiteral(t,e);return s.raw=s.extra.raw,delete s.extra,s}parseFunctionBody(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super.parseFunctionBody(t,e,s),t.expression="BlockStatement"!==t.body.type}parseMethod(t,e,s,r,i,n){let a=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,s,r,i,n,a),o.type="FunctionExpression",delete o.kind,t.value=o,"ClassPrivateMethod"===n&&(t.computed=!1),n="MethodDefinition",this.finishNode(t,n)}parseClassProperty(){const t=super.parseClassProperty(...arguments);return this.getPluginOption("estree","classFeatures")?(t.type="PropertyDefinition",t):t}parseClassPrivateProperty(){const t=super.parseClassPrivateProperty(...arguments);return this.getPluginOption("estree","classFeatures")?(t.type="PropertyDefinition",t.computed=!1,t):t}parseObjectMethod(t,e,s,r,i){const n=super.parseObjectMethod(t,e,s,r,i);return n&&(n.type="Property","method"===n.kind&&(n.kind="init"),n.shorthand=!1),n}parseObjectProperty(t,e,s,r,i){const n=super.parseObjectProperty(t,e,s,r,i);return n&&(n.kind="init",n.type="Property"),n}isAssignable(t,e){return null!=t&&this.isObjectProperty(t)?this.isAssignable(t.value,e):super.isAssignable(t,e)}toAssignable(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return null!=t&&this.isObjectProperty(t)?(this.toAssignable(t.value,e),t):super.toAssignable(t,e)}toAssignableObjectExpressionProp(t){if("get"===t.kind||"set"===t.kind)this.raise(t.key.start,ic.PatternHasAccessor);else if(t.method)this.raise(t.key.start,ic.PatternHasMethod);else{for(var e=arguments.length,s=new Array(e>1?e-1:0),r=1;rclass extends t{jsxReadToken(){let t="",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,Nl.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(132)):super.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(131,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:Xp(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?"\n":"\r\n"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,ic.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;38===r?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):Xp(r)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return e+=this.input.slice(s,this.state.pos++),this.finishToken(123,e)}jsxReadEntity(){let t,e="",s=0,r=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends t{constructor(){super(...arguments),this.flowPragma=void 0}getScopeHandler(){return el}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(t,e){return 123!==t&&13!==t&&26!==t&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=bl.exec(t.value);if(e)if("flow"===e[1])this.flowPragma="flow";else{if("noflow"!==e[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||14);const s=this.flowParseType();return this.state.inType=e,s}flowParsePredicate(){const t=this.startNode(),e=this.state.start;return this.next(),this.expectContextual(101),this.state.lastTokStart>e+1&&this.raise(e,Fl.UnexpectedSpaceBetweenModuloChecks),this.eat(10)?(t.value=this.parseExpression(),this.expect(11),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(14);let e=null,s=null;return this.match(48)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(48)&&(s=this.flowParsePredicate())),[e,s]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,"DeclareClass")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.match(43)?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(10);const i=this.flowParseFunctionTypeParams();return s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),[s.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(e),this.semicolon(),this.scope.declareName(t.id.name,2048,t.id.start),this.finishNode(t,"DeclareFunction")}flowParseDeclare(t,e){if(this.match(74))return this.flowParseDeclareClass(t);if(this.match(62))return this.flowParseDeclareFunction(t);if(this.match(68))return this.flowParseDeclareVariable(t);if(this.eatContextual(117))return this.match(16)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,Fl.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual(120))return this.flowParseDeclareTypeAlias(t);if(this.isContextual(121))return this.flowParseDeclareOpaqueType(t);if(this.isContextual(119))return this.flowParseDeclareInterface(t);if(this.match(76))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,5,t.id.start),this.semicolon(),this.finishNode(t,"DeclareVariable")}flowParseDeclareModule(t){this.scope.enter(0),this.match(123)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),s=e.body=[];for(this.expect(5);!this.match(8);){let t=this.startNode();this.match(77)?(this.next(),this.isContextual(120)||this.match(81)||this.raise(this.state.lastTokStart,Fl.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual(115,Fl.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),s.push(t)}this.scope.exit(),this.expect(8),this.finishNode(e,"BlockStatement");let r=null,i=!1;return s.forEach((t=>{!function(t){return"DeclareExportAllDeclaration"===t.type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)}(t)?"DeclareModuleExports"===t.type&&(i&&this.raise(t.start,Fl.DuplicateDeclareModuleExports),"ES"===r&&this.raise(t.start,Fl.AmbiguousDeclareModuleKind),r="CommonJS",i=!0):("CommonJS"===r&&this.raise(t.start,Fl.AmbiguousDeclareModuleKind),r="ES")})),t.kind=r||"CommonJS",this.finishNode(t,"DeclareModule")}flowParseDeclareExportDeclaration(t,e){if(this.expect(76),this.eat(59))return this.match(62)||this.match(74)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(69)||this.isLet()||(this.isContextual(120)||this.isContextual(119))&&!e){const t=this.state.value,e=Tl[t];throw this.raise(this.state.start,Fl.UnsupportedDeclareExportKind,t,e)}if(this.match(68)||this.match(62)||this.match(74)||this.isContextual(121))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(49)||this.match(5)||this.isContextual(119)||this.isContextual(120)||this.isContextual(121))return"ExportNamedDeclaration"===(t=this.parseExport(t)).type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual(102),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type="DeclareTypeAlias",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type="DeclareOpaqueType",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")}flowParseInterfaceish(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?17:9,t.id.start),this.match(43)?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(75))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(12));if(this.isContextual(108)){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(12))}if(this.isContextual(104)){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(12))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.match(43)?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")}checkNotUnderscore(t){"_"===t&&this.raise(this.state.start,Fl.UnexpectedReservedUnderscore)}checkReservedType(t,e,s){xl.has(t)&&this.raise(e,s?Fl.AssignReservedType:Fl.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,9,t.id.start),this.match(43)?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(27),this.semicolon(),this.finishNode(t,"TypeAlias")}flowParseOpaqueType(t,e){return this.expectContextual(120),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,9,t.id.start),this.match(43)?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(14)&&(t.supertype=this.flowParseTypeInitialiser(14)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(27)),this.semicolon(),this.finishNode(t,"OpaqueType")}flowParseTypeParameter(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const e=this.state.start,s=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return s.name=i.name,s.variance=r,s.bound=i.typeAnnotation,this.match(27)?(this.eat(27),s.default=this.flowParseType()):t&&this.raise(e,Fl.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.match(43)||this.match(132)?this.next():this.unexpected();let s=!1;do{const t=this.flowParseTypeParameter(s);e.params.push(t),t.default&&(s=!0),this.match(44)||this.expect(12)}while(!this.match(44));return this.expect(44),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expect(43);const s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(44);)t.params.push(this.flowParseType()),this.match(44)||this.expect(12);return this.state.noAnonFunctionType=s,this.expect(44),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expect(43);!this.match(44);)t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(44)||this.expect(12);return this.expect(44),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual(119),t.extends=[],this.eat(75))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(12));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(124)||this.match(123)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,s){return t.static=e,14===this.lookahead().type?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(3),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(43)||this.match(10)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(17)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(t){for(t.params=[],t.rest=null,t.typeParameters=null,t.this=null,this.match(43)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(72)&&(t.this=this.flowParseFunctionTypeParam(!0),t.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)t.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(t.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(t,e){const s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,"ObjectTypeCallProperty")}flowParseObjectType(t){let{allowStatic:e,allowExact:s,allowSpread:r,allowProto:i,allowInexact:n}=t;const a=this.state.inType;this.state.inType=!0;const o=this.startNode();let u,h;o.callProperties=[],o.properties=[],o.indexers=[],o.internalSlots=[];let p=!1;for(s&&this.match(6)?(this.expect(6),u=9,h=!0):(this.expect(5),u=8,h=!1),o.exact=h;!this.match(u);){let t=!1,s=null,a=null;const u=this.startNode();if(i&&this.isContextual(109)){const t=this.lookahead();14!==t.type&&17!==t.type&&(this.next(),s=this.state.start,e=!1)}if(e&&this.isContextual(98)){const e=this.lookahead();14!==e.type&&17!==e.type&&(this.next(),t=!0)}const c=this.flowParseVariance();if(this.eat(0))null!=s&&this.unexpected(s),this.eat(0)?(c&&this.unexpected(c.start),o.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):o.indexers.push(this.flowParseObjectTypeIndexer(u,t,c));else if(this.match(10)||this.match(43))null!=s&&this.unexpected(s),c&&this.unexpected(c.start),o.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual(92)||this.isContextual(97)){bc(this.lookahead().type)&&(e=this.state.value,this.next())}const i=this.flowParseObjectTypeProperty(u,t,s,c,e,r,null!=n?n:!h);null===i?(p=!0,a=this.state.lastTokStart):o.properties.push(i)}this.flowObjectTypeSemicolon(),!a||this.match(8)||this.match(9)||this.raise(a,Fl.UnexpectedExplicitInexactInObject)}this.expect(u),r&&(o.inexact=p);const c=this.finishNode(o,"ObjectTypeAnnotation");return this.state.inType=a,c}flowParseObjectTypeProperty(t,e,s,r,i,n,a){if(this.eat(21)){return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(n?a||this.raise(this.state.lastTokStart,Fl.InexactInsideExact):this.raise(this.state.lastTokStart,Fl.InexactInsideNonObject),r&&this.raise(r.start,Fl.InexactVariance),null):(n||this.raise(this.state.lastTokStart,Fl.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,Fl.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty"))}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=s,t.kind=i;let a=!1;return this.match(43)||this.match(10)?(t.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(t),!n&&"constructor"===t.key.name&&t.value.this&&this.raise(t.value.this.start,Fl.ThisParamBannedInConstructor)):("init"!==i&&this.unexpected(),t.method=!1,this.eat(17)&&(a=!0),t.value=this.flowParseTypeInitialiser(),t.variance=r),t.optional=a,this.finishNode(t,"ObjectTypeProperty")}}flowCheckGetterSetterParams(t){const e="get"===t.kind?0:1,s=t.start,r=t.value.params.length+(t.value.rest?1:0);t.value.this&&this.raise(t.value.this.start,"get"===t.kind?Fl.GetterMayNotHaveThisParam:Fl.SetterMayNotHaveThisParam),r!==e&&("get"===t.kind?this.raise(s,ic.BadGetterArity):this.raise(s,ic.BadSetterArity)),"set"===t.kind&&t.value.rest&&this.raise(s,ic.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(13)||this.eat(12)||this.match(8)||this.match(9)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){const s=this.startNodeAt(t,e);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(t,e,s){const r=this.startNodeAt(t,e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.match(43)&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const t=this.startNode();return this.expect(81),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")}flowParseTupleType(){const t=this.startNode();for(t.types=[],this.expect(0);this.state.pos0&&void 0!==arguments[0]?arguments[0]:[],e=null,s=null;for(this.match(72)&&(s=this.flowParseFunctionTypeParam(!0),s.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)t.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e=this.flowParseFunctionTypeParam(!1)),{params:t,rest:e,_this:s}}flowIdentToTypeAnnotation(t,e,s,r){switch(r.name){case"any":return this.finishNode(s,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(s,"BooleanTypeAnnotation");case"mixed":return this.finishNode(s,"MixedTypeAnnotation");case"empty":return this.finishNode(s,"EmptyTypeAnnotation");case"number":return this.finishNode(s,"NumberTypeAnnotation");case"string":return this.finishNode(s,"StringTypeAnnotation");case"symbol":return this.finishNode(s,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(r.name),this.flowParseGenericType(t,e,r)}}flowParsePrimaryType(){const t=this.state.start,e=this.state.startLoc,s=this.startNode();let r,i,n=!1;const a=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,i=this.flowParseTupleType(),this.state.noAnonFunctionType=a,i;case 43:return s.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),r=this.flowParseFunctionTypeParams(),s.params=r.params,s.rest=r.rest,s.this=r._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),this.finishNode(s,"FunctionTypeAnnotation");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(Pc(this.state.type)||this.match(72)){const t=this.lookahead().type;n=17!==t&&14!==t}else n=!0;if(n){if(this.state.noAnonFunctionType=!1,i=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&19===this.lookahead().type))return this.expect(11),i;this.eat(12)}return r=i?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(i)]):this.flowParseFunctionTypeParams(),s.params=r.params,s.rest=r.rest,s.this=r._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation");case 123:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 79:case 80:return s.value=this.match(79),this.next(),this.finishNode(s,"BooleanLiteralTypeAnnotation");case 47:if("-"===this.state.value){if(this.next(),this.match(124))return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",s);if(this.match(125))return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",s);throw this.raise(this.state.start,Fl.UnexpectedSubtractionOperand)}throw this.unexpected();case 124:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 125:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 82:return this.next(),this.finishNode(s,"VoidTypeAnnotation");case 78:return this.next(),this.finishNode(s,"NullLiteralTypeAnnotation");case 72:return this.next(),this.finishNode(s,"ThisTypeAnnotation");case 49:return this.next(),this.finishNode(s,"ExistsTypeAnnotation");case 81:return this.flowParseTypeofType();default:if(Bc(this.state.type)){const t=Nc(this.state.type);return this.next(),super.createIdentifier(s,t)}if(Pc(this.state.type))return this.isContextual(119)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(t,e,s,this.parseIdentifier())}throw this.unexpected()}flowParsePostfixType(){const t=this.state.start,e=this.state.startLoc;let s=this.flowParsePrimaryType(),r=!1;for(;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){const i=this.startNodeAt(t,e),n=this.eat(18);r=r||n,this.expect(0),!n&&this.match(3)?(i.elementType=s,this.next(),s=this.finishNode(i,"ArrayTypeAnnotation")):(i.objectType=s,i.indexType=this.flowParseType(),this.expect(3),r?(i.optional=n,s=this.finishNode(i,"OptionalIndexedAccessType")):s=this.finishNode(i,"IndexedAccessType"))}return s}flowParsePrefixType(){const t=this.startNode();return this.eat(17)?(t.typeAnnotation=this.flowParsePrefixType(),this.finishNode(t,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){const t=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){const e=this.startNodeAt(t.start,t.loc.start);return e.params=[this.reinterpretTypeAsFunctionTypeParam(t)],e.rest=null,e.this=null,e.returnType=this.flowParseType(),e.typeParameters=null,this.finishNode(e,"FunctionTypeAnnotation")}return t}flowParseIntersectionType(){const t=this.startNode();this.eat(41);const e=this.flowParseAnonFunctionWithoutParens();for(t.types=[e];this.eat(41);)t.types.push(this.flowParseAnonFunctionWithoutParens());return 1===t.types.length?e:this.finishNode(t,"IntersectionTypeAnnotation")}flowParseUnionType(){const t=this.startNode();this.eat(39);const e=this.flowParseIntersectionType();for(t.types=[e];this.eat(39);)t.types.push(this.flowParseIntersectionType());return 1===t.types.length?e:this.finishNode(t,"UnionTypeAnnotation")}flowParseType(){const t=this.state.inType;this.state.inType=!0;const e=this.flowParseUnionType();return this.state.inType=t,e}flowParseTypeOrImplicitInstantiation(){if(122===this.state.type&&"_"===this.state.value){const t=this.state.start,e=this.state.startLoc,s=this.parseIdentifier();return this.flowParseGenericType(t,e,s)}return this.flowParseType()}flowParseTypeAnnotation(){const t=this.startNode();return t.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(t,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(t){const e=t?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(e)),e}typeCastToParameter(t){return t.expression.typeAnnotation=t.typeAnnotation,this.resetEndLocation(t.expression,t.typeAnnotation.end,t.typeAnnotation.loc.end),t.expression}flowParseVariance(){let t=null;return this.match(47)&&(t=this.startNode(),"+"===this.state.value?t.kind="plus":t.kind="minus",this.next(),this.finishNode(t,"Variance")),t}parseFunctionBody(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e?this.forwardNoArrowParamsConversionAt(t,(()=>super.parseFunctionBody(t,!0,s))):super.parseFunctionBody(t,!1,s)}parseFunctionBodyAndFinish(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.match(14)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(t,e,s)}parseStatement(t,e){if(this.state.strict&&this.isContextual(119)){if(Tc(this.lookahead().type)){const t=this.startNode();return this.next(),this.flowParseInterface(t)}}else if(this.shouldParseEnums()&&this.isContextual(116)){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}const s=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(t,e){if("Identifier"===e.type)if("declare"===e.name){if(this.match(74)||Pc(this.state.type)||this.match(62)||this.match(68)||this.match(76))return this.flowParseDeclare(t)}else if(Pc(this.state.type)){if("interface"===e.name)return this.flowParseInterface(t);if("type"===e.name)return this.flowParseTypeAlias(t);if("opaque"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){const{type:t}=this.state;return wc(t)||this.shouldParseEnums()&&116===t?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){const{type:t}=this.state;return wc(t)||this.shouldParseEnums()&&116===t?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(116)){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,s,r){if(!this.match(17))return t;if(this.state.maybeInArrowParameters){const e=this.lookaheadCharCode();if(44===e||61===e||58===e||41===e)return this.setOptionalParametersError(r),t}this.expect(17);const i=this.state.clone(),n=this.state.noArrowAt,a=this.startNodeAt(e,s);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[h,p]=this.getArrowLikeExpressions(o);if(u||p.length>0){const t=[...n];if(p.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e1&&this.raise(i.start,Fl.AmbiguousConditionalArrow),u&&1===h.length&&(this.state=i,t.push(h[0].start),this.state.noArrowAt=t,({consequent:o,failed:u}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=n,this.expect(14),a.test=t,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssignAllowIn(),e=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const s=[t],r=[];for(;0!==s.length;){const t=s.pop();"ArrowFunctionExpression"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):r.push(t),s.push(t.body)):"ConditionalExpression"===t.type&&(s.push(t.consequent),s.push(t.alternate))}return e?(r.forEach((t=>this.finishArrowValidation(t))),[r,[]]):function(t,e){const s=[],r=[];for(let i=0;it.params.every((t=>this.isAssignable(t,!0)))))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma,!1),this.scope.enter(6),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=e(),this.state.noArrowParamsConversionAt.pop()):s=e(),s}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(17)&&(t.optional=!0,this.resetEndLocation(t)),this.match(14)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"TypeCastExpression")}return t}assertModuleNodeAllowed(t){"ImportDeclaration"===t.type&&("type"===t.importKind||"typeof"===t.importKind)||"ExportNamedDeclaration"===t.type&&"type"===t.exportKind||"ExportAllDeclaration"===t.type&&"type"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return"ExportNamedDeclaration"!==e.type&&"ExportAllDeclaration"!==e.type||(e.exportKind=e.exportKind||"value"),e}parseExportDeclaration(t){if(this.isContextual(120)){t.exportKind="type";const e=this.startNode();return this.next(),this.match(5)?(t.specifiers=this.parseExportSpecifiers(!0),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual(121)){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual(119)){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual(116)){t.exportKind="value";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual(120)||49!==this.lookahead().type)&&(t.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,s=super.maybeParseExportNamespaceSpecifier(t);return s&&"type"===t.exportKind&&this.unexpected(e),s}parseClassId(t,e,s){super.parseClassId(t,e,s),this.match(43)&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,s){const r=this.state.start;if(this.isContextual(115)){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,s),e.declare&&("ClassProperty"!==e.type&&"ClassPrivateProperty"!==e.type&&"PropertyDefinition"!==e.type?this.raise(r,Fl.DeclareClassElement):e.value&&this.raise(e.value.start,Fl.DeclareClassFieldInitializer))}isIterator(t){return"iterator"===t||"asyncIterator"===t}readIterator(){const t=super.readWord1(),e="@@"+t;this.isIterator(t)&&this.state.inType||this.raise(this.state.pos,ic.InvalidIdentifier,e),this.finishToken(122,e)}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(6,2):!this.state.inType||62!==t&&60!==t?this.state.inType&&63===t?46===e?this.finishOp(18,2):this.finishOp(17,1):function(t,e){return 64===t&&64===e}(t,e)?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(t):this.finishOp(62===t?44:43,1)}isAssignable(t,e){return"TypeCastExpression"===t.type?this.isAssignable(t.expression,e):super.isAssignable(t,e)}toAssignable(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"TypeCastExpression"===t.type?super.toAssignable(this.typeCastToParameter(t),e):super.toAssignable(t,e)}toAssignableList(t,e,s){for(let e=0;e1)&&e||this.raise(i.typeAnnotation.start,Fl.TypeCastInPattern)}return t}parseArrayLike(t,e,s,r){const i=super.parseArrayLike(t,e,s,r);return e&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(t){if("TypeCastExpression"!==t.type){for(var e=arguments.length,s=new Array(e>1?e-1:0),r=1;r0&&this.isThisParam(t[0])&&this.raise(e.start,Fl.ThisParamBannedInConstructor)}else if("MethodDefinition"===e.type&&i&&e.value.params){const t=e.value.params;t.length>0&&this.isThisParam(t[0])&&this.raise(e.start,Fl.ThisParamBannedInConstructor)}}pushClassPrivateMethod(t,e,s,r){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.match(43)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.match(43)&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(104)){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.match(43)?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(t){super.checkGetterSetterParams(t);const e=this.getObjectOrClassMethodParams(t);if(e.length>0){const s=e[0];this.isThisParam(s)&&"get"===t.kind?this.raise(s.start,Fl.GetterMayNotHaveThisParam):this.isThisParam(s)&&this.raise(s.start,Fl.SetterMayNotHaveThisParam)}}parsePropertyNamePrefixOperator(t){t.variance=this.flowParseVariance()}parseObjPropValue(t,e,s,r,i,n,a,o){let u;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.match(43)&&!a&&(u=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected()),super.parseObjPropValue(t,e,s,r,i,n,a,o),u&&((t.value||t).typeParameters=u)}parseAssignableListItemTypes(t){return this.eat(17)&&("Identifier"!==t.type&&this.raise(t.start,Fl.PatternIsOptional),this.isThisParam(t)&&this.raise(t.start,Fl.ThisParamMayNotBeOptional),t.optional=!0),this.match(14)?t.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(t)&&this.raise(t.start,Fl.ThisParamAnnotationRequired),this.match(27)&&this.isThisParam(t)&&this.raise(t.start,Fl.ThisParamNoDefault),this.resetEndLocation(t),t}parseMaybeDefault(t,e,s){const r=super.parseMaybeDefault(t,e,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(t,e)),i),!r.error)return r.node;const{context:s}=this.state,n=s[s.length-1];n===hc.j_oTag?s.length-=2:n===hc.j_expr&&(s.length-=1)}if(null!=(s=r)&&s.error||this.match(43)){var n,a;let s;i=i||this.state.clone();const o=this.tryParse((r=>{var i;s=this.flowParseTypeParameterDeclaration();const n=this.forwardNoArrowParamsConversionAt(s,(()=>{const r=super.parseMaybeAssign(t,e);return this.resetStartLocationFromNode(r,s),r}));null!=(i=n.extra)&&i.parenthesized&&r();const a=this.maybeUnwrapTypeCastExpression(n);return"ArrowFunctionExpression"!==a.type&&r(),a.typeParameters=s,this.resetStartLocationFromNode(a,s),n}),i);let u=null;if(o.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(o.node).type){if(!o.error&&!o.aborted)return o.node.async&&this.raise(s.start,Fl.UnexpectedTypeParameterBeforeAsyncArrowFunction),o.node;u=o.node}if(null!=(n=r)&&n.node)return this.state=r.failState,r.node;if(u)return this.state=o.failState,u;if(null!=(a=r)&&a.thrown)throw r.error;if(o.thrown)throw o.error;throw this.raise(s.start,Fl.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e)}parseArrow(t){if(this.match(14)){const e=this.tryParse((()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),s}));if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,"TypeAnnotation"):null}return super.parseArrow(t)}shouldParseArrow(t){return this.match(14)||super.shouldParseArrow(t)}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(t.start)){for(let e=0;e0&&this.raise(t.params[e].start,Fl.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,s,r){if("Identifier"===t.type&&"async"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const r=this.startNodeAt(e,s);r.callee=t,r.arguments=this.parseCallExpressionArguments(11,!1),t=this.finishNode(r,"CallExpression")}else if("Identifier"===t.type&&"async"===t.name&&this.match(43)){const i=this.state.clone(),n=this.tryParse((t=>this.parseAsyncArrowWithTypeParameters(e,s)||t()),i);if(!n.error&&!n.aborted)return n.node;const a=this.tryParse((()=>super.parseSubscripts(t,e,s,r)),i);if(a.node&&!a.error)return a.node;if(n.node)return this.state=n.failState,n.node;if(a.node)return this.state=a.failState,a.node;throw n.error||a.error}return super.parseSubscripts(t,e,s,r)}parseSubscript(t,e,s,r,i){if(this.match(18)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,r)return i.stop=!0,t;this.next();const n=this.startNodeAt(e,s);return n.callee=t,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),n.arguments=this.parseCallExpressionArguments(11,!1),n.optional=!0,this.finishCallExpression(n,!0)}if(!r&&this.shouldParseTypes()&&this.match(43)){const r=this.startNodeAt(e,s);r.callee=t;const n=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),r.arguments=this.parseCallExpressionArguments(11,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember))));if(n.node)return n.error&&(this.state=n.failState),n.node}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.match(43)&&(e=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const s=this.startNodeAt(t,e);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(9,2)}parseTopLevel(t,e){const s=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,Fl.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,Fl.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(!this.state.hasFlowComment)return super.skipBlockComment();{const t=this.input.indexOf("*-/",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,ic.UnterminatedComment);this.state.pos=t+3}}skipFlowComment(){const{pos:t}=this.state;let e=2;for(;[32,9].includes(this.input.charCodeAt(t+e));)e++;const s=this.input.charCodeAt(e+t),r=this.input.charCodeAt(e+t+1);return 58===s&&58===r?e+2:"flow-include"===this.input.slice(e+t,e+t+12)?e+12:58===s&&58!==r&&e}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,ic.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,e){let{enumName:s,memberName:r}=e;this.raise(t,Fl.EnumBooleanMemberNotInitialized,r,s)}flowEnumErrorInvalidMemberName(t,e){let{enumName:s,memberName:r}=e;const i=r[0].toUpperCase()+r.slice(1);this.raise(t,Fl.EnumInvalidMemberName,r,i,s)}flowEnumErrorDuplicateMemberName(t,e){let{enumName:s,memberName:r}=e;this.raise(t,Fl.EnumDuplicateMemberName,r,s)}flowEnumErrorInconsistentMemberValues(t,e){let{enumName:s}=e;this.raise(t,Fl.EnumInconsistentMemberValues,s)}flowEnumErrorInvalidExplicitType(t,e){let{enumName:s,suppliedType:r}=e;return this.raise(t,null===r?Fl.EnumInvalidExplicitTypeUnknownSupplied:Fl.EnumInvalidExplicitType,s,r)}flowEnumErrorInvalidMemberInitializer(t,e){let{enumName:s,explicitType:r,memberName:i}=e,n=null;switch(r){case"boolean":case"number":case"string":n=Fl.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":n=Fl.EnumInvalidMemberInitializerSymbolType;break;default:n=Fl.EnumInvalidMemberInitializerUnknownType}return this.raise(t,n,s,i,r)}flowEnumErrorNumberMemberNotInitialized(t,e){let{enumName:s,memberName:r}=e;this.raise(t,Fl.EnumNumberMemberNotInitialized,s,r)}flowEnumErrorStringMemberInconsistentlyInitailized(t,e){let{enumName:s}=e;this.raise(t,Fl.EnumStringMemberInconsistentlyInitailized,s)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(12)||this.match(8);switch(this.state.type){case 124:{const s=this.parseNumericLiteral(this.state.value);return e()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:t}}case 123:{const s=this.parseStringLiteral(this.state.value);return e()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:t}}case 79:case 80:{const s=this.parseBooleanLiteral(this.match(79));return e()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:t}}default:return{type:"invalid",pos:t}}}flowEnumMemberRaw(){const t=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(27)?this.flowEnumMemberInit():{type:"none",pos:t}}}flowEnumCheckExplicitTypeMismatch(t,e,s){const{explicitType:r}=e;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers(t){let{enumName:e,explicitType:s}=t;const r=new Set,i={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let n=!1;for(;!this.match(8);){if(this.eat(21)){n=!0;break}const t=this.startNode(),{id:a,init:o}=this.flowEnumMemberRaw(),u=a.name;if(""===u)continue;/^[a-z]/.test(u)&&this.flowEnumErrorInvalidMemberName(a.start,{enumName:e,memberName:u}),r.has(u)&&this.flowEnumErrorDuplicateMemberName(a.start,{enumName:e,memberName:u}),r.add(u);const h={enumName:e,explicitType:s,memberName:u};switch(t.id=a,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"boolean"),t.init=o.value,i.booleanMembers.push(this.finishNode(t,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"number"),t.init=o.value,i.numberMembers.push(this.finishNode(t,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"string"),t.init=o.value,i.stringMembers.push(this.finishNode(t,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,h);case"none":switch(s){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,h);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,h);break;default:i.defaultedMembers.push(this.finishNode(t,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:i,hasUnknownMembers:n}}flowEnumStringMembers(t,e,s){let{enumName:r}=s;if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:r});return e}for(const t of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(t.start,{enumName:r});return t}flowEnumParseExplicitType(t){let{enumName:e}=t;if(this.eatContextual(95)){if(!Pc(this.state.type))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:null});const{value:t}=this.state;return this.next(),"boolean"!==t&&"number"!==t&&"string"!==t&&"symbol"!==t&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:t}),t}return null}flowEnumBody(t,e){let{enumName:s,nameLoc:r}=e;const i=this.flowEnumParseExplicitType({enumName:s});this.expect(5);const{members:n,hasUnknownMembers:a}=this.flowEnumMembers({enumName:s,explicitType:i});switch(t.hasUnknownMembers=a,i){case"boolean":return t.explicitType=!0,t.members=n.booleanMembers,this.expect(8),this.finishNode(t,"EnumBooleanBody");case"number":return t.explicitType=!0,t.members=n.numberMembers,this.expect(8),this.finishNode(t,"EnumNumberBody");case"string":return t.explicitType=!0,t.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:s}),this.expect(8),this.finishNode(t,"EnumStringBody");case"symbol":return t.members=n.defaultedMembers,this.expect(8),this.finishNode(t,"EnumSymbolBody");default:{const e=()=>(t.members=[],this.expect(8),this.finishNode(t,"EnumStringBody"));t.explicitType=!1;const i=n.booleanMembers.length,a=n.numberMembers.length,o=n.stringMembers.length,u=n.defaultedMembers.length;if(i||a||o||u){if(i||a){if(!a&&!o&&i>=u){for(const t of n.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(t.start,{enumName:s,memberName:t.id.name});return t.members=n.booleanMembers,this.expect(8),this.finishNode(t,"EnumBooleanBody")}if(!i&&!o&&a>=u){for(const t of n.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(t.start,{enumName:s,memberName:t.id.name});return t.members=n.numberMembers,this.expect(8),this.finishNode(t,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(r,{enumName:s}),e()}return t.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:s}),this.expect(8),this.finishNode(t,"EnumStringBody")}return e()}}}flowParseEnumDeclaration(t){const e=this.parseIdentifier();return t.id=e,t.body=this.flowEnumBody(this.startNode(),{enumName:e.name,nameLoc:e.start}),this.finishNode(t,"EnumDeclaration")}isLookaheadToken_lt(){const t=this.nextTokenStart();if(60===this.input.charCodeAt(t)){const e=this.input.charCodeAt(t+1);return 60!==e&&61!==e}return!1}maybeUnwrapTypeCastExpression(t){return"TypeCastExpression"===t.type?t.expression:t}},typescript:t=>class extends t{getScopeHandler(){return Ll}tsIsIdentifier(){return Pc(this.state.type)}tsTokenCanFollowModifier(){return(this.match(0)||this.match(5)||this.match(49)||this.match(21)||this.match(128)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(t,e){if(!Pc(this.state.type))return;const s=this.state.value;if(-1!==t.indexOf(s)){if(e&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return s}}tsParseModifiers(t,e,s,r,i){const n=(e,s,r,i)=>{s===r&&t[i]&&this.raise(e,Ml.InvalidModifiersOrder,r,i)},a=(e,s,r,i)=>{(t[r]&&s===i||t[i]&&s===r)&&this.raise(e,Ml.IncompatibleModifiers,r,i)};for(;;){const o=this.state.start,u=this.tsParseModifier(e.concat(null!=s?s:[]),i);if(!u)break;Rl(u)?t.accessibility?this.raise(o,Ml.DuplicateAccessibilityModifier):(n(o,u,u,"override"),n(o,u,u,"static"),n(o,u,u,"readonly"),t.accessibility=u):(Object.hasOwnProperty.call(t,u)?this.raise(o,Ml.DuplicateModifier,u):(n(o,u,"static","readonly"),n(o,u,"static","override"),n(o,u,"override","readonly"),n(o,u,"abstract","override"),a(o,u,"declare","override"),a(o,u,"static","abstract")),t[u]=!0),null!=s&&s.includes(u)&&this.raise(o,r,u)}}tsIsListTerminator(t){switch(t){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(44)}throw new Error("Unreachable")}tsParseList(t,e){const s=[];for(;!this.tsIsListTerminator(t);)s.push(e());return s}tsParseDelimitedList(t,e,s){return function(t){if(null==t)throw new Error("Unexpected ".concat(t," value."));return t}(this.tsParseDelimitedListWorker(t,e,!0,s))}tsParseDelimitedListWorker(t,e,s,r){const i=[];let n=-1;for(;!this.tsIsListTerminator(t);){n=-1;const r=e();if(null==r)return;if(i.push(r),!this.eat(12)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(12))}n=this.state.lastTokStart}return r&&(r.value=n),i}tsParseBracketedList(t,e,s,r,i){r||(s?this.expect(0):this.expect(43));const n=this.tsParseDelimitedList(t,e,i);return s?this.expect(3):this.expect(44),n}tsParseImportType(){const t=this.startNode();return this.expect(77),this.expect(10),this.match(123)||this.raise(this.state.start,Ml.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(11),this.eat(16)&&(t.qualifier=this.tsParseEntityName(!0)),this.match(43)&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSImportType")}tsParseEntityName(t){let e=this.parseIdentifier();for(;this.eat(16);){const s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdentifier(t),e=this.finishNode(s,"TSQualifiedName")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.match(43)&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSTypeReference")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),e.asserts=!1,this.finishNode(e,"TSTypePredicate")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,"TSThisType")}tsParseTypeQuery(){const t=this.startNode();return this.expect(81),this.match(77)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,"TSTypeQuery")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(75),t.default=this.tsEatThenParseType(27),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.match(43))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();this.match(43)||this.match(132)?this.next():this.unexpected();const e={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0,e),0===t.params.length&&this.raise(t.start,Ml.EmptyTypeParameters),-1!==e.value&&this.addExtra(t,"trailingComma",e.value),this.finishNode(t,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return 69===this.lookahead().type?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const s=19===t;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(10),e.parameters=this.tsParseBindingListForSignature(),(s||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(11,41).map((t=>("Identifier"!==t.type&&"RestElement"!==t.type&&"ObjectPattern"!==t.type&&"ArrayPattern"!==t.type&&this.raise(t.start,Ml.UnsupportedSignatureParameterKind,t.type),t)))}tsParseTypeMemberSemicolon(){this.eat(12)||this.isLineTerminator()||this.expect(13)}tsParseSignatureMember(t,e){return this.tsFillSignature(14,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!Pc(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(t){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(3),t.parameters=[e];const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSIndexSignature")}tsParsePropertyOrMethodSignature(t,e){this.eat(17)&&(t.optional=!0);const s=t;if(this.match(10)||this.match(43)){e&&this.raise(t.start,Ml.ReadonlyForMethodSignature);const r=s;if(r.kind&&this.match(43)&&this.raise(this.state.pos,Ml.AccesorCannotHaveTypeParameters),this.tsFillSignature(14,r),this.tsParseTypeMemberSemicolon(),"get"===r.kind)r.parameters.length>0&&(this.raise(this.state.pos,ic.BadGetterArity),this.isThisParam(r.parameters[0])&&this.raise(this.state.pos,Ml.AccesorCannotDeclareThisParameter));else if("set"===r.kind){if(1!==r.parameters.length)this.raise(this.state.pos,ic.BadSetterArity);else{const t=r.parameters[0];this.isThisParam(t)&&this.raise(this.state.pos,Ml.AccesorCannotDeclareThisParameter),"Identifier"===t.type&&t.optional&&this.raise(this.state.pos,Ml.SetAccesorCannotHaveOptionalParameter),"RestElement"===t.type&&this.raise(this.state.pos,Ml.SetAccesorCannotHaveRestParameter)}r.typeAnnotation&&this.raise(r.typeAnnotation.start,Ml.SetAccesorCannotHaveReturnType)}else r.kind="method";return this.finishNode(r,"TSMethodSignature")}{const t=s;e&&(t.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSPropertySignature")}}tsParseTypeMember(){const t=this.startNode();if(this.match(10)||this.match(43))return this.tsParseSignatureMember("TSCallSignatureDeclaration",t);if(this.match(71)){const e=this.startNode();return this.next(),this.match(10)||this.match(43)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",t):(t.key=this.createIdentifier(e,"new"),this.tsParsePropertyOrMethodSignature(t,!1))}this.tsParseModifiers(t,["readonly"],["declare","abstract","private","protected","public","static","override"],Ml.InvalidModifierOnTypeMember);const e=this.tsTryParseIndexSignature(t);return e||(this.parsePropertyName(t),t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||!this.tsTokenCanFollowModifier()||(t.kind=t.key.name,this.parsePropertyName(t)),this.tsParsePropertyOrMethodSignature(t,!!t.readonly))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);const t=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),t}tsIsStartOfMappedType(){return this.next(),this.eat(47)?this.isContextual(112):(this.isContextual(112)&&this.next(),!!this.match(0)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(52))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsExpectThenParseType(52),this.finishNode(t,"TSTypeParameter")}tsParseMappedType(){const t=this.startNode();return this.expect(5),this.match(47)?(t.readonly=this.state.value,this.next(),this.expectContextual(112)):this.eatContextual(112)&&(t.readonly=!0),this.expect(0),t.typeParameter=this.tsParseMappedTypeParameter(),t.nameType=this.eatContextual(87)?this.tsParseType():null,this.expect(3),this.match(47)?(t.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(t,"TSMappedType")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1,s=null;return t.elementTypes.forEach((t=>{var r;let{type:i}=t;!e||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&t.optional||this.raise(t.start,Ml.OptionalTypeBeforeRequired),e=e||"TSNamedTupleMember"===i&&t.optional||"TSOptionalType"===i,"TSRestType"===i&&(i=(t=t.typeAnnotation).type);const n="TSNamedTupleMember"===i;s=null!=(r=s)?r:n,s!==n&&this.raise(t.start,Ml.MixedLabeledAndUnlabeledElements)})),this.finishNode(t,"TSTupleType")}tsParseTupleElementType(){const{start:t,startLoc:e}=this.state,s=this.eat(21);let r=this.tsParseType();const i=this.eat(17);if(this.eat(14)){const t=this.startNodeAtNode(r);t.optional=i,"TSTypeReference"!==r.type||r.typeParameters||"Identifier"!==r.typeName.type?(this.raise(r.start,Ml.InvalidTupleMemberLabel),t.label=r):t.label=r.typeName,t.elementType=this.tsParseType(),r=this.finishNode(t,"TSNamedTupleMember")}else if(i){const t=this.startNodeAtNode(r);t.typeAnnotation=r,r=this.finishNode(t,"TSOptionalType")}if(s){const s=this.startNodeAt(t,e);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const t=this.startNode();return this.expect(10),t.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(t,"TSParenthesizedType")}tsParseFunctionOrConstructorType(t,e){const s=this.startNode();return"TSConstructorType"===t&&(s.abstract=!!e,e&&this.next(),this.next()),this.tsFillSignature(19,s),this.finishNode(s,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case 124:case 125:case 123:case 79:case 80:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,"TSLiteralType")}tsParseTemplateLiteralType(){const t=this.startNode();return t.literal=this.parseTemplate(!1),this.finishNode(t,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual(107)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case 123:case 124:case 125:case 79:case 80:return this.tsParseLiteralTypeNode();case 47:if("-"===this.state.value){const t=this.startNode(),e=this.lookahead();if(124!==e.type&&125!==e.type)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,"TSLiteralType")}break;case 72:return this.tsParseThisTypeOrThisTypePredicate();case 81:return this.tsParseTypeQuery();case 77:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 22:return this.tsParseTemplateLiteralType();default:{const{type:t}=this.state;if(Pc(t)||82===t||78===t){const e=82===t?"TSVoidKeyword":78===t?"TSNullKeyword":function(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==e&&46!==this.lookaheadCharCode()){const t=this.startNode();return this.next(),this.finishNode(t,e)}return this.tsParseTypeReference()}}}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(3),t=this.finishNode(e,"TSArrayType")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(3),t=this.finishNode(e,"TSIndexedAccessType")}return t}tsParseTypeOperator(){const t=this.startNode(),e=this.state.value;return this.next(),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(t.start,Ml.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual(106);const e=this.startNode();return e.name=this.tsParseTypeParameterName(),t.typeParameter=this.finishNode(e,"TSTypeParameter"),this.finishNode(t,"TSInferType")}tsParseTypeOperatorOrHigher(){var t;return(t=this.state.type)>=111&&t<=113&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(106)?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,s){const r=this.startNode(),i=this.eat(s),n=[];do{n.push(e())}while(this.eat(s));return 1!==n.length||i?(r.types=n,this.finishNode(r,t)):n[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),41)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),39)}tsIsStartOfFunctionType(){return!!this.match(43)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(Pc(this.state.type)||this.match(72))return this.next(),!0;if(this.match(5)){let t=1;for(this.next();t>0;)this.match(5)?++t:this.match(8)&&--t,this.next();return!0}if(this.match(0)){let t=1;for(this.next();t>0;)this.match(0)?++t:this.match(3)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(11)||this.match(21))return!0;if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(27))return!0;if(this.match(11)&&(this.next(),this.match(19)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType((()=>{const e=this.startNode();this.expect(t);const s=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(72)){let t=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===t.type?(s.parameterName=t,s.asserts=!0,s.typeAnnotation=null,t=this.finishNode(s,"TSTypePredicate")):(this.resetStartLocationFromNode(t,s),t.asserts=!0),e.typeAnnotation=t,this.finishNode(e,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(s.parameterName=this.parseIdentifier(),s.asserts=r,s.typeAnnotation=null,e.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,e);const n=this.tsParseTypeAnnotation(!1);return s.parameterName=i,s.typeAnnotation=n,s.asserts=r,e.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(14)?this.tsParseTypeOrTypePredicateAnnotation(14):void 0}tsTryParseTypeAnnotation(){return this.match(14)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual(107)&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(100!==this.state.type)return!1;const t=this.state.containsEsc;return this.next(),!(!Pc(this.state.type)&&!this.match(72))&&(t&&this.raise(this.state.lastTokStart,ic.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.startNode();return this.tsInType((()=>{t&&this.expect(14),e.typeAnnotation=this.tsParseType()})),this.finishNode(e,"TSTypeAnnotation")}tsParseType(){Ol(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(75))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(17),e.trueType=this.tsParseType(),this.expect(14),e.falseType=this.tsParseType(),this.finishNode(e,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(114)&&71===this.lookahead().type}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(71)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(this.state.start,Ml.ReservedTypeAssertion);const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expect(44),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}tsParseHeritageClause(t){const e=this.state.start,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(e,Ml.EmptyHeritageClauseType,t),s}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.match(43)&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(t){Pc(this.state.type)?(t.id=this.parseIdentifier(),this.checkLVal(t.id,"typescript interface declaration",130)):(t.id=null,this.raise(this.state.start,Ml.MissingInterfaceName)),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(75)&&(t.extends=this.tsParseHeritageClause("extends"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,"TSInterfaceBody"),this.finishNode(t,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,"typescript type alias",2),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsInType((()=>{if(this.expect(27),this.isContextual(105)&&16!==this.lookahead().type){const t=this.startNode();return this.next(),this.finishNode(t,"TSIntrinsicKeyword")}return this.tsParseType()})),this.semicolon(),this.finishNode(t,"TSTypeAliasDeclaration")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType((()=>this.expect(t)))}tsNextThenParseType(){return this.tsDoThenParseType((()=>this.next()))}tsDoThenParseType(t){return this.tsInType((()=>(t(),this.tsParseType())))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(123)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(27)&&(t.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(t,"TSEnumMember")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,"typescript enum declaration",e?779:267),this.expect(5),t.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(t,"TSEnumDeclaration")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(0),this.expect(5),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(t,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,"module or namespace declaration",1024),this.eat(16)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(256),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual(103)?(t.global=!0,t.id=this.parseIdentifier()):this.match(123)?t.id=this.parseExprAtom():this.unexpected(),this.match(5)?(this.scope.enter(256),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(t,e){t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,"import equals declaration",9),this.expect(27);const s=this.tsParseModuleReference();return"type"===t.importKind&&"TSExternalModuleReference"!==s.type&&this.raise(s.start,Ml.ImportAliasHasImportType),t.moduleReference=s,this.semicolon(),this.finishNode(t,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(110)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual(110),this.expect(10),!this.match(123))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(11),this.finishNode(t,"TSExternalModuleReference")}tsLookAhead(t){const e=this.state.clone(),s=t();return this.state=e,s}tsTryParseAndCatch(t){const e=this.tryParse((e=>t()||e()));if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),s=t();return void 0!==s&&!1!==s?s:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,s=this.state.type;return this.isContextual(93)&&(s=68,e="let"),this.tsInAmbientContext((()=>{switch(s){case 62:return t.declare=!0,this.parseFunctionStatement(t,!1,!0);case 74:return t.declare=!0,this.parseClass(t,!0,!1);case 69:if(this.match(69)&&this.isLookaheadContextual("enum"))return this.expect(69),this.expectContextual(116),this.tsParseEnumDeclaration(t,!0);case 68:return e=e||this.state.value,this.parseVarStatement(t,e);case 103:return this.tsParseAmbientExternalModuleDeclaration(t);default:if(Pc(s))return this.tsParseDeclaration(t,this.state.value,!0)}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case"declare":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case"global":if(this.match(5)){this.scope.enter(256),this.prodParam.enter(0);const s=t;return s.global=!0,s.id=e,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,s){switch(e){case"abstract":if(this.tsCheckLineTerminator(s)&&(this.match(74)||Pc(this.state.type)))return this.tsParseAbstractDeclaration(t);break;case"enum":if(s||Pc(this.state.type))return s&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case"interface":if(this.tsCheckLineTerminator(s)&&Pc(this.state.type))return this.tsParseInterfaceDeclaration(t);break;case"module":if(this.tsCheckLineTerminator(s)){if(this.match(123))return this.tsParseAmbientExternalModuleDeclaration(t);if(Pc(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(t)}break;case"namespace":if(this.tsCheckLineTerminator(s)&&Pc(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(t);break;case"type":if(this.tsCheckLineTerminator(s)&&Pc(this.state.type))return this.tsParseTypeAliasDeclaration(t)}}tsCheckLineTerminator(t){return t?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.match(43))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(t,e);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),s}));return this.state.maybeInArrowParameters=s,r?this.parseArrowExpression(r,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expect(43),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))))),0===t.params.length&&this.raise(t.start,Ml.EmptyTypeArguments),this.expect(44),this.finishNode(t,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return(t=this.state.type)>=114&&t<=120;var t}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const s=this.state.start,r=this.state.startLoc;let i,n=!1,a=!1;if(void 0!==t){const e={};this.tsParseModifiers(e,["public","private","protected","override","readonly"]),i=e.accessibility,a=e.override,n=e.readonly,!1===t&&(i||n||a)&&this.raise(s,Ml.UnexpectedParameterModifier)}const o=this.parseMaybeDefault();this.parseAssignableListItemTypes(o);const u=this.parseMaybeDefault(o.start,o.loc.start,o);if(i||n||a){const t=this.startNodeAt(s,r);return e.length&&(t.decorators=e),i&&(t.accessibility=i),n&&(t.readonly=n),a&&(t.override=a),"Identifier"!==u.type&&"AssignmentPattern"!==u.type&&this.raise(t.start,Ml.UnsupportedParameterPropertyKind),t.parameter=u,this.finishNode(t,"TSParameterProperty")}return e.length&&(o.decorators=e),u}parseFunctionBodyAndFinish(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.match(14)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));const r="FunctionDeclaration"===e?"TSDeclareFunction":"ClassMethod"===e||"ClassPrivateMethod"===e?"TSDeclareMethod":void 0;r&&!this.match(5)&&this.isLineTerminator()?this.finishNode(t,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(t.start,Ml.DeclareFunctionHasImplementation),t.declare)?super.parseFunctionBodyAndFinish(t,r,s):super.parseFunctionBodyAndFinish(t,e,s)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,"function name",1024):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(t){t.forEach((t=>{"TSTypeCastExpression"===(null==t?void 0:t.type)&&this.raise(t.typeAnnotation.start,Ml.UnexpectedTypeAnnotation)}))}toReferencedList(t,e){return this.tsCheckForInvalidTypeCasts(t),t}parseArrayLike(){const t=super.parseArrayLike(...arguments);return"ArrayExpression"===t.type&&this.tsCheckForInvalidTypeCasts(t.elements),t}parseSubscript(t,e,s,r,i){if(!this.hasPrecedingLineBreak()&&this.match(33)){this.state.canStartJSXElement=!1,this.next();const r=this.startNodeAt(e,s);return r.expression=t,this.finishNode(r,"TSNonNullExpression")}let n=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(r)return i.stop=!0,t;i.optionalChainMember=n=!0,this.next()}if(this.match(43)){let a;const o=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,s);if(t)return t}const o=this.startNodeAt(e,s);o.callee=t;const u=this.tsParseTypeArguments();if(u){if(n&&!this.match(10)&&(a=this.state.pos,this.unexpected()),!r&&this.eat(10))return o.arguments=this.parseCallExpressionArguments(11,!1),this.tsCheckForInvalidTypeCasts(o.arguments),o.typeParameters=u,i.optionalChainMember&&(o.optional=n),this.finishCallExpression(o,i.optionalChainMember);if(this.match(22)){const r=this.parseTaggedTemplateExpression(t,e,s,i);return r.typeParameters=u,r}}this.unexpected()}));if(a&&this.unexpected(a,10),o)return o}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){if(this.match(43)){const e=this.tsTryParseAndCatch((()=>{const t=this.tsParseTypeArguments();return this.match(10)||this.unexpected(),t}));e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,s,r){if(Ic(52)>r&&!this.hasPrecedingLineBreak()&&this.isContextual(87)){const i=this.startNodeAt(e,s);i.expression=t;const n=this.tsTryNextParseConstantContext();return i.typeAnnotation=n||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,e,s,r)}return super.parseExprOp(t,e,s,r)}checkReservedWord(t,e,s,r){}checkDuplicateExports(){}parseImport(t){if(t.importKind="value",Pc(this.state.type)||this.match(49)||this.match(5)){let e=this.lookahead();if(this.isContextual(120)&&12!==e.type&&91!==e.type&&27!==e.type&&(t.importKind="type",this.next(),e=this.lookahead()),Pc(this.state.type)&&27===e.type)return this.tsParseImportEqualsDeclaration(t)}const e=super.parseImport(t);return"type"===e.importKind&&e.specifiers.length>1&&"ImportDefaultSpecifier"===e.specifiers[0].type&&this.raise(e.start,Ml.TypeImportCannotSpecifyDefaultAndNamed),e}parseExport(t){if(this.match(77))return this.next(),this.isContextual(120)&&61!==this.lookaheadCharCode()?(t.importKind="type",this.next()):t.importKind="value",this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(27)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,"TSExportAssignment")}if(this.eatContextual(87)){const e=t;return this.expectContextual(118),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,"TSNamespaceExportDeclaration")}return this.isContextual(120)&&5===this.lookahead().type?(this.next(),t.exportKind="type"):t.exportKind="value",super.parseExport(t)}isAbstractClass(){return this.isContextual(114)&&74===this.lookahead().type}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),t.abstract=!0,this.parseClass(t,!0,!0),t}if(this.match(119)){const t=this.startNode();this.next();const e=this.tsParseInterfaceDeclaration(t);if(e)return e}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(69===this.state.type){if(116===this.lookahead().type){const t=this.startNode();return this.next(),this.expectContextual(116),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(t,e){return e.some((e=>Rl(e)?t.accessibility===e:!!t[e]))}tsIsStartOfStaticBlocks(){return this.isContextual(98)&&123===this.lookaheadCharCode()}parseClassMember(t,e,s){const r=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers(e,r,void 0,void 0,!0);const i=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(e,r)&&this.raise(this.state.pos,Ml.StaticBlockCannotHaveModifier),this.parseClassStaticBlock(t,e)):this.parseClassMemberWithIsStatic(t,e,s,!!e.static)};e.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(t,e,s,r){const i=this.tsTryParseIndexSignature(e);if(i)return t.body.push(i),e.abstract&&this.raise(e.start,Ml.IndexSignatureHasAbstract),e.accessibility&&this.raise(e.start,Ml.IndexSignatureHasAccessibility,e.accessibility),e.declare&&this.raise(e.start,Ml.IndexSignatureHasDeclare),void(e.override&&this.raise(e.start,Ml.IndexSignatureHasOverride));!this.state.inAbstractClass&&e.abstract&&this.raise(e.start,Ml.NonAbstractClassHasAbstractMethod),e.override&&(s.hadSuperClass||this.raise(e.start,Ml.OverrideNotInSubClass)),super.parseClassMemberWithIsStatic(t,e,s,r)}parsePostMemberNameModifiers(t){this.eat(17)&&(t.optional=!0),t.readonly&&this.match(10)&&this.raise(t.start,Ml.ClassMethodHasReadonly),t.declare&&this.match(10)&&this.raise(t.start,Ml.ClassMethodHasDeclare)}parseExpressionStatement(t,e){return("Identifier"===e.type?this.tsParseExpressionStatement(t,e):void 0)||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,s,r){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(t,e,s,r);const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(i.error&&super.setOptionalParametersError(r,i.error),t)}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(17)&&(t.optional=!0,this.resetEndLocation(t)),this.match(14)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return t}parseExportDeclaration(t){const e=this.state.start,s=this.state.startLoc,r=this.eatContextual(115);if(r&&(this.isContextual(115)||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,Ml.ExpectedAmbientAfterExportDeclare);let i;return Pc(this.state.type)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(t)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||r)&&(t.exportKind="type"),i&&r&&(this.resetStartLocation(i,e,s),i.declare=!0),i}parseClassId(t,e,s){if((!e||s)&&this.isContextual(104))return;super.parseClassId(t,e,s,t.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(33)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){if(this.parseClassPropertyAnnotation(t),this.state.isAmbientContext&&this.match(27)&&this.raise(this.state.start,Ml.DeclareClassFieldHasInitializer),t.abstract&&this.match(27)){const{key:e}=t;this.raise(this.state.start,Ml.AbstractPropertyHasInitializer,"Identifier"!==e.type||t.computed?"[".concat(this.input.slice(e.start,e.end),"]"):e.name)}return super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,Ml.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,Ml.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,s,r,i,n){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,Ml.ConstructorHasTypeParameters),!e.declare||"get"!==e.kind&&"set"!==e.kind||this.raise(e.start,Ml.DeclareAccessor,e.kind),a&&(e.typeParameters=a),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){const i=this.tsTryParseTypeParameters();i&&(e.typeParameters=i),super.pushClassPrivateMethod(t,e,s,r)}declareClassPrivateMethodInScope(t,e){"TSDeclareMethod"!==t.type&&("MethodDefinition"!==t.type||t.value.body)&&super.declareClassPrivateMethodInScope(t,e)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.match(43)&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual(104)&&(t.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(t){const e=this.tsTryParseTypeParameters();e&&(t.typeParameters=e);for(var s=arguments.length,r=new Array(s>1?s-1:0),i=1;isuper.parseMaybeAssign(...e)),p),!c.error)return c.node;const{context:t}=this.state;t[t.length-1]===hc.j_oTag?t.length-=2:t[t.length-1]===hc.j_expr&&(t.length-=1)}if(!(null!=(r=c)&&r.error||this.match(43)))return super.parseMaybeAssign(...e);p=p||this.state.clone();const D=this.tryParse((t=>{var s,r;d=this.tsParseTypeParameters();const i=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==i.type||null!=(s=i.extra)&&s.parenthesized)&&t(),0!==(null==(r=d)?void 0:r.params.length)&&this.resetStartLocationFromNode(i,d),i.typeParameters=d,i}),p);if(!D.error&&!D.aborted)return d&&this.reportReservedArrowTypeParam(d),D.node;if(!c&&(Ol(!this.hasPlugin("jsx")),l=this.tryParse((()=>super.parseMaybeAssign(...e)),p),!l.error))return l.node;if(null!=(i=c)&&i.node)return this.state=c.failState,c.node;if(D.node)return this.state=D.failState,d&&this.reportReservedArrowTypeParam(d),D.node;if(null!=(n=l)&&n.node)return this.state=l.failState,l.node;if(null!=(a=c)&&a.thrown)throw c.error;if(D.thrown)throw D.error;if(null!=(o=l)&&o.thrown)throw l.error;throw(null==(u=c)?void 0:u.error)||D.error||(null==(h=l)?void 0:h.error)}reportReservedArrowTypeParam(t){var e;1!==t.params.length||null!=(e=t.extra)&&e.trailingComma||!this.getPluginOption("typescript","disallowAmbiguousJSXLike")||this.raise(t.start,Ml.ReservedArrowTypeParam)}parseMaybeUnary(t){return!this.hasPlugin("jsx")&&this.match(43)?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(14)){const e=this.tryParse((t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(14);return!this.canInsertSemicolon()&&this.match(19)||t(),e}));if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(17)&&("Identifier"===t.type||this.state.isAmbientContext||this.state.inType||this.raise(t.start,Ml.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}isAssignable(t,e){switch(t.type){case"TSTypeCastExpression":return this.isAssignable(t.expression,e);case"TSParameterProperty":return!0;default:return super.isAssignable(t,e)}}toAssignable(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];switch(t.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(t),e);case"TSParameterProperty":default:return super.toAssignable(t,e);case"ParenthesizedExpression":return this.toAssignableParenthesizedExpression(t,e);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return t.expression=this.toAssignable(t.expression,e),t}}toAssignableParenthesizedExpression(t,e){switch(t.expression.type){case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":return t.expression=this.toAssignable(t.expression,e),t;default:return super.toAssignable(t,e)}}checkLVal(t,e){for(var s,r=arguments.length,i=new Array(r>2?r-2:0),n=2;nthis.isAssignable(t,!0))):super.shouldParseArrow(t)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(t){if(this.match(43)){const e=this.tsTryParseAndCatch((()=>this.tsParseTypeArguments()));e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),s=this.getObjectOrClassMethodParams(t)[0];return s&&this.isThisParam(s)?e+1:e}parseCatchClauseParam(){const t=super.parseCatchClauseParam(),e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e,this.resetEndLocation(t)),t}tsInAmbientContext(t){const e=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return t()}finally{this.state.isAmbientContext=e}}parseClass(t){const e=this.state.inAbstractClass;this.state.inAbstractClass=!!t.abstract;try{for(var s=arguments.length,r=new Array(s>1?s-1:0),i=1;iclass extends t{parseV8Intrinsic(){if(this.match(48)){const t=this.state.start,e=this.startNode();if(this.next(),Pc(this.state.type)){const t=this.parseIdentifierName(this.state.start),s=this.createIdentifier(e,t);if(s.type="V8IntrinsicIdentifier",this.match(10))return s}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:t=>class extends t{parsePlaceholder(t){if(this.match(134)){const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),e.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(134),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const s=!(!t.expectedNode||"Placeholder"!==t.type);return t.expectedNode=e,s?t:this.finishNode(t,"Placeholder")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(134,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(t){"Placeholder"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&"Placeholder"===t.type&&"Expression"===t.expectedNode?(t.expectedNode="Pattern",t):super.toAssignable(...arguments)}isLet(t){if(super.isLet(t))return!0;if(!this.isContextual(93))return!1;if(t)return!1;return 134===this.lookahead().type}verifyBreakContinue(t){t.label&&"Placeholder"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if("Placeholder"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(14)){const s=t;return s.label=this.finishPlaceholder(e,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"LabeledStatement")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(t,e,s){const r=e?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(t);const i=this.state.strict,n=this.parsePlaceholder("Identifier");if(n)if(this.match(75)||this.match(134)||this.match(5))t.id=n;else{if(s||!e)return t.id=null,t.body=this.finishPlaceholder(n,"ClassBody"),this.finishNode(t,r);this.unexpected(null,jl.ClassNameIsRequired)}else this.parseClassId(t,e,s);return this.parseClassSuper(t),t.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!t.superClass,i),this.finishNode(t,r)}parseExport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseExport(...arguments);if(!this.isContextual(91)&&!this.match(12))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,"Declaration"),this.finishNode(t,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=e,t.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(t)}isExportDefaultSpecifier(){if(this.match(59)){const t=this.nextTokenStart();if(this.isUnparsedContextual(t,"from")&&this.input.startsWith(Nc(134),this.nextTokenStartSince(t+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;null!=e&&e.length&&(t.specifiers=e.filter((t=>"Placeholder"===t.exported.type))),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual(91)&&!this.match(12))return t.source=this.finishPlaceholder(e,"StringLiteral"),this.semicolon(),this.finishNode(t,"ImportDeclaration");const s=this.startNodeAtNode(e);if(s.local=e,this.finishNode(s,"ImportDefaultSpecifier"),t.specifiers.push(s),this.eat(12)){this.maybeParseStarImportSpecifier(t)||this.parseNamedImportSpecifiers(t)}return this.expectContextual(91),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},Gl=Object.keys(ql),Wl={sourceType:"script",sourceFilename:void 0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0};const Kl=t=>"ParenthesizedExpression"===t.type?Kl(t.expression):t;const Xl=new Map([["ArrowFunctionExpression","arrow function"],["AssignmentExpression","assignment"],["ConditionalExpression","conditional"],["YieldExpression","yield"]]);const Jl={kind:"loop"},$l={kind:"switch"},Yl=/[\uD800-\uDFFF]/u,Ql=/in(?:stanceof)?/y;class Zl extends class extends class extends class extends class extends class extends class extends class extends class extends class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(t){return this.plugins.has(t)}getPluginOption(t,e){if(this.hasPlugin(t))return this.plugins.get(t)[e]}}{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.comments.push(t)}processComment(t){const{commentStack:e}=this.state,s=e.length;if(0===s)return;let r=s-1;const i=e[r];i.start===t.end&&(i.leadingNode=t,r--);const{start:n}=t;for(;r>=0;r--){const s=e[r],i=s.end;if(!(i>n)){i===n&&(s.trailingNode=t);break}s.containingNode=t,this.finalizeComment(s),e.splice(r,1)}}finalizeComment(t){const{comments:e}=t;if(null!==t.leadingNode||null!==t.trailingNode)null!==t.leadingNode&&tc(t.leadingNode,e),null!==t.trailingNode&&function(t,e){void 0===t.leadingComments?t.leadingComments=e:t.leadingComments.unshift(...e)}(t.trailingNode,e);else{const{containingNode:s,start:r}=t;if(44===this.input.charCodeAt(r-1))switch(s.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":sc(s,s.properties,t);break;case"CallExpression":case"OptionalCallExpression":sc(s,s.arguments,t);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":sc(s,s.params,t);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":sc(s,s.elements,t);break;case"ExportNamedDeclaration":case"ImportDeclaration":sc(s,s.specifiers,t);break;default:ec(s,e)}else ec(s,e)}}finalizeRemainingComments(){const{commentStack:t}=this.state;for(let e=t.length-1;e>=0;e--)this.finalizeComment(t[e]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(t){const{commentStack:e}=this.state,{length:s}=e;if(0===s)return;const r=e[s-1];r.leadingNode===t&&(r.leadingNode=null)}takeSurroundingComments(t,e,s){const{commentStack:r}=this.state,i=r.length;if(0===i)return;let n=i-1;for(;n>=0;n--){const i=r[n],a=i.end;if(i.start===s)i.leadingNode=t;else if(a===e)i.trailingNode=t;else if(a2?n-2:0),o=2;o2?i-2:0),a=2;an[e]))+" (".concat(o.line,":").concat(o.column,")");if(this.options.errorRecovery){const e=this.state.errors;for(let s=e.length-1;s>=0;s--){const r=e[s];if(r.pos===t)return Object.assign(r,{message:u});if(r.pos3?r-3:0),n=3;ni[e]))+" (".concat(a.line,":").concat(a.column,")");return this._raise(Object.assign({loc:a,pos:t},e),o)}_raise(t,e){const s=new SyntaxError(e);if(Object.assign(s,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}{constructor(t,e){super(),this.isLookahead=void 0,this.tokens=[],this.state=new sl,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new ol(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}createLookaheadState(t){return{pos:t.pos,value:null,type:t.type,start:t.start,end:t.end,lastTokEnd:t.end,context:[this.curContext()],inType:t.inType}}lookahead(){const t=this.state;this.state=this.createLookaheadState(t),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){return Jp.lastIndex=t,Jp.test(this.input)?Jp.lastIndex:t}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(t){let e=this.input.charCodeAt(t);if(55296==(64512&e)&&++tthis.raise(e,t))),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const t=this.curContext();t.preserveSpace||this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(129):t===hc.template?this.readTmplToken():this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(){let t;this.isLookahead||(t=this.state.curPosition());const e=this.state.pos,s=this.input.indexOf("*/",e+2);if(-1===s)throw this.raise(e,ic.UnterminatedComment);for(this.state.pos=s+2,Kp.lastIndex=e+2;Kp.test(this.input)&&Kp.lastIndex<=s;)++this.state.curLine,this.state.lineStart=Kp.lastIndex;if(this.isLookahead)return;const r={type:"CommentBlock",value:this.input.slice(e+2,s),start:e,end:s+2,loc:new Zp(t,this.state.curPosition())};return this.options.tokens&&this.pushToken(r),r}skipLineComment(t){const e=this.state.pos;let s;this.isLookahead||(s=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=t);if(this.state.post))break t;{const t=this.skipLineComment(3);void 0!==t&&(this.addComment(t),this.options.attachComment&&e.push(t))}}}}if(e.length>0){const s={start:t,end:this.state.pos,comments:e,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(s)}}finishToken(t,e){this.state.end=this.state.pos;const s=this.state.type;this.state.type=t,this.state.value=e,this.isLookahead||(this.state.endLoc=this.state.curPosition(),this.updateContext(s))}replaceToken(t){this.state.type=t,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const t=this.state.pos+1,e=this.codePointAtPos(t);if(e>=48&&e<=57)throw this.raise(this.state.pos,ic.UnexpectedDigitAfterHash);if(123===e||91===e&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===e?ic.RecordExpressionHashIncorrectStartSyntaxType:ic.TupleExpressionHashIncorrectStartSyntaxType);this.state.pos+=2,123===e?this.finishToken(7):this.finishToken(1)}else _c(e)?(++this.state.pos,this.finishToken(128,this.readWord1(e))):92===e?(++this.state.pos,this.finishToken(128,this.readWord1())):this.finishOp(25,1)}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(29,2):this.finishOp(50,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;for(this.state.pos+=1;!Xp(t)&&++this.state.pos=48&&e<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,ic.TupleExpressionBarIncorrectStartSyntaxType);this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:return++this.state.pos,void this.finishToken(3);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,ic.RecordExpressionBarIncorrectStartSyntaxType);this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(22);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(34,1);case 64:return++this.state.pos,void this.finishToken(24);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(_c(t))return void this.readWord(t)}throw this.raise(this.state.pos,ic.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){const t=this.state.start+1;let e,s,{pos:r}=this.state;for(;;++r){if(r>=this.length)throw this.raise(t,ic.UnterminatedRegExp);const i=this.input.charCodeAt(r);if(Xp(i))throw this.raise(t,ic.UnterminatedRegExp);if(e)e=!1;else{if(91===i)s=!0;else if(93===i&&s)s=!1;else if(47===i&&!s)break;e=92===i}}const i=this.input.slice(t,r);++r;let n="";for(;r3&&void 0!==arguments[3])||arguments[3];const i=this.state.pos,n=16===t?nl.hex:nl.decBinOct,a=16===t?al.hex:10===t?al.dec:8===t?al.oct:al.bin;let o=!1,u=0;for(let i=0,h=null==e?1/0:e;i=97?e-97+10:e>=65?e-65+10:rl(e)?e-48:1/0,h>=t)if(this.options.errorRecovery&&h<=9)h=0,this.raise(this.state.start+i+2,ic.InvalidDigit,t);else{if(!s)break;h=0,o=!0}++this.state.pos,u=u*t+h}else{const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(e)||n.indexOf(t)>-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,ic.UnexpectedNumericSeparator),r||this.raise(this.state.pos,ic.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=e&&this.state.pos-i!==e||o?null:u}readRadixNumber(t){const e=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(t);null==r&&this.raise(this.state.start+2,ic.InvalidDigit,t);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,s=!0;else if(109===i)throw this.raise(e,ic.InvalidDecimal);if(_c(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,ic.NumberIdentifier);if(s){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");this.finishToken(125,t)}else this.finishToken(124,r)}readNumber(t){const e=this.state.pos;let s=!1,r=!1,i=!1,n=!1,a=!1;t||null!==this.readInt(10)||this.raise(e,ic.InvalidNumber);const o=this.state.pos-e>=2&&48===this.input.charCodeAt(e);if(o){const t=this.input.slice(e,this.state.pos);if(this.recordStrictModeErrors(e,ic.StrictOctalLiteral),!this.state.strict){const s=t.indexOf("_");s>0&&this.raise(s+e,ic.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(t)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||a||(++this.state.pos,this.readInt(10),s=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||a||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(e,ic.InvalidOrMissingExponent),s=!0,n=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((s||o)&&this.raise(e,ic.InvalidBigIntLiteral),++this.state.pos,r=!0),109===u&&(this.expectPlugin("decimal",this.state.pos),(n||o)&&this.raise(e,ic.InvalidDecimal),++this.state.pos,i=!0),_c(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,ic.NumberIdentifier);const h=this.input.slice(e,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(125,h);if(i)return void this.finishToken(126,h);const p=a?parseInt(h,8):parseFloat(h);this.finishToken(124,p)}readCodePoint(t){let e;if(123===this.input.charCodeAt(this.state.pos)){const s=++this.state.pos;if(e=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==e&&e>1114111){if(!t)return null;this.raise(s,ic.InvalidCodePoint)}}else e=this.readHexChar(4,!1,t);return e}readString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,ic.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;if(92===r)e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(Xp(r))throw this.raise(this.state.start,ic.UnterminatedString);++this.state.pos}}e+=this.input.slice(s,this.state.pos++),this.finishToken(123,e)}readTmplToken(){let t="",e=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,ic.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(20)?36===r?(this.state.pos+=2,void this.finishToken(23)):(++this.state.pos,void this.finishToken(22)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(20,s?null:t));if(92===r){t+=this.input.slice(e,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos}else if(Xp(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}recordStrictModeErrors(t,e){this.state.strict&&!this.state.strictErrors.has(t)?this.raise(t,e):this.state.strictErrors.set(t,e)}readEscapedChar(t){const e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return"\n";case 114:return"\r";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(t)return null;this.recordStrictModeErrors(this.state.pos-1,ic.StrictNumericEscape);default:if(s>=48&&s<=55){const e=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==s||56===i||57===i){if(t)return null;this.recordStrictModeErrors(e,ic.StrictNumericEscape)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(t,e,s){const r=this.state.pos,i=this.readInt(16,t,e,!1);return null===i&&(s?this.raise(r,ic.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(t){this.state.containsEsc=!1;let e="";const s=this.state.pos;let r=this.state.pos;for(void 0!==t&&(this.state.pos+=t<=65535?1:2);this.state.pos0&&void 0!==arguments[0])||arguments[0]?this.isLineTerminator():this.eat(13))||this.raise(this.state.lastTokEnd,ic.MissingSemicolon)}expect(t,e){this.eat(t)||this.unexpected(e,t)}assertNoSpace(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unexpected space.";this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,{code:rc.SyntaxError,reasonCode:"UnexpectedSpace",template:t})}unexpected(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{code:rc.SyntaxError,reasonCode:"UnexpectedToken",template:"Unexpected token"};throw"number"==typeof e&&(e={code:rc.SyntaxError,reasonCode:"UnexpectedToken",template:'Unexpected token, expected "'.concat(Nc(e),'"')}),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},"This experimental syntax requires enabling the parser plugin: '".concat(t,"'"));return!0}expectOnePlugin(t,e){if(!t.some((t=>this.hasPlugin(t))))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},"This experimental syntax requires enabling one of the following parser plugin(s): '".concat(t.join(", "),"'"))}tryParse(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.clone();const s={node:null};try{const r=t((function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;throw s.node=t,s}));if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,this.state.tokensLength=t.tokensLength,{node:r,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(t){const r=this.state;if(this.state=e,t instanceof SyntaxError)return{node:null,error:t,thrown:!0,aborted:!1,failState:r};if(t===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw t}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:s,doubleProto:r,optionalParameters:i}=t,n=s+r+i>-3;if(!e)return n;n&&(s>=0&&this.unexpected(s),r>=0&&this.raise(r,ic.DuplicateProto),i>=0&&this.unexpected(i))}isLiteralPropertyName(){return bc(this.state.type)}isPrivateName(t){return"PrivateName"===t.type}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&this.isPrivateName(t.property)}isOptionalChain(t){return"OptionalMemberExpression"===t.type||"OptionalCallExpression"===t.type}isObjectProperty(t){return"ObjectProperty"===t.type}isObjectMethod(t){return"ObjectMethod"===t.type}initializeScopes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"module"===this.options.sourceType;const e=this.state.labels;this.state.labels=[];const s=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const r=this.inModule;this.inModule=t;const i=this.scope,n=this.getScopeHandler();this.scope=new n(this.raise.bind(this),this.inModule);const a=this.prodParam;this.prodParam=new Dl;const o=this.classScope;this.classScope=new hl(this.raise.bind(this));const u=this.expressionScope;return this.expressionScope=new ll(this.raise.bind(this)),()=>{this.state.labels=e,this.exportedIdentifiers=s,this.inModule=r,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let t=0;this.inModule&&(t|=2),this.scope.enter(1),this.prodParam.enter(t)}}{startNode(){return new yl(this,this.state.start,this.state.startLoc)}startNodeAt(t,e){return new yl(this,t,e)}startNodeAtNode(t){return this.startNodeAt(t.start,t.loc.start)}finishNode(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(t,e,s,r){return t.type=e,t.end=s,t.loc.end=r,this.options.ranges&&(t.range[1]=s),this.options.attachComment&&this.processComment(t),t}resetStartLocation(t,e,s){t.start=e,t.loc.start=s,this.options.ranges&&(t.range[0]=e)}resetEndLocation(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.lastTokEnd,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.state.lastTokEndLoc;t.end=e,t.loc.end=s,this.options.ranges&&(t.range[1]=e)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}}{toAssignable(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var s,r;let i;switch(("ParenthesizedExpression"===t.type||null!=(s=t.extra)&&s.parenthesized)&&(i=Kl(t),e?"Identifier"===i.type?this.expressionScope.recordParenthesizedIdentifierError(t.start,ic.InvalidParenthesizedAssignment):"MemberExpression"!==i.type&&this.raise(t.start,ic.InvalidParenthesizedAssignment):this.raise(t.start,ic.InvalidParenthesizedAssignment)),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern";for(let s=0,r=t.properties.length,i=r-1;s"ObjectMethod"!==t.type&&(s===e||"SpreadElement"!==t.type)&&this.isAssignable(t)))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every((t=>null===t||this.isAssignable(t)));case"AssignmentExpression":return"="===t.operator;case"ParenthesizedExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!e;default:return!1}}toReferencedList(t,e){return t}toReferencedListDeep(t,e){this.toReferencedList(t,e);for(const e of t)"ArrayExpression"===(null==e?void 0:e.type)&&this.toReferencedListDeep(e.elements)}parseSpread(t,e){const s=this.startNode();return this.next(),s.argument=this.parseMaybeAssignAllowIn(t,void 0,e),this.finishNode(s,"SpreadElement")}parseRestBinding(){const t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{const t=this.startNode();return this.next(),t.elements=this.parseBindingList(3,93,!0),this.finishNode(t,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(t,e,s,r){const i=[];let n=!0;for(;!this.eat(t);)if(n?n=!1:this.expect(12),s&&this.match(12))i.push(null);else{if(this.eat(t))break;if(this.match(21)){i.push(this.parseAssignableListItemTypes(this.parseRestBinding())),this.checkCommaAfterRest(e),this.expect(t);break}{const t=[];for(this.match(24)&&this.hasPlugin("decorators")&&this.raise(this.state.start,ic.UnsupportedParameterDecorator);this.match(24);)t.push(this.parseDecorator());i.push(this.parseAssignableListItem(r,t))}}return i}parseBindingRestProperty(t){return this.next(),t.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(t,"RestElement")}parseBindingProperty(){const t=this.startNode(),{type:e,start:s,startLoc:r}=this.state;return 21===e?this.parseBindingRestProperty(t):(this.parsePropertyName(t),t.method=!1,this.parseObjPropValue(t,s,r,!1,!1,!0,!1),t)}parseAssignableListItem(t,e){const s=this.parseMaybeDefault();this.parseAssignableListItemTypes(s);const r=this.parseMaybeDefault(s.start,s.loc.start,s);return e.length&&(s.decorators=e),r}parseAssignableListItemTypes(t){return t}parseMaybeDefault(t,e,s){var r,i,n;if(e=null!=(r=e)?r:this.state.startLoc,t=null!=(i=t)?i:this.state.start,s=null!=(n=s)?n:this.parseBindingAtom(),!this.eat(27))return s;const a=this.startNodeAt(t,e);return a.left=s,a.right=this.parseMaybeAssignAllowIn(),this.finishNode(a,"AssignmentPattern")}checkLVal(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:64,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,n=arguments.length>5&&void 0!==arguments[5]&&arguments[5];switch(t.type){case"Identifier":{const{name:e}=t;this.state.strict&&(n?$c(e,this.inModule):Jc(e))&&this.raise(t.start,64===s?ic.StrictEvalArguments:ic.StrictEvalArgumentsBinding,e),r&&(r.has(e)?this.raise(t.start,ic.ParamDupe):r.add(e)),i&&"let"===e&&this.raise(t.start,ic.LetInLexicalBinding),64&s||this.scope.declareName(e,s,t.start);break}case"MemberExpression":64!==s&&this.raise(t.start,ic.InvalidPropertyBindingPattern);break;case"ObjectPattern":for(let e of t.properties){if(this.isObjectProperty(e))e=e.value;else if(this.isObjectMethod(e))continue;this.checkLVal(e,"object destructuring pattern",s,r,i)}break;case"ArrayPattern":for(const e of t.elements)e&&this.checkLVal(e,"array destructuring pattern",s,r,i);break;case"AssignmentPattern":this.checkLVal(t.left,"assignment pattern",s,r);break;case"RestElement":this.checkLVal(t.argument,"rest element",s,r);break;case"ParenthesizedExpression":this.checkLVal(t.expression,"parenthesized expression",s,r);break;default:this.raise(t.start,64===s?ic.InvalidLhs:ic.InvalidLhsBinding,e)}}checkToRestConversion(t){"Identifier"!==t.argument.type&&"MemberExpression"!==t.argument.type&&this.raise(t.argument.start,ic.InvalidRestAssignmentPattern)}checkCommaAfterRest(t){this.match(12)&&(this.lookaheadCharCode()===t?this.raiseTrailingCommaAfterRest(this.state.start):this.raiseRestNotLast(this.state.start))}raiseRestNotLast(t){throw this.raise(t,ic.ElementAfterRest)}raiseTrailingCommaAfterRest(t){this.raise(t,ic.RestTrailingComma)}}{checkProto(t,e,s,r){if("SpreadElement"===t.type||this.isObjectMethod(t)||t.computed||t.shorthand)return;const i=t.key;if("__proto__"===("Identifier"===i.type?i.name:i.value)){if(e)return void this.raise(i.start,ic.RecordNoProto);s.used&&(r?-1===r.doubleProto&&(r.doubleProto=i.start):this.raise(i.start,ic.DuplicateProto)),s.used=!0}}shouldExitDescending(t,e){return"ArrowFunctionExpression"===t.type&&t.start===e}getExpression(){this.enterInitialScopes(),this.nextToken();const t=this.parseExpression();return this.match(129)||this.unexpected(),this.finalizeRemainingComments(),t.comments=this.state.comments,t.errors=this.state.errors,this.options.tokens&&(t.tokens=this.tokens),t}parseExpression(t,e){return t?this.disallowInAnd((()=>this.parseExpressionBase(e))):this.allowInAnd((()=>this.parseExpressionBase(e)))}parseExpressionBase(t){const e=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(t);if(this.match(12)){const i=this.startNodeAt(e,s);for(i.expressions=[r];this.eat(12);)i.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(t,e){return this.disallowInAnd((()=>this.parseMaybeAssign(t,e)))}parseMaybeAssignAllowIn(t,e){return this.allowInAnd((()=>this.parseMaybeAssign(t,e)))}setOptionalParametersError(t,e){var s;t.optionalParameters=null!=(s=null==e?void 0:e.pos)?s:this.state.start}parseMaybeAssign(t,e){const s=this.state.start,r=this.state.startLoc;if(this.isContextual(99)&&this.prodParam.hasYield){let t=this.parseYield();return e&&(t=e.call(this,t,s,r)),t}let i;t?i=!1:(t=new fl,i=!0);const{type:n}=this.state;(10===n||Pc(n))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t);if(e&&(a=e.call(this,a,s,r)),(o=this.state.type)>=27&&o<=31){const e=this.startNodeAt(s,r),i=this.state.value;return e.operator=i,this.match(27)?(e.left=this.toAssignable(a,!0),t.doubleProto>=s&&(t.doubleProto=-1),t.shorthandAssign>=s&&(t.shorthandAssign=-1)):e.left=a,this.checkLVal(a,"assignment expression"),this.next(),e.right=this.parseMaybeAssign(),this.finishNode(e,"AssignmentExpression")}var o;return i&&this.checkExpressionErrors(t,!0),a}parseMaybeConditional(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprOps(t);return this.shouldExitDescending(i,r)?i:this.parseConditional(i,e,s,t)}parseConditional(t,e,s,r){if(this.eat(17)){const r=this.startNodeAt(e,s);return r.test=t,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return t}parseMaybeUnaryOrPrivate(t){return this.match(128)?this.parsePrivateName():this.parseMaybeUnary(t)}parseExprOps(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseMaybeUnaryOrPrivate(t);return this.shouldExitDescending(i,r)?i:this.parseExprOp(i,e,s,-1)}parseExprOp(t,e,s,r){if(this.isPrivateName(t)){const e=this.getPrivateNameSV(t),{start:s}=t;(r>=Ic(52)||!this.prodParam.hasIn||!this.match(52))&&this.raise(s,ic.PrivateInExpectedIn,e),this.classScope.usePrivateName(e,s)}const i=this.state.type;if((n=i)>=35&&n<=53&&(this.prodParam.hasIn||!this.match(52))){let n=Ic(i);if(n>r){if(35===i){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.checkPipelineAtInfixOperator(t,e)}const a=this.startNodeAt(e,s);a.left=t,a.operator=this.state.value;const o=37===i||38===i,u=36===i;if(u&&(n=Ic(38)),this.next(),35===i&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&90===this.state.type&&this.prodParam.hasAwait)throw this.raise(this.state.start,ic.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(i,n),this.finishNode(a,o||u?"LogicalExpression":"BinaryExpression");const h=this.state.type;if(u&&(37===h||38===h)||o&&36===h)throw this.raise(this.state.start,ic.MixingCoalesceWithLogical);return this.parseExprOp(a,e,s,r)}}var n;return t}parseExprOpRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;if(35===t)switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext((()=>this.parseHackPipeBody()));case"smart":return this.withTopicBindingContext((()=>{if(this.prodParam.hasYield&&this.isContextual(99))throw this.raise(this.state.start,ic.PipeBodyIsTighter,this.state.value);return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(t,e),s,r)}));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(e)))}return this.parseExprOpBaseRightExpr(t,e)}parseExprOpBaseRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),s,r,51===t?e-1:e)}parseHackPipeBody(){var t;const{start:e}=this.state,s=this.parseMaybeAssign();return!Xl.has(s.type)||null!=(t=s.extra)&&t.parenthesized||this.raise(e,ic.PipeUnparenthesizedBody,Xl.get(s.type)),this.topicReferenceWasUsedInCurrentContext()||this.raise(e,ic.PipeTopicUnused),s}checkExponentialAfterUnary(t){this.match(51)&&this.raise(t.argument.start,ic.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(t,e){const s=this.state.start,r=this.state.startLoc,i=this.isContextual(90);if(i&&this.isAwaitAllowed()){this.next();const t=this.parseAwait(s,r);return e||this.checkExponentialAfterUnary(t),t}const n=this.match(32),a=this.startNode();if(o=this.state.type,Cc[o]){a.operator=this.state.value,a.prefix=!0,this.match(66)&&this.expectPlugin("throwExpressions");const s=this.match(83);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),this.state.strict&&s){const t=a.argument;"Identifier"===t.type?this.raise(a.start,ic.StrictDelete):this.hasPropertyAsPrivateName(t)&&this.raise(a.start,ic.DeletePrivateField)}if(!n)return e||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}var o;const u=this.parseUpdate(a,n,t);if(i){const{type:t}=this.state;if((this.hasPlugin("v8intrinsic")?Sc(t):Sc(t)&&!this.match(48))&&!this.isAmbiguousAwait())return this.raiseOverwrite(s,ic.AwaitNotInAsyncContext),this.parseAwait(s,r)}return u}parseUpdate(t,e,s){if(e)return this.checkLVal(t.argument,"prefix operation"),this.finishNode(t,"UpdateExpression");const r=this.state.start,i=this.state.startLoc;let n=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return n;for(;32===this.state.type&&!this.canInsertSemicolon();){const t=this.startNodeAt(r,i);t.operator=this.state.value,t.prefix=!1,t.argument=n,this.checkLVal(n,"postfix operation"),this.next(),n=this.finishNode(t,"UpdateExpression")}return n}parseExprSubscripts(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(t);return this.shouldExitDescending(i,r)?i:this.parseSubscripts(i,e,s)}parseSubscripts(t,e,s,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{t=this.parseSubscript(t,e,s,r,i),i.maybeAsyncArrow=!1}while(!i.stop);return t}parseSubscript(t,e,s,r,i){if(!r&&this.eat(15))return this.parseBind(t,e,s,r,i);if(this.match(22))return this.parseTaggedTemplateExpression(t,e,s,i);let n=!1;if(this.match(18)){if(r&&40===this.lookaheadCharCode())return i.stop=!0,t;i.optionalChainMember=n=!0,this.next()}if(!r&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(t,e,s,i,n);{const r=this.eat(0);return r||n||this.eat(16)?this.parseMember(t,e,s,i,r,n):(i.stop=!0,t)}}parseMember(t,e,s,r,i,n){const a=this.startNodeAt(e,s);a.object=t,a.computed=i;const o=!i&&this.match(128)&&this.state.value,u=i?this.parseExpression():o?this.parsePrivateName():this.parseIdentifier(!0);return!1!==o&&("Super"===a.object.type&&this.raise(e,ic.SuperPrivateField),this.classScope.usePrivateName(o,u.start)),a.property=u,i&&this.expect(3),r.optionalChainMember?(a.optional=n,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}parseBind(t,e,s,r,i){const n=this.startNodeAt(e,s);return n.object=t,n.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(n,"BindExpression"),e,s,r)}parseCoverCallAndAsyncArrowHead(t,e,s,r,i){const n=this.state.maybeInArrowParameters;let a=null;this.state.maybeInArrowParameters=!0,this.next();let o=this.startNodeAt(e,s);return o.callee=t,r.maybeAsyncArrow&&(this.expressionScope.enter(new cl(2)),a=new fl),r.optionalChainMember&&(o.optional=i),o.arguments=i?this.parseCallExpressionArguments(11):this.parseCallExpressionArguments(11,"Import"===t.type,"Super"!==t.type,o,a),this.finishCallExpression(o,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),o=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),o)):(r.maybeAsyncArrow&&(this.checkExpressionErrors(a,!0),this.expressionScope.exit()),this.toReferencedArguments(o)),this.state.maybeInArrowParameters=n,o}toReferencedArguments(t,e){this.toReferencedListDeep(t.arguments,e)}parseTaggedTemplateExpression(t,e,s,r){const i=this.startNodeAt(e,s);return i.tag=t,i.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(e,ic.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return"Identifier"===t.type&&"async"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if("Import"===t.callee.type)if(2===t.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===t.arguments.length||t.arguments.length>2)this.raise(t.start,ic.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(const e of t.arguments)"SpreadElement"===e.type&&this.raise(e.start,ic.ImportCallSpreadArgument);return this.finishNode(t,e?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,e,s,r,i){const n=[];let a=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(a)a=!1;else if(this.expect(12),this.match(t)){!e||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,ic.ImportCallArgumentTrailingComma),r&&this.addExtra(r,"trailingComma",this.state.lastTokStart),this.next();break}n.push(this.parseExprListItem(!1,i,s))}return this.state.inFSharpPipelineDirectBody=o,n}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,e){var s;return this.resetPreviousNodeTrailingComments(e),this.expect(19),this.parseArrowExpression(t,e.arguments,!0,null==(s=e.extra)?void 0:s.trailingComma),e.innerComments&&ec(t,e.innerComments),e.callee.trailingComments&&ec(t,e.callee.trailingComments),t}parseNoCallExpr(){const t=this.state.start,e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,e,!0)}parseExprAtom(t){let e;const{type:s}=this.state;switch(s){case 73:return this.parseSuper();case 77:return e=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(e):(this.match(10)||this.raise(this.state.lastTokStart,ic.UnsupportedImport),this.finishNode(e,"Import"));case 72:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case 84:return this.parseDo(this.startNode(),!1);case 50:case 29:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 124:return this.parseNumericLiteral(this.state.value);case 125:return this.parseBigIntLiteral(this.state.value);case 126:return this.parseDecimalLiteral(this.state.value);case 123:return this.parseStringLiteral(this.state.value);case 78:return this.parseNullLiteral();case 79:return this.parseBooleanLiteral(!0);case 80:return this.parseBooleanLiteral(!1);case 10:{const t=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(t)}case 2:case 1:return this.parseArrayLike(2===this.state.type?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,t);case 6:case 7:return this.parseObjectLike(6===this.state.type?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,t);case 62:return this.parseFunctionOrFunctionSent();case 24:this.parseDecorators();case 74:return e=this.startNode(),this.takeDecorators(e),this.parseClass(e,!1);case 71:return this.parseNewOrNewTarget();case 22:return this.parseTemplate(!1);case 15:{e=this.startNode(),this.next(),e.object=null;const t=e.callee=this.parseNoCallExpr();if("MemberExpression"===t.type)return this.finishNode(e,"BindExpression");throw this.raise(t.start,ic.UnsupportedBind)}case 128:return this.raise(this.state.start,ic.PrivateInExpectedIn,this.state.value),this.parsePrivateName();case 31:return this.parseTopicReferenceThenEqualsSign(48,"%");case 30:return this.parseTopicReferenceThenEqualsSign(40,"^");case 40:case 48:case 25:{const t=this.getPluginOption("pipelineOperator","proposal");if(t)return this.parseTopicReference(t);throw this.unexpected()}case 43:{const t=this.input.codePointAt(this.nextTokenStart());if(_c(t)||62===t){this.expectOnePlugin(["jsx","flow","typescript"]);break}throw this.unexpected()}default:if(Pc(s)){if(this.isContextual(117)&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const t=this.state.potentialArrowAt===this.state.start,e=this.state.containsEsc,s=this.parseIdentifier();if(!e&&"async"===s.name&&!this.canInsertSemicolon()){const{type:t}=this.state;if(62===t)return this.resetPreviousNodeTrailingComments(s),this.next(),this.parseFunction(this.startNodeAtNode(s),void 0,!0);if(Pc(t))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(s)):s;if(84===t)return this.resetPreviousNodeTrailingComments(s),this.parseDo(this.startNodeAtNode(s),!0)}return t&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(s),[s],!1)):s}throw this.unexpected()}}parseTopicReferenceThenEqualsSign(t,e){const s=this.getPluginOption("pipelineOperator","proposal");if(s)return this.state.type=t,this.state.value=e,this.state.pos--,this.state.end--,this.state.endLoc.column--,this.parseTopicReference(s);throw this.unexpected()}parseTopicReference(t){const e=this.startNode(),s=this.state.start,r=this.state.type;return this.next(),this.finishTopicReference(e,s,t,r)}finishTopicReference(t,e,s,r){if(this.testTopicReferenceConfiguration(s,e,r)){let r;return r="smart"===s?"PipelinePrimaryTopicReference":"TopicReference",this.topicReferenceIsAllowedInCurrentContext()||("smart"===s?this.raise(e,ic.PrimaryTopicNotAllowed):this.raise(e,ic.PipeTopicUnbound)),this.registerTopicReference(),this.finishNode(t,r)}throw this.raise(e,ic.PipeTopicUnconfiguredToken,Nc(r))}testTopicReferenceConfiguration(t,e,s){switch(t){case"hack":{const t=this.getPluginOption("pipelineOperator","topicToken");return Nc(s)===t}case"smart":return 25===s;default:throw this.raise(e,ic.PipeTopicRequiresHackPipes)}}parseAsyncArrowUnaryFunction(t){this.prodParam.enter(ml(!0,this.prodParam.hasYield));const e=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,ic.LineTerminatorBeforeArrow),this.expect(19),this.parseArrowExpression(t,e,!0),t}parseDo(t,e){this.expectPlugin("doExpressions"),e&&this.expectPlugin("asyncDoExpressions"),t.async=e,this.next();const s=this.state.labels;return this.state.labels=[],e?(this.prodParam.enter(2),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=s,this.finishNode(t,"DoExpression")}parseSuper(){const t=this.startNode();return this.next(),!this.match(10)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(t.start,ic.UnexpectedSuper):this.raise(t.start,ic.SuperNotAllowed),this.match(10)||this.match(0)||this.match(16)||this.raise(t.start,ic.UnsupportedSuper),this.finishNode(t,"Super")}parsePrivateName(){const t=this.startNode(),e=this.startNodeAt(this.state.start+1,new Qp(this.state.curLine,this.state.start+1-this.state.lineStart)),s=this.state.value;return this.next(),t.id=this.createIdentifier(e,s),this.finishNode(t,"PrivateName")}parseFunctionOrFunctionSent(){const t=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){const e=this.createIdentifier(this.startNodeAtNode(t),"function");return this.next(),this.match(96)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(t,e,"sent")}return this.parseFunction(t)}parseMetaProperty(t,e,s){t.meta=e;const r=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==s||r)&&this.raise(t.property.start,ic.UnsupportedMetaProperty,e.name,s),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){const e=this.createIdentifier(this.startNodeAtNode(t),"import");return this.next(),this.isContextual(94)&&(this.inModule||this.raise(e.start,nc.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(t,e,"meta")}parseLiteralAtNode(t,e,s){return this.addExtra(s,"rawValue",t),this.addExtra(s,"raw",this.input.slice(s.start,this.state.end)),s.value=t,this.next(),this.finishNode(s,e)}parseLiteral(t,e){const s=this.startNode();return this.parseLiteralAtNode(t,e,s)}parseStringLiteral(t){return this.parseLiteral(t,"StringLiteral")}parseNumericLiteral(t){return this.parseLiteral(t,"NumericLiteral")}parseBigIntLiteral(t){return this.parseLiteral(t,"BigIntLiteral")}parseDecimalLiteral(t){return this.parseLiteral(t,"DecimalLiteral")}parseRegExpLiteral(t){const e=this.parseLiteral(t.value,"RegExpLiteral");return e.pattern=t.pattern,e.flags=t.flags,e}parseBooleanLiteral(t){const e=this.startNode();return e.value=t,this.next(),this.finishNode(e,"BooleanLiteral")}parseNullLiteral(){const t=this.startNode();return this.next(),this.finishNode(t,"NullLiteral")}parseParenAndDistinguishExpression(t){const e=this.state.start,s=this.state.startLoc;let r;this.next(),this.expressionScope.enter(new cl(1));const i=this.state.maybeInArrowParameters,n=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const a=this.state.start,o=this.state.startLoc,u=[],h=new fl;let p,c,l=!0;for(;!this.match(11);){if(l)l=!1;else if(this.expect(12,-1===h.optionalParameters?null:h.optionalParameters),this.match(11)){c=this.state.start;break}if(this.match(21)){const t=this.state.start,e=this.state.startLoc;p=this.state.start,u.push(this.parseParenItem(this.parseRestBinding(),t,e)),this.checkCommaAfterRest(41);break}u.push(this.parseMaybeAssignAllowIn(h,this.parseParenItem))}const d=this.state.lastTokEnd,D=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=n;let m=this.startNodeAt(e,s);if(t&&this.shouldParseArrow(u)&&(m=this.parseArrow(m)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(m,u,!1),m;if(this.expressionScope.exit(),u.length||this.unexpected(this.state.lastTokStart),c&&this.unexpected(c),p&&this.unexpected(p),this.checkExpressionErrors(h,!0),this.toReferencedListDeep(u,!0),u.length>1?(r=this.startNodeAt(a,o),r.expressions=u,this.finishNode(r,"SequenceExpression"),this.resetEndLocation(r,d,D)):r=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",e),this.takeSurroundingComments(r,e,this.state.lastTokEnd),r;const f=this.startNodeAt(e,s);return f.expression=r,this.finishNode(f,"ParenthesizedExpression"),f}shouldParseArrow(t){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(19))return t}parseParenItem(t,e,s){return t}parseNewOrNewTarget(){const t=this.startNode();if(this.next(),this.match(16)){const e=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();const s=this.parseMetaProperty(t,e,"target");return this.scope.inNonArrowFunction||this.scope.inClass||this.raise(s.start,ic.UnexpectedNewTarget),s}return this.parseNew(t)}parseNew(t){return t.callee=this.parseNoCallExpr(),"Import"===t.callee.type?this.raise(t.callee.start,ic.ImportCallNotNewExpression):this.isOptionalChain(t.callee)?this.raise(this.state.lastTokEnd,ic.OptionalChainingNoNew):this.eat(18)&&this.raise(this.state.start,ic.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,"NewExpression")}parseNewArguments(t){if(this.eat(10)){const e=this.parseExprList(11);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,ic.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(22),this.finishNode(e,"TemplateElement")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let s=this.parseTemplateElement(t);for(e.quasis=[s];!s.tail;)this.expect(23),e.expressions.push(this.parseTemplateSubstitution()),this.expect(8),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,e,s,r){s&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(a)a=!1;else if(this.expect(12),this.match(t)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}let i;e?i=this.parseBindingProperty():(i=this.parsePropertyDefinition(r),this.checkProto(i,s,n,r)),s&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(i.start,ic.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),o.properties.push(i)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return e?u="ObjectPattern":s&&(u="RecordExpression"),this.finishNode(o,u)}maybeAsyncOrAccessorProp(t){return!t.computed&&"Identifier"===t.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(49))}parsePropertyDefinition(t){let e=[];if(this.match(24))for(this.hasPlugin("decorators")&&this.raise(this.state.start,ic.UnsupportedPropertyDecorator);this.match(24);)e.push(this.parseDecorator());const s=this.startNode();let r,i,n=!1,a=!1;if(this.match(21))return e.length&&this.unexpected(),this.parseSpread();e.length&&(s.decorators=e,e=[]),s.method=!1,t&&(r=this.state.start,i=this.state.startLoc);let o=this.eat(49);this.parsePropertyNamePrefixOperator(s);const u=this.state.containsEsc,h=this.parsePropertyName(s);if(!o&&!u&&this.maybeAsyncOrAccessorProp(s)){const t=h.name;"async"!==t||this.hasPrecedingLineBreak()||(n=!0,this.resetPreviousNodeTrailingComments(h),o=this.eat(49),this.parsePropertyName(s)),"get"!==t&&"set"!==t||(a=!0,this.resetPreviousNodeTrailingComments(h),s.kind=t,this.match(49)&&(o=!0,this.raise(this.state.pos,ic.AccessorIsGenerator,t),this.next()),this.parsePropertyName(s))}return this.parseObjPropValue(s,r,i,o,n,!1,a,t),s}getGetterSetterExpectedParamCount(t){return"get"===t.kind?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var e;const s=this.getGetterSetterExpectedParamCount(t),r=this.getObjectOrClassMethodParams(t),i=t.start;r.length!==s&&("get"===t.kind?this.raise(i,ic.BadGetterArity):this.raise(i,ic.BadSetterArity)),"set"===t.kind&&"RestElement"===(null==(e=r[r.length-1])?void 0:e.type)&&this.raise(i,ic.BadSetterRestParameter)}parseObjectMethod(t,e,s,r,i){return i?(this.parseMethod(t,e,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(t),t):s||e||this.match(10)?(r&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(t,e,s,r,i){return t.shorthand=!1,this.eat(14)?(t.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!1),r?t.value=this.parseMaybeDefault(e,s,Al(t.key)):this.match(27)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,s,Al(t.key))):t.value=Al(t.key),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))}parseObjPropValue(t,e,s,r,i,n,a,o){const u=this.parseObjectMethod(t,r,i,n,a)||this.parseObjectProperty(t,e,s,n,o);return u||this.unexpected(),u}parsePropertyName(t){if(this.eat(0))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{const{type:e,value:s}=this.state;let r;if(Tc(e))r=this.parseIdentifier(!0);else switch(e){case 124:r=this.parseNumericLiteral(s);break;case 123:r=this.parseStringLiteral(s);break;case 125:r=this.parseBigIntLiteral(s);break;case 126:r=this.parseDecimalLiteral(s);break;case 128:{const t=this.state.start+1;this.raise(t,ic.UnexpectedPrivateField),r=this.parsePrivateName();break}default:throw this.unexpected()}t.key=r,128!==e&&(t.computed=!1)}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,s,r,i,n){let a=arguments.length>6&&void 0!==arguments[6]&&arguments[6];this.initFunction(t,s),t.generator=!!e;const o=r;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(ml(s,t.generator)),this.parseFunctionParams(t,o),this.parseFunctionBodyAndFinish(t,n,!0),this.prodParam.exit(),this.scope.exit(),t}parseArrayLike(t,e,s,r){s&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=this.startNode();return this.next(),n.elements=this.parseExprList(t,!s,r,n),this.state.inFSharpPipelineDirectBody=i,this.finishNode(n,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,e,s,r){this.scope.enter(6);let i=ml(s,!1);!this.match(0)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(t,s);const n=this.state.maybeInArrowParameters;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=n,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,e,s){t.params=this.toAssignableList(e,s,!1)}parseFunctionBodyAndFinish(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.parseFunctionBody(t,!1,s),this.finishNode(t,e)}parseFunctionBody(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=e&&!this.match(5);if(this.expressionScope.enter(dl()),r)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),t.body=this.parseBlock(!0,!1,(i=>{const n=!this.isSimpleParamList(t.params);if(i&&n){const e="method"!==t.kind&&"constructor"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,ic.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(t,!(this.state.strict||e||s||n),e,a),this.state.strict&&t.id&&this.checkLVal(t.id,"function name",65,void 0,void 0,a)})),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParamList(t){for(let e=0,s=t.length;e3&&void 0!==arguments[3])||arguments[3];const i=new Set;for(const s of t.params)this.checkLVal(s,"function parameter list",5,e?null:i,void 0,r)}parseExprList(t,e,s,r){const i=[];let n=!0;for(;!this.eat(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){r&&this.addExtra(r,"trailingComma",this.state.lastTokStart),this.next();break}i.push(this.parseExprListItem(e,s))}return i}parseExprListItem(t,e,s){let r;if(this.match(12))t||this.raise(this.state.pos,ic.UnexpectedToken,","),r=null;else if(this.match(21)){const t=this.state.start,s=this.state.startLoc;r=this.parseParenItem(this.parseSpread(e),t,s)}else if(this.match(17)){this.expectPlugin("partialApplication"),s||this.raise(this.state.start,ic.UnexpectedArgumentPlaceholder);const t=this.startNode();this.next(),r=this.finishNode(t,"ArgumentPlaceholder")}else r=this.parseMaybeAssignAllowIn(e,this.parseParenItem);return r}parseIdentifier(t){const e=this.startNode(),s=this.parseIdentifierName(e.start,t);return this.createIdentifier(e,s)}createIdentifier(t,e){return t.name=e,t.loc.identifierName=e,this.finishNode(t,"Identifier")}parseIdentifierName(t,e){let s;const{start:r,type:i}=this.state;if(!Tc(i))throw this.unexpected();s=this.state.value;const n=i<=86;return e?n&&this.replaceToken(122):this.checkReservedWord(s,r,n,!1),this.next(),s}checkReservedWord(t,e,s,r){if(t.length>10)return;if(!function(t){return Yc.has(t)}(t))return;if("yield"===t){if(this.prodParam.hasYield)return void this.raise(e,ic.YieldBindingIdentifier)}else if("await"===t){if(this.prodParam.hasAwait)return void this.raise(e,ic.AwaitBindingIdentifier);if(this.scope.inStaticBlock)return void this.raise(e,ic.AwaitBindingIdentifierInStaticBlock);this.expressionScope.recordAsyncArrowParametersError(e,ic.AwaitBindingIdentifier)}else if("arguments"===t&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(e,ic.ArgumentsInClass);if(s&&function(t){return qc.has(t)}(t))return void this.raise(e,ic.UnexpectedKeyword,t);(this.state.strict?r?$c:Xc:Kc)(t,this.inModule)&&this.raise(e,ic.UnexpectedReservedWord,t)}isAwaitAllowed(){return!!this.prodParam.hasAwait||!(!this.options.allowAwaitOutsideFunction||this.scope.inFunction)}parseAwait(t,e){const s=this.startNodeAt(t,e);return this.expressionScope.recordParameterInitializerError(s.start,ic.AwaitExpressionFormalParameter),this.eat(49)&&this.raise(s.start,ic.ObsoleteAwaitStar),this.scope.inFunction||this.options.allowAwaitOutsideFunction||(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(s.argument=this.parseMaybeUnary(null,!0)),this.finishNode(s,"AwaitExpression")}isAmbiguousAwait(){return this.hasPrecedingLineBreak()||this.match(47)||this.match(10)||this.match(0)||this.match(22)||this.match(127)||this.match(50)||this.hasPlugin("v8intrinsic")&&this.match(48)}parseYield(){const t=this.startNode();this.expressionScope.recordParameterInitializerError(t.start,ic.YieldInParameter),this.next();let e=!1,s=null;if(!this.hasPrecedingLineBreak())switch(e=this.eat(49),this.state.type){case 13:case 129:case 8:case 11:case 3:case 9:case 14:case 12:if(!e)break;default:s=this.parseMaybeAssign()}return t.delegate=e,t.argument=s,this.finishNode(t,"YieldExpression")}checkPipelineAtInfixOperator(t,e){"smart"===this.getPluginOption("pipelineOperator","proposal")&&"SequenceExpression"===t.type&&this.raise(e,ic.PipelineHeadSequenceExpression)}checkHackPipeBodyEarlyErrors(t){this.topicReferenceWasUsedInCurrentContext()||this.raise(t,ic.PipeTopicUnused)}parseSmartPipelineBodyInStyle(t,e,s){const r=this.startNodeAt(e,s);return this.isSimpleReference(t)?(r.callee=t,this.finishNode(r,"PipelineBareFunction")):(this.checkSmartPipeTopicBodyEarlyErrors(e),r.expression=t,this.finishNode(r,"PipelineTopicExpression"))}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(t){if(this.match(19))throw this.raise(this.state.start,ic.PipelineBodyNoArrow);this.topicReferenceWasUsedInCurrentContext()||this.raise(t,ic.PipelineTopicUnused)}withTopicBindingContext(t){const e=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=e}}withSmartMixTopicForbiddingContext(t){if("smart"!==this.getPluginOption("pipelineOperator","proposal"))return t();{const e=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=e}}}withSoloAwaitPermittingContext(t){const e=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=e}}allowInAnd(t){const e=this.prodParam.currentFlags();if(8&~e){this.prodParam.enter(8|e);try{return t()}finally{this.prodParam.exit()}}return t()}disallowInAnd(t){const e=this.prodParam.currentFlags();if(8&e){this.prodParam.enter(-9&e);try{return t()}finally{this.prodParam.exit()}}return t()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){const e=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),e,s,t);return this.state.inFSharpPipelineDirectBody=r,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");const t=this.startNode();this.next(),this.eat(5);const e=this.initializeScopes(!0);this.enterInitialScopes();const s=this.startNode();try{t.body=this.parseProgram(s,8,"module")}finally{e()}return this.eat(8),this.finishNode(t,"ModuleExpression")}parsePropertyNamePrefixOperator(t){}}{parseTopLevel(t,e){return t.program=this.parseProgram(e),t.comments=this.state.comments,this.options.tokens&&(t.tokens=function(t){for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:129,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.options.sourceType;if(t.sourceType=s,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,e),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(const[t]of Array.from(this.scope.undefinedExports)){const e=this.scope.undefinedExports.get(t);this.raise(e,ic.ModuleExportUndefined,t)}return this.finishNode(t,"Program")}stmtToDirective(t){const e=t;e.type="Directive",e.value=e.expression,delete e.expression;const s=e.value,r=s.value,i=this.input.slice(s.start,s.end),n=s.value=i.slice(1,-1);return this.addExtra(s,"raw",i),this.addExtra(s,"rawValue",n),this.addExtra(s,"expressionValue",r),s.type="DirectiveLiteral",e}parseInterpreterDirective(){if(!this.match(26))return null;const t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(t){return!!this.isContextual(93)&&this.isLetKeyword(t)}isLetKeyword(t){const e=this.nextTokenStart(),s=this.codePointAtPos(e);if(92===s||91===s)return!0;if(t)return!1;if(123===s)return!0;if(_c(s)){if(Ql.lastIndex=e,Ql.test(this.input)){const t=this.codePointAtPos(Ql.lastIndex);if(!zc(t)&&92!==t)return!1}return!0}return!1}parseStatement(t,e){return this.match(24)&&this.parseDecorators(!0),this.parseStatementContent(t,e)}parseStatementContent(t,e){let s=this.state.type;const r=this.startNode();let i;switch(this.isLet(t)&&(s=68,i="let"),s){case 54:return this.parseBreakContinueStatement(r,!0);case 57:return this.parseBreakContinueStatement(r,!1);case 58:return this.parseDebuggerStatement(r);case 84:return this.parseDoStatement(r);case 85:return this.parseForStatement(r);case 62:if(46===this.lookaheadCharCode())break;return t&&(this.state.strict?this.raise(this.state.start,ic.StrictFunction):"if"!==t&&"label"!==t&&this.raise(this.state.start,ic.SloppyFunction)),this.parseFunctionStatement(r,!1,!t);case 74:return t&&this.unexpected(),this.parseClass(r,!0);case 63:return this.parseIfStatement(r);case 64:return this.parseReturnStatement(r);case 65:return this.parseSwitchStatement(r);case 66:return this.parseThrowStatement(r);case 67:return this.parseTryStatement(r);case 69:case 68:return i=i||this.state.value,t&&"var"!==i&&this.raise(this.state.start,ic.UnexpectedLexicalDeclaration),this.parseVarStatement(r,i);case 86:return this.parseWhileStatement(r);case 70:return this.parseWithStatement(r);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(r);case 77:{const t=this.lookaheadCharCode();if(40===t||46===t)break}case 76:{let t;return this.options.allowImportExportEverywhere||e||this.raise(this.state.start,ic.UnexpectedImportExport),this.next(),77===s?(t=this.parseImport(r),"ImportDeclaration"!==t.type||t.importKind&&"value"!==t.importKind||(this.sawUnambiguousESM=!0)):(t=this.parseExport(r),("ExportNamedDeclaration"!==t.type||t.exportKind&&"value"!==t.exportKind)&&("ExportAllDeclaration"!==t.type||t.exportKind&&"value"!==t.exportKind)&&"ExportDefaultDeclaration"!==t.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(r),t}default:if(this.isAsyncFunction())return t&&this.raise(this.state.start,ic.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(r,!0,!t)}const n=this.state.value,a=this.parseExpression();return Pc(s)&&"Identifier"===a.type&&this.eat(14)?this.parseLabeledStatement(r,n,a,t):this.parseExpressionStatement(r,a)}assertModuleNodeAllowed(t){this.options.allowImportExportEverywhere||this.inModule||this.raise(t.start,nc.ImportOutsideModule)}takeDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];e.length&&(t.decorators=e,this.resetStartLocationFromNode(t,e[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(74)}parseDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(24);){const t=this.parseDecorator();e.push(t)}if(this.match(76))t||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,ic.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,ic.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const t=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const e=this.state.start,s=this.state.startLoc;let r;if(this.eat(10))r=this.parseExpression(),this.expect(11);else for(r=this.parseIdentifier(!1);this.eat(16);){const t=this.startNodeAt(e,s);t.object=r,t.property=this.parseIdentifier(!0),t.computed=!1,r=this.finishNode(t,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(r),this.state.decoratorStack.pop()}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(10)){const e=this.startNodeAtNode(t);return e.callee=t,e.arguments=this.parseCallExpressionArguments(11,!1),this.toReferencedList(e.arguments),this.finishNode(e,"CallExpression")}return t}parseBreakContinueStatement(t,e){return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,e),this.finishNode(t,e?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,e){let s;for(s=0;sthis.parseStatement("do"))),this.state.labels.pop(),this.expect(86),t.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(Jl);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual(90)&&(e=this.state.lastTokStart),this.scope.enter(0),this.expect(10),this.match(13))return e>-1&&this.unexpected(e),this.parseFor(t,null);const s=this.isContextual(93),r=s&&this.isLetKeyword();if(this.match(68)||this.match(69)||r){const s=this.startNode(),i=r?"let":this.state.value;return this.next(),this.parseVar(s,!0,i),this.finishNode(s,"VariableDeclaration"),(this.match(52)||this.isContextual(95))&&1===s.declarations.length?this.parseForIn(t,s,e):(e>-1&&this.unexpected(e),this.parseFor(t,s))}const i=this.isContextual(89),n=new fl,a=this.parseExpression(!0,n),o=this.isContextual(95);if(o&&(s?this.raise(a.start,ic.ForOfLet):-1===e&&i&&"Identifier"===a.type&&this.raise(a.start,ic.ForOfAsync)),o||this.match(52)){this.toAssignable(a,!0);const s=o?"for-of statement":"for-in statement";return this.checkLVal(a,s),this.parseForIn(t,a,e)}return this.checkExpressionErrors(n,!0),e>-1&&this.unexpected(e),this.parseFor(t,a)}parseFunctionStatement(t,e,s){return this.next(),this.parseFunction(t,1|(s?0:2),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(60)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,ic.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let s,r;for(this.expect(5),this.state.labels.push($l),this.scope.enter(0);!this.match(8);)if(this.match(55)||this.match(59)){const t=this.match(55);s&&this.finishNode(s,"SwitchCase"),e.push(s=this.startNode()),s.consequent=[],this.next(),t?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,ic.MultipleDefaultsInSwitch),r=!0,s.test=null),this.expect(14)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,ic.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){const t=this.parseBindingAtom(),e="Identifier"===t.type;return this.scope.enter(e?8:0),this.checkLVal(t,"catch clause",9),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(56)){const e=this.startNode();this.next(),this.match(10)?(this.expect(10),e.param=this.parseCatchClauseParam(),this.expect(11)):(e.param=null,this.scope.enter(0)),e.body=this.withSmartMixTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(61)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,ic.NoCatchOrFinally),this.finishNode(t,"TryStatement")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(Jl),t.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement("while"))),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,ic.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement("with"))),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,e,s,r){for(const t of this.state.labels)t.name===e&&this.raise(s.start,ic.LabelRedeclaration,e);const i=(n=this.state.type)>=84&&n<=86?"loop":this.match(65)?"switch":null;var n;for(let e=this.state.labels.length-1;e>=0;e--){const s=this.state.labels[e];if(s.statementStart!==t.start)break;s.statementStart=this.state.start,s.kind=i}return this.state.labels.push({name:e,kind:i,statementStart:this.state.start}),t.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=arguments.length>2?arguments[2]:void 0;const r=this.startNode();return t&&this.state.strictErrors.clear(),this.expect(5),e&&this.scope.enter(0),this.parseBlockBody(r,t,!1,8,s),e&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,s,r,i){const n=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?a:void 0,s,r,i)}parseBlockOrModuleBlockBody(t,e,s,r,i){const n=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=this.parseStatement(null,s);if(e&&!o){if(this.isValidDirective(r)){const t=this.stmtToDirective(r);e.push(t),a||"use strict"!==t.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}t.push(r)}i&&i.call(this,a),n||this.setStrict(!1),this.next()}parseFor(t,e){return t.init=e,this.semicolon(!1),t.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),t.update=this.match(11)?null:this.parseExpression(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,e,s){const r=this.match(52);return this.next(),r?s>-1&&this.unexpected(s):t.await=s>-1,"VariableDeclaration"!==e.type||null==e.declarations[0].init||r&&!this.state.strict&&"var"===e.kind&&"Identifier"===e.declarations[0].id.type?"AssignmentPattern"===e.type&&this.raise(e.start,ic.InvalidLhs,"for-loop"):this.raise(e.start,ic.ForInOfLoopInitializer,r?"for-in":"for-of"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")}parseVar(t,e,s){const r=t.declarations=[],i=this.hasPlugin("typescript");for(t.kind=s;;){const t=this.startNode();if(this.parseVarId(t,s),this.eat(27)?t.init=e?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(52)||this.isContextual(95)?"Identifier"===t.id.type||e&&(this.match(52)||this.isContextual(95))||this.raise(this.state.lastTokEnd,ic.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,ic.DeclarationMissingInitializer,"Const declarations"),t.init=null),r.push(this.finishNode(t,"VariableDeclarator")),!this.eat(12))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"variable declaration","var"===e?5:9,void 0,"var"!==e)}parseFunction(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=1&e,i=2&e,n=!(!r||4&e);this.initFunction(t,s),this.match(49)&&i&&this.raise(this.state.start,ic.GeneratorInSingleStatementContext),t.generator=this.eat(49),r&&(t.id=this.parseFunctionId(n));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ml(s,t.generator)),r||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withSmartMixTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(t,r?"FunctionDeclaration":"FunctionExpression")})),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=a,t}parseFunctionId(t){return t||Pc(this.state.type)?this.parseIdentifier():null}parseFunctionParams(t,e){this.expect(10),this.expressionScope.enter(new pl(3)),t.params=this.parseBindingList(11,41,!1,e),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?5:9:17,t.id.start)}parseClass(t,e,s){this.next(),this.takeDecorators(t);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,s),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,r),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(27)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}isNonstaticConstructor(t){return!(t.computed||t.static||"constructor"!==t.key.name&&"constructor"!==t.key.value)}parseClassBody(t,e){this.classScope.enter();const s={hadConstructor:!1,hadSuperClass:t};let r=[];const i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext((()=>{for(;!this.match(8);){if(this.eat(13)){if(r.length>0)throw this.raise(this.state.lastTokEnd,ic.DecoratorSemicolon);continue}if(this.match(24)){r.push(this.parseDecorator());continue}const t=this.startNode();r.length&&(t.decorators=r,this.resetStartLocationFromNode(t,r[0]),r=[]),this.parseClassMember(i,t,s),"constructor"===t.kind&&t.decorators&&t.decorators.length>0&&this.raise(t.start,ic.DecoratorConstructor)}})),this.state.strict=e,this.next(),r.length)throw this.raise(this.state.start,ic.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,e){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=e;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(t,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=e;return r.computed=!1,r.key=s,r.static=!1,t.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(s),!1}parseClassMember(t,e,s){const r=this.isContextual(98);if(r){if(this.parseClassMemberFromModifier(t,e))return;if(this.eat(5))return void this.parseClassStaticBlock(t,e)}this.parseClassMemberWithIsStatic(t,e,s,r)}parseClassMemberWithIsStatic(t,e,s,r){const i=e,n=e,a=e,o=e,u=i,h=i;if(e.static=r,this.parsePropertyNamePrefixOperator(e),this.eat(49)){u.kind="method";const e=this.match(128);return this.parseClassElementName(u),e?void this.pushClassPrivateMethod(t,n,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,ic.ConstructorIsGenerator),void this.pushClassMethod(t,i,!0,!1,!1,!1))}const p=Pc(this.state.type)&&!this.state.containsEsc,c=this.match(128),l=this.parseClassElementName(e),d=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(u.kind="method",c)return void this.pushClassPrivateMethod(t,n,!1,!1);const r=this.isNonstaticConstructor(i);let a=!1;r&&(i.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(l.start,ic.DuplicateConstructor),r&&this.hasPlugin("typescript")&&e.override&&this.raise(l.start,ic.OverrideOnConstructor),s.hadConstructor=!0,a=s.hadSuperClass),this.pushClassMethod(t,i,!1,!1,r,a)}else if(this.isClassProperty())c?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a);else if(p&&"async"===l.name&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(l);const e=this.eat(49);h.optional&&this.unexpected(d),u.kind="method";const s=this.match(128);this.parseClassElementName(u),this.parsePostMemberNameModifiers(h),s?this.pushClassPrivateMethod(t,n,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,ic.ConstructorIsAsync),this.pushClassMethod(t,i,e,!0,!1,!1))}else if(!p||"get"!==l.name&&"set"!==l.name||this.match(49)&&this.isLineTerminator())this.isLineTerminator()?c?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a):this.unexpected();else{this.resetPreviousNodeTrailingComments(l),u.kind=l.name;const e=this.match(128);this.parseClassElementName(i),e?this.pushClassPrivateMethod(t,n,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,ic.ConstructorIsAccessor),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}}parseClassElementName(t){const{type:e,value:s,start:r}=this.state;if(122!==e&&123!==e||!t.static||"prototype"!==s||this.raise(r,ic.StaticPrototype),128===e){"constructor"===s&&this.raise(r,ic.ConstructorClassPrivateField);const e=this.parsePrivateName();return t.key=e,e}return this.parsePropertyName(t)}parseClassStaticBlock(t,e){var s;this.scope.enter(208);const r=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const i=e.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=r,t.body.push(this.finishNode(e,"StaticBlock")),null!=(s=e.decorators)&&s.length&&this.raise(e.start,ic.DecoratorStaticBlock)}pushClassProperty(t,e){e.computed||"constructor"!==e.key.name&&"constructor"!==e.key.value||this.raise(e.key.start,ic.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){const s=this.parseClassPrivateProperty(e);t.body.push(s),this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),0,s.key.start)}pushClassMethod(t,e,s,r,i,n){t.body.push(this.parseMethod(e,s,r,i,n,"ClassMethod",!0))}pushClassPrivateMethod(t,e,s,r){const i=this.parseMethod(e,s,r,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);const n="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,n)}declareClassPrivateMethodInScope(t,e){this.classScope.declarePrivateName(this.getPrivateNameSV(t.key),e,t.key.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseInitializer(t){this.scope.enter(80),this.expressionScope.enter(dl()),this.prodParam.enter(0),t.value=this.eat(27)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,e,s){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:139;Pc(this.state.type)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,"class name",r)):s||!e?t.id=null:this.unexpected(null,ic.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(75)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(12),r=s&&this.eatExportStar(t),i=r&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!i||this.eat(12)),a=e||r;if(r&&!i)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&s&&!r&&!o||i&&n&&!o)throw this.unexpected(null,5);let u;if(a||o?(u=!1,this.parseExportFrom(t,a)):u=this.maybeParseExportDeclaration(t),a||o||u)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,"ExportNamedDeclaration");if(this.eat(59))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration");throw this.unexpected(null,5)}eatExportStar(t){return this.eat(49)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(87)){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(e,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){if(this.match(5)){t.specifiers||(t.specifiers=[]);const e="type"===t.exportKind;return t.specifiers.push(...this.parseExportSpecifiers(e)),t.source=null,t.declaration=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),!0}return!1}maybeParseExportDeclaration(t){return!!this.shouldParseExportDeclaration()&&(t.specifiers=[],t.source=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),t.declaration=this.parseExportDeclaration(t),!0)}isAsyncFunction(){if(!this.isContextual(89))return!1;const t=this.nextTokenStart();return!Wp.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(62)||e)return this.next(),e&&this.next(),this.parseFunction(t,5,e);if(this.match(74))return this.parseClass(t,!0,!0);if(this.match(24))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,ic.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(69)||this.match(68)||this.isLet())throw this.raise(this.state.start,ic.UnsupportedDefaultExport);{const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){const{type:t}=this.state;if(Pc(t)){if(89===t&&!this.state.containsEsc||93===t)return!1;if((120===t||119===t)&&!this.state.containsEsc){const{type:t}=this.lookahead();if(Pc(t)&&91!==t||5===t)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(59))return!1;const e=this.nextTokenStart(),s=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||Pc(this.state.type)&&s)return!0;if(this.match(59)&&s){const t=this.input.charCodeAt(this.nextTokenStartSince(e+4));return 34===t||39===t}return!1}parseExportFrom(t,e){if(this.eatContextual(91)){t.source=this.parseImportSource(),this.checkExport(t);const e=this.maybeParseImportAssertions();e&&(t.assertions=e)}else e&&this.unexpected();this.semicolon()}shouldParseExportDeclaration(){const{type:t}=this.state;if(24===t&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,ic.DecoratorBeforeExport)}return 68===t||69===t||62===t||74===t||this.isLet()||this.isAsyncFunction()}checkExport(t,e,s,r){if(e)if(s){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var i;const e=t.declaration;"Identifier"!==e.type||"from"!==e.name||e.end-e.start!=4||null!=(i=e.extra)&&i.parenthesized||this.raise(e.start,ic.ExportDefaultFromAsIdentifier)}}else if(t.specifiers&&t.specifiers.length)for(const e of t.specifiers){const{exported:t}=e,s="Identifier"===t.type?t.name:t.value;if(this.checkDuplicateExports(e,s),!r&&e.local){const{local:t}=e;"Identifier"!==t.type?this.raise(e.start,ic.ExportBindingIsString,t.value,s):(this.checkReservedWord(t.name,t.start,!0,!1),this.scope.checkLocalExport(t))}}else if(t.declaration)if("FunctionDeclaration"===t.declaration.type||"ClassDeclaration"===t.declaration.type){const e=t.declaration.id;if(!e)throw new Error("Assertion failure");this.checkDuplicateExports(t,e.name)}else if("VariableDeclaration"===t.declaration.type)for(const e of t.declaration.declarations)this.checkDeclaration(e.id);if(this.state.decoratorStack[this.state.decoratorStack.length-1].length)throw this.raise(t.start,ic.UnsupportedDecoratorExport)}checkDeclaration(t){if("Identifier"===t.type)this.checkDuplicateExports(t,t.name);else if("ObjectPattern"===t.type)for(const e of t.properties)this.checkDeclaration(e);else if("ArrayPattern"===t.type)for(const e of t.elements)e&&this.checkDeclaration(e);else"ObjectProperty"===t.type?this.checkDeclaration(t.value):"RestElement"===t.type?this.checkDeclaration(t.argument):"AssignmentPattern"===t.type&&this.checkDeclaration(t.left)}checkDuplicateExports(t,e){this.exportedIdentifiers.has(e)&&this.raise(t.start,"default"===e?ic.DuplicateDefaultExport:ic.DuplicateExport,e),this.exportedIdentifiers.add(e)}parseExportSpecifiers(t){const e=[];let s=!0;for(this.expect(5);!this.eat(8);){if(s)s=!1;else if(this.expect(12),this.eat(8))break;const r=this.isContextual(120),i=this.match(123),n=this.startNode();n.local=this.parseModuleExportName(),e.push(this.parseExportSpecifier(n,i,t,r))}return e}parseExportSpecifier(t,e,s,r){return this.eatContextual(87)?t.exported=this.parseModuleExportName():e?t.exported=Cl(t.local):t.exported||(t.exported=Al(t.local)),this.finishNode(t,"ExportSpecifier")}parseModuleExportName(){if(this.match(123)){const t=this.parseStringLiteral(this.state.value),e=t.value.match(Yl);return e&&this.raise(t.start,ic.ModuleExportNameHasLoneSurrogate,e[0].charCodeAt(0).toString(16)),t}return this.parseIdentifier(!0)}parseImport(t){if(t.specifiers=[],!this.match(123)){const e=!this.maybeParseDefaultImportSpecifier(t)||this.eat(12),s=e&&this.maybeParseStarImportSpecifier(t);e&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual(91)}t.source=this.parseImportSource();const e=this.maybeParseImportAssertions();if(e)t.assertions=e;else{const e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(123)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return Pc(this.state.type)}parseImportSpecifierLocal(t,e,s,r){e.local=this.parseIdentifier(),this.checkLVal(e.local,r,9),t.specifiers.push(this.finishNode(e,s))}parseAssertEntries(){const t=[],e=new Set;do{if(this.match(8))break;const s=this.startNode(),r=this.state.value;if(e.has(r)&&this.raise(this.state.start,ic.ModuleAttributesWithDuplicateKeys,r),e.add(r),this.match(123)?s.key=this.parseStringLiteral(r):s.key=this.parseIdentifier(!0),this.expect(14),!this.match(123))throw this.unexpected(this.state.start,ic.ModuleAttributeInvalidValue);s.value=this.parseStringLiteral(this.state.value),this.finishNode(s,"ImportAttribute"),t.push(s)}while(this.eat(12));return t}maybeParseModuleAttributes(){if(!this.match(70)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const t=[],e=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,ic.ModuleAttributeDifferentFromType,s.key.name),e.has(s.key.name)&&this.raise(s.key.start,ic.ModuleAttributesWithDuplicateKeys,s.key.name),e.add(s.key.name),this.expect(14),!this.match(123))throw this.unexpected(this.state.start,ic.ModuleAttributeInvalidValue);s.value=this.parseStringLiteral(this.state.value),this.finishNode(s,"ImportAttribute"),t.push(s)}while(this.eat(12));return t}maybeParseImportAssertions(){if(!this.isContextual(88)||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(5);const t=this.parseAssertEntries();return this.eat(8),t}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(t){if(this.match(49)){const e=this.startNode();return this.next(),this.expectContextual(87),this.parseImportSpecifierLocal(t,e,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;for(this.expect(5);!this.eat(8);){if(e)e=!1;else{if(this.eat(14))throw this.raise(this.state.start,ic.DestructureNamedImport);if(this.expect(12),this.eat(8))break}const s=this.startNode(),r=this.match(123),i=this.isContextual(120);s.imported=this.parseModuleExportName();const n=this.parseImportSpecifier(s,r,"type"===t.importKind||"typeof"===t.importKind,i);t.specifiers.push(n)}}parseImportSpecifier(t,e,s,r){if(this.eatContextual(87))t.local=this.parseIdentifier();else{const{imported:s}=t;if(e)throw this.raise(t.start,ic.ImportBindingIsString,s.value);this.checkReservedWord(s.name,t.start,!0,!0),t.local||(t.local=Al(s))}return this.checkLVal(t.local,"import specifier",9),this.finishNode(t,"ImportSpecifier")}isThisParam(t){return"Identifier"===t.type&&"this"===t.name}}{constructor(t,e){t=function(t){const e={};for(const s of Object.keys(Wl))e[s]=t&&null!=t[s]?t[s]:Wl[s];return e}(t),super(t,e),this.options=t,this.initializeScopes(),this.plugins=function(t){const e=new Map;for(const s of t){const[t,r]=Array.isArray(s)?s:[s,{}];e.has(t)||e.set(t,r||{})}return e}(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return Zc}parse(){this.enterInitialScopes();const t=this.startNode(),e=this.startNode();return this.nextToken(),t.errors=null,this.parseTopLevel(t,e),t.errors=this.state.errors,t}}const td=function(t){const e={};for(const s of Object.keys(t))e[s]=vc(t[s]);return e}(gc);function ed(t,e){let s=Zl;return null!=t&&t.plugins&&(!function(t){if(Ul(t,"decorators")){if(Ul(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const e=_l(t,"decorators","decoratorsBeforeExport");if(null==e)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!=typeof e)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(Ul(t,"flow")&&Ul(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(Ul(t,"placeholders")&&Ul(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(Ul(t,"pipelineOperator")){const e=_l(t,"pipelineOperator","proposal");if(!zl.includes(e)){const t=zl.map((t=>'"'.concat(t,'"'))).join(", ");throw new Error('"pipelineOperator" requires "proposal" option whose value must be one of: '.concat(t,"."))}const s=Ul(t,"recordAndTuple")&&"hash"===_l(t,"recordAndTuple","syntaxType");if("hack"===e){if(Ul(t,"placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(Ul(t,"v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");const e=_l(t,"pipelineOperator","topicToken");if(!Hl.includes(e)){const t=Hl.map((t=>'"'.concat(t,'"'))).join(", ");throw new Error('"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: '.concat(t,"."))}if("#"===e&&s)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}else if("smart"===e&&s)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}if(Ul(t,"moduleAttributes")){if(Ul(t,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==_l(t,"moduleAttributes","version"))throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(Ul(t,"recordAndTuple")&&!Vl.includes(_l(t,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+Vl.map((t=>"'".concat(t,"'"))).join(", "));if(Ul(t,"asyncDoExpressions")&&!Ul(t,"doExpressions")){const t=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw t.missingPlugins="doExpressions",t}}(t.plugins),s=function(t){const e=Gl.filter((e=>Ul(t,e))),s=e.join("/");let r=sd[s];if(!r){r=Zl;for(const t of e)r=ql[t](r);sd[s]=r}return r}(t.plugins)),new s(t,e)}const sd={};Gp.parse=function(t,e){var s;if("unambiguous"!==(null==(s=e)?void 0:s.sourceType))return ed(e,t).parse();e=Object.assign({},e);try{e.sourceType="module";const s=ed(e,t),r=s.parse();if(s.sawUnambiguousESM)return r;if(s.ambiguousScriptDifferentAst)try{return e.sourceType="script",ed(e,t).parse()}catch(t){}else r.program.sourceType="script";return r}catch(s){try{return e.sourceType="script",ed(e,t).parse()}catch(t){}throw s}},Gp.parseExpression=function(t,e){const s=ed(e,t);return s.options.strictMode&&(s.state.strict=!0),s.getExpression()},Gp.tokTypes=td;const{isNonEmptyArray:rd}=bo,id=Pu,nd=gu,ad=bu;function od(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{allowComments:e=!0}=t;return function(t){const{parseExpression:s}=Gp;let r;try{r=s(t,{tokens:!0,ranges:!0})}catch(t){throw ad(t)}if(!e&&rd(r.comments))throw ud(r.comments[0],"Comment");return hd(r),r}}function ud(t,e){const[s,r]=[t.loc.start,t.loc.end].map((t=>{let{line:e,column:s}=t;return{line:e,column:s+1}}));return id("".concat(e," is not allowed in JSON."),{start:s,end:r})}function hd(t){switch(t.type){case"ArrayExpression":for(const e of t.elements)null!==e&&hd(e);return;case"ObjectExpression":for(const e of t.properties)hd(e);return;case"ObjectProperty":if(t.computed)throw ud(t.key,"Computed key");if(t.shorthand)throw ud(t.key,"Shorthand property");return"Identifier"!==t.key.type&&hd(t.key),void hd(t.value);case"UnaryExpression":{const{operator:e,argument:s}=t;if("+"!==e&&"-"!==e)throw ud(t,"Operator '".concat(t.operator,"'"));if("NumericLiteral"===s.type||"Identifier"===s.type&&("Infinity"===s.name||"NaN"===s.name))return;throw ud(s,"Operator '".concat(e,"' before '").concat(s.type,"'"))}case"Identifier":if("Infinity"!==t.name&&"NaN"!==t.name&&"undefined"!==t.name)throw ud(t,"Identifier '".concat(t.name,"'"));return;case"TemplateLiteral":if(rd(t.expressions))throw ud(t.expressions[0],"'TemplateLiteral' with expression");for(const e of t.quasis)hd(e);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw ud(t,"'".concat(t.type,"'"))}}const pd=od();var cd={json:nd({parse:pd,hasPragma:()=>!0}),json5:nd(pd),"json-stringify":nd({parse:od({allowComments:!1}),astFormat:"estree-json"})};const ld=Ai,{getNextNonSpaceNonCommentCharacterIndexWithStartIndex:dd,getShebang:Dd}=bo,md=gu,fd=bu,yd=qp,Ed=cd,Ad={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication",["decorators",{decoratorsBeforeExport:!1}],"importAssertions","decimal","moduleBlocks","asyncDoExpressions"],tokens:!0,ranges:!0},Cd=["recordAndTuple",{syntaxType:"hash"}],xd=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"minimal"}],["pipelineOperator",{proposal:"fsharp"}]],Fd=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ad;return Object.assign(Object.assign({},e),{},{plugins:[...e.plugins,...t]})},gd=/@(?:no)?flow\b/;function Pd(t,e){if(e.filepath&&e.filepath.endsWith(".js.flow"))return!0;const s=Dd(t);s&&(t=t.slice(s.length));const r=dd(t,0);return!1!==r&&(t=t.slice(0,r)),gd.test(t)}function Td(t,e,s){const r=(0,Gp[t])(e,s),i=r.errors.find((t=>!vd.has(t.reasonCode)));if(i)throw i;return r}function bd(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:{};if(("babel"===i.parser||"__babel_estree"===i.parser)&&Pd(e,i))return i.parser="babel-flow",wd(e,r,i);let n=s;"script"===i.__babelSourceType&&(n=n.map((t=>Object.assign(Object.assign({},t),{},{sourceType:"script"})))),/#[[{]/.test(e)&&(n=n.map((t=>Fd([Cd],t))));const a=/%[A-Z]/.test(e);if(e.includes("|>")){const t=a?[...xd,"v8intrinsic"]:xd;n=t.flatMap((t=>n.map((e=>Fd([t],e)))))}else a&&(n=n.map((t=>Fd(["v8intrinsic"],t))));const{result:o,error:u}=ld(...n.map((s=>()=>Td(t,e,s))));if(!o)throw fd(u);return i.originalText=e,yd(o,i)}}const Sd=bd("parse",Fd(["jsx","flow"])),wd=bd("parse",Fd(["jsx",["flow",{all:!0,enums:!0}]])),Bd=bd("parse",Fd(["jsx","typescript"]),Fd(["typescript"])),Nd=bd("parse",Fd(["jsx","flow","estree"])),Id=bd("parseExpression",Fd(["jsx"])),vd=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","EmptyTypeArguments","EmptyTypeParameters","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","UnexpectedParameterModifier","MixedLabeledAndUnlabeledElements","InvalidTupleMemberLabel","NonClassMethodPropertyHasAbstractModifer","ReadonlyForMethodSignature","ClassMethodHasDeclare","ClassMethodHasReadonly","InvalidModifierOnTypeMember","DuplicateAccessibilityModifier","IndexSignatureHasDeclare","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","LineTerminatorBeforeArrow","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","UnsupportedPropertyDecorator","OptionalTypeBeforeRequired","PatternIsOptional","OptionalBindingPattern","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","DeclareFunctionHasImplementation","ConstructorClassField","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport"]),kd=md(Sd),Ld=md(Id);var Od={parsers:Object.assign(Object.assign({babel:kd,"babel-flow":md(wd),"babel-ts":md(Bd)},Ed),{},{__js_expression:Ld,__vue_expression:Ld,__vue_event_binding:kd,__babel_estree:md(Nd)})};export{Od as default}; diff --git a/node_modules/prettier/esm/parser-espree.mjs b/node_modules/prettier/esm/parser-espree.mjs new file mode 100755 index 0000000..c76d821 --- /dev/null +++ b/node_modules/prettier/esm/parser-espree.mjs @@ -0,0 +1 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r};var i,n=function(){let e;for(var t=arguments.length,r=new Array(t),i=0;i{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>"\r\n"===e)).length;return r>t.length-r?"\r\n":"\n"};function b(){const e=x;return b=function(){return e},e}function S(){const e=(t=B.exports)&&t.__esModule?t:{default:t};var t;return S=function(){return e},e}B.exports=v,B.exports.graceful=e=>"string"==typeof e&&v(e)||"\n",Object.defineProperty(u,"__esModule",{value:!0}),u.extract=function(e){const t=e.match(k);return t?t[0].trimLeft():""},u.strip=function(e){const t=e.match(k);return t&&t[0]?e.substring(t[0].length):e},u.parse=function(e){return R(e).pragmas},u.parseWithComments=R,u.print=function(e){let{comments:t="",pragmas:r={}}=e;const i=(0,S().default)(t)||b().EOL,n=" *",u=Object.keys(r),s=u.map((e=>j(e,r[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+i)).join("");if(!t){if(0===u.length)return"";if(1===u.length&&!Array.isArray(r[u[0]])){const e=r[u[0]];return"".concat("/**"," ").concat(j(u[0],e)[0]).concat(" */")}}const a=t.split(i).map((e=>"".concat(n," ").concat(e))).join(i)+i;return"/**"+i+(t?a:"")+(t&&u.length?n+i:"")+s+" */"};const w=/\*\/$/,T=/^\/\*\*/,k=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,I=/(^|\s+)\/\/([^\r\n]*)/g,N=/^(\r?\n)+/,_=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,L=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,P=/(\r?\n|^) *\* ?/g,O=[];function R(e){const t=(0,S().default)(e)||b().EOL;e=e.replace(T,"").replace(w,"").replace(P,"$1");let r="";for(;r!==e;)r=e,e=e.replace(_,"".concat(t,"$1 $2").concat(t));e=e.replace(N,"").trimRight();const i=Object.create(null),n=e.replace(L,"").replace(N,"").trimRight();let u;for(;u=L.exec(e);){const e=u[2].replace(I,"");"string"==typeof i[u[1]]||Array.isArray(i[u[1]])?i[u[1]]=O.concat(i[u[1]],e):i[u[1]]=e}return{comments:n,pragmas:i}}function j(e,t){return O.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}var V={exports:{}};const M=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")};var U={exports:{}};const G=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));U.exports=G,U.exports.default=G;const X=e=>"string"==typeof e?e.replace(M(),""):e,q=U.exports,W=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},z=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=X(e)).length)return 0;e=e.replace(W()," ");let t=0;for(let r=0;r=127&&i<=159||(i>=768&&i<=879||(i>65535&&r++,t+=q(i)?2:1))}return t};V.exports=z,V.exports.default=z;var J=e=>e[e.length-1];function H(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},u=Object.keys(e);for(i=0;i=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var K=function(e){return e&&e.Math==Math&&e},Y=K("object"==typeof globalThis&&globalThis)||K("object"==typeof window&&window)||K("object"==typeof self&&self)||K("object"==typeof e&&e)||function(){return this}()||Function("return this")(),Q={},Z=function(e){try{return!!e()}catch(e){return!0}},ee=!Z((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),te=Function.prototype.call,re=te.bind?te.bind(te):function(){return te.apply(te,arguments)},ie={},ne={}.propertyIsEnumerable,ue=Object.getOwnPropertyDescriptor,se=ue&&!ne.call({1:2},1);ie.f=se?function(e){var t=ue(this,e);return!!t&&t.enumerable}:ne;var ae,oe,ce=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},pe=Function.prototype,De=pe.bind,he=pe.call,le=De&&De.bind(he),de=De?function(e){return e&&le(he,e)}:function(e){return e&&function(){return he.apply(e,arguments)}},fe=de,Ee=fe({}.toString),me=fe("".slice),Ce=function(e){return me(Ee(e),8,-1)},Fe=de,Ae=Z,ge=Ce,ye=Y.Object,xe=Fe("".split),Be=Ae((function(){return!ye("z").propertyIsEnumerable(0)}))?function(e){return"String"==ge(e)?xe(e,""):ye(e)}:ye,ve=Y.TypeError,be=function(e){if(null==e)throw ve("Can't call method on "+e);return e},Se=Be,we=be,Te=function(e){return Se(we(e))},ke=function(e){return"function"==typeof e},Ie=ke,Ne=function(e){return"object"==typeof e?null!==e:Ie(e)},_e=Y,Le=ke,Pe=function(e){return Le(e)?e:void 0},Oe=function(e,t){return arguments.length<2?Pe(_e[e]):_e[e]&&_e[e][t]},Re=de({}.isPrototypeOf),je=Oe("navigator","userAgent")||"",Ve=Y,Me=je,Ue=Ve.process,Ge=Ve.Deno,Xe=Ue&&Ue.versions||Ge&&Ge.version,qe=Xe&&Xe.v8;qe&&(oe=(ae=qe.split("."))[0]>0&&ae[0]<4?1:+(ae[0]+ae[1])),!oe&&Me&&(!(ae=Me.match(/Edge\/(\d+)/))||ae[1]>=74)&&(ae=Me.match(/Chrome\/(\d+)/))&&(oe=+ae[1]);var We=oe,ze=We,Je=Z,He=!!Object.getOwnPropertySymbols&&!Je((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ze&&ze<41})),$e=He&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ke=Oe,Ye=ke,Qe=Re,Ze=$e,et=Y.Object,tt=Ze?function(e){return"symbol"==typeof e}:function(e){var t=Ke("Symbol");return Ye(t)&&Qe(t.prototype,et(e))},rt=Y.String,it=function(e){try{return rt(e)}catch(e){return"Object"}},nt=ke,ut=it,st=Y.TypeError,at=function(e){if(nt(e))return e;throw st(ut(e)+" is not a function")},ot=at,ct=function(e,t){var r=e[t];return null==r?void 0:ot(r)},pt=re,Dt=ke,ht=Ne,lt=Y.TypeError,dt={exports:{}},ft=Y,Et=Object.defineProperty,mt=function(e,t){try{Et(ft,e,{value:t,configurable:!0,writable:!0})}catch(r){ft[e]=t}return t},Ct=mt,Ft=Y["__core-js_shared__"]||Ct("__core-js_shared__",{}),At=Ft;(dt.exports=function(e,t){return At[e]||(At[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var gt=be,yt=Y.Object,xt=function(e){return yt(gt(e))},Bt=xt,vt=de({}.hasOwnProperty),bt=Object.hasOwn||function(e,t){return vt(Bt(e),t)},St=de,wt=0,Tt=Math.random(),kt=St(1..toString),It=function(e){return"Symbol("+(void 0===e?"":e)+")_"+kt(++wt+Tt,36)},Nt=Y,_t=dt.exports,Lt=bt,Pt=It,Ot=He,Rt=$e,jt=_t("wks"),Vt=Nt.Symbol,Mt=Vt&&Vt.for,Ut=Rt?Vt:Vt&&Vt.withoutSetter||Pt,Gt=function(e){if(!Lt(jt,e)||!Ot&&"string"!=typeof jt[e]){var t="Symbol."+e;Ot&&Lt(Vt,e)?jt[e]=Vt[e]:jt[e]=Rt&&Mt?Mt(t):Ut(t)}return jt[e]},Xt=re,qt=Ne,Wt=tt,zt=ct,Jt=function(e,t){var r,i;if("string"===t&&Dt(r=e.toString)&&!ht(i=pt(r,e)))return i;if(Dt(r=e.valueOf)&&!ht(i=pt(r,e)))return i;if("string"!==t&&Dt(r=e.toString)&&!ht(i=pt(r,e)))return i;throw lt("Can't convert object to primitive value")},Ht=Gt,$t=Y.TypeError,Kt=Ht("toPrimitive"),Yt=function(e,t){if(!qt(e)||Wt(e))return e;var r,i=zt(e,Kt);if(i){if(void 0===t&&(t="default"),r=Xt(i,e,t),!qt(r)||Wt(r))return r;throw $t("Can't convert object to primitive value")}return void 0===t&&(t="number"),Jt(e,t)},Qt=tt,Zt=function(e){var t=Yt(e,"string");return Qt(t)?t:t+""},er=Ne,tr=Y.document,rr=er(tr)&&er(tr.createElement),ir=function(e){return rr?tr.createElement(e):{}},nr=!ee&&!Z((function(){return 7!=Object.defineProperty(ir("div"),"a",{get:function(){return 7}}).a})),ur=ee,sr=re,ar=ie,or=ce,cr=Te,pr=Zt,Dr=bt,hr=nr,lr=Object.getOwnPropertyDescriptor;Q.f=ur?lr:function(e,t){if(e=cr(e),t=pr(t),hr)try{return lr(e,t)}catch(e){}if(Dr(e,t))return or(!sr(ar.f,e,t),e[t])};var dr={},fr=Y,Er=Ne,mr=fr.String,Cr=fr.TypeError,Fr=function(e){if(Er(e))return e;throw Cr(mr(e)+" is not an object")},Ar=ee,gr=nr,yr=Fr,xr=Zt,Br=Y.TypeError,vr=Object.defineProperty;dr.f=Ar?vr:function(e,t,r){if(yr(e),t=xr(t),yr(r),gr)try{return vr(e,t,r)}catch(e){}if("get"in r||"set"in r)throw Br("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var br=dr,Sr=ce,wr=ee?function(e,t,r){return br.f(e,t,Sr(1,r))}:function(e,t,r){return e[t]=r,e},Tr={exports:{}},kr=ke,Ir=Ft,Nr=de(Function.toString);kr(Ir.inspectSource)||(Ir.inspectSource=function(e){return Nr(e)});var _r,Lr,Pr,Or=Ir.inspectSource,Rr=ke,jr=Or,Vr=Y.WeakMap,Mr=Rr(Vr)&&/native code/.test(jr(Vr)),Ur=dt.exports,Gr=It,Xr=Ur("keys"),qr={},Wr=Mr,zr=Y,Jr=de,Hr=Ne,$r=wr,Kr=bt,Yr=Ft,Qr=function(e){return Xr[e]||(Xr[e]=Gr(e))},Zr=qr,ei=zr.TypeError,ti=zr.WeakMap;if(Wr||Yr.state){var ri=Yr.state||(Yr.state=new ti),ii=Jr(ri.get),ni=Jr(ri.has),ui=Jr(ri.set);_r=function(e,t){if(ni(ri,e))throw new ei("Object already initialized");return t.facade=e,ui(ri,e,t),t},Lr=function(e){return ii(ri,e)||{}},Pr=function(e){return ni(ri,e)}}else{var si=Qr("state");Zr[si]=!0,_r=function(e,t){if(Kr(e,si))throw new ei("Object already initialized");return t.facade=e,$r(e,si,t),t},Lr=function(e){return Kr(e,si)?e[si]:{}},Pr=function(e){return Kr(e,si)}}var ai={set:_r,get:Lr,has:Pr,enforce:function(e){return Pr(e)?Lr(e):_r(e,{})},getterFor:function(e){return function(t){var r;if(!Hr(t)||(r=Lr(t)).type!==e)throw ei("Incompatible receiver, "+e+" required");return r}}},oi=ee,ci=bt,pi=Function.prototype,Di=oi&&Object.getOwnPropertyDescriptor,hi=ci(pi,"name"),li=hi&&"something"===function(){}.name,di=hi&&(!oi||oi&&Di(pi,"name").configurable),fi=Y,Ei=ke,mi=bt,Ci=wr,Fi=mt,Ai=Or,gi={EXISTS:hi,PROPER:li,CONFIGURABLE:di}.CONFIGURABLE,yi=ai.get,xi=ai.enforce,Bi=String(String).split("String");(Tr.exports=function(e,t,r,i){var n,u=!!i&&!!i.unsafe,s=!!i&&!!i.enumerable,a=!!i&&!!i.noTargetGet,o=i&&void 0!==i.name?i.name:t;Ei(r)&&("Symbol("===String(o).slice(0,7)&&(o="["+String(o).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!mi(r,"name")||gi&&r.name!==o)&&Ci(r,"name",o),(n=xi(r)).source||(n.source=Bi.join("string"==typeof o?o:""))),e!==fi?(u?!a&&e[t]&&(s=!0):delete e[t],s?e[t]=r:Ci(e,t,r)):s?e[t]=r:Fi(t,r)})(Function.prototype,"toString",(function(){return Ei(this)&&yi(this).source||Ai(this)}));var vi={},bi=Math.ceil,Si=Math.floor,wi=function(e){var t=+e;return t!=t||0===t?0:(t>0?Si:bi)(t)},Ti=wi,ki=Math.max,Ii=Math.min,Ni=wi,_i=Math.min,Li=function(e){return e>0?_i(Ni(e),9007199254740991):0},Pi=function(e){return Li(e.length)},Oi=Te,Ri=function(e,t){var r=Ti(e);return r<0?ki(r+t,0):Ii(r,t)},ji=Pi,Vi=function(e){return function(t,r,i){var n,u=Oi(t),s=ji(u),a=Ri(i,s);if(e&&r!=r){for(;s>a;)if((n=u[a++])!=n)return!0}else for(;s>a;a++)if((e||a in u)&&u[a]===r)return e||a||0;return!e&&-1}},Mi={includes:Vi(!0),indexOf:Vi(!1)},Ui=bt,Gi=Te,Xi=Mi.indexOf,qi=qr,Wi=de([].push),zi=function(e,t){var r,i=Gi(e),n=0,u=[];for(r in i)!Ui(qi,r)&&Ui(i,r)&&Wi(u,r);for(;t.length>n;)Ui(i,r=t[n++])&&(~Xi(u,r)||Wi(u,r));return u},Ji=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");vi.f=Object.getOwnPropertyNames||function(e){return zi(e,Ji)};var Hi={};Hi.f=Object.getOwnPropertySymbols;var $i=Oe,Ki=vi,Yi=Hi,Qi=Fr,Zi=de([].concat),en=$i("Reflect","ownKeys")||function(e){var t=Ki.f(Qi(e)),r=Yi.f;return r?Zi(t,r(e)):t},tn=bt,rn=en,nn=Q,un=dr,sn=Z,an=ke,on=/#|\.prototype\./,cn=function(e,t){var r=Dn[pn(e)];return r==ln||r!=hn&&(an(t)?sn(t):!!t)},pn=cn.normalize=function(e){return String(e).replace(on,".").toLowerCase()},Dn=cn.data={},hn=cn.NATIVE="N",ln=cn.POLYFILL="P",dn=cn,fn=Y,En=Q.f,mn=wr,Cn=Tr.exports,Fn=mt,An=function(e,t){for(var r=rn(t),i=un.f,n=nn.f,u=0;u0&&wn(o))c=Tn(o),p=Nn(e,t,o,c,p,u-1)-1;else{if(p>=9007199254740991)throw In("Exceed the acceptable array length");e[p]=o}p++}D++}return p},_n=Nn,Ln={};Ln[Gt("toStringTag")]="z";var Pn=Y,On="[object z]"===String(Ln),Rn=ke,jn=Ce,Vn=Gt("toStringTag"),Mn=Pn.Object,Un="Arguments"==jn(function(){return arguments}()),Gn=On?jn:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Mn(e),Vn))?r:Un?jn(t):"Object"==(i=jn(t))&&Rn(t.callee)?"Arguments":i},Xn=de,qn=Z,Wn=ke,zn=Gn,Jn=Or,Hn=function(){},$n=[],Kn=Oe("Reflect","construct"),Yn=/^\s*(?:class|function)\b/,Qn=Xn(Yn.exec),Zn=!Yn.exec(Hn),eu=function(e){if(!Wn(e))return!1;try{return Kn(Hn,$n,e),!0}catch(e){return!1}},tu=!Kn||qn((function(){var e;return eu(eu.call)||!eu(Object)||!eu((function(){e=!0}))||e}))?function(e){if(!Wn(e))return!1;switch(zn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Zn||!!Qn(Yn,Jn(e))}:eu,ru=Y,iu=Bn,nu=tu,uu=Ne,su=Gt("species"),au=ru.Array,ou=function(e){var t;return iu(e)&&(t=e.constructor,(nu(t)&&(t===au||iu(t.prototype))||uu(t)&&null===(t=t[su]))&&(t=void 0)),void 0===t?au:t},cu=_n,pu=at,Du=xt,hu=Pi,lu=function(e,t){return new(ou(e))(0===t?0:t)};yn({target:"Array",proto:!0},{flatMap:function(e){var t,r=Du(this),i=hu(r);return pu(e),(t=lu(r,0)).length=cu(t,r,r,i,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var du=Gn,fu=Y.String,Eu=de([].slice),mu=Math.floor,Cu=function(e,t){var r=e.length,i=mu(r/2);return r<8?Fu(e,t):Au(e,Cu(Eu(e,0,i),t),Cu(Eu(e,i),t),t)},Fu=function(e,t){for(var r,i,n=e.length,u=1;u0;)e[i]=e[--i];i!==u++&&(e[i]=r)}return e},Au=function(e,t,r,i){for(var n=t.length,u=r.length,s=0,a=0;s3)){if(ju)return!0;if(Mu)return Mu<603;var e,t,r,i,n="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Uu.push({k:t+i,v:r})}for(Uu.sort((function(e,t){return t.v-e.v})),i=0;i_u(r)?1:-1}}(e)),r=n.length,i=0;iu;u++)if((a=E(e[u]))&&Cs(Bs,a))return a;return new xs(!1)}i=Fs(e,n)}for(o=i.next;!(c=ls(o,i)).done;){try{a=E(c.value)}catch(e){gs(i,"throw",e)}if("object"==typeof a&&a&&Cs(Bs,a))return a}return new xs(!1)},Ts=function(e,t,r){var i=vs(t);i in e?bs.f(e,i,Ss(0,r)):e[i]=r};function ks(){throw new Error("setTimeout has not been defined")}function Is(){throw new Error("clearTimeout has not been defined")}yn({target:"Object",stat:!0},{fromEntries:function(e){var t={};return ws(e,(function(e,r){Ts(t,e,r)}),{AS_ENTRIES:!0}),t}});var Ns=ks,_s=Is;function Ls(e){if(Ns===setTimeout)return setTimeout(e,0);if((Ns===ks||!Ns)&&setTimeout)return Ns=setTimeout,setTimeout(e,0);try{return Ns(e,0)}catch(t){try{return Ns.call(null,e,0)}catch(t){return Ns.call(this,e,0)}}}"function"==typeof s.setTimeout&&(Ns=setTimeout),"function"==typeof s.clearTimeout&&(_s=clearTimeout);var Ps,Os=[],Rs=!1,js=-1;function Vs(){Rs&&Ps&&(Rs=!1,Ps.length?Os=Ps.concat(Os):js=-1,Os.length&&Ms())}function Ms(){if(!Rs){var e=Ls(Vs);Rs=!0;for(var t=Os.length;t;){for(Ps=Os,Os=[];++js1)for(var r=1;r{};var ta={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},ra={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=ta,i=ea,n=(t=e.exports={}).re=[],u=t.src=[],s=t.t={};let a=0;const o=(e,t,r)=>{const o=a++;i(o,t),s[e]=o,u[o]=t,n[o]=new RegExp(t,r?"g":void 0)};o("NUMERICIDENTIFIER","0|[1-9]\\d*"),o("NUMERICIDENTIFIERLOOSE","[0-9]+"),o("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),o("MAINVERSION","(".concat(u[s.NUMERICIDENTIFIER],")\\.")+"(".concat(u[s.NUMERICIDENTIFIER],")\\.")+"(".concat(u[s.NUMERICIDENTIFIER],")")),o("MAINVERSIONLOOSE","(".concat(u[s.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[s.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[s.NUMERICIDENTIFIERLOOSE],")")),o("PRERELEASEIDENTIFIER","(?:".concat(u[s.NUMERICIDENTIFIER],"|").concat(u[s.NONNUMERICIDENTIFIER],")")),o("PRERELEASEIDENTIFIERLOOSE","(?:".concat(u[s.NUMERICIDENTIFIERLOOSE],"|").concat(u[s.NONNUMERICIDENTIFIER],")")),o("PRERELEASE","(?:-(".concat(u[s.PRERELEASEIDENTIFIER],"(?:\\.").concat(u[s.PRERELEASEIDENTIFIER],")*))")),o("PRERELEASELOOSE","(?:-?(".concat(u[s.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(u[s.PRERELEASEIDENTIFIERLOOSE],")*))")),o("BUILDIDENTIFIER","[0-9A-Za-z-]+"),o("BUILD","(?:\\+(".concat(u[s.BUILDIDENTIFIER],"(?:\\.").concat(u[s.BUILDIDENTIFIER],")*))")),o("FULLPLAIN","v?".concat(u[s.MAINVERSION]).concat(u[s.PRERELEASE],"?").concat(u[s.BUILD],"?")),o("FULL","^".concat(u[s.FULLPLAIN],"$")),o("LOOSEPLAIN","[v=\\s]*".concat(u[s.MAINVERSIONLOOSE]).concat(u[s.PRERELEASELOOSE],"?").concat(u[s.BUILD],"?")),o("LOOSE","^".concat(u[s.LOOSEPLAIN],"$")),o("GTLT","((?:<|>)?=?)"),o("XRANGEIDENTIFIERLOOSE","".concat(u[s.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),o("XRANGEIDENTIFIER","".concat(u[s.NUMERICIDENTIFIER],"|x|X|\\*")),o("XRANGEPLAIN","[v=\\s]*(".concat(u[s.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[s.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[s.XRANGEIDENTIFIER],")")+"(?:".concat(u[s.PRERELEASE],")?").concat(u[s.BUILD],"?")+")?)?"),o("XRANGEPLAINLOOSE","[v=\\s]*(".concat(u[s.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[s.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[s.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(u[s.PRERELEASELOOSE],")?").concat(u[s.BUILD],"?")+")?)?"),o("XRANGE","^".concat(u[s.GTLT],"\\s*").concat(u[s.XRANGEPLAIN],"$")),o("XRANGELOOSE","^".concat(u[s.GTLT],"\\s*").concat(u[s.XRANGEPLAINLOOSE],"$")),o("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),o("COERCERTL",u[s.COERCE],!0),o("LONETILDE","(?:~>?)"),o("TILDETRIM","(\\s*)".concat(u[s.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",o("TILDE","^".concat(u[s.LONETILDE]).concat(u[s.XRANGEPLAIN],"$")),o("TILDELOOSE","^".concat(u[s.LONETILDE]).concat(u[s.XRANGEPLAINLOOSE],"$")),o("LONECARET","(?:\\^)"),o("CARETTRIM","(\\s*)".concat(u[s.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",o("CARET","^".concat(u[s.LONECARET]).concat(u[s.XRANGEPLAIN],"$")),o("CARETLOOSE","^".concat(u[s.LONECARET]).concat(u[s.XRANGEPLAINLOOSE],"$")),o("COMPARATORLOOSE","^".concat(u[s.GTLT],"\\s*(").concat(u[s.LOOSEPLAIN],")$|^$")),o("COMPARATOR","^".concat(u[s.GTLT],"\\s*(").concat(u[s.FULLPLAIN],")$|^$")),o("COMPARATORTRIM","(\\s*)".concat(u[s.GTLT],"\\s*(").concat(u[s.LOOSEPLAIN],"|").concat(u[s.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",o("HYPHENRANGE","^\\s*(".concat(u[s.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(u[s.XRANGEPLAIN],")")+"\\s*$"),o("HYPHENRANGELOOSE","^\\s*(".concat(u[s.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(u[s.XRANGEPLAINLOOSE],")")+"\\s*$"),o("STAR","(<|>)?=?\\s*\\*"),o("GTE0","^\\s*>=\\s*0.0.0\\s*$"),o("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(ra,ra.exports);const ia=["includePrerelease","loose","rtl"];var na=e=>e?"object"!=typeof e?{loose:!0}:ia.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const ua=/^[0-9]+$/,sa=(e,t)=>{const r=ua.test(e),i=ua.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:esa(t,e)};const oa=ea,{MAX_LENGTH:ca,MAX_SAFE_INTEGER:pa}=ta,{re:Da,t:ha}=ra.exports,la=na,{compareIdentifiers:da}=aa;class fa{constructor(e,t){if(t=la(t),e instanceof fa){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>ca)throw new TypeError("version is longer than ".concat(ca," characters"));oa("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Da[ha.LOOSE]:Da[ha.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>pa||this.major<0)throw new TypeError("Invalid major version");if(this.minor>pa||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>pa||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}const Ea=fa;var ma=(e,t,r)=>new Ea(e,r).compare(new Ea(t,r));const Ca=ma;var Fa=(e,t,r)=>Ca(e,t,r)<0;const Aa=ma;var ga,ya,xa,Ba,va,ba,Sa=(e,t,r)=>Aa(e,t,r)>=0,wa={exports:{}};!function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ta(xa||(xa=$(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ta(Ba||(Ba=$(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ta(va||(va=$(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ta(ba||(ba=$(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Ia=["cliName","cliCategory","cliDescription"],Na={compare:ma,lt:Fa,gte:Sa},_a=(e,t)=>Object.entries(e).map((e=>{let[r,i]=e;return Object.assign({[t]:r},i)})),La="2.5.1",Pa={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:ka}.options;function Oa(e,t,r){const i=new Set(e.choices.map((e=>e.value)));for(const n of t)if(n.parsers)for(const t of n.parsers)if(!i.has(t)){i.add(t);const u=r.find((e=>e.parsers&&e.parsers[t]));let s=n.name;u&&u.name&&(s+=" (plugin: ".concat(u.name,")")),e.choices.push({value:t,description:s})}}var Ra={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=La.split("-",1)[0],u=e.flatMap((e=>e.languages||[])).filter(a),s=_a(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),Pa),"name").filter((e=>a(e)&&o(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>Na.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&o(e))),"parser"===t.name&&Oa(t,u,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:u,options:s};function a(e){return t||!("since"in e)||e.since&&Na.gte(n,e.since)}function o(e){return r||!("deprecated"in e)||e.deprecated&&Na.lt(n,e.deprecated)}function c(e){if(i)return e;return H(e,Ia)}}};const ja=V.exports,Va=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Ma=J,{getSupportInfo:Ua}=Ra,Ga=/[^\x20-\x7F]/;function Xa(e){return(t,r,i)=>{const n=i&&i.backwards;if(!1===r)return!1;const{length:u}=t;let s=r;for(;s>=0&&s2&&void 0!==arguments[2]?arguments[2]:{};const i=Wa(e,r.backwards?t-1:t,r),n=Ka(e,i,r);return i!==n}function Qa(e,t){let r=null,i=t;for(;i!==r;)r=i,i=za(e,i),i=Ha(e,i),i=Wa(e,i);return i=$a(e,i),i=Ka(e,i),!1!==i&&Ya(e,i)}function Za(e,t){let r=null,i=t;for(;i!==r;)r=i,i=Wa(e,i),i=Ha(e,i),i=$a(e,i),i=Ka(e,i);return i}function eo(e,t,r){return Za(e,r(t))}function to(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=0;for(let n=r;n(e.match(u.regex)||[]).length?u:n}return s}function io(e,t,r){const i='"'===t?"'":'"',n=e.replace(/\\(.)|(["'])/gs,((e,n,u)=>n===i?n:u===t?"\\"+u:u||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(n)?n:"\\"+n)));return t+n+t}function no(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var uo={inferParserByLanguage:function(e,t){const{languages:r}=Ua({plugins:t.plugins}),i=r.find((t=>{let{name:r}=t;return r.toLowerCase()===e}))||r.find((t=>{let{aliases:r}=t;return Array.isArray(r)&&r.includes(e)}))||r.find((t=>{let{extensions:r}=t;return Array.isArray(r)&&r.includes(".".concat(e))}));return i&&i.parsers[0]},getStringWidth:function(e){return e?Ga.test(e)?ja(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(Va(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(Va(t),")+"),"g"));if(null===r)return 0;const i=new Map;let n=0;for(const e of r){const r=e.length/t.length;i.set(r,!0),r>n&&(n=r)}for(let e=1;ee[e.length-2],getLast:Ma,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Za,getNextNonSpaceNonCommentCharacterIndex:eo,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(eo(e,t,r))},skip:Xa,skipWhitespace:qa,skipSpaces:Wa,skipToLineEnd:za,skipEverythingButNewLine:Ja,skipInlineComment:Ha,skipTrailingComment:$a,skipNewline:Ka,isNextLineEmptyAfterIndex:Qa,isNextLineEmpty:function(e,t,r){return Qa(e,r(t))},isPreviousLineEmpty:function(e,t,r){let i=r(t)-1;return i=Wa(e,i,{backwards:!0}),i=Ka(e,i,{backwards:!0}),i=Wa(e,i,{backwards:!0}),i!==Ka(e,i,{backwards:!0})},hasNewline:Ya,hasNewlineInRange:function(e,t,r){for(let i=t;i2&&void 0!==arguments[2]?arguments[2]:{};const i=Wa(e,r.backwards?t-1:t,r);return i!==t},getAlignmentSize:to,getIndentSize:function(e,t){const r=e.lastIndexOf("\n");return-1===r?0:to(e.slice(r+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:ro,printString:function(e,t){const r=e.slice(1,-1);return io(r,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":ro(r,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:io,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,no(e,t)},addDanglingComment:function(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),no(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,no(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}};var so={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));r=/\r\n/g}const i=e.match(r);return i?i.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:ao,strip:oo,extract:co,print:po}=u,{getShebang:Do}=uo,{normalizeEndOfLine:ho}=so;function lo(e){const t=Do(e);t&&(e=e.slice(t.length+1));const r=co(e),{pragmas:i,comments:n}=ao(r);return{shebang:t,text:e,pragmas:i,comments:n}}var fo={hasPragma:function(e){const t=Object.keys(lo(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:r,pragmas:i,comments:n}=lo(e),u=oo(r),s=po({pragmas:Object.assign({format:""},i),comments:n.trimStart()});return(t?"".concat(t,"\n"):"")+ho(s)+(u.startsWith("\n")?"\n":"\n\n")+u}};const{isNonEmptyArray:Eo}=uo;function mo(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(Eo(t))return mo(t[0])}return e.range?e.range[0]:e.start}function Co(e){return e.range?e.range[1]:e.end}function Fo(e,t){return mo(e)===mo(t)}var Ao={locStart:mo,locEnd:Co,hasSameLocStart:Fo,hasSameLoc:function(e,t){return Fo(e,t)&&function(e,t){return Co(e)===Co(t)}(e,t)}};const{hasPragma:go}=fo,{locStart:yo,locEnd:xo}=Ao;var Bo=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:go,locStart:yo,locEnd:xo},e)};var vo=function(e){return"#"===e.charAt(0)&&"!"===e.charAt(1)?"//"+e.slice(2):e},bo={},So={exports:{}};!function(){function e(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function t(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}So.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&"FunctionDeclaration"===t.type},isProblematicIfStatement:function(e){var r;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;r=e.consequent;do{if("IfStatement"===r.type&&null==r.alternate)return!0;r=t(r)}while(r);return!1},trailingStatement:t}}();var wo={exports:{}};!function(){var e,t,r,i,n,u;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),u=0;u<128;++u)i[u]=u>=97&&u<=122||u>=65&&u<=90||36===u||95===u;for(n=new Array(128),u=0;u<128;++u)n[u]=u>=97&&u<=122||u>=65&&u<=90||u>=48&&u<=57||36===u||95===u;wo.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?n[e]:t.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(t){return t<128?i[t]:e.NonAsciiIdentifierStart.test(s(t))},isIdentifierPartES6:function(t){return t<128?n[t]:e.NonAsciiIdentifierPart.test(s(t))}}}();var To={exports:{}};!function(){var e=wo.exports;function t(e,t){return!(!t&&"yield"===e)&&r(e,t)}function r(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function i(e,r){return"null"===e||"true"===e||"false"===e||t(e,r)}function n(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function u(t){var r,i,n;if(0===t.length)return!1;if(n=t.charCodeAt(0),!e.isIdentifierStartES5(n))return!1;for(r=1,i=t.length;r=i)return!1;if(!(56320<=(u=t.charCodeAt(r))&&u<=57343))return!1;n=1024*(n-55296)+(u-56320)+65536}if(!s(n))return!1;s=e.isIdentifierPartES6}return!0}To.exports={isKeywordES5:t,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:n,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:u,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return u(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!n(e,t)}}}(),bo.ast=So.exports,bo.code=wo.exports,bo.keyword=To.exports;const ko=bo.keyword.isIdentifierNameES5,{getLast:Io,hasNewline:No,skipWhitespace:_o,isNonEmptyArray:Lo,isNextLineEmptyAfterIndex:Po,getStringWidth:Oo}=uo,{locStart:Ro,locEnd:jo,hasSameLocStart:Vo}=Ao,Mo=new RegExp("^".concat("(?:(?=.)\\s)","*:")),Uo=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function Go(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function Xo(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const qo=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Wo(e){return e&&qo.has(e.type)}function zo(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Jo(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function Ho(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function $o(e){return rc(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Ko(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Yo(e){return"get"===e.kind||"set"===e.kind}function Qo(e){return Yo(e)||Vo(e,e.value)}const Zo=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const ec=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const tc=/^(?:skip|[fx]?(?:it|describe|test))$/;function rc(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function ic(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function nc(e){return/^(?:\d+|\d+\.\d+)$/.test(e)}function uc(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function sc(e){return e.extra?e.extra.raw:e.raw}const ac={"==":!0,"!=":!0,"===":!0,"!==":!0},oc={"*":!0,"/":!0,"%":!0},cc={">>":!0,">>>":!0,"<<":!0};const pc={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const r of t)pc[r]=e;function Dc(e){return pc[e]}const hc=new WeakMap;function lc(e){if(hc.has(e))return hc.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),hc.set(e,t),t}const dc=new WeakMap;function fc(e){if(dc.has(e))return dc.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),dc.set(e,t),t}function Ec(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function mc(e){return e&&(e.prettierIgnore||Ac(e,Cc.PrettierIgnore))}const Cc={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Fc=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(r,i,n)=>!(e&Cc.Leading&&!r.leading||e&Cc.Trailing&&!r.trailing||e&Cc.Dangling&&(r.leading||r.trailing)||e&Cc.Block&&!Go(r)||e&Cc.Line&&!Xo(r)||e&Cc.First&&0!==i||e&Cc.Last&&i!==n.length-1||e&Cc.PrettierIgnore&&!Ec(r)||t&&!t(r))};function Ac(e,t,r){if(!e||!Lo(e.comments))return!1;const i=Fc(t,r);return!i||e.comments.some(i)}function gc(e,t,r){if(!e||!Array.isArray(e.comments))return[];const i=Fc(t,r);return i?e.comments.filter(i):e.comments}function yc(e){return rc(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var xc={getFunctionParameters:lc,iterateFunctionParametersPath:function(e,t){const r=e.getValue();let i=0;const n=e=>t(e,i++);r.this&&e.call(n,"this"),Array.isArray(r.parameters)?e.each(n,"parameters"):Array.isArray(r.params)&&e.each(n,"params"),r.rest&&e.call(n,"rest")},getCallArguments:fc,iterateCallArgumentsPath:function(e,t){const r=e.getValue();"ImportExpression"===r.type?(e.call((e=>t(e,0)),"source"),r.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=lc(e);return t.length>0&&"RestElement"===Io(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&Wo(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return Lo(e)&&Go(e[0])&&Uo.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&Lo(e.trailingComments)&&Go(e.trailingComments[0])&&Mo.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return Ko(t)?mc(t):Ac(t,Cc.Leading,(t=>No(e,jo(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||rc(e)||ic(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,r){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,r)));const i=r(t);return"boolean"==typeof i?i:Object.values(t).some((t=>e(t,r)))},hasIgnoreComment:function(e){return mc(e.getValue())},hasNodeIgnoreComment:mc,identity:function(e){return e},isBinaryish:function(e){return Zo.has(e.type)},isBlockComment:Go,isCallLikeExpression:yc,isEnabledHackPipeline:function(e){return Boolean(e.__isUsingHackPipeline)},isLineComment:Xo,isPrettierIgnoreComment:Ec,isCallExpression:rc,isMemberExpression:ic,isExportDeclaration:Wo,isFlowAnnotationComment:function(e,t){const r=Ro(t),i=_o(e,jo(t));return!1!==i&&"/*"===e.slice(r,r+2)&&"*/"===e.slice(i,i+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const r of e)if(Ho(r)){if(t+=1,t>1)return!0}else if(rc(r))for(const e of r.arguments)if(Ho(e))return!0;return!1},isFunctionNotation:Qo,isFunctionOrArrowExpression:Ho,isGetterOrSetter:Yo,isJestEachTemplateLiteral:function(e,t){const r=/^[fx]?(?:describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&r.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&r.test(t.tag.object.object.name))},isJsxNode:Ko,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),r=e.getParentNode();return rc(t)&&rc(r)&&r.callee===t&&t.arguments.length>r.arguments.length&&r.arguments.length>0},isSimpleCallArgument:function e(t,r){if(r>=2)return!1;const i=t=>e(t,r+1),n="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(n&&Oo(n)>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(i):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&i(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||i(e))):yc(t)?("ImportExpression"===t.type||e(t.callee,r))&&fc(t).every(i):ic(t)?e(t.object,r)&&e(t.property,r):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,r):e(t.argument,r)))},isMemberish:function(e){return ic(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:zo,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&zo(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"TSMappedType"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Qo(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!ec.has(e.type))},isSimpleNumber:nc,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const r=e[t];return 0!==r.length&&r.every((e=>{if(Ac(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(ic(e)){let t=e;for(;ic(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,Ac(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:Jo,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&Jo(e.key)&&sc(e.key).slice(1,-1)===e.key.value&&(ko(e.key.value)&&!("babel-ts"===t.parser&&"ClassProperty"===e.type||"typescript"===t.parser&&"PropertyDefinition"===e.type)||nc(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&uc(e)||"TaggedTemplateExpression"===e.type&&uc(e.quasi))&&!No(t,Ro(e),{backwards:!0})},isTestCall:function e(t,r){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if($o(t)&&r&&e(r))return Ho(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(?:before|after)(?:Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return $o(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&tc.test(t.callee.name)||function(e){return ic(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&tc.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||Jo(t.arguments[0])))return!(t.arguments[2]&&!zo(t.arguments[2]))&&((2===t.arguments.length?Ho(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&lc(t.arguments[1]).length<=1)||$o(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const r=t.getNode();if(!r.expression||!Ko(r.expression))return!1;const i=t.getParentNode();return"Program"===i.type&&1===i.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||Vo(e,e.typeAnnotation))},isNextLineEmpty:(e,t)=>{let{originalText:r}=t;return Po(r,jo(e))},needsHardlineAfterDanglingComment:function(e){if(!Ac(e))return!1;const t=Io(gc(e,Cc.Dangling));return t&&!Go(t)},rawText:sc,shouldPrintComma:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es5";return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(cc[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Dc(t)===Dc(e)&&("**"!==e&&((!ac[e]||!ac[t])&&(!("%"===t&&oc[e]||"%"===e&&oc[t])&&((t===e||!oc[t]||!oc[e])&&(!cc[e]||!cc[t])))))},startsWithNoLookaheadToken:function e(t,r){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return r;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,r);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,r);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,r);case"ConditionalExpression":return e(t.test,r);case"UpdateExpression":return!t.prefix&&e(t.argument,r);case"BindExpression":return t.object&&e(t.object,r);case"SequenceExpression":return e(t.expressions[0],r);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,r);default:return!1}},getPrecedence:Dc,hasComment:Ac,getComments:gc,CommentCheckFlags:Cc};const{getLast:Bc,hasNewline:vc,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:bc,getNextNonSpaceNonCommentCharacter:Sc,hasNewlineInRange:wc,addLeadingComment:Tc,addTrailingComment:kc,addDanglingComment:Ic,getNextNonSpaceNonCommentCharacterIndex:Nc,isNonEmptyArray:_c}=uo,{isBlockComment:Lc,getFunctionParameters:Pc,isPrettierIgnoreComment:Oc,isJsxNode:Rc,hasFlowShorthandAnnotationComment:jc,hasFlowAnnotationComment:Vc,hasIgnoreComment:Mc,isCallLikeExpression:Uc,getCallArguments:Gc,isCallExpression:Xc,isMemberExpression:qc,isObjectProperty:Wc,getComments:zc,CommentCheckFlags:Jc}=xc,{locStart:Hc,locEnd:$c}=Ao;function Kc(e,t){const r=(e.body||e.properties).find((e=>{let{type:t}=e;return"EmptyStatement"!==t}));r?Tc(r,t):Ic(e,t)}function Yc(e,t){"BlockStatement"===e.type?Kc(e,t):Tc(e,t)}function Qc(e){let{comment:t,followingNode:r}=e;return!(!r||!Sp(t))&&(Tc(r,t),!0)}function Zc(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n,text:u}=e;if(!i||"IfStatement"!==i.type||!n)return!1;return")"===Sc(u,t,$c)?(kc(r,t),!0):r===i.consequent&&n===i.alternate?("BlockStatement"===r.type?kc(r,t):Ic(i,t),!0):"BlockStatement"===n.type?(Kc(n,t),!0):"IfStatement"===n.type?(Yc(n.consequent,t),!0):i.consequent===n&&(Tc(n,t),!0)}function ep(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n,text:u}=e;if(!i||"WhileStatement"!==i.type||!n)return!1;return")"===Sc(u,t,$c)?(kc(r,t),!0):"BlockStatement"===n.type?(Kc(n,t),!0):i.body===n&&(Tc(n,t),!0)}function tp(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n}=e;return!(!i||"TryStatement"!==i.type&&"CatchClause"!==i.type||!n)&&("CatchClause"===i.type&&r?(kc(r,t),!0):"BlockStatement"===n.type?(Kc(n,t),!0):"TryStatement"===n.type?(Yc(n.finalizer,t),!0):"CatchClause"===n.type&&(Yc(n.body,t),!0))}function rp(e){let{comment:t,enclosingNode:r,followingNode:i}=e;return!(!qc(r)||!i||"Identifier"!==i.type)&&(Tc(r,t),!0)}function ip(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n,text:u}=e;const s=r&&!wc(u,$c(r),Hc(t));return!(r&&s||!i||"ConditionalExpression"!==i.type&&"TSConditionalType"!==i.type||!n)&&(Tc(n,t),!0)}function np(e){let{comment:t,precedingNode:r,enclosingNode:i}=e;return!(!Wc(i)||!i.shorthand||i.key!==r||"AssignmentPattern"!==i.value.type)&&(kc(i.value.left,t),!0)}function up(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n}=e;if(i&&("ClassDeclaration"===i.type||"ClassExpression"===i.type||"DeclareClass"===i.type||"DeclareInterface"===i.type||"InterfaceDeclaration"===i.type||"TSInterfaceDeclaration"===i.type)){if(_c(i.decorators)&&(!n||"Decorator"!==n.type))return kc(Bc(i.decorators),t),!0;if(i.body&&n===i.body)return Kc(i.body,t),!0;if(n)for(const e of["implements","extends","mixins"])if(i[e]&&n===i[e][0])return!r||r!==i.id&&r!==i.typeParameters&&r!==i.superClass?Ic(i,t,e):kc(r,t),!0}return!1}function sp(e){let{comment:t,precedingNode:r,enclosingNode:i,text:n}=e;return(i&&r&&("Property"===i.type||"TSDeclareMethod"===i.type||"TSAbstractMethodDefinition"===i.type)&&"Identifier"===r.type&&i.key===r&&":"!==Sc(n,r,$c)||!(!r||!i||"Decorator"!==r.type||"ClassMethod"!==i.type&&"ClassProperty"!==i.type&&"PropertyDefinition"!==i.type&&"TSAbstractPropertyDefinition"!==i.type&&"TSAbstractMethodDefinition"!==i.type&&"TSDeclareMethod"!==i.type&&"MethodDefinition"!==i.type))&&(kc(r,t),!0)}function ap(e){let{comment:t,precedingNode:r,enclosingNode:i,text:n}=e;return"("===Sc(n,t,$c)&&(!(!r||!i||"FunctionDeclaration"!==i.type&&"FunctionExpression"!==i.type&&"ClassMethod"!==i.type&&"MethodDefinition"!==i.type&&"ObjectMethod"!==i.type)&&(kc(r,t),!0))}function op(e){let{comment:t,enclosingNode:r,text:i}=e;if(!r||"ArrowFunctionExpression"!==r.type)return!1;const n=Nc(i,t,$c);return!1!==n&&"=>"===i.slice(n,n+2)&&(Ic(r,t),!0)}function cp(e){let{comment:t,enclosingNode:r,text:i}=e;return")"===Sc(i,t,$c)&&(r&&(bp(r)&&0===Pc(r).length||Uc(r)&&0===Gc(r).length)?(Ic(r,t),!0):!(!r||"MethodDefinition"!==r.type&&"TSAbstractMethodDefinition"!==r.type||0!==Pc(r.value).length)&&(Ic(r.value,t),!0))}function pp(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n,text:u}=e;if(r&&"FunctionTypeParam"===r.type&&i&&"FunctionTypeAnnotation"===i.type&&n&&"FunctionTypeParam"!==n.type)return kc(r,t),!0;if(r&&("Identifier"===r.type||"AssignmentPattern"===r.type)&&i&&bp(i)&&")"===Sc(u,t,$c))return kc(r,t),!0;if(i&&"FunctionDeclaration"===i.type&&n&&"BlockStatement"===n.type){const e=(()=>{const e=Pc(i);if(e.length>0)return bc(u,$c(Bc(e)));const t=bc(u,$c(i.id));return!1!==t&&bc(u,t+1)})();if(Hc(t)>e)return Kc(n,t),!0}return!1}function Dp(e){let{comment:t,enclosingNode:r}=e;return!(!r||"ImportSpecifier"!==r.type)&&(Tc(r,t),!0)}function hp(e){let{comment:t,enclosingNode:r}=e;return!(!r||"LabeledStatement"!==r.type)&&(Tc(r,t),!0)}function lp(e){let{comment:t,enclosingNode:r}=e;return!(!r||"ContinueStatement"!==r.type&&"BreakStatement"!==r.type||r.label)&&(kc(r,t),!0)}function dp(e){let{comment:t,precedingNode:r,enclosingNode:i}=e;return!!(Xc(i)&&r&&i.callee===r&&i.arguments.length>0)&&(Tc(i.arguments[0],t),!0)}function fp(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n}=e;return!i||"UnionTypeAnnotation"!==i.type&&"TSUnionType"!==i.type?(n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&Oc(t)&&(n.types[0].prettierIgnore=!0,t.unignore=!0),!1):(Oc(t)&&(n.prettierIgnore=!0,t.unignore=!0),!!r&&(kc(r,t),!0))}function Ep(e){let{comment:t,enclosingNode:r}=e;return!!Wc(r)&&(Tc(r,t),!0)}function mp(e){let{comment:t,enclosingNode:r,followingNode:i,ast:n,isLastComment:u}=e;return n&&n.body&&0===n.body.length?(u?Ic(n,t):Tc(n,t),!0):r&&"Program"===r.type&&0===r.body.length&&!_c(r.directives)?(u?Ic(r,t):Tc(r,t),!0):!(!i||"Program"!==i.type||0!==i.body.length||!r||"ModuleExpression"!==r.type)&&(Ic(i,t),!0)}function Cp(e){let{comment:t,enclosingNode:r}=e;return!(!r||"ForInStatement"!==r.type&&"ForOfStatement"!==r.type)&&(Tc(r,t),!0)}function Fp(e){let{comment:t,precedingNode:r,enclosingNode:i,text:n}=e;return!!(r&&"ImportSpecifier"===r.type&&i&&"ImportDeclaration"===i.type&&vc(n,$c(t)))&&(kc(r,t),!0)}function Ap(e){let{comment:t,enclosingNode:r}=e;return!(!r||"AssignmentPattern"!==r.type)&&(Tc(r,t),!0)}function gp(e){let{comment:t,enclosingNode:r}=e;return!(!r||"TypeAlias"!==r.type)&&(Tc(r,t),!0)}function yp(e){let{comment:t,enclosingNode:r,followingNode:i}=e;return!(!r||"VariableDeclarator"!==r.type&&"AssignmentExpression"!==r.type||!i||"ObjectExpression"!==i.type&&"ArrayExpression"!==i.type&&"TemplateLiteral"!==i.type&&"TaggedTemplateExpression"!==i.type&&!Lc(t))&&(Tc(i,t),!0)}function xp(e){let{comment:t,enclosingNode:r,followingNode:i,text:n}=e;return!(i||!r||"TSMethodSignature"!==r.type&&"TSDeclareFunction"!==r.type&&"TSAbstractMethodDefinition"!==r.type||";"!==Sc(n,t,$c))&&(kc(r,t),!0)}function Bp(e){let{comment:t,enclosingNode:r,followingNode:i}=e;if(Oc(t)&&r&&"TSMappedType"===r.type&&i&&"TSTypeParameter"===i.type&&i.constraint)return r.prettierIgnore=!0,t.unignore=!0,!0}function vp(e){let{comment:t,precedingNode:r,enclosingNode:i,followingNode:n}=e;return!(!i||"TSMappedType"!==i.type)&&(n&&"TSTypeParameter"===n.type&&n.name?(Tc(n.name,t),!0):!(!r||"TSTypeParameter"!==r.type||!r.constraint)&&(kc(r.constraint,t),!0))}function bp(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function Sp(e){return Lc(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var wp={handleOwnLineComment:function(e){return[Bp,pp,rp,Zc,ep,tp,up,Dp,Cp,fp,mp,Fp,Ap,sp,hp].some((t=>t(e)))},handleEndOfLineComment:function(e){return[Qc,pp,ip,Dp,Zc,ep,tp,up,hp,dp,Ep,mp,gp,yp].some((t=>t(e)))},handleRemainingComment:function(e){return[Bp,Zc,ep,np,cp,sp,mp,op,ap,vp,lp,xp].some((t=>t(e)))},isTypeCastComment:Sp,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===Pc(e.value).length&&!e.value.returnType&&!_c(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),r=e.getParentNode();return(t&&(Rc(t)||jc(t)||Xc(r)&&(e=>Vc(zc(e,Jc.Leading))||Vc(zc(e,Jc.Trailing)))(t))||r&&("JSXSpreadAttribute"===r.type||"JSXSpreadChild"===r.type||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type||("ClassDeclaration"===r.type||"ClassExpression"===r.type)&&r.superClass===t))&&(!Mc(e)||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)}};var Tp=function e(t,r){let i;if(Array.isArray(t))i=t.entries();else{if(!t||"object"!=typeof t||"string"!=typeof t.type)return t;i=Object.entries(t)}for(const[n,u]of i)t[n]=e(u,r);return Array.isArray(t)?t:r(t)||t};const kp=r,Ip=Tp;function Np(e,t){const{start:r,end:i}=e.loc;throw kp(t,{start:{line:r.line,column:r.column+1},end:{line:i.line,column:i.column+1}})}var _p={throwErrorForInvalidNodes:function(e,t){const{esTreeNodeToTSNodeMap:r,tsNodeToESTreeNodeMap:i}=t.tsParseResult;e=Ip(e,(e=>{const t=r.get(e);if(!t)return;const n=i.get(t);n===e&&(function(e,t,r){const i=e.decorators;if(!Array.isArray(i))return;const n=t.decorators;Array.isArray(n)&&n.length===i.length&&!i.some((e=>{const t=r.get(e);return!t||!n.includes(t)}))||Np(t,"Leading decorators must be attached to a class declaration")}(t,n,i),function(e,t){166!==e.kind||e.modifiers&&!e.modifiers.some((e=>126===e.kind))||e.initializer&&null===t.value&&Np(t,"Abstract property cannot have an initializer")}(t,n))}))}};const{getLast:Lp}=uo,{locStart:Pp,locEnd:Op}=Ao,{isTypeCastComment:Rp}=wp,jp=Tp,{throwErrorForInvalidNodes:Vp}=_p;function Mp(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=Mp(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=Mp(e.object)):"TSNonNullExpression"===e.type&&(e.expression=Mp(e.expression)),e}function Up(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function Gp(e){return Up(e)?Gp({type:"LogicalExpression",operator:e.operator,left:Gp({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[Pp(e.left),Op(e.right.left)]}),right:e.right.right,range:[Pp(e),Op(e)]}):e}var Xp=function(e,t){if("typescript"===t.parser&&/@|abstract/.test(t.originalText)&&Vp(e,t),"typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const t=new Set;e=jp(e,(e=>{e.leadingComments&&e.leadingComments.some(Rp)&&t.add(Pp(e))})),e=jp(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:r}=e;if("TypeCastExpression"===r.type)return r.range=e.range,r;const i=Pp(e);if(!t.has(i))return r.extra=Object.assign(Object.assign({},r.extra),{},{parenthesized:!0}),r}}))}return e=jp(e,(e=>{switch(e.type){case"ChainExpression":return Mp(e.expression);case"LogicalExpression":if(Up(e))return Gp(e);break;case"VariableDeclaration":{const r=Lp(e.declarations);r&&r.init&&function(e,r){if(";"===t.originalText[Op(r)])return;e.range=[Pp(e),Op(r)]}(e,r);break}case"TSParenthesizedType":return e.typeAnnotation.range=[Pp(e),Op(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const t=Pp(e);e.name={type:"Identifier",name:e.name,range:[t,t+e.name.length]}}break;case"SequenceExpression":{const t=Lp(e.expressions);e.range=[Pp(e),Math.min(Op(t),Op(e))];break}case"TopicReference":t.__isUsingHackPipeline=!0}}))},qp={};yn({global:!0},{globalThis:Y});var Wp={exports:{}};!function(e){var t={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},r="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",i={5:r,"5module":r+" export import",6:r+" const class extends export import super"},n=/^in(stanceof)?$/,u="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",s="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",a=new RegExp("["+u+"]"),o=new RegExp("["+u+s+"]");u=s=null;var c=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],p=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function D(e,t){for(var r=65536,i=0;ie)return!1;if((r+=t[i+1])>=e)return!0}}function h(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&a.test(String.fromCharCode(e)):!1!==t&&D(e,c)))}function l(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&o.test(String.fromCharCode(e)):!1!==t&&(D(e,c)||D(e,p)))))}var d=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function f(e,t){return new d(e,{beforeExpr:!0,binop:t})}var E={beforeExpr:!0},m={startsExpr:!0},C={};function F(e,t){return void 0===t&&(t={}),t.keyword=e,C[e]=new d(e,t)}var A={num:new d("num",m),regexp:new d("regexp",m),string:new d("string",m),name:new d("name",m),privateId:new d("privateId",m),eof:new d("eof"),bracketL:new d("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new d("]"),braceL:new d("{",{beforeExpr:!0,startsExpr:!0}),braceR:new d("}"),parenL:new d("(",{beforeExpr:!0,startsExpr:!0}),parenR:new d(")"),comma:new d(",",E),semi:new d(";",E),colon:new d(":",E),dot:new d("."),question:new d("?",E),questionDot:new d("?."),arrow:new d("=>",E),template:new d("template"),invalidTemplate:new d("invalidTemplate"),ellipsis:new d("...",E),backQuote:new d("`",m),dollarBraceL:new d("${",{beforeExpr:!0,startsExpr:!0}),eq:new d("=",{beforeExpr:!0,isAssign:!0}),assign:new d("_=",{beforeExpr:!0,isAssign:!0}),incDec:new d("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new d("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:f("||",1),logicalAND:f("&&",2),bitwiseOR:f("|",3),bitwiseXOR:f("^",4),bitwiseAND:f("&",5),equality:f("==/!=/===/!==",6),relational:f("/<=/>=",7),bitShift:f("<>/>>>",8),plusMin:new d("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:f("%",10),star:f("*",10),slash:f("/",10),starstar:new d("**",{beforeExpr:!0}),coalesce:f("??",1),_break:F("break"),_case:F("case",E),_catch:F("catch"),_continue:F("continue"),_debugger:F("debugger"),_default:F("default",E),_do:F("do",{isLoop:!0,beforeExpr:!0}),_else:F("else",E),_finally:F("finally"),_for:F("for",{isLoop:!0}),_function:F("function",m),_if:F("if"),_return:F("return",E),_switch:F("switch"),_throw:F("throw",E),_try:F("try"),_var:F("var"),_const:F("const"),_while:F("while",{isLoop:!0}),_with:F("with"),_new:F("new",{beforeExpr:!0,startsExpr:!0}),_this:F("this",m),_super:F("super",m),_class:F("class",m),_extends:F("extends",E),_export:F("export"),_import:F("import",m),_null:F("null",m),_true:F("true",m),_false:F("false",m),_in:F("in",{beforeExpr:!0,binop:7}),_instanceof:F("instanceof",{beforeExpr:!0,binop:7}),_typeof:F("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:F("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:F("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},g=/\r\n?|\n|\u2028|\u2029/,y=new RegExp(g.source,"g");function x(e){return 10===e||13===e||8232===e||8233===e}var B=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,v=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,b=Object.prototype,S=b.hasOwnProperty,w=b.toString;function T(e,t){return S.call(e,t)}var k=Array.isArray||function(e){return"[object Array]"===w.call(e)};function I(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var N=function(e,t){this.line=e,this.column=t};N.prototype.offset=function(e){return new N(this.line,this.column+e)};var _=function(e,t,r){this.start=t,this.end=r,null!==e.sourceFile&&(this.source=e.sourceFile)};function L(e,t){for(var r=1,i=0;;){y.lastIndex=i;var n=y.exec(e);if(!(n&&n.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),k(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return k(t.onComment)&&(t.onComment=j(t,t.onComment)),t}function j(e,t){return function(r,i,n,u,s,a){var o={type:r?"Block":"Line",value:i,start:n,end:u};e.locations&&(o.loc=new _(this,s,a)),e.ranges&&(o.range=[n,u]),t.push(o)}}var V=1,M=2,U=4,G=8,X=16,q=32,W=64,z=128,J=256,H=V|M|J;function $(e,t){return M|(e?U:0)|(t?G:0)}var K=0,Y=1,Q=2,Z=3,ee=4,te=5,re=function(e,r,n){this.options=e=R(e),this.sourceFile=e.sourceFile,this.keywords=I(i[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var u="";!0!==e.allowReserved&&(u=t[e.ecmaVersion>=6?6:5===e.ecmaVersion?5:3],"module"===e.sourceType&&(u+=" await")),this.reservedWords=I(u);var s=(u?u+" ":"")+t.strict;this.reservedWordsStrict=I(s),this.reservedWordsStrictBind=I(s+" "+t.strictBind),this.input=String(r),this.containsEsc=!1,n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(g).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=A.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(V),this.regexpState=null,this.privateNameStack=[]},ie={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};re.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},ie.inFunction.get=function(){return(this.currentVarScope().flags&M)>0},ie.inGenerator.get=function(){return(this.currentVarScope().flags&G)>0&&!this.currentVarScope().inClassFieldInit},ie.inAsync.get=function(){return(this.currentVarScope().flags&U)>0&&!this.currentVarScope().inClassFieldInit},ie.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&J)return!1;if(t.flags&M)return(t.flags&U)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},ie.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&W)>0||r||this.options.allowSuperOutsideMethod},ie.allowDirectSuper.get=function(){return(this.currentThisScope().flags&z)>0},ie.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},ie.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&(M|J))>0||r},ie.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&J)>0},re.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var r=this,i=0;i=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}e+=t[0].length,v.lastIndex=e,e+=v.exec(this.input)[0].length,";"===this.input[e]&&e++}},ne.eat=function(e){return this.type===e&&(this.next(),!0)},ne.isContextual=function(e){return this.type===A.name&&this.value===e&&!this.containsEsc},ne.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},ne.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ne.canInsertSemicolon=function(){return this.type===A.eof||this.type===A.braceR||g.test(this.input.slice(this.lastTokEnd,this.start))},ne.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ne.semicolon=function(){this.eat(A.semi)||this.insertSemicolon()||this.unexpected()},ne.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ne.expect=function(e){this.eat(e)||this.unexpected()},ne.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},ne.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,"Parenthesized pattern")}},ne.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,i=e.doubleProto;if(!t)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},ne.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&i<56320)return!0;if(e)return!1;if(123===i)return!0;if(h(i,!0)){for(var u=r+1;l(i=this.input.charCodeAt(u),!0);)++u;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,u);if(!n.test(s))return!0}return!1},ae.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;v.lastIndex=this.pos;var e,t=v.exec(this.input),r=this.pos+t[0].length;return!(g.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(l(e=this.input.charCodeAt(r+8))||e>55295&&e<56320))},ae.parseStatement=function(e,t,r){var i,n=this.type,u=this.startNode();switch(this.isLet(e)&&(n=A._var,i="let"),n){case A._break:case A._continue:return this.parseBreakContinueStatement(u,n.keyword);case A._debugger:return this.parseDebuggerStatement(u);case A._do:return this.parseDoStatement(u);case A._for:return this.parseForStatement(u);case A._function:return e&&(this.strict||"if"!==e&&"label"!==e)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(u,!1,!e);case A._class:return e&&this.unexpected(),this.parseClass(u,!0);case A._if:return this.parseIfStatement(u);case A._return:return this.parseReturnStatement(u);case A._switch:return this.parseSwitchStatement(u);case A._throw:return this.parseThrowStatement(u);case A._try:return this.parseTryStatement(u);case A._const:case A._var:return i=i||this.value,e&&"var"!==i&&this.unexpected(),this.parseVarStatement(u,i);case A._while:return this.parseWhileStatement(u);case A._with:return this.parseWithStatement(u);case A.braceL:return this.parseBlock(!0,u);case A.semi:return this.parseEmptyStatement(u);case A._export:case A._import:if(this.options.ecmaVersion>10&&n===A._import){v.lastIndex=this.pos;var s=v.exec(this.input),a=this.pos+s[0].length,o=this.input.charCodeAt(a);if(40===o||46===o)return this.parseExpressionStatement(u,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===A._import?this.parseImport(u):this.parseExport(u,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(u,!0,!e);var c=this.value,p=this.parseExpression();return n===A.name&&"Identifier"===p.type&&this.eat(A.colon)?this.parseLabeledStatement(u,c,p,e):this.parseExpressionStatement(u,p)}},ae.parseBreakContinueStatement=function(e,t){var r="break"===t;this.next(),this.eat(A.semi)||this.insertSemicolon()?e.label=null:this.type!==A.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(A.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},ae.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(oe),this.enterScope(0),this.expect(A.parenL),this.type===A.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===A._var||this.type===A._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),(this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===A._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i)):(t>-1&&this.unexpected(t),this.parseFor(e,i))}var u=this.isContextual("let"),s=!1,a=new se,o=this.parseExpression(!(t>-1)||"await",a);return this.type===A._in||(s=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===A._in?t>-1&&this.unexpected(t):e.await=t>-1),u&&s&&this.raise(o.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(o,!1,a),this.checkLValPattern(o),this.parseForIn(e,o)):(this.checkExpressionErrors(a,!0),t>-1&&this.unexpected(t),this.parseFor(e,o))},ae.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,De|(r?0:he),!1,t)},ae.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(A._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},ae.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(A.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},ae.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(A.braceL),this.labels.push(ce),this.enterScope(0);for(var r=!1;this.type!==A.braceR;)if(this.type===A._case||this.type===A._default){var i=this.type===A._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(A.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},ae.parseThrowStatement=function(e){return this.next(),g.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var pe=[];ae.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===A._catch){var t=this.startNode();if(this.next(),this.eat(A.parenL)){t.param=this.parseBindingAtom();var r="Identifier"===t.param.type;this.enterScope(r?q:0),this.checkLValPattern(t.param,r?ee:Q),this.expect(A.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(A._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},ae.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},ae.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(oe),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},ae.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},ae.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},ae.parseLabeledStatement=function(e,t,r,i){for(var n=0,u=this.labels;n=0;a--){var o=this.labels[a];if(o.statementStart!==e.start)break;o.statementStart=this.start,o.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},ae.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},ae.parseBlock=function(e,t,r){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(A.braceL),e&&this.enterScope(0);this.type!==A.braceR;){var i=this.parseStatement(null);t.body.push(i)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},ae.parseFor=function(e,t){return e.init=t,this.expect(A.semi),e.test=this.type===A.semi?null:this.parseExpression(),this.expect(A.semi),e.update=this.type===A.parenR?null:this.parseExpression(),this.expect(A.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},ae.parseForIn=function(e,t){var r=this.type===A._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)&&this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(A.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")},ae.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r;;){var i=this.startNode();if(this.parseVarId(i,r),this.eat(A.eq)?i.init=this.parseMaybeAssign(t):"const"!==r||this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===i.id.type||t&&(this.type===A._in||this.isContextual("of"))?i.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(A.comma))break}return e},ae.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,"var"===t?Y:Q,!1)};var De=1,he=2,le=4;function de(e,t){var r=t.key.name,i=e[r],n="true";return"MethodDefinition"!==t.type||"get"!==t.kind&&"set"!==t.kind||(n=(t.static?"s":"i")+t.kind),"iget"===i&&"iset"===n||"iset"===i&&"iget"===n||"sget"===i&&"sset"===n||"sset"===i&&"sget"===n?(e[r]="true",!1):!!i||(e[r]=n,!1)}function fe(e,t){var r=e.computed,i=e.key;return!r&&("Identifier"===i.type&&i.name===t||"Literal"===i.type&&i.value===t)}ae.parseFunction=function(e,t,r,i,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===A.star&&t&he&&this.unexpected(),e.generator=this.eat(A.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&De&&(e.id=t&le&&this.type!==A.name?null:this.parseIdent(),!e.id||t&he||this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Y:Q:Z));var u=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope($(e.async,e.generator)),t&De||(e.id=this.type===A.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1,n),this.yieldPos=u,this.awaitPos=s,this.awaitIdentPos=a,this.finishNode(e,t&De?"FunctionDeclaration":"FunctionExpression")},ae.parseFunctionParams=function(e){this.expect(A.parenL),e.params=this.parseBindingList(A.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},ae.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.enterClassBody(),n=this.startNode(),u=!1;for(n.body=[],this.expect(A.braceL);this.type!==A.braceR;){var s=this.parseClassElement(null!==e.superClass);s&&(n.body.push(s),"MethodDefinition"===s.type&&"constructor"===s.kind?(u&&this.raise(s.start,"Duplicate constructor in the same class"),u=!0):s.key&&"PrivateIdentifier"===s.key.type&&de(i,s)&&this.raiseRecoverable(s.key.start,"Identifier '#"+s.key.name+"' has already been declared"))}return this.strict=r,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},ae.parseClassElement=function(e){if(this.eat(A.semi))return null;var t=this.options.ecmaVersion,r=this.startNode(),i="",n=!1,u=!1,s="method",a=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(A.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===A.star?a=!0:i="static"}if(r.static=a,!i&&t>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==A.star||this.canInsertSemicolon()?i="async":u=!0),!i&&(t>=9||!u)&&this.eat(A.star)&&(n=!0),!i&&!u&&!n){var o=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?s=o:i=o)}if(i?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=i,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),t<13||this.type===A.parenL||"method"!==s||n||u){var c=!r.static&&fe(r,"constructor"),p=c&&e;c&&"method"!==s&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=c?"constructor":s,this.parseClassMethod(r,n,u,p)}else this.parseClassField(r);return r},ae.isClassElementNameStart=function(){return this.type===A.name||this.type===A.privateId||this.type===A.num||this.type===A.string||this.type===A.bracketL||this.type.keyword},ae.parseClassElementName=function(e){this.type===A.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},ae.parseClassMethod=function(e,t,r,i){var n=e.key;"constructor"===e.kind?(t&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):e.static&&fe(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var u=e.value=this.parseMethod(t,r,i);return"get"===e.kind&&0!==u.params.length&&this.raiseRecoverable(u.start,"getter should have no params"),"set"===e.kind&&1!==u.params.length&&this.raiseRecoverable(u.start,"setter should have exactly one param"),"set"===e.kind&&"RestElement"===u.params[0].type&&this.raiseRecoverable(u.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},ae.parseClassField=function(e){if(fe(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&fe(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(A.eq)){var t=this.currentThisScope(),r=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=r}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},ae.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(J|W);this.type!==A.braceR;){var r=this.parseStatement(null);e.body.push(r)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},ae.parseClassId=function(e,t){this.type===A.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Q,!1)):(!0===t&&this.unexpected(),e.id=null)},ae.parseClassSuper=function(e){e.superClass=this.eat(A._extends)?this.parseExprSubscripts(!1):null},ae.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},ae.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,r=e.used,i=this.privateNameStack.length,n=0===i?null:this.privateNameStack[i-1],u=0;u=11&&(this.eatContextual("as")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==A.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(A._default)){var r;if(this.checkExport(t,"default",this.lastTokStart),this.type===A._function||(r=this.isAsyncFunction())){var i=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(i,De|le,!1,r)}else if(this.type===A._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==A.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var u=0,s=e.specifiers;u=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=e.properties;i=8&&!s&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(A._function))return this.overrideContext(Ce.f_expr),this.parseFunction(this.startNodeAt(n,u),0,!1,!0,t);if(i&&!this.canInsertSemicolon()){if(this.eat(A.arrow))return this.parseArrowExpression(this.startNodeAt(n,u),[a],!1,t);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===A.name&&!s&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return a=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(A.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(n,u),[a],!0,t)}return a;case A.regexp:var o=this.value;return(r=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},r;case A.num:case A.string:return this.parseLiteral(this.value);case A._null:case A._true:case A._false:return(r=this.startNode()).value=this.type===A._null?null:this.type===A._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,"Literal");case A.parenL:var c=this.start,p=this.parseParenAndDistinguishExpression(i,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(p)&&(e.parenthesizedAssign=c),e.parenthesizedBind<0&&(e.parenthesizedBind=c)),p;case A.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(A.bracketR,!0,!0,e),this.finishNode(r,"ArrayExpression");case A.braceL:return this.overrideContext(Ce.b_expr),this.parseObj(!1,e);case A._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case A._class:return this.parseClass(this.startNode(),!1);case A._new:return this.parseNew();case A.backQuote:return this.parseTemplate();case A._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Ae.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case A.parenL:return this.parseDynamicImport(e);case A.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},Ae.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(A.parenR)){var t=this.start;this.eat(A.comma)&&this.eat(A.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},Ae.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),"meta"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},Ae.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},Ae.parseParenExpression=function(){this.expect(A.parenL);var e=this.parseExpression();return this.expect(A.parenR),e},Ae.parseParenAndDistinguishExpression=function(e,t){var r,i=this.start,n=this.startLoc,u=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,a=this.start,o=this.startLoc,c=[],p=!0,D=!1,h=new se,l=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==A.parenR;){if(p?p=!1:this.expect(A.comma),u&&this.afterTrailingComma(A.parenR,!0)){D=!0;break}if(this.type===A.ellipsis){s=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===A.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}c.push(this.parseMaybeAssign(!1,h,this.parseParenItem))}var f=this.lastTokEnd,E=this.lastTokEndLoc;if(this.expect(A.parenR),e&&!this.canInsertSemicolon()&&this.eat(A.arrow))return this.checkPatternErrors(h,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=l,this.awaitPos=d,this.parseParenArrowList(i,n,c,t);c.length&&!D||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(h,!0),this.yieldPos=l||this.yieldPos,this.awaitPos=d||this.awaitPos,c.length>1?((r=this.startNodeAt(a,o)).expressions=c,this.finishNodeAt(r,"SequenceExpression",f,E)):r=c[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var m=this.startNodeAt(i,n);return m.expression=r,this.finishNode(m,"ParenthesizedExpression")}return r},Ae.parseParenItem=function(e){return e},Ae.parseParenArrowList=function(e,t,r,i){return this.parseArrowExpression(this.startNodeAt(e,t),r,!1,i)};var ye=[];Ae.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(A.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var i=this.start,n=this.startLoc,u=this.type===A._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,n,!0,!1),u&&"ImportExpression"===e.callee.type&&this.raise(i,"Cannot use new with import()"),this.eat(A.parenL)?e.arguments=this.parseExprList(A.parenR,this.options.ecmaVersion>=8,!1):e.arguments=ye,this.finishNode(e,"NewExpression")},Ae.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===A.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===A.backQuote,this.finishNode(r,"TemplateElement")},Ae.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:t});for(r.quasis=[i];!i.tail;)this.type===A.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(A.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(A.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")},Ae.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===A.name||this.type===A.num||this.type===A.string||this.type===A.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===A.star)&&!g.test(this.input.slice(this.lastTokEnd,this.start))},Ae.parseObj=function(e,t){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(A.braceR);){if(i)i=!1;else if(this.expect(A.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(A.braceR))break;var u=this.parseProperty(e,t);e||this.checkPropClash(u,n,t),r.properties.push(u)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},Ae.parseProperty=function(e,t){var r,i,n,u,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(A.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===A.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(this.type===A.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===A.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(n=this.start,u=this.startLoc),e||(r=this.eat(A.star)));var a=this.containsEsc;return this.parsePropertyName(s),!e&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(s)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(A.star),this.parsePropertyName(s,t)):i=!1,this.parsePropertyValue(s,e,r,i,n,u,t,a),this.finishNode(s,"Property")},Ae.parsePropertyValue=function(e,t,r,i,n,u,s,a){if((r||i)&&this.type===A.colon&&this.unexpected(),this.eat(A.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===A.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,i);else if(t||a||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===A.comma||this.type===A.braceR||this.type===A.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,u,this.copyNode(e.key)):this.type===A.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,u,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected();else{(r||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var o="get"===e.kind?0:1;if(e.value.params.length!==o){var c=e.value.start;"get"===e.kind?this.raiseRecoverable(c,"getter should have no params"):this.raiseRecoverable(c,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},Ae.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(A.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(A.bracketR),e.key;e.computed=!1}return e.key=this.type===A.num||this.type===A.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},Ae.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Ae.parseMethod=function(e,t,r){var i=this.startNode(),n=this.yieldPos,u=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope($(t,i.generator)|W|(r?z:0)),this.expect(A.parenL),i.params=this.parseBindingList(A.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0,!1),this.yieldPos=n,this.awaitPos=u,this.awaitIdentPos=s,this.finishNode(i,"FunctionExpression")},Ae.parseArrowExpression=function(e,t,r,i){var n=this.yieldPos,u=this.awaitPos,s=this.awaitIdentPos;return this.enterScope($(r,!1)|X),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,i),this.yieldPos=n,this.awaitPos=u,this.awaitIdentPos=s,this.finishNode(e,"ArrowFunctionExpression")},Ae.parseFunctionBody=function(e,t,r,i){var n=t&&this.type!==A.braceL,u=this.strict,s=!1;if(n)e.body=this.parseMaybeAssign(i),e.expression=!0,this.checkParams(e,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);u&&!a||(s=this.strictDirective(this.end))&&a&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],s&&(this.strict=!0),this.checkParams(e,!u&&!s&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,te),e.body=this.parseBlock(!1,void 0,s&&!u),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=o}this.exitScope()},Ae.isSimpleParamList=function(e){for(var t=0,r=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&V&&delete this.undefinedExports[e]}else if(t===ee)this.currentScope().lexical.push(e);else if(t===Z){var u=this.currentScope();i=this.treatFunctionsAsVar?u.lexical.indexOf(e)>-1:u.lexical.indexOf(e)>-1||u.var.indexOf(e)>-1,u.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var a=this.scopeStack[s];if(a.lexical.indexOf(e)>-1&&!(a.flags&q&&a.lexical[0]===e)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(e)>-1){i=!0;break}if(a.var.push(e),this.inModule&&a.flags&V&&delete this.undefinedExports[e],a.flags&H)break}i&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")},Be.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Be.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Be.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&H)return t}},Be.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&H&&!(t.flags&X))return t}};var be=function(e,t,r){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new _(e,r)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Se=re.prototype;function we(e,t,r,i){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=i),this.options.ranges&&(e.range[1]=r),e}Se.startNode=function(){return new be(this,this.start,this.startLoc)},Se.startNodeAt=function(e,t){return new be(this,e,t)},Se.finishNode=function(e,t){return we.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Se.finishNodeAt=function(e,t,r,i){return we.call(this,e,t,r,i)},Se.copyNode=function(e){var t=new be(this,e.start,this.startLoc);for(var r in e)t[r]=e[r];return t};var Te="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",ke=Te+" Extended_Pictographic",Ie={9:Te,10:ke,11:ke,12:ke+" EBase EComp EMod EPres ExtPict"},Ne="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",_e="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Le=_e+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Pe=Le+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Oe={9:_e,10:Le,11:Pe,12:Pe+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"},Re={};function je(e){var t=Re[e]={binary:I(Ie[e]+" "+Ne),nonBinary:{General_Category:I(Ne),Script:I(Oe[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}je(9),je(10),je(11),je(12);var Ve=re.prototype,Me=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"")+(e.options.ecmaVersion>=13?"d":""),this.unicodeProperties=Re[e.options.ecmaVersion>=12?12:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Ue(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function Ge(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function Xe(e){return h(e,!0)||36===e||95===e}function qe(e){return l(e,!0)||36===e||95===e||8204===e||8205===e}function We(e){return e>=65&&e<=90||e>=97&&e<=122}function ze(e){return e>=0&&e<=1114111}function Je(e){return 100===e||68===e||115===e||83===e||119===e||87===e}function He(e){return We(e)||95===e}function $e(e){return He(e)||Ke(e)}function Ke(e){return e>=48&&e<=57}function Ye(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Qe(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function Ze(e){return e>=48&&e<=55}Me.prototype.reset=function(e,t,r){var i=-1!==r.indexOf("u");this.start=0|e,this.source=t+"",this.flags=r,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},Me.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},Me.prototype.at=function(e,t){void 0===t&&(t=!1);var r=this.source,i=r.length;if(e>=i)return-1;var n=r.charCodeAt(e);if(!t&&!this.switchU||n<=55295||n>=57344||e+1>=i)return n;var u=r.charCodeAt(e+1);return u>=56320&&u<=57343?(n<<10)+u-56613888:n},Me.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var r=this.source,i=r.length;if(e>=i)return i;var n,u=r.charCodeAt(e);return!t&&!this.switchU||u<=55295||u>=57344||e+1>=i||(n=r.charCodeAt(e+1))<56320||n>57343?e+1:e+2},Me.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},Me.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Me.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Me.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},Ve.validateRegExpFlags=function(e){for(var t=e.validFlags,r=e.flags,i=0;i-1&&this.raise(e.start,"Duplicate regular expression flag")}},Ve.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Ve.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1},Ve.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},Ve.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Ve.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return-1!==n&&n=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},Ve.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Ve.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},Ve.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!Ge(t)&&(e.lastIntValue=t,e.advance(),!0)},Ve.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;-1!==(r=e.current())&&!Ge(r);)e.advance();return e.pos!==t},Ve.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t||(e.advance(),0))},Ve.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},Ve.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},Ve.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Ue(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Ue(e.lastIntValue);return!0}return!1},Ve.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,i=e.current(r);return e.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(i=e.lastIntValue),Xe(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},Ve.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,i=e.current(r);return e.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(i=e.lastIntValue),qe(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},Ve.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},Ve.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1},Ve.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},Ve.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Ve.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Ve.regexp_eatZero=function(e){return 48===e.current()&&!Ke(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},Ve.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},Ve.regexp_eatControlLetter=function(e){var t=e.current();return!!We(t)&&(e.lastIntValue=t%32,e.advance(),!0)},Ve.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var r=e.pos,i=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(i&&n>=55296&&n<=56319){var u=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var s=e.lastIntValue;if(s>=56320&&s<=57343)return e.lastIntValue=1024*(n-55296)+(s-56320)+65536,!0}e.pos=u,e.lastIntValue=n}return!0}if(i&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&ze(e.lastIntValue))return!0;i&&e.raise("Invalid unicode escape"),e.pos=r}return!1},Ve.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t||(e.lastIntValue=t,e.advance(),0))},Ve.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},Ve.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Je(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},Ve.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,i),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},Ve.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){T(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")},Ve.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},Ve.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";He(t=e.current());)e.lastStringValue+=Ue(t),e.advance();return""!==e.lastStringValue},Ve.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";$e(t=e.current());)e.lastStringValue+=Ue(t),e.advance();return""!==e.lastStringValue},Ve.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Ve.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},Ve.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;!e.switchU||-1!==t&&-1!==r||e.raise("Invalid character class"),-1!==t&&-1!==r&&t>r&&e.raise("Range out of order in character class")}}},Ve.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(99===r||Ze(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var i=e.current();return 93!==i&&(e.lastIntValue=i,e.advance(),!0)},Ve.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Ve.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!Ke(t)&&95!==t||(e.lastIntValue=t%32,e.advance(),0))},Ve.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},Ve.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Ke(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t},Ve.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Ye(r=e.current());)e.lastIntValue=16*e.lastIntValue+Qe(r),e.advance();return e.pos!==t},Ve.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*r+e.lastIntValue:e.lastIntValue=8*t+r}else e.lastIntValue=t;return!0}return!1},Ve.regexp_eatOctalDigit=function(e){var t=e.current();return Ze(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},Ve.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var i=0;i>10),56320+(1023&e)))}tt.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new et(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},tt.getToken=function(){return this.next(),new et(this)},"undefined"!=typeof Symbol&&(tt[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===A.eof,value:t}}}}),tt.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(A.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},tt.readToken=function(e){return h(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},tt.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},tt.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),r=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(-1===i&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(y.lastIndex=r;(e=y.exec(this.input))&&e.index8&&e<14||e>=5760&&B.test(String.fromCharCode(e))))break e;++this.pos}}},tt.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)},tt.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(A.ellipsis)):(++this.pos,this.finishToken(A.dot))},tt.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(A.assign,2):this.finishOp(A.slash,1)},tt.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,i=42===e?A.star:A.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++r,i=A.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(A.assign,r+1):this.finishOp(i,r)},tt.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(A.assign,3):this.finishOp(124===e?A.logicalOR:A.logicalAND,2):61===t?this.finishOp(A.assign,2):this.finishOp(124===e?A.bitwiseOR:A.bitwiseAND,1)},tt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(A.assign,2):this.finishOp(A.bitwiseXOR,1)},tt.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!g.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(A.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(A.assign,2):this.finishOp(A.plusMin,1)},tt.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(A.assign,r+1):this.finishOp(A.bitShift,r)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(r=2),this.finishOp(A.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},tt.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(A.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(A.arrow)):this.finishOp(61===e?A.eq:A.prefix,1)},tt.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(A.questionDot,2)}if(63===t)return e>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(A.assign,3):this.finishOp(A.coalesce,2)}return this.finishOp(A.question,1)},tt.readToken_numberSign=function(){var e=35;if(this.options.ecmaVersion>=13&&(++this.pos,h(e=this.fullCharCodeAtPos(),!0)||92===e))return this.finishToken(A.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+nt(e)+"'")},tt.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(A.parenL);case 41:return++this.pos,this.finishToken(A.parenR);case 59:return++this.pos,this.finishToken(A.semi);case 44:return++this.pos,this.finishToken(A.comma);case 91:return++this.pos,this.finishToken(A.bracketL);case 93:return++this.pos,this.finishToken(A.bracketR);case 123:return++this.pos,this.finishToken(A.braceL);case 125:return++this.pos,this.finishToken(A.braceR);case 58:return++this.pos,this.finishToken(A.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(A.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(A.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+nt(e)+"'")},tt.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)},tt.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(g.test(i)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var u=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(u);var a=this.regexpState||(this.regexpState=new Me(this));a.reset(r,n,s),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var o=null;try{o=new RegExp(n,s)}catch(e){}return this.finishToken(A.regexp,{pattern:n,flags:s,value:o})},tt.readInt=function(e,t,r){for(var i=this.options.ecmaVersion>=12&&void 0===t,n=r&&48===this.input.charCodeAt(this.pos),u=this.pos,s=0,a=0,o=0,c=null==t?1/0:t;o=97?p-97+10:p>=65?p-65+10:p>=48&&p<=57?p-48:1/0)>=e)break;a=p,s=s*e+D}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===u||null!=t&&this.pos-u!==t?null:s},tt.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return null==r&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=it(this.input.slice(t,this.pos)),++this.pos):h(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(A.num,r)},tt.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var r=this.pos-t>=2&&48===this.input.charCodeAt(t);r&&this.strict&&this.raise(t,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&110===i){var n=it(this.input.slice(t,this.pos));return++this.pos,h(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(A.num,n)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),h(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var u=rt(this.input.slice(t,this.pos),r);return this.finishToken(A.num,u)},tt.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},tt.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===e)break;92===i?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):8232===i||8233===i?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(x(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(A.string,t)};var ut={};tt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==ut)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},tt.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ut;this.raise(e,t)},tt.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==A.template&&this.type!==A.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(A.template,e)):36===r?(this.pos+=2,this.finishToken(A.dollarBraceL)):(++this.pos,this.finishToken(A.backQuote));if(92===r)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(x(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},tt.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,t=this.input.charCodeAt(this.pos),"0"===i&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-i.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return x(t)?"":String.fromCharCode(t)}},tt.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return null===r&&this.invalidStringToken(t,"Bad character escape sequence"),r},tt.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"};!function(e){const t=Jp,r=/^[\da-fA-F]+$/,i=/^\d+$/,n=new WeakMap;function u(e){e=e.Parser.acorn||e;let t=n.get(e);if(!t){const r=e.tokTypes,i=e.TokContext,u=e.TokenType,s=new i("...",!0,!0),c={tc_oTag:s,tc_cTag:a,tc_expr:o},p={jsxName:new u("jsxName"),jsxText:new u("jsxText",{beforeExpr:!0}),jsxTagStart:new u("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new u("jsxTagEnd")};p.jsxTagStart.updateContext=function(){this.context.push(o),this.context.push(s),this.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===s&&e===r.slash||t===a?(this.context.pop(),this.exprAllowed=this.curContext()===o):this.exprAllowed=!0},t={tokContexts:c,tokTypes:p},n.set(e,t)}return t}function s(e){return e?"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?s(e.object)+"."+s(e.property):void 0:e}e.exports=function(e){return e=e||{},function(n){return function(e,n){const a=n.acorn||Wp.exports,o=u(a),c=a.tokTypes,p=o.tokTypes,D=a.tokContexts,h=o.tokContexts.tc_oTag,l=o.tokContexts.tc_cTag,d=o.tokContexts.tc_expr,f=a.isNewLine,E=a.isIdentifierStart,m=a.isIdentifierChar;return class extends n{static get acornJsx(){return o}jsx_readToken(){let e="",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let r=this.input.charCodeAt(this.pos);switch(r){case 60:case 123:return this.pos===this.start?60===r&&this.exprAllowed?(++this.pos,this.finishToken(p.jsxTagStart)):this.getTokenFromCode(r):(e+=this.input.slice(t,this.pos),this.finishToken(p.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(62===r?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:f(r)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,r=this.input.charCodeAt(this.pos);return++this.pos,13===r&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(r),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t="",r=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let i=this.input.charCodeAt(this.pos);if(i===e)break;38===i?(t+=this.input.slice(r,this.pos),t+=this.jsx_readEntity(),r=this.pos):f(i)?(t+=this.input.slice(r,this.pos),t+=this.jsx_readNewLine(!1),r=this.pos):++this.pos}return t+=this.input.slice(r,this.pos++),this.finishToken(c.string,t)}jsx_readEntity(){let e,n="",u=0,s=this.input[this.pos];"&"!==s&&this.raise(this.pos,"Entity must start with an ampersand");let a=++this.pos;for(;this.pos")}let a=n.name?"Element":"Fragment";return r["opening"+a]=n,r["closing"+a]=u,r.children=i,this.type===c.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(r,"JSX"+a)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type="JSXText",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===p.jsxText?this.jsx_parseText():this.type===p.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===d)return this.jsx_readToken();if(t===h||t===l){if(E(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(p.jsxTagEnd);if((34===e||39===e)&&t==h)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(p.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==c.braceL){var t=this.curContext();t==h?this.context.push(D.b_expr):t==d?this.context.push(D.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==c.slash||e!==p.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(l),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},n)}},Object.defineProperty(e.exports,"tokTypes",{get:function(){return u(Wp.exports).tokTypes},configurable:!0,enumerable:!0})}(zp);var Hp={};Object.defineProperty(Hp,"__esModule",{value:!0});const $p={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},Kp=Object.keys($p);for(const e of Kp)Object.freeze($p[e]);Object.freeze($p);const Yp=new Set(["parent","leadingComments","trailingComments"]);function Qp(e){return!Yp.has(e)&&"_"!==e[0]}Hp.KEYS=$p,Hp.getKeys=function(e){return Object.keys(e).filter(Qp)},Hp.unionWith=function(e){const t=Object.assign({},$p);for(const r of Object.keys(e))if(Object.prototype.hasOwnProperty.call(t,r)){const i=new Set(e[r]);for(const e of t[r])i.add(e);t[r]=Object.freeze(Array.from(i))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)},Object.defineProperty(qp,"__esModule",{value:!0});var Zp=zp.exports,eD=Hp;function tD(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function rD(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var iD=rD(Wp.exports),nD=tD(Zp),uD=rD(eD),sD={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression",JSXIdentifier:"JSXIdentifier",JSXNamespacedName:"JSXNamespacedName",JSXMemberExpression:"JSXMemberExpression",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXElement:"JSXElement",JSXClosingElement:"JSXClosingElement",JSXOpeningElement:"JSXOpeningElement",JSXAttribute:"JSXAttribute",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportAllDeclaration:"ExportAllDeclaration",ExportSpecifier:"ExportSpecifier",ImportDeclaration:"ImportDeclaration",ImportSpecifier:"ImportSpecifier",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier"};const aD="Boolean",oD="Identifier",cD="PrivateIdentifier",pD="Keyword",DD="Null",hD="Numeric",lD="Punctuator",dD="String",fD="RegularExpression",ED="Template",mD="JSXIdentifier",CD="JSXText";function FD(e,t){this._acornTokTypes=e,this._tokens=[],this._curlyBrace=null,this._code=t}FD.prototype={constructor:FD,translate(e,t){const r=e.type,i=this._acornTokTypes;if(r===i.name)e.type=oD,"static"===e.value&&(e.type=pD),t.ecmaVersion>5&&("yield"===e.value||"let"===e.value)&&(e.type=pD);else if(r===i.privateId)e.type=cD;else if(r===i.semi||r===i.comma||r===i.parenL||r===i.parenR||r===i.braceL||r===i.braceR||r===i.dot||r===i.bracketL||r===i.colon||r===i.question||r===i.bracketR||r===i.ellipsis||r===i.arrow||r===i.jsxTagStart||r===i.incDec||r===i.starstar||r===i.jsxTagEnd||r===i.prefix||r===i.questionDot||r.binop&&!r.keyword||r.isAssign)e.type=lD,e.value=this._code.slice(e.start,e.end);else if(r===i.jsxName)e.type=mD;else if("jsxText"===r.label||r===i.jsxAttrValueToken)e.type=CD;else if(r.keyword)"true"===r.keyword||"false"===r.keyword?e.type=aD:"null"===r.keyword?e.type=DD:e.type=pD;else if(r===i.num)e.type=hD,e.value=this._code.slice(e.start,e.end);else if(r===i.string)t.jsxAttrValueToken?(t.jsxAttrValueToken=!1,e.type=CD):e.type=dD,e.value=this._code.slice(e.start,e.end);else if(r===i.regexp){e.type=fD;const t=e.value;e.regex={flags:t.flags,pattern:t.pattern},e.value="/".concat(t.pattern,"/").concat(t.flags)}return e},onToken(e,t){const r=this,i=this._acornTokTypes,n=t.tokens,u=this._tokens;function s(){n.push(function(e,t){const r=e[0],i=e[e.length-1],n={type:ED,value:t.slice(r.start,i.end)};return r.loc&&(n.loc={start:r.loc.start,end:i.loc.end}),r.range&&(n.start=r.range[0],n.end=i.range[1],n.range=[n.start,n.end]),n}(r._tokens,r._code)),r._tokens=[]}if(e.type!==i.eof){if(e.type===i.backQuote)return this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),u.push(e),void(u.length>1&&s());if(e.type===i.dollarBraceL)return u.push(e),void s();if(e.type===i.braceR)return this._curlyBrace&&n.push(this.translate(this._curlyBrace,t)),void(this._curlyBrace=e);if(e.type===i.template||e.type===i.invalidTemplate)return this._curlyBrace&&(u.push(this._curlyBrace),this._curlyBrace=null),void u.push(e);this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),n.push(this.translate(e,t))}else this._curlyBrace&&n.push(this.translate(this._curlyBrace,t))}};const AD=[3,5,6,7,8,9,10,11,12,13];function gD(){return AD[AD.length-1]}function yD(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,t="latest"===e?gD():e;if("number"!=typeof t)throw new Error('ecmaVersion must be a number or "latest". Received value of type '.concat(typeof e," instead."));if(t>=2015&&(t-=2009),!AD.includes(t))throw new Error("Invalid ecmaVersion.");return t}(e.ecmaVersion),r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"script";if("script"===e||"module"===e)return e;if("commonjs"===e)return"script";throw new Error("Invalid sourceType.")}(e.sourceType),i=!0===e.range,n=!0===e.loc,u=3===t&&"never",s=e.ecmaFeatures||{},a="commonjs"===e.sourceType||Boolean(s.globalReturn);if("module"===r&&t<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},e,{ecmaVersion:t,sourceType:r,ranges:i,locations:n,allowReserved:u,allowReturnOutsideFunction:a})}const xD=Symbol("espree's internal state"),BD=Symbol("espree's esprimaFinishNode");var vD=()=>e=>{const t=Object.assign({},e.acorn.tokTypes);return e.acornJsx&&Object.assign(t,e.acornJsx.tokTypes),class extends e{constructor(e,r){"object"==typeof e&&null!==e||(e={}),"string"==typeof r||r instanceof String||(r=String(r));const i=e.sourceType,n=yD(e),u=n.ecmaFeatures||{},s=!0===n.tokens?new FD(t,r):null;super({ecmaVersion:n.ecmaVersion,sourceType:n.sourceType,ranges:n.ranges,locations:n.locations,allowReserved:n.allowReserved,allowReturnOutsideFunction:n.allowReturnOutsideFunction,onToken:e=>{s&&s.onToken(e,this[xD]),e.type!==t.eof&&(this[xD].lastToken=e)},onComment:(e,t,r,i,n,u)=>{if(this[xD].comments){const s=function(e,t,r,i,n,u){const s={type:e?"Block":"Line",value:t};return"number"==typeof r&&(s.start=r,s.end=i,s.range=[r,i]),"object"==typeof n&&(s.loc={start:n,end:u}),s}(e,t,r,i,n,u);this[xD].comments.push(s)}}},r),this[xD]={originalSourceType:i||n.sourceType,tokens:s?[]:null,comments:!0===n.comment?[]:null,impliedStrict:!0===u.impliedStrict&&this.options.ecmaVersion>=5,ecmaVersion:this.options.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]}}tokenize(){do{this.next()}while(this.type!==t.eof);this.next();const e=this[xD],r=e.tokens;return e.comments&&(r.comments=e.comments),r}finishNode(){const e=super.finishNode(...arguments);return this[BD](e)}finishNodeAt(){const e=super.finishNodeAt(...arguments);return this[BD](e)}parse(){const e=this[xD],t=super.parse();if(t.sourceType=e.originalSourceType,e.comments&&(t.comments=e.comments),e.tokens&&(t.tokens=e.tokens),t.body.length){const[e]=t.body;t.range&&(t.range[0]=e.range[0]),t.loc&&(t.loc.start=e.loc.start),t.start=e.start}return e.lastToken&&(t.range&&(t.range[1]=e.lastToken.range[1]),t.loc&&(t.loc.end=e.lastToken.loc.end),t.end=e.lastToken.end),this[xD].templateElements.forEach((e=>{const t=e.tail?1:2;e.start+=-1,e.end+=t,e.range&&(e.range[0]+=-1,e.range[1]+=t),e.loc&&(e.loc.start.column+=-1,e.loc.end.column+=t)})),t}parseTopLevel(e){return this[xD].impliedStrict&&(this.strict=!0),super.parseTopLevel(e)}raise(t,r){const i=e.acorn.getLineInfo(this.input,t),n=new SyntaxError(r);throw n.index=t,n.lineNumber=i.line,n.column=i.column+1,n}raiseRecoverable(e,t){this.raise(e,t)}unexpected(e){let t="Unexpected token";if(null!=e){if(this.pos=e,this.options.locations)for(;this.posthis.start&&(t+=" ".concat(this.input.slice(this.start,this.end))),this.raise(this.start,t)}jsx_readString(e){const r=super.jsx_readString(e);return this.type===t.string&&(this[xD].jsxAttrValueToken=!0),r}[BD](e){return"TemplateElement"===e.type&&this[xD].templateElements.push(e),e.type.includes("Function")&&!e.generator&&(e.generator=!1),e}}};const bD={_regular:null,_jsx:null,get regular(){return null===this._regular&&(this._regular=iD.Parser.extend(vD())),this._regular},get jsx(){return null===this._jsx&&(this._jsx=iD.Parser.extend(nD.default(),vD())),this._jsx},get(e){return Boolean(e&&e.ecmaFeatures&&e.ecmaFeatures.jsx)?this.jsx:this.regular}};const SD=function(){let e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),sD)Object.hasOwnProperty.call(sD,e)&&(t[e]=sD[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}(),wD=uD.KEYS,TD=gD(),kD=[...AD];qp.Syntax=SD,qp.VisitorKeys=wD,qp.latestEcmaVersion=TD,qp.parse=function(e,t){return new(bD.get(t))(t,e).parse()},qp.supportedEcmaVersions=kD,qp.tokenize=function(e,t){const r=bD.get(t);return t&&!0===t.tokens||(t=Object.assign({},t,{tokens:!0})),new r(t,e).tokenize()},qp.version="9.1.0";const ID=r,ND=n,_D=vo,LD=Xp,PD={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function OD(e){const{message:t,lineNumber:r,column:i}=e;return"number"!=typeof r?e:ID(t,{start:{line:r,column:i}})}var RD={parsers:{espree:Bo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{parse:i}=qp,n=_D(e),{result:u,error:s}=ND((()=>i(n,Object.assign(Object.assign({},PD),{},{sourceType:"module"}))),(()=>i(n,Object.assign(Object.assign({},PD),{},{sourceType:"script"}))));if(!u)throw OD(s);return r.originalText=e,LD(u,r)}))}};export{RD as default}; diff --git a/node_modules/prettier/esm/parser-flow.mjs b/node_modules/prettier/esm/parser-flow.mjs new file mode 100755 index 0000000..ee8dc34 --- /dev/null +++ b/node_modules/prettier/esm/parser-flow.mjs @@ -0,0 +1 @@ +var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(r){return r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var n,t=function(r,e){const n=new SyntaxError(r+" ("+e.start.line+":"+e.start.column+")");return n.loc=e,n},u={},a=void 0!==a?a:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function i(){if(void 0===n){var r=new ArrayBuffer(2),e=new Uint8Array(r),t=new Uint16Array(r);if(e[0]=1,e[1]=2,258===t[0])n="BE";else{if(513!==t[0])throw new Error("unable to figure out endianess");n="LE"}}return n}function c(){return void 0!==a.location?a.location.hostname:""}function f(){return[]}function o(){return 0}function s(){return Number.MAX_VALUE}function v(){return Number.MAX_VALUE}function l(){return[]}function D(){return"Browser"}function b(){return void 0!==a.navigator?a.navigator.appVersion:""}function p(){}function E(){}function m(){return"javascript"}function F(){return"browser"}function k(){return"/tmp"}var d=k,h={EOL:"\n",arch:m,platform:F,tmpdir:d,tmpDir:k,networkInterfaces:p,getNetworkInterfaces:E,release:b,type:D,cpus:l,totalmem:v,freemem:s,uptime:o,loadavg:f,hostname:c,endianness:i},y=e(Object.freeze({__proto__:null,endianness:i,hostname:c,loadavg:f,uptime:o,freemem:s,totalmem:v,cpus:l,type:D,release:b,networkInterfaces:p,getNetworkInterfaces:E,arch:m,platform:F,tmpDir:k,tmpdir:d,EOL:"\n",default:h})),_={exports:{}};const A=r=>{if("string"!=typeof r)throw new TypeError("Expected a string");const e=r.match(/(?:\r?\n)/g)||[];if(0===e.length)return;const n=e.filter((r=>"\r\n"===r)).length;return n>e.length-n?"\r\n":"\n"};function C(){const r=y;return C=function(){return r},r}function w(){const r=(e=_.exports)&&e.__esModule?e:{default:e};var e;return w=function(){return r},r}_.exports=A,_.exports.graceful=r=>"string"==typeof r&&A(r)||"\n",Object.defineProperty(u,"__esModule",{value:!0}),u.extract=function(r){const e=r.match(B);return e?e[0].trimLeft():""},u.strip=function(r){const e=r.match(B);return e&&e[0]?r.substring(e[0].length):r},u.parse=function(r){return P(r).pragmas},u.parseWithComments=P,u.print=function(r){let{comments:e="",pragmas:n={}}=r;const t=(0,w().default)(e)||C().EOL,u=" *",a=Object.keys(n),i=a.map((r=>R(r,n[r]))).reduce(((r,e)=>r.concat(e)),[]).map((r=>" * "+r+t)).join("");if(!e){if(0===a.length)return"";if(1===a.length&&!Array.isArray(n[a[0]])){const r=n[a[0]];return"".concat("/**"," ").concat(R(a[0],r)[0]).concat(" */")}}const c=e.split(t).map((r=>"".concat(u," ").concat(r))).join(t)+t;return"/**"+t+(e?c:"")+(e&&a.length?u+t:"")+i+" */"};const S=/\*\/$/,g=/^\/\*\*/,B=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,T=/(^|\s+)\/\/([^\r\n]*)/g,I=/^(\r?\n)+/,O=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,N=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,x=/(\r?\n|^) *\* ?/g,L=[];function P(r){const e=(0,w().default)(r)||C().EOL;r=r.replace(g,"").replace(S,"").replace(x,"$1");let n="";for(;n!==r;)n=r,r=r.replace(O,"".concat(e,"$1 $2").concat(e));r=r.replace(I,"").trimRight();const t=Object.create(null),u=r.replace(N,"").replace(I,"").trimRight();let a;for(;a=N.exec(r);){const r=a[2].replace(T,"");"string"==typeof t[a[1]]||Array.isArray(t[a[1]])?t[a[1]]=L.concat(t[a[1]],r):t[a[1]]=r}return{comments:u,pragmas:t}}function R(r,e){return L.concat(e).map((e=>"@".concat(r," ").concat(e).trim()))}var M={exports:{}};const G=function(){let{onlyFirst:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")};var U={exports:{}};const j=r=>!Number.isNaN(r)&&(r>=4352&&(r<=4447||9001===r||9002===r||11904<=r&&r<=12871&&12351!==r||12880<=r&&r<=19903||19968<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65131||65281<=r&&r<=65376||65504<=r&&r<=65510||110592<=r&&r<=110593||127488<=r&&r<=127569||131072<=r&&r<=262141));U.exports=j,U.exports.default=j;const H=r=>"string"==typeof r?r.replace(G(),""):r,X=U.exports,Y=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},V=r=>{if("string"!=typeof r||0===r.length)return 0;if(0===(r=H(r)).length)return 0;r=r.replace(Y()," ");let e=0;for(let n=0;n=127&&t<=159||(t>=768&&t<=879||(t>65535&&n++,e+=X(t)?2:1))}return e};M.exports=V,M.exports.default=V;var K=r=>r[r.length-1];function W(r,e){if(null==r)return{};var n,t,u=function(r,e){if(null==r)return{};var n,t,u={},a=Object.keys(r);for(t=0;t=0||(u[n]=r[n]);return u}(r,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(r,n)&&(u[n]=r[n])}return u}function J(r,e){return e||(e=r.slice(0)),Object.freeze(Object.defineProperties(r,{raw:{value:Object.freeze(e)}}))}var q=function(r){return r&&r.Math==Math&&r},z=q("object"==typeof globalThis&&globalThis)||q("object"==typeof window&&window)||q("object"==typeof self&&self)||q("object"==typeof r&&r)||function(){return this}()||Function("return this")(),$={},Q=function(r){try{return!!r()}catch(r){return!0}},Z=!Q((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),rr=Function.prototype.call,er=rr.bind?rr.bind(rr):function(){return rr.apply(rr,arguments)},nr={},tr={}.propertyIsEnumerable,ur=Object.getOwnPropertyDescriptor,ar=ur&&!tr.call({1:2},1);nr.f=ar?function(r){var e=ur(this,r);return!!e&&e.enumerable}:tr;var ir,cr,fr=function(r,e){return{enumerable:!(1&r),configurable:!(2&r),writable:!(4&r),value:e}},or=Function.prototype,sr=or.bind,vr=or.call,lr=sr&&sr.bind(vr),Dr=sr?function(r){return r&&lr(vr,r)}:function(r){return r&&function(){return vr.apply(r,arguments)}},br=Dr,pr=br({}.toString),Er=br("".slice),mr=function(r){return Er(pr(r),8,-1)},Fr=Dr,kr=Q,dr=mr,hr=z.Object,yr=Fr("".split),_r=kr((function(){return!hr("z").propertyIsEnumerable(0)}))?function(r){return"String"==dr(r)?yr(r,""):hr(r)}:hr,Ar=z.TypeError,Cr=function(r){if(null==r)throw Ar("Can't call method on "+r);return r},wr=_r,Sr=Cr,gr=function(r){return wr(Sr(r))},Br=function(r){return"function"==typeof r},Tr=Br,Ir=function(r){return"object"==typeof r?null!==r:Tr(r)},Or=z,Nr=Br,xr=function(r){return Nr(r)?r:void 0},Lr=function(r,e){return arguments.length<2?xr(Or[r]):Or[r]&&Or[r][e]},Pr=Dr({}.isPrototypeOf),Rr=Lr("navigator","userAgent")||"",Mr=z,Gr=Rr,Ur=Mr.process,jr=Mr.Deno,Hr=Ur&&Ur.versions||jr&&jr.version,Xr=Hr&&Hr.v8;Xr&&(cr=(ir=Xr.split("."))[0]>0&&ir[0]<4?1:+(ir[0]+ir[1])),!cr&&Gr&&(!(ir=Gr.match(/Edge\/(\d+)/))||ir[1]>=74)&&(ir=Gr.match(/Chrome\/(\d+)/))&&(cr=+ir[1]);var Yr=cr,Vr=Yr,Kr=Q,Wr=!!Object.getOwnPropertySymbols&&!Kr((function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Vr&&Vr<41})),Jr=Wr&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,qr=Lr,zr=Br,$r=Pr,Qr=Jr,Zr=z.Object,re=Qr?function(r){return"symbol"==typeof r}:function(r){var e=qr("Symbol");return zr(e)&&$r(e.prototype,Zr(r))},ee=z.String,ne=function(r){try{return ee(r)}catch(r){return"Object"}},te=Br,ue=ne,ae=z.TypeError,ie=function(r){if(te(r))return r;throw ae(ue(r)+" is not a function")},ce=ie,fe=function(r,e){var n=r[e];return null==n?void 0:ce(n)},oe=er,se=Br,ve=Ir,le=z.TypeError,De={exports:{}},be=z,pe=Object.defineProperty,Ee=function(r,e){try{pe(be,r,{value:e,configurable:!0,writable:!0})}catch(n){be[r]=e}return e},me=Ee,Fe=z["__core-js_shared__"]||me("__core-js_shared__",{}),ke=Fe;(De.exports=function(r,e){return ke[r]||(ke[r]=void 0!==e?e:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var de=Cr,he=z.Object,ye=function(r){return he(de(r))},_e=ye,Ae=Dr({}.hasOwnProperty),Ce=Object.hasOwn||function(r,e){return Ae(_e(r),e)},we=Dr,Se=0,ge=Math.random(),Be=we(1..toString),Te=function(r){return"Symbol("+(void 0===r?"":r)+")_"+Be(++Se+ge,36)},Ie=z,Oe=De.exports,Ne=Ce,xe=Te,Le=Wr,Pe=Jr,Re=Oe("wks"),Me=Ie.Symbol,Ge=Me&&Me.for,Ue=Pe?Me:Me&&Me.withoutSetter||xe,je=function(r){if(!Ne(Re,r)||!Le&&"string"!=typeof Re[r]){var e="Symbol."+r;Le&&Ne(Me,r)?Re[r]=Me[r]:Re[r]=Pe&&Ge?Ge(e):Ue(e)}return Re[r]},He=er,Xe=Ir,Ye=re,Ve=fe,Ke=function(r,e){var n,t;if("string"===e&&se(n=r.toString)&&!ve(t=oe(n,r)))return t;if(se(n=r.valueOf)&&!ve(t=oe(n,r)))return t;if("string"!==e&&se(n=r.toString)&&!ve(t=oe(n,r)))return t;throw le("Can't convert object to primitive value")},We=je,Je=z.TypeError,qe=We("toPrimitive"),ze=function(r,e){if(!Xe(r)||Ye(r))return r;var n,t=Ve(r,qe);if(t){if(void 0===e&&(e="default"),n=He(t,r,e),!Xe(n)||Ye(n))return n;throw Je("Can't convert object to primitive value")}return void 0===e&&(e="number"),Ke(r,e)},$e=re,Qe=function(r){var e=ze(r,"string");return $e(e)?e:e+""},Ze=Ir,rn=z.document,en=Ze(rn)&&Ze(rn.createElement),nn=function(r){return en?rn.createElement(r):{}},tn=!Z&&!Q((function(){return 7!=Object.defineProperty(nn("div"),"a",{get:function(){return 7}}).a})),un=Z,an=er,cn=nr,fn=fr,on=gr,sn=Qe,vn=Ce,ln=tn,Dn=Object.getOwnPropertyDescriptor;$.f=un?Dn:function(r,e){if(r=on(r),e=sn(e),ln)try{return Dn(r,e)}catch(r){}if(vn(r,e))return fn(!an(cn.f,r,e),r[e])};var bn={},pn=z,En=Ir,mn=pn.String,Fn=pn.TypeError,kn=function(r){if(En(r))return r;throw Fn(mn(r)+" is not an object")},dn=Z,hn=tn,yn=kn,_n=Qe,An=z.TypeError,Cn=Object.defineProperty;bn.f=dn?Cn:function(r,e,n){if(yn(r),e=_n(e),yn(n),hn)try{return Cn(r,e,n)}catch(r){}if("get"in n||"set"in n)throw An("Accessors not supported");return"value"in n&&(r[e]=n.value),r};var wn=bn,Sn=fr,gn=Z?function(r,e,n){return wn.f(r,e,Sn(1,n))}:function(r,e,n){return r[e]=n,r},Bn={exports:{}},Tn=Br,In=Fe,On=Dr(Function.toString);Tn(In.inspectSource)||(In.inspectSource=function(r){return On(r)});var Nn,xn,Ln,Pn=In.inspectSource,Rn=Br,Mn=Pn,Gn=z.WeakMap,Un=Rn(Gn)&&/native code/.test(Mn(Gn)),jn=De.exports,Hn=Te,Xn=jn("keys"),Yn={},Vn=Un,Kn=z,Wn=Dr,Jn=Ir,qn=gn,zn=Ce,$n=Fe,Qn=function(r){return Xn[r]||(Xn[r]=Hn(r))},Zn=Yn,rt=Kn.TypeError,et=Kn.WeakMap;if(Vn||$n.state){var nt=$n.state||($n.state=new et),tt=Wn(nt.get),ut=Wn(nt.has),at=Wn(nt.set);Nn=function(r,e){if(ut(nt,r))throw new rt("Object already initialized");return e.facade=r,at(nt,r,e),e},xn=function(r){return tt(nt,r)||{}},Ln=function(r){return ut(nt,r)}}else{var it=Qn("state");Zn[it]=!0,Nn=function(r,e){if(zn(r,it))throw new rt("Object already initialized");return e.facade=r,qn(r,it,e),e},xn=function(r){return zn(r,it)?r[it]:{}},Ln=function(r){return zn(r,it)}}var ct={set:Nn,get:xn,has:Ln,enforce:function(r){return Ln(r)?xn(r):Nn(r,{})},getterFor:function(r){return function(e){var n;if(!Jn(e)||(n=xn(e)).type!==r)throw rt("Incompatible receiver, "+r+" required");return n}}},ft=Z,ot=Ce,st=Function.prototype,vt=ft&&Object.getOwnPropertyDescriptor,lt=ot(st,"name"),Dt=lt&&"something"===function(){}.name,bt=lt&&(!ft||ft&&vt(st,"name").configurable),pt=z,Et=Br,mt=Ce,Ft=gn,kt=Ee,dt=Pn,ht={EXISTS:lt,PROPER:Dt,CONFIGURABLE:bt}.CONFIGURABLE,yt=ct.get,_t=ct.enforce,At=String(String).split("String");(Bn.exports=function(r,e,n,t){var u,a=!!t&&!!t.unsafe,i=!!t&&!!t.enumerable,c=!!t&&!!t.noTargetGet,f=t&&void 0!==t.name?t.name:e;Et(n)&&("Symbol("===String(f).slice(0,7)&&(f="["+String(f).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!mt(n,"name")||ht&&n.name!==f)&&Ft(n,"name",f),(u=_t(n)).source||(u.source=At.join("string"==typeof f?f:""))),r!==pt?(a?!c&&r[e]&&(i=!0):delete r[e],i?r[e]=n:Ft(r,e,n)):i?r[e]=n:kt(e,n)})(Function.prototype,"toString",(function(){return Et(this)&&yt(this).source||dt(this)}));var Ct={},wt=Math.ceil,St=Math.floor,gt=function(r){var e=+r;return e!=e||0===e?0:(e>0?St:wt)(e)},Bt=gt,Tt=Math.max,It=Math.min,Ot=gt,Nt=Math.min,xt=function(r){return r>0?Nt(Ot(r),9007199254740991):0},Lt=function(r){return xt(r.length)},Pt=gr,Rt=function(r,e){var n=Bt(r);return n<0?Tt(n+e,0):It(n,e)},Mt=Lt,Gt=function(r){return function(e,n,t){var u,a=Pt(e),i=Mt(a),c=Rt(t,i);if(r&&n!=n){for(;i>c;)if((u=a[c++])!=u)return!0}else for(;i>c;c++)if((r||c in a)&&a[c]===n)return r||c||0;return!r&&-1}},Ut={includes:Gt(!0),indexOf:Gt(!1)},jt=Ce,Ht=gr,Xt=Ut.indexOf,Yt=Yn,Vt=Dr([].push),Kt=function(r,e){var n,t=Ht(r),u=0,a=[];for(n in t)!jt(Yt,n)&&jt(t,n)&&Vt(a,n);for(;e.length>u;)jt(t,n=e[u++])&&(~Xt(a,n)||Vt(a,n));return a},Wt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Ct.f=Object.getOwnPropertyNames||function(r){return Kt(r,Wt)};var Jt={};Jt.f=Object.getOwnPropertySymbols;var qt=Lr,zt=Ct,$t=Jt,Qt=kn,Zt=Dr([].concat),ru=qt("Reflect","ownKeys")||function(r){var e=zt.f(Qt(r)),n=$t.f;return n?Zt(e,n(r)):e},eu=Ce,nu=ru,tu=$,uu=bn,au=Q,iu=Br,cu=/#|\.prototype\./,fu=function(r,e){var n=su[ou(r)];return n==lu||n!=vu&&(iu(e)?au(e):!!e)},ou=fu.normalize=function(r){return String(r).replace(cu,".").toLowerCase()},su=fu.data={},vu=fu.NATIVE="N",lu=fu.POLYFILL="P",Du=fu,bu=z,pu=$.f,Eu=gn,mu=Bn.exports,Fu=Ee,ku=function(r,e){for(var n=nu(e),t=uu.f,u=tu.f,a=0;a0&&Su(f))o=gu(f),s=Iu(r,e,f,o,s,a-1)-1;else{if(s>=9007199254740991)throw Tu("Exceed the acceptable array length");r[s]=f}s++}v++}return s},Ou=Iu,Nu={};Nu[je("toStringTag")]="z";var xu=z,Lu="[object z]"===String(Nu),Pu=Br,Ru=mr,Mu=je("toStringTag"),Gu=xu.Object,Uu="Arguments"==Ru(function(){return arguments}()),ju=Lu?Ru:function(r){var e,n,t;return void 0===r?"Undefined":null===r?"Null":"string"==typeof(n=function(r,e){try{return r[e]}catch(r){}}(e=Gu(r),Mu))?n:Uu?Ru(e):"Object"==(t=Ru(e))&&Pu(e.callee)?"Arguments":t},Hu=Dr,Xu=Q,Yu=Br,Vu=ju,Ku=Pn,Wu=function(){},Ju=[],qu=Lr("Reflect","construct"),zu=/^\s*(?:class|function)\b/,$u=Hu(zu.exec),Qu=!zu.exec(Wu),Zu=function(r){if(!Yu(r))return!1;try{return qu(Wu,Ju,r),!0}catch(r){return!1}},ra=!qu||Xu((function(){var r;return Zu(Zu.call)||!Zu(Object)||!Zu((function(){r=!0}))||r}))?function(r){if(!Yu(r))return!1;switch(Vu(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Qu||!!$u(zu,Ku(r))}:Zu,ea=z,na=_u,ta=ra,ua=Ir,aa=je("species"),ia=ea.Array,ca=function(r){var e;return na(r)&&(e=r.constructor,(ta(e)&&(e===ia||na(e.prototype))||ua(e)&&null===(e=e[aa]))&&(e=void 0)),void 0===e?ia:e},fa=Ou,oa=ie,sa=ye,va=Lt,la=function(r,e){return new(ca(r))(0===e?0:e)};hu({target:"Array",proto:!0},{flatMap:function(r){var e,n=sa(this),t=va(n);return oa(r),(e=la(n,0)).length=fa(e,n,n,t,0,1,r,arguments.length>1?arguments[1]:void 0),e}});var Da=ju,ba=z.String,pa=Dr([].slice),Ea=Math.floor,ma=function(r,e){var n=r.length,t=Ea(n/2);return n<8?Fa(r,e):ka(r,ma(pa(r,0,t),e),ma(pa(r,t),e),e)},Fa=function(r,e){for(var n,t,u=r.length,a=1;a0;)r[t]=r[--t];t!==a++&&(r[t]=n)}return r},ka=function(r,e,n,t){for(var u=e.length,a=n.length,i=0,c=0;i3)){if(Ra)return!0;if(Ga)return Ga<603;var r,e,n,t,u="";for(r=65;r<76;r++){switch(e=String.fromCharCode(r),r){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(t=0;t<47;t++)Ua.push({k:e+t,v:n})}for(Ua.sort((function(r,e){return e.v-r.v})),t=0;tOa(n)?1:-1}}(r)),n=u.length,t=0;ta;a++)if((c=E(r[a]))&&mi(_i,c))return c;return new yi(!1)}t=Fi(r,u)}for(f=t.next;!(o=li(f,t)).done;){try{c=E(o.value)}catch(r){di(t,"throw",r)}if("object"==typeof c&&c&&mi(_i,c))return c}return new yi(!1)},gi=function(r,e,n){var t=Ai(e);t in r?Ci.f(r,t,wi(0,n)):r[t]=n};function Bi(){throw new Error("setTimeout has not been defined")}function Ti(){throw new Error("clearTimeout has not been defined")}hu({target:"Object",stat:!0},{fromEntries:function(r){var e={};return Si(r,(function(r,n){gi(e,r,n)}),{AS_ENTRIES:!0}),e}});var Ii=Bi,Oi=Ti;function Ni(r){if(Ii===setTimeout)return setTimeout(r,0);if((Ii===Bi||!Ii)&&setTimeout)return Ii=setTimeout,setTimeout(r,0);try{return Ii(r,0)}catch(e){try{return Ii.call(null,r,0)}catch(e){return Ii.call(this,r,0)}}}"function"==typeof a.setTimeout&&(Ii=setTimeout),"function"==typeof a.clearTimeout&&(Oi=clearTimeout);var xi,Li=[],Pi=!1,Ri=-1;function Mi(){Pi&&xi&&(Pi=!1,xi.length?Li=xi.concat(Li):Ri=-1,Li.length&&Gi())}function Gi(){if(!Pi){var r=Ni(Mi);Pi=!0;for(var e=Li.length;e;){for(xi=Li,Li=[];++Ri1)for(var n=1;n{};var rc={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},ec={exports:{}};!function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:n}=rc,t=Zi,u=(e=r.exports={}).re=[],a=e.src=[],i=e.t={};let c=0;const f=(r,e,n)=>{const f=c++;t(f,e),i[r]=f,a[f]=e,u[f]=new RegExp(e,n?"g":void 0)};f("NUMERICIDENTIFIER","0|[1-9]\\d*"),f("NUMERICIDENTIFIERLOOSE","[0-9]+"),f("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),f("MAINVERSION","(".concat(a[i.NUMERICIDENTIFIER],")\\.")+"(".concat(a[i.NUMERICIDENTIFIER],")\\.")+"(".concat(a[i.NUMERICIDENTIFIER],")")),f("MAINVERSIONLOOSE","(".concat(a[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(a[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(a[i.NUMERICIDENTIFIERLOOSE],")")),f("PRERELEASEIDENTIFIER","(?:".concat(a[i.NUMERICIDENTIFIER],"|").concat(a[i.NONNUMERICIDENTIFIER],")")),f("PRERELEASEIDENTIFIERLOOSE","(?:".concat(a[i.NUMERICIDENTIFIERLOOSE],"|").concat(a[i.NONNUMERICIDENTIFIER],")")),f("PRERELEASE","(?:-(".concat(a[i.PRERELEASEIDENTIFIER],"(?:\\.").concat(a[i.PRERELEASEIDENTIFIER],")*))")),f("PRERELEASELOOSE","(?:-?(".concat(a[i.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(a[i.PRERELEASEIDENTIFIERLOOSE],")*))")),f("BUILDIDENTIFIER","[0-9A-Za-z-]+"),f("BUILD","(?:\\+(".concat(a[i.BUILDIDENTIFIER],"(?:\\.").concat(a[i.BUILDIDENTIFIER],")*))")),f("FULLPLAIN","v?".concat(a[i.MAINVERSION]).concat(a[i.PRERELEASE],"?").concat(a[i.BUILD],"?")),f("FULL","^".concat(a[i.FULLPLAIN],"$")),f("LOOSEPLAIN","[v=\\s]*".concat(a[i.MAINVERSIONLOOSE]).concat(a[i.PRERELEASELOOSE],"?").concat(a[i.BUILD],"?")),f("LOOSE","^".concat(a[i.LOOSEPLAIN],"$")),f("GTLT","((?:<|>)?=?)"),f("XRANGEIDENTIFIERLOOSE","".concat(a[i.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),f("XRANGEIDENTIFIER","".concat(a[i.NUMERICIDENTIFIER],"|x|X|\\*")),f("XRANGEPLAIN","[v=\\s]*(".concat(a[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(a[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(a[i.XRANGEIDENTIFIER],")")+"(?:".concat(a[i.PRERELEASE],")?").concat(a[i.BUILD],"?")+")?)?"),f("XRANGEPLAINLOOSE","[v=\\s]*(".concat(a[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(a[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(a[i.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(a[i.PRERELEASELOOSE],")?").concat(a[i.BUILD],"?")+")?)?"),f("XRANGE","^".concat(a[i.GTLT],"\\s*").concat(a[i.XRANGEPLAIN],"$")),f("XRANGELOOSE","^".concat(a[i.GTLT],"\\s*").concat(a[i.XRANGEPLAINLOOSE],"$")),f("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),f("COERCERTL",a[i.COERCE],!0),f("LONETILDE","(?:~>?)"),f("TILDETRIM","(\\s*)".concat(a[i.LONETILDE],"\\s+"),!0),e.tildeTrimReplace="$1~",f("TILDE","^".concat(a[i.LONETILDE]).concat(a[i.XRANGEPLAIN],"$")),f("TILDELOOSE","^".concat(a[i.LONETILDE]).concat(a[i.XRANGEPLAINLOOSE],"$")),f("LONECARET","(?:\\^)"),f("CARETTRIM","(\\s*)".concat(a[i.LONECARET],"\\s+"),!0),e.caretTrimReplace="$1^",f("CARET","^".concat(a[i.LONECARET]).concat(a[i.XRANGEPLAIN],"$")),f("CARETLOOSE","^".concat(a[i.LONECARET]).concat(a[i.XRANGEPLAINLOOSE],"$")),f("COMPARATORLOOSE","^".concat(a[i.GTLT],"\\s*(").concat(a[i.LOOSEPLAIN],")$|^$")),f("COMPARATOR","^".concat(a[i.GTLT],"\\s*(").concat(a[i.FULLPLAIN],")$|^$")),f("COMPARATORTRIM","(\\s*)".concat(a[i.GTLT],"\\s*(").concat(a[i.LOOSEPLAIN],"|").concat(a[i.XRANGEPLAIN],")"),!0),e.comparatorTrimReplace="$1$2$3",f("HYPHENRANGE","^\\s*(".concat(a[i.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(a[i.XRANGEPLAIN],")")+"\\s*$"),f("HYPHENRANGELOOSE","^\\s*(".concat(a[i.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(a[i.XRANGEPLAINLOOSE],")")+"\\s*$"),f("STAR","(<|>)?=?\\s*\\*"),f("GTE0","^\\s*>=\\s*0.0.0\\s*$"),f("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(ec,ec.exports);const nc=["includePrerelease","loose","rtl"];var tc=r=>r?"object"!=typeof r?{loose:!0}:nc.filter((e=>r[e])).reduce(((r,e)=>(r[e]=!0,r)),{}):{};const uc=/^[0-9]+$/,ac=(r,e)=>{const n=uc.test(r),t=uc.test(e);return n&&t&&(r=+r,e=+e),r===e?0:n&&!t?-1:t&&!n?1:rac(e,r)};const cc=Zi,{MAX_LENGTH:fc,MAX_SAFE_INTEGER:oc}=rc,{re:sc,t:vc}=ec.exports,lc=tc,{compareIdentifiers:Dc}=ic;class bc{constructor(r,e){if(e=lc(e),r instanceof bc){if(r.loose===!!e.loose&&r.includePrerelease===!!e.includePrerelease)return r;r=r.version}else if("string"!=typeof r)throw new TypeError("Invalid Version: ".concat(r));if(r.length>fc)throw new TypeError("version is longer than ".concat(fc," characters"));cc("SemVer",r,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const n=r.trim().match(e.loose?sc[vc.LOOSE]:sc[vc.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(r));if(this.raw=r,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>oc||this.major<0)throw new TypeError("Invalid major version");if(this.minor>oc||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>oc||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((r=>{if(/^[0-9]+$/.test(r)){const e=+r;if(e>=0&&e=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: ".concat(r))}return this.format(),this.raw=this.version,this}}const pc=bc;var Ec=(r,e,n)=>new pc(r,n).compare(new pc(e,n));const mc=Ec;var Fc=(r,e,n)=>mc(r,e,n)<0;const kc=Ec;var dc,hc,yc,_c,Ac,Cc,wc=(r,e,n)=>kc(r,e,n)>=0,Sc={exports:{}};!function(r,e){function n(){for(var r=[],e=0;e"string"==typeof r||"function"==typeof r,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:r=>"string"==typeof r||"object"==typeof r,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:gc(yc||(yc=J(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:r=>"string"==typeof r||"object"==typeof r,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:gc(_c||(_c=J(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:gc(Ac||(Ac=J(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:gc(Cc||(Cc=J(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Tc=["cliName","cliCategory","cliDescription"],Ic={compare:Ec,lt:Fc,gte:wc},Oc=(r,e)=>Object.entries(r).map((r=>{let[n,t]=r;return Object.assign({[e]:n},t)})),Nc="2.5.1",xc={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Bc}.options;function Lc(r,e,n){const t=new Set(r.choices.map((r=>r.value)));for(const u of e)if(u.parsers)for(const e of u.parsers)if(!t.has(e)){t.add(e);const a=n.find((r=>r.parsers&&r.parsers[e]));let i=u.name;a&&a.name&&(i+=" (plugin: ".concat(a.name,")")),r.choices.push({value:e,description:i})}}var Pc={getSupportInfo:function(){let{plugins:r=[],showUnreleased:e=!1,showDeprecated:n=!1,showInternal:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const u=Nc.split("-",1)[0],a=r.flatMap((r=>r.languages||[])).filter(c),i=Oc(Object.assign({},...r.map((r=>{let{options:e}=r;return e})),xc),"name").filter((r=>c(r)&&f(r))).sort(((r,e)=>r.name===e.name?0:r.name{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(c).sort(((r,e)=>Ic.compare(e.since,r.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((r=>c(r)&&f(r))),"parser"===e.name&&Lc(e,a,r));const n=Object.fromEntries(r.filter((r=>r.defaultOptions&&void 0!==r.defaultOptions[e.name])).map((r=>[r.name,r.defaultOptions[e.name]])));return Object.assign(Object.assign({},e),{},{pluginDefaults:n})}));return{languages:a,options:i};function c(r){return e||!("since"in r)||r.since&&Ic.gte(u,r.since)}function f(r){return n||!("deprecated"in r)||r.deprecated&&Ic.lt(u,r.deprecated)}function o(r){if(t)return r;return W(r,Tc)}}};const Rc=M.exports,Mc=r=>{if("string"!=typeof r)throw new TypeError("Expected a string");return r.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Gc=K,{getSupportInfo:Uc}=Pc,jc=/[^\x20-\x7F]/;function Hc(r){return(e,n,t)=>{const u=t&&t.backwards;if(!1===n)return!1;const{length:a}=e;let i=n;for(;i>=0&&i2&&void 0!==arguments[2]?arguments[2]:{};const t=Yc(r,n.backwards?e-1:e,n),u=qc(r,t,n);return t!==u}function $c(r,e){let n=null,t=e;for(;t!==n;)n=t,t=Vc(r,t),t=Wc(r,t),t=Yc(r,t);return t=Jc(r,t),t=qc(r,t),!1!==t&&zc(r,t)}function Qc(r,e){let n=null,t=e;for(;t!==n;)n=t,t=Yc(r,t),t=Wc(r,t),t=Jc(r,t),t=qc(r,t);return t}function Zc(r,e,n){return Qc(r,n(e))}function rf(r,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=0;for(let u=n;u(r.match(a.regex)||[]).length?a:u}return i}function nf(r,e,n){const t='"'===e?"'":'"',u=r.replace(/\\(.)|(["'])/gs,((r,u,a)=>u===t?u:a===e?"\\"+a:a||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(u)?u:"\\"+u)));return e+u+e}function tf(r,e){(r.comments||(r.comments=[])).push(e),e.printed=!1,e.nodeDescription=function(r){const e=r.type||r.kind||"(unknown type)";let n=String(r.name||r.id&&("object"==typeof r.id?r.id.name:r.id)||r.key&&("object"==typeof r.key?r.key.name:r.key)||r.value&&("object"==typeof r.value?"":String(r.value))||r.operator||"");n.length>20&&(n=n.slice(0,19)+"\u2026");return e+(n?" "+n:"")}(r)}var uf={inferParserByLanguage:function(r,e){const{languages:n}=Uc({plugins:e.plugins}),t=n.find((e=>{let{name:n}=e;return n.toLowerCase()===r}))||n.find((e=>{let{aliases:n}=e;return Array.isArray(n)&&n.includes(r)}))||n.find((e=>{let{extensions:n}=e;return Array.isArray(n)&&n.includes(".".concat(r))}));return t&&t.parsers[0]},getStringWidth:function(r){return r?jc.test(r)?Rc(r):r.length:0},getMaxContinuousCount:function(r,e){const n=r.match(new RegExp("(".concat(Mc(e),")+"),"g"));return null===n?0:n.reduce(((r,n)=>Math.max(r,n.length/e.length)),0)},getMinNotPresentContinuousCount:function(r,e){const n=r.match(new RegExp("(".concat(Mc(e),")+"),"g"));if(null===n)return 0;const t=new Map;let u=0;for(const r of n){const n=r.length/e.length;t.set(n,!0),n>u&&(u=n)}for(let r=1;rr[r.length-2],getLast:Gc,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Qc,getNextNonSpaceNonCommentCharacterIndex:Zc,getNextNonSpaceNonCommentCharacter:function(r,e,n){return r.charAt(Zc(r,e,n))},skip:Hc,skipWhitespace:Xc,skipSpaces:Yc,skipToLineEnd:Vc,skipEverythingButNewLine:Kc,skipInlineComment:Wc,skipTrailingComment:Jc,skipNewline:qc,isNextLineEmptyAfterIndex:$c,isNextLineEmpty:function(r,e,n){return $c(r,n(e))},isPreviousLineEmpty:function(r,e,n){let t=n(e)-1;return t=Yc(r,t,{backwards:!0}),t=qc(r,t,{backwards:!0}),t=Yc(r,t,{backwards:!0}),t!==qc(r,t,{backwards:!0})},hasNewline:zc,hasNewlineInRange:function(r,e,n){for(let t=e;t2&&void 0!==arguments[2]?arguments[2]:{};const t=Yc(r,n.backwards?e-1:e,n);return t!==e},getAlignmentSize:rf,getIndentSize:function(r,e){const n=r.lastIndexOf("\n");return-1===n?0:rf(r.slice(n+1).match(/^[\t ]*/)[0],e)},getPreferredQuote:ef,printString:function(r,e){const n=r.slice(1,-1);return nf(n,"json"===e.parser||"json5"===e.parser&&"preserve"===e.quoteProps&&!e.singleQuote?'"':e.__isInHtmlAttribute?"'":ef(n,e.singleQuote?"'":'"').quote,!("css"===e.parser||"less"===e.parser||"scss"===e.parser||e.__embeddedInHtml))},printNumber:function(r){return r.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:nf,addLeadingComment:function(r,e){e.leading=!0,e.trailing=!1,tf(r,e)},addDanglingComment:function(r,e,n){e.leading=!1,e.trailing=!1,n&&(e.marker=n),tf(r,e)},addTrailingComment:function(r,e){e.leading=!1,e.trailing=!0,tf(r,e)},isFrontMatterNode:function(r){return r&&"front-matter"===r.type},getShebang:function(r){if(!r.startsWith("#!"))return"";const e=r.indexOf("\n");return-1===e?r:r.slice(0,e)},isNonEmptyArray:function(r){return Array.isArray(r)&&r.length>0},createGroupIdMapper:function(r){const e=new WeakMap;return function(n){return e.has(n)||e.set(n,Symbol(r)),e.get(n)}}};var af={guessEndOfLine:function(r){const e=r.indexOf("\r");return e>=0?"\n"===r.charAt(e+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(r){switch(r){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(r,e){let n;if("\n"===e)n=/\n/g;else if("\r"===e)n=/\r/g;else{if("\r\n"!==e)throw new Error('Unexpected "eol" '.concat(JSON.stringify(e),"."));n=/\r\n/g}const t=r.match(n);return t?t.length:0},normalizeEndOfLine:function(r){return r.replace(/\r\n?/g,"\n")}};const{parseWithComments:cf,strip:ff,extract:of,print:sf}=u,{getShebang:vf}=uf,{normalizeEndOfLine:lf}=af;function Df(r){const e=vf(r);e&&(r=r.slice(e.length+1));const n=of(r),{pragmas:t,comments:u}=cf(n);return{shebang:e,text:r,pragmas:t,comments:u}}var bf={hasPragma:function(r){const e=Object.keys(Df(r).pragmas);return e.includes("prettier")||e.includes("format")},insertPragma:function(r){const{shebang:e,text:n,pragmas:t,comments:u}=Df(r),a=ff(n),i=sf({pragmas:Object.assign({format:""},t),comments:u.trimStart()});return(e?"".concat(e,"\n"):"")+lf(i)+(a.startsWith("\n")?"\n":"\n\n")+a}};const{isNonEmptyArray:pf}=uf;function Ef(r,e){const{ignoreDecorators:n}=e||{};if(!n){const e=r.declaration&&r.declaration.decorators||r.decorators;if(pf(e))return Ef(e[0])}return r.range?r.range[0]:r.start}function mf(r){return r.range?r.range[1]:r.end}function Ff(r,e){return Ef(r)===Ef(e)}var kf={locStart:Ef,locEnd:mf,hasSameLocStart:Ff,hasSameLoc:function(r,e){return Ff(r,e)&&function(r,e){return mf(r)===mf(e)}(r,e)}};const{hasPragma:df}=bf,{locStart:hf,locEnd:yf}=kf;var _f=function(r){return r="function"==typeof r?{parse:r}:r,Object.assign({astFormat:"estree",hasPragma:df,locStart:hf,locEnd:yf},r)};var Af=function(r){return"#"===r.charAt(0)&&"!"===r.charAt(1)?"//"+r.slice(2):r},Cf={},wf={exports:{}};!function(){function r(r){if(null==r)return!1;switch(r.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function e(r){switch(r.type){case"IfStatement":return null!=r.alternate?r.alternate:r.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return r.body}return null}wf.exports={isExpression:function(r){if(null==r)return!1;switch(r.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:r,isIterationStatement:function(r){if(null==r)return!1;switch(r.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return r(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(r){var n;if("IfStatement"!==r.type)return!1;if(null==r.alternate)return!1;n=r.consequent;do{if("IfStatement"===n.type&&null==n.alternate)return!0;n=e(n)}while(n);return!1},trailingStatement:e}}();var Sf={exports:{}};!function(){var r,e,n,t,u,a;function i(r){return r<=65535?String.fromCharCode(r):String.fromCharCode(Math.floor((r-65536)/1024)+55296)+String.fromCharCode((r-65536)%1024+56320)}for(e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},r={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],t=new Array(128),a=0;a<128;++a)t[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(u=new Array(128),a=0;a<128;++a)u[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;Sf.exports={isDecimalDigit:function(r){return 48<=r&&r<=57},isHexDigit:function(r){return 48<=r&&r<=57||97<=r&&r<=102||65<=r&&r<=70},isOctalDigit:function(r){return r>=48&&r<=55},isWhiteSpace:function(r){return 32===r||9===r||11===r||12===r||160===r||r>=5760&&n.indexOf(r)>=0},isLineTerminator:function(r){return 10===r||13===r||8232===r||8233===r},isIdentifierStartES5:function(r){return r<128?t[r]:e.NonAsciiIdentifierStart.test(i(r))},isIdentifierPartES5:function(r){return r<128?u[r]:e.NonAsciiIdentifierPart.test(i(r))},isIdentifierStartES6:function(e){return e<128?t[e]:r.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES6:function(e){return e<128?u[e]:r.NonAsciiIdentifierPart.test(i(e))}}}();var gf={exports:{}};!function(){var r=Sf.exports;function e(r,e){return!(!e&&"yield"===r)&&n(r,e)}function n(r,e){if(e&&function(r){switch(r){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(r))return!0;switch(r.length){case 2:return"if"===r||"in"===r||"do"===r;case 3:return"var"===r||"for"===r||"new"===r||"try"===r;case 4:return"this"===r||"else"===r||"case"===r||"void"===r||"with"===r||"enum"===r;case 5:return"while"===r||"break"===r||"catch"===r||"throw"===r||"const"===r||"yield"===r||"class"===r||"super"===r;case 6:return"return"===r||"typeof"===r||"delete"===r||"switch"===r||"export"===r||"import"===r;case 7:return"default"===r||"finally"===r||"extends"===r;case 8:return"function"===r||"continue"===r||"debugger"===r;case 10:return"instanceof"===r;default:return!1}}function t(r,n){return"null"===r||"true"===r||"false"===r||e(r,n)}function u(r,e){return"null"===r||"true"===r||"false"===r||n(r,e)}function a(e){var n,t,u;if(0===e.length)return!1;if(u=e.charCodeAt(0),!r.isIdentifierStartES5(u))return!1;for(n=1,t=e.length;n=t)return!1;if(!(56320<=(a=e.charCodeAt(n))&&a<=57343))return!1;u=1024*(u-55296)+(a-56320)+65536}if(!i(u))return!1;i=r.isIdentifierPartES6}return!0}gf.exports={isKeywordES5:e,isKeywordES6:n,isReservedWordES5:t,isReservedWordES6:u,isRestrictedWord:function(r){return"eval"===r||"arguments"===r},isIdentifierNameES5:a,isIdentifierNameES6:i,isIdentifierES5:function(r,e){return a(r)&&!t(r,e)},isIdentifierES6:function(r,e){return i(r)&&!u(r,e)}}}(),Cf.ast=wf.exports,Cf.code=Sf.exports,Cf.keyword=gf.exports;const Bf=Cf.keyword.isIdentifierNameES5,{getLast:Tf,hasNewline:If,skipWhitespace:Of,isNonEmptyArray:Nf,isNextLineEmptyAfterIndex:xf,getStringWidth:Lf}=uf,{locStart:Pf,locEnd:Rf,hasSameLocStart:Mf}=kf,Gf=new RegExp("^".concat("(?:(?=.)\\s)","*:")),Uf=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function jf(r){return"Block"===r.type||"CommentBlock"===r.type||"MultiLine"===r.type}function Hf(r){return"Line"===r.type||"CommentLine"===r.type||"SingleLine"===r.type||"HashbangComment"===r.type||"HTMLOpen"===r.type||"HTMLClose"===r.type}const Xf=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Yf(r){return r&&Xf.has(r.type)}function Vf(r){return"NumericLiteral"===r.type||"Literal"===r.type&&"number"==typeof r.value}function Kf(r){return"StringLiteral"===r.type||"Literal"===r.type&&"string"==typeof r.value}function Wf(r){return"FunctionExpression"===r.type||"ArrowFunctionExpression"===r.type}function Jf(r){return eo(r)&&"Identifier"===r.callee.type&&("async"===r.callee.name||"inject"===r.callee.name||"fakeAsync"===r.callee.name)}function qf(r){return"JSXElement"===r.type||"JSXFragment"===r.type}function zf(r){return"get"===r.kind||"set"===r.kind}function $f(r){return zf(r)||Mf(r,r.value)}const Qf=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Zf=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const ro=/^(?:skip|[fx]?(?:it|describe|test))$/;function eo(r){return r&&("CallExpression"===r.type||"OptionalCallExpression"===r.type)}function no(r){return r&&("MemberExpression"===r.type||"OptionalMemberExpression"===r.type)}function to(r){return/^(?:\d+|\d+\.\d+)$/.test(r)}function uo(r){return r.quasis.some((r=>r.value.raw.includes("\n")))}function ao(r){return r.extra?r.extra.raw:r.raw}const io={"==":!0,"!=":!0,"===":!0,"!==":!0},co={"*":!0,"/":!0,"%":!0},fo={">>":!0,">>>":!0,"<<":!0};const oo={};for(const[r,e]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const n of e)oo[n]=r;function so(r){return oo[r]}const vo=new WeakMap;function lo(r){if(vo.has(r))return vo.get(r);const e=[];return r.this&&e.push(r.this),Array.isArray(r.parameters)?e.push(...r.parameters):Array.isArray(r.params)&&e.push(...r.params),r.rest&&e.push(r.rest),vo.set(r,e),e}const Do=new WeakMap;function bo(r){if(Do.has(r))return Do.get(r);let e=r.arguments;return"ImportExpression"===r.type&&(e=[r.source],r.attributes&&e.push(r.attributes)),Do.set(r,e),e}function po(r){return"prettier-ignore"===r.value.trim()&&!r.unignore}function Eo(r){return r&&(r.prettierIgnore||ko(r,mo.PrettierIgnore))}const mo={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Fo=(r,e)=>{if("function"==typeof r&&(e=r,r=0),r||e)return(n,t,u)=>!(r&mo.Leading&&!n.leading||r&mo.Trailing&&!n.trailing||r&mo.Dangling&&(n.leading||n.trailing)||r&mo.Block&&!jf(n)||r&mo.Line&&!Hf(n)||r&mo.First&&0!==t||r&mo.Last&&t!==u.length-1||r&mo.PrettierIgnore&&!po(n)||e&&!e(n))};function ko(r,e,n){if(!r||!Nf(r.comments))return!1;const t=Fo(e,n);return!t||r.comments.some(t)}function ho(r,e,n){if(!r||!Array.isArray(r.comments))return[];const t=Fo(e,n);return t?r.comments.filter(t):r.comments}function yo(r){return eo(r)||"NewExpression"===r.type||"ImportExpression"===r.type}var _o={getFunctionParameters:lo,iterateFunctionParametersPath:function(r,e){const n=r.getValue();let t=0;const u=r=>e(r,t++);n.this&&r.call(u,"this"),Array.isArray(n.parameters)?r.each(u,"parameters"):Array.isArray(n.params)&&r.each(u,"params"),n.rest&&r.call(u,"rest")},getCallArguments:bo,iterateCallArgumentsPath:function(r,e){const n=r.getValue();"ImportExpression"===n.type?(r.call((r=>e(r,0)),"source"),n.attributes&&r.call((r=>e(r,1)),"attributes")):r.each(e,"arguments")},hasRestParameter:function(r){if(r.rest)return!0;const e=lo(r);return e.length>0&&"RestElement"===Tf(e).type},getLeftSide:function(r){return r.expressions?r.expressions[0]:r.left||r.test||r.callee||r.object||r.tag||r.argument||r.expression},getLeftSidePathName:function(r,e){if(e.expressions)return["expressions",0];if(e.left)return["left"];if(e.test)return["test"];if(e.object)return["object"];if(e.callee)return["callee"];if(e.tag)return["tag"];if(e.argument)return["argument"];if(e.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(r){const e=r.getParentNode();return"declaration"===r.getName()&&Yf(e)?e:null},getTypeScriptMappedTypeModifier:function(r,e){return"+"===r?"+"+e:"-"===r?"-"+e:e},hasFlowAnnotationComment:function(r){return Nf(r)&&jf(r[0])&&Uf.test(r[0].value)},hasFlowShorthandAnnotationComment:function(r){return r.extra&&r.extra.parenthesized&&Nf(r.trailingComments)&&jf(r.trailingComments[0])&&Gf.test(r.trailingComments[0].value)},hasLeadingOwnLineComment:function(r,e){return qf(e)?Eo(e):ko(e,mo.Leading,(e=>If(r,Rf(e))))},hasNakedLeftSide:function(r){return"AssignmentExpression"===r.type||"BinaryExpression"===r.type||"LogicalExpression"===r.type||"NGPipeExpression"===r.type||"ConditionalExpression"===r.type||eo(r)||no(r)||"SequenceExpression"===r.type||"TaggedTemplateExpression"===r.type||"BindExpression"===r.type||"UpdateExpression"===r.type&&!r.prefix||"TSAsExpression"===r.type||"TSNonNullExpression"===r.type},hasNode:function r(e,n){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>r(e,n)));const t=n(e);return"boolean"==typeof t?t:Object.values(e).some((e=>r(e,n)))},hasIgnoreComment:function(r){return Eo(r.getValue())},hasNodeIgnoreComment:Eo,identity:function(r){return r},isBinaryish:function(r){return Qf.has(r.type)},isBlockComment:jf,isCallLikeExpression:yo,isEnabledHackPipeline:function(r){return Boolean(r.__isUsingHackPipeline)},isLineComment:Hf,isPrettierIgnoreComment:po,isCallExpression:eo,isMemberExpression:no,isExportDeclaration:Yf,isFlowAnnotationComment:function(r,e){const n=Pf(e),t=Of(r,Rf(e));return!1!==t&&"/*"===r.slice(n,n+2)&&"*/"===r.slice(t,t+2)},isFunctionCompositionArgs:function(r){if(r.length<=1)return!1;let e=0;for(const n of r)if(Wf(n)){if(e+=1,e>1)return!0}else if(eo(n))for(const r of n.arguments)if(Wf(r))return!0;return!1},isFunctionNotation:$f,isFunctionOrArrowExpression:Wf,isGetterOrSetter:zf,isJestEachTemplateLiteral:function(r,e){const n=/^[fx]?(?:describe|it|test)$/;return"TaggedTemplateExpression"===e.type&&e.quasi===r&&"MemberExpression"===e.tag.type&&"Identifier"===e.tag.property.type&&"each"===e.tag.property.name&&("Identifier"===e.tag.object.type&&n.test(e.tag.object.name)||"MemberExpression"===e.tag.object.type&&"Identifier"===e.tag.object.property.type&&("only"===e.tag.object.property.name||"skip"===e.tag.object.property.name)&&"Identifier"===e.tag.object.object.type&&n.test(e.tag.object.object.name))},isJsxNode:qf,isLiteral:function(r){return"BooleanLiteral"===r.type||"DirectiveLiteral"===r.type||"Literal"===r.type||"NullLiteral"===r.type||"NumericLiteral"===r.type||"BigIntLiteral"===r.type||"DecimalLiteral"===r.type||"RegExpLiteral"===r.type||"StringLiteral"===r.type||"TemplateLiteral"===r.type||"TSTypeLiteral"===r.type||"JSXText"===r.type},isLongCurriedCallExpression:function(r){const e=r.getValue(),n=r.getParentNode();return eo(e)&&eo(n)&&n.callee===e&&e.arguments.length>n.arguments.length&&n.arguments.length>0},isSimpleCallArgument:function r(e,n){if(n>=2)return!1;const t=e=>r(e,n+1),u="Literal"===e.type&&"regex"in e&&e.regex.pattern||"RegExpLiteral"===e.type&&e.pattern;return!(u&&Lf(u)>5)&&("Literal"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"BooleanLiteral"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"Identifier"===e.type||"ThisExpression"===e.type||"Super"===e.type||"PrivateName"===e.type||"PrivateIdentifier"===e.type||"ArgumentPlaceholder"===e.type||"Import"===e.type||("TemplateLiteral"===e.type?e.quasis.every((r=>!r.value.raw.includes("\n")))&&e.expressions.every(t):"ObjectExpression"===e.type?e.properties.every((r=>!r.computed&&(r.shorthand||r.value&&t(r.value)))):"ArrayExpression"===e.type?e.elements.every((r=>null===r||t(r))):yo(e)?("ImportExpression"===e.type||r(e.callee,n))&&bo(e).every(t):no(e)?r(e.object,n)&&r(e.property,n):"UnaryExpression"!==e.type||"!"!==e.operator&&"-"!==e.operator?"TSNonNullExpression"===e.type&&r(e.expression,n):r(e.argument,n)))},isMemberish:function(r){return no(r)||"BindExpression"===r.type&&Boolean(r.object)},isNumericLiteral:Vf,isSignedNumericLiteral:function(r){return"UnaryExpression"===r.type&&("+"===r.operator||"-"===r.operator)&&Vf(r.argument)},isObjectProperty:function(r){return r&&("ObjectProperty"===r.type||"Property"===r.type&&!r.method&&"init"===r.kind)},isObjectType:function(r){return"ObjectTypeAnnotation"===r.type||"TSTypeLiteral"===r.type||"TSMappedType"===r.type},isObjectTypePropertyAFunction:function(r){return!("ObjectTypeProperty"!==r.type&&"ObjectTypeInternalSlot"!==r.type||"FunctionTypeAnnotation"!==r.value.type||r.static||$f(r))},isSimpleType:function(r){return!!r&&(!("GenericTypeAnnotation"!==r.type&&"TSTypeReference"!==r.type||r.typeParameters)||!!Zf.has(r.type))},isSimpleNumber:to,isSimpleTemplateLiteral:function(r){let e="expressions";"TSTemplateLiteralType"===r.type&&(e="types");const n=r[e];return 0!==n.length&&n.every((r=>{if(ko(r))return!1;if("Identifier"===r.type||"ThisExpression"===r.type)return!0;if(no(r)){let e=r;for(;no(e);){if("Identifier"!==e.property.type&&"Literal"!==e.property.type&&"StringLiteral"!==e.property.type&&"NumericLiteral"!==e.property.type)return!1;if(e=e.object,ko(e))return!1}return"Identifier"===e.type||"ThisExpression"===e.type}return!1}))},isStringLiteral:Kf,isStringPropSafeToUnquote:function(r,e){return"json"!==e.parser&&Kf(r.key)&&ao(r.key).slice(1,-1)===r.key.value&&(Bf(r.key.value)&&!("babel-ts"===e.parser&&"ClassProperty"===r.type||"typescript"===e.parser&&"PropertyDefinition"===r.type)||to(r.key.value)&&String(Number(r.key.value))===r.key.value&&("babel"===e.parser||"espree"===e.parser||"meriyah"===e.parser||"__babel_estree"===e.parser))},isTemplateOnItsOwnLine:function(r,e){return("TemplateLiteral"===r.type&&uo(r)||"TaggedTemplateExpression"===r.type&&uo(r.quasi))&&!If(e,Pf(r),{backwards:!0})},isTestCall:function r(e,n){if("CallExpression"!==e.type)return!1;if(1===e.arguments.length){if(Jf(e)&&n&&r(n))return Wf(e.arguments[0]);if(function(r){return"Identifier"===r.callee.type&&/^(?:before|after)(?:Each|All)$/.test(r.callee.name)&&1===r.arguments.length}(e))return Jf(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&("Identifier"===e.callee.type&&ro.test(e.callee.name)||function(r){return no(r.callee)&&"Identifier"===r.callee.object.type&&"Identifier"===r.callee.property.type&&ro.test(r.callee.object.name)&&("only"===r.callee.property.name||"skip"===r.callee.property.name)}(e))&&(function(r){return"TemplateLiteral"===r.type}(e.arguments[0])||Kf(e.arguments[0])))return!(e.arguments[2]&&!Vf(e.arguments[2]))&&((2===e.arguments.length?Wf(e.arguments[1]):function(r){return"FunctionExpression"===r.type||"ArrowFunctionExpression"===r.type&&"BlockStatement"===r.body.type}(e.arguments[1])&&lo(e.arguments[1]).length<=1)||Jf(e.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(r,e){if("markdown"!==r.parentParser&&"mdx"!==r.parentParser)return!1;const n=e.getNode();if(!n.expression||!qf(n.expression))return!1;const t=e.getParentNode();return"Program"===t.type&&1===t.body.length},isTSXFile:function(r){return r.filepath&&/\.tsx$/i.test(r.filepath)},isTypeAnnotationAFunction:function(r){return!("TypeAnnotation"!==r.type&&"TSTypeAnnotation"!==r.type||"FunctionTypeAnnotation"!==r.typeAnnotation.type||r.static||Mf(r,r.typeAnnotation))},isNextLineEmpty:(r,e)=>{let{originalText:n}=e;return xf(n,Rf(r))},needsHardlineAfterDanglingComment:function(r){if(!ko(r))return!1;const e=Tf(ho(r,mo.Dangling));return e&&!jf(e)},rawText:ao,shouldPrintComma:function(r){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es5";return"es5"===r.trailingComma&&"es5"===e||"all"===r.trailingComma&&("all"===e||"es5"===e)},isBitwiseOperator:function(r){return Boolean(fo[r])||"|"===r||"^"===r||"&"===r},shouldFlatten:function(r,e){return so(e)===so(r)&&("**"!==r&&((!io[r]||!io[e])&&(!("%"===e&&co[r]||"%"===r&&co[e])&&((e===r||!co[e]||!co[r])&&(!fo[r]||!fo[e])))))},startsWithNoLookaheadToken:function r(e,n){switch((e=function(r){for(;r.left;)r=r.left;return r}(e)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return n;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return r(e.object,n);case"TaggedTemplateExpression":return"FunctionExpression"!==e.tag.type&&r(e.tag,n);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==e.callee.type&&r(e.callee,n);case"ConditionalExpression":return r(e.test,n);case"UpdateExpression":return!e.prefix&&r(e.argument,n);case"BindExpression":return e.object&&r(e.object,n);case"SequenceExpression":return r(e.expressions[0],n);case"TSAsExpression":case"TSNonNullExpression":return r(e.expression,n);default:return!1}},getPrecedence:so,hasComment:ko,getComments:ho,CommentCheckFlags:mo};const{getLast:Ao,hasNewline:Co,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:wo,getNextNonSpaceNonCommentCharacter:So,hasNewlineInRange:go,addLeadingComment:Bo,addTrailingComment:To,addDanglingComment:Io,getNextNonSpaceNonCommentCharacterIndex:Oo,isNonEmptyArray:No}=uf,{isBlockComment:xo,getFunctionParameters:Lo,isPrettierIgnoreComment:Po,isJsxNode:Ro,hasFlowShorthandAnnotationComment:Mo,hasFlowAnnotationComment:Go,hasIgnoreComment:Uo,isCallLikeExpression:jo,getCallArguments:Ho,isCallExpression:Xo,isMemberExpression:Yo,isObjectProperty:Vo,getComments:Ko,CommentCheckFlags:Wo}=_o,{locStart:Jo,locEnd:qo}=kf;function zo(r,e){const n=(r.body||r.properties).find((r=>{let{type:e}=r;return"EmptyStatement"!==e}));n?Bo(n,e):Io(r,e)}function $o(r,e){"BlockStatement"===r.type?zo(r,e):Bo(r,e)}function Qo(r){let{comment:e,followingNode:n}=r;return!(!n||!Ss(e))&&(Bo(n,e),!0)}function Zo(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u,text:a}=r;if(!t||"IfStatement"!==t.type||!u)return!1;return")"===So(a,e,qo)?(To(n,e),!0):n===t.consequent&&u===t.alternate?("BlockStatement"===n.type?To(n,e):Io(t,e),!0):"BlockStatement"===u.type?(zo(u,e),!0):"IfStatement"===u.type?($o(u.consequent,e),!0):t.consequent===u&&(Bo(u,e),!0)}function rs(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u,text:a}=r;if(!t||"WhileStatement"!==t.type||!u)return!1;return")"===So(a,e,qo)?(To(n,e),!0):"BlockStatement"===u.type?(zo(u,e),!0):t.body===u&&(Bo(u,e),!0)}function es(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u}=r;return!(!t||"TryStatement"!==t.type&&"CatchClause"!==t.type||!u)&&("CatchClause"===t.type&&n?(To(n,e),!0):"BlockStatement"===u.type?(zo(u,e),!0):"TryStatement"===u.type?($o(u.finalizer,e),!0):"CatchClause"===u.type&&($o(u.body,e),!0))}function ns(r){let{comment:e,enclosingNode:n,followingNode:t}=r;return!(!Yo(n)||!t||"Identifier"!==t.type)&&(Bo(n,e),!0)}function ts(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u,text:a}=r;const i=n&&!go(a,qo(n),Jo(e));return!(n&&i||!t||"ConditionalExpression"!==t.type&&"TSConditionalType"!==t.type||!u)&&(Bo(u,e),!0)}function us(r){let{comment:e,precedingNode:n,enclosingNode:t}=r;return!(!Vo(t)||!t.shorthand||t.key!==n||"AssignmentPattern"!==t.value.type)&&(To(t.value.left,e),!0)}function as(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u}=r;if(t&&("ClassDeclaration"===t.type||"ClassExpression"===t.type||"DeclareClass"===t.type||"DeclareInterface"===t.type||"InterfaceDeclaration"===t.type||"TSInterfaceDeclaration"===t.type)){if(No(t.decorators)&&(!u||"Decorator"!==u.type))return To(Ao(t.decorators),e),!0;if(t.body&&u===t.body)return zo(t.body,e),!0;if(u)for(const r of["implements","extends","mixins"])if(t[r]&&u===t[r][0])return!n||n!==t.id&&n!==t.typeParameters&&n!==t.superClass?Io(t,e,r):To(n,e),!0}return!1}function is(r){let{comment:e,precedingNode:n,enclosingNode:t,text:u}=r;return(t&&n&&("Property"===t.type||"TSDeclareMethod"===t.type||"TSAbstractMethodDefinition"===t.type)&&"Identifier"===n.type&&t.key===n&&":"!==So(u,n,qo)||!(!n||!t||"Decorator"!==n.type||"ClassMethod"!==t.type&&"ClassProperty"!==t.type&&"PropertyDefinition"!==t.type&&"TSAbstractPropertyDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type&&"TSDeclareMethod"!==t.type&&"MethodDefinition"!==t.type))&&(To(n,e),!0)}function cs(r){let{comment:e,precedingNode:n,enclosingNode:t,text:u}=r;return"("===So(u,e,qo)&&(!(!n||!t||"FunctionDeclaration"!==t.type&&"FunctionExpression"!==t.type&&"ClassMethod"!==t.type&&"MethodDefinition"!==t.type&&"ObjectMethod"!==t.type)&&(To(n,e),!0))}function fs(r){let{comment:e,enclosingNode:n,text:t}=r;if(!n||"ArrowFunctionExpression"!==n.type)return!1;const u=Oo(t,e,qo);return!1!==u&&"=>"===t.slice(u,u+2)&&(Io(n,e),!0)}function os(r){let{comment:e,enclosingNode:n,text:t}=r;return")"===So(t,e,qo)&&(n&&(ws(n)&&0===Lo(n).length||jo(n)&&0===Ho(n).length)?(Io(n,e),!0):!(!n||"MethodDefinition"!==n.type&&"TSAbstractMethodDefinition"!==n.type||0!==Lo(n.value).length)&&(Io(n.value,e),!0))}function ss(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u,text:a}=r;if(n&&"FunctionTypeParam"===n.type&&t&&"FunctionTypeAnnotation"===t.type&&u&&"FunctionTypeParam"!==u.type)return To(n,e),!0;if(n&&("Identifier"===n.type||"AssignmentPattern"===n.type)&&t&&ws(t)&&")"===So(a,e,qo))return To(n,e),!0;if(t&&"FunctionDeclaration"===t.type&&u&&"BlockStatement"===u.type){const r=(()=>{const r=Lo(t);if(r.length>0)return wo(a,qo(Ao(r)));const e=wo(a,qo(t.id));return!1!==e&&wo(a,e+1)})();if(Jo(e)>r)return zo(u,e),!0}return!1}function vs(r){let{comment:e,enclosingNode:n}=r;return!(!n||"ImportSpecifier"!==n.type)&&(Bo(n,e),!0)}function ls(r){let{comment:e,enclosingNode:n}=r;return!(!n||"LabeledStatement"!==n.type)&&(Bo(n,e),!0)}function Ds(r){let{comment:e,enclosingNode:n}=r;return!(!n||"ContinueStatement"!==n.type&&"BreakStatement"!==n.type||n.label)&&(To(n,e),!0)}function bs(r){let{comment:e,precedingNode:n,enclosingNode:t}=r;return!!(Xo(t)&&n&&t.callee===n&&t.arguments.length>0)&&(Bo(t.arguments[0],e),!0)}function ps(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u}=r;return!t||"UnionTypeAnnotation"!==t.type&&"TSUnionType"!==t.type?(u&&("UnionTypeAnnotation"===u.type||"TSUnionType"===u.type)&&Po(e)&&(u.types[0].prettierIgnore=!0,e.unignore=!0),!1):(Po(e)&&(u.prettierIgnore=!0,e.unignore=!0),!!n&&(To(n,e),!0))}function Es(r){let{comment:e,enclosingNode:n}=r;return!!Vo(n)&&(Bo(n,e),!0)}function ms(r){let{comment:e,enclosingNode:n,followingNode:t,ast:u,isLastComment:a}=r;return u&&u.body&&0===u.body.length?(a?Io(u,e):Bo(u,e),!0):n&&"Program"===n.type&&0===n.body.length&&!No(n.directives)?(a?Io(n,e):Bo(n,e),!0):!(!t||"Program"!==t.type||0!==t.body.length||!n||"ModuleExpression"!==n.type)&&(Io(t,e),!0)}function Fs(r){let{comment:e,enclosingNode:n}=r;return!(!n||"ForInStatement"!==n.type&&"ForOfStatement"!==n.type)&&(Bo(n,e),!0)}function ks(r){let{comment:e,precedingNode:n,enclosingNode:t,text:u}=r;return!!(n&&"ImportSpecifier"===n.type&&t&&"ImportDeclaration"===t.type&&Co(u,qo(e)))&&(To(n,e),!0)}function ds(r){let{comment:e,enclosingNode:n}=r;return!(!n||"AssignmentPattern"!==n.type)&&(Bo(n,e),!0)}function hs(r){let{comment:e,enclosingNode:n}=r;return!(!n||"TypeAlias"!==n.type)&&(Bo(n,e),!0)}function ys(r){let{comment:e,enclosingNode:n,followingNode:t}=r;return!(!n||"VariableDeclarator"!==n.type&&"AssignmentExpression"!==n.type||!t||"ObjectExpression"!==t.type&&"ArrayExpression"!==t.type&&"TemplateLiteral"!==t.type&&"TaggedTemplateExpression"!==t.type&&!xo(e))&&(Bo(t,e),!0)}function _s(r){let{comment:e,enclosingNode:n,followingNode:t,text:u}=r;return!(t||!n||"TSMethodSignature"!==n.type&&"TSDeclareFunction"!==n.type&&"TSAbstractMethodDefinition"!==n.type||";"!==So(u,e,qo))&&(To(n,e),!0)}function As(r){let{comment:e,enclosingNode:n,followingNode:t}=r;if(Po(e)&&n&&"TSMappedType"===n.type&&t&&"TSTypeParameter"===t.type&&t.constraint)return n.prettierIgnore=!0,e.unignore=!0,!0}function Cs(r){let{comment:e,precedingNode:n,enclosingNode:t,followingNode:u}=r;return!(!t||"TSMappedType"!==t.type)&&(u&&"TSTypeParameter"===u.type&&u.name?(Bo(u.name,e),!0):!(!n||"TSTypeParameter"!==n.type||!n.constraint)&&(To(n.constraint,e),!0))}function ws(r){return"ArrowFunctionExpression"===r.type||"FunctionExpression"===r.type||"FunctionDeclaration"===r.type||"ObjectMethod"===r.type||"ClassMethod"===r.type||"TSDeclareFunction"===r.type||"TSCallSignatureDeclaration"===r.type||"TSConstructSignatureDeclaration"===r.type||"TSMethodSignature"===r.type||"TSConstructorType"===r.type||"TSFunctionType"===r.type||"TSDeclareMethod"===r.type}function Ss(r){return xo(r)&&"*"===r.value[0]&&/@type\b/.test(r.value)}var gs={handleOwnLineComment:function(r){return[As,ss,ns,Zo,rs,es,as,vs,Fs,ps,ms,ks,ds,is,ls].some((e=>e(r)))},handleEndOfLineComment:function(r){return[Qo,ss,ts,vs,Zo,rs,es,as,ls,bs,Es,ms,hs,ys].some((e=>e(r)))},handleRemainingComment:function(r){return[As,Zo,rs,us,os,is,ms,fs,cs,Cs,Ds,_s].some((e=>e(r)))},isTypeCastComment:Ss,getCommentChildNodes:function(r,e){if(("typescript"===e.parser||"flow"===e.parser||"espree"===e.parser||"meriyah"===e.parser||"__babel_estree"===e.parser)&&"MethodDefinition"===r.type&&r.value&&"FunctionExpression"===r.value.type&&0===Lo(r.value).length&&!r.value.returnType&&!No(r.value.typeParameters)&&r.value.body)return[...r.decorators||[],r.key,r.value.body]},willPrintOwnComments:function(r){const e=r.getValue(),n=r.getParentNode();return(e&&(Ro(e)||Mo(e)||Xo(n)&&(r=>Go(Ko(r,Wo.Leading))||Go(Ko(r,Wo.Trailing)))(e))||n&&("JSXSpreadAttribute"===n.type||"JSXSpreadChild"===n.type||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type||("ClassDeclaration"===n.type||"ClassExpression"===n.type)&&n.superClass===e))&&(!Uo(r)||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)}};var Bs=function r(e,n){let t;if(Array.isArray(e))t=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;t=Object.entries(e)}for(const[u,a]of t)e[u]=r(a,n);return Array.isArray(e)?e:n(e)||e};const Ts=t,Is=Bs;function Os(r,e){const{start:n,end:t}=r.loc;throw Ts(e,{start:{line:n.line,column:n.column+1},end:{line:t.line,column:t.column+1}})}var Ns={throwErrorForInvalidNodes:function(r,e){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:t}=e.tsParseResult;r=Is(r,(r=>{const e=n.get(r);if(!e)return;const u=t.get(e);u===r&&(function(r,e,n){const t=r.decorators;if(!Array.isArray(t))return;const u=e.decorators;Array.isArray(u)&&u.length===t.length&&!t.some((r=>{const e=n.get(r);return!e||!u.includes(e)}))||Os(e,"Leading decorators must be attached to a class declaration")}(e,u,t),function(r,e){166!==r.kind||r.modifiers&&!r.modifiers.some((r=>126===r.kind))||r.initializer&&null===e.value&&Os(e,"Abstract property cannot have an initializer")}(e,u))}))}};const{getLast:xs}=uf,{locStart:Ls,locEnd:Ps}=kf,{isTypeCastComment:Rs}=gs,Ms=Bs,{throwErrorForInvalidNodes:Gs}=Ns;function Us(r){return"CallExpression"===r.type?(r.type="OptionalCallExpression",r.callee=Us(r.callee)):"MemberExpression"===r.type?(r.type="OptionalMemberExpression",r.object=Us(r.object)):"TSNonNullExpression"===r.type&&(r.expression=Us(r.expression)),r}function js(r){return"LogicalExpression"===r.type&&"LogicalExpression"===r.right.type&&r.operator===r.right.operator}function Hs(r){return js(r)?Hs({type:"LogicalExpression",operator:r.operator,left:Hs({type:"LogicalExpression",operator:r.operator,left:r.left,right:r.right.left,range:[Ls(r.left),Ps(r.right.left)]}),right:r.right.right,range:[Ls(r),Ps(r)]}):r}var Xs,Ys=function(r,e){if("typescript"===e.parser&&/@|abstract/.test(e.originalText)&&Gs(r,e),"typescript"!==e.parser&&"flow"!==e.parser&&"espree"!==e.parser&&"meriyah"!==e.parser){const e=new Set;r=Ms(r,(r=>{r.leadingComments&&r.leadingComments.some(Rs)&&e.add(Ls(r))})),r=Ms(r,(r=>{if("ParenthesizedExpression"===r.type){const{expression:n}=r;if("TypeCastExpression"===n.type)return n.range=r.range,n;const t=Ls(r);if(!e.has(t))return n.extra=Object.assign(Object.assign({},n.extra),{},{parenthesized:!0}),n}}))}return r=Ms(r,(r=>{switch(r.type){case"ChainExpression":return Us(r.expression);case"LogicalExpression":if(js(r))return Hs(r);break;case"VariableDeclaration":{const n=xs(r.declarations);n&&n.init&&function(r,n){if(";"===e.originalText[Ps(n)])return;r.range=[Ls(r),Ps(n)]}(r,n);break}case"TSParenthesizedType":return r.typeAnnotation.range=[Ls(r),Ps(r)],r.typeAnnotation;case"TSTypeParameter":if("string"==typeof r.name){const e=Ls(r);r.name={type:"Identifier",name:r.name,range:[e,e+r.name.length]}}break;case"SequenceExpression":{const e=xs(r.expressions);r.range=[Ls(r),Math.min(Ps(e),Ps(r))];break}case"TopicReference":e.__isUsingHackPipeline=!0}}))},Vs={},Ks=Object.freeze({__proto__:null,default:{}}),Ws=e(Ks),Js="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",qs={RTLD_LAZY:1,RTLD_NOW:2,RTLD_GLOBAL:8,RTLD_LOCAL:4,E2BIG:7,EACCES:13,EADDRINUSE:48,EADDRNOTAVAIL:49,EAFNOSUPPORT:47,EAGAIN:35,EALREADY:37,EBADF:9,EBADMSG:94,EBUSY:16,ECANCELED:89,ECHILD:10,ECONNABORTED:53,ECONNREFUSED:61,ECONNRESET:54,EDEADLK:11,EDESTADDRREQ:39,EDOM:33,EDQUOT:69,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:65,EIDRM:90,EILSEQ:92,EINPROGRESS:36,EINTR:4,EINVAL:22,EIO:5,EISCONN:56,EISDIR:21,ELOOP:62,EMFILE:24,EMLINK:31,EMSGSIZE:40,EMULTIHOP:95,ENAMETOOLONG:63,ENETDOWN:50,ENETRESET:52,ENETUNREACH:51,ENFILE:23,ENOBUFS:55,ENODATA:96,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:77,ENOLINK:97,ENOMEM:12,ENOMSG:91,ENOPROTOOPT:42,ENOSPC:28,ENOSR:98,ENOSTR:99,ENOSYS:78,ENOTCONN:57,ENOTDIR:20,ENOTEMPTY:66,ENOTSOCK:38,ENOTSUP:45,ENOTTY:25,ENXIO:6,EOPNOTSUPP:102,EOVERFLOW:84,EPERM:1,EPIPE:32,EPROTO:100,EPROTONOSUPPORT:43,EPROTOTYPE:41,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:70,ETIME:101,ETIMEDOUT:60,ETXTBSY:26,EWOULDBLOCK:35,EXDEV:18,PRIORITY_LOW:19,PRIORITY_BELOW_NORMAL:10,PRIORITY_NORMAL:0,PRIORITY_ABOVE_NORMAL:-7,PRIORITY_HIGH:-14,PRIORITY_HIGHEST:-20,SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGIOT:6,SIGBUS:10,SIGFPE:8,SIGKILL:9,SIGUSR1:30,SIGSEGV:11,SIGUSR2:31,SIGPIPE:13,SIGALRM:14,SIGTERM:15,SIGCHLD:20,SIGCONT:19,SIGSTOP:17,SIGTSTP:18,SIGTTIN:21,SIGTTOU:22,SIGURG:16,SIGXCPU:24,SIGXFSZ:25,SIGVTALRM:26,SIGPROF:27,SIGWINCH:28,SIGIO:23,SIGINFO:29,SIGSYS:12,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,O_RDONLY:0,O_WRONLY:1,O_RDWR:2,UV_DIRENT_UNKNOWN:0,UV_DIRENT_FILE:1,UV_DIRENT_DIR:2,UV_DIRENT_LINK:3,UV_DIRENT_FIFO:4,UV_DIRENT_SOCKET:5,UV_DIRENT_CHAR:6,UV_DIRENT_BLOCK:7,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:512,O_EXCL:2048,UV_FS_O_FILEMAP:0,O_NOCTTY:131072,O_TRUNC:1024,O_APPEND:8,O_DIRECTORY:1048576,O_NOFOLLOW:256,O_SYNC:128,O_DSYNC:4194304,O_SYMLINK:2097152,O_NONBLOCK:4,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_COPYFILE_EXCL:1,COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_FICLONE_FORCE:4,OPENSSL_VERSION_NUMBER:269488319,SSL_OP_ALL:2147485780,SSL_OP_ALLOW_NO_DHE_KEX:1024,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:262144,SSL_OP_CIPHER_SERVER_PREFERENCE:4194304,SSL_OP_CISCO_ANYCONNECT:32768,SSL_OP_COOKIE_EXCHANGE:8192,SSL_OP_CRYPTOPRO_TLSEXT_BUG:2147483648,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:2048,SSL_OP_EPHEMERAL_RSA:0,SSL_OP_LEGACY_SERVER_CONNECT:4,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:0,SSL_OP_MICROSOFT_SESS_ID_BUG:0,SSL_OP_MSIE_SSLV2_RSA_PADDING:0,SSL_OP_NETSCAPE_CA_DN_BUG:0,SSL_OP_NETSCAPE_CHALLENGE_BUG:0,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:0,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:0,SSL_OP_NO_COMPRESSION:131072,SSL_OP_NO_ENCRYPT_THEN_MAC:524288,SSL_OP_NO_QUERY_MTU:4096,SSL_OP_NO_RENEGOTIATION:1073741824,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:65536,SSL_OP_NO_SSLv2:0,SSL_OP_NO_SSLv3:33554432,SSL_OP_NO_TICKET:16384,SSL_OP_NO_TLSv1:67108864,SSL_OP_NO_TLSv1_1:268435456,SSL_OP_NO_TLSv1_2:134217728,SSL_OP_NO_TLSv1_3:536870912,SSL_OP_PKCS1_CHECK_1:0,SSL_OP_PKCS1_CHECK_2:0,SSL_OP_PRIORITIZE_CHACHA:2097152,SSL_OP_SINGLE_DH_USE:0,SSL_OP_SINGLE_ECDH_USE:0,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:0,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:0,SSL_OP_TLS_BLOCK_PADDING_BUG:0,SSL_OP_TLS_D5_BUG:0,SSL_OP_TLS_ROLLBACK_BUG:8388608,ENGINE_METHOD_RSA:1,ENGINE_METHOD_DSA:2,ENGINE_METHOD_DH:4,ENGINE_METHOD_RAND:8,ENGINE_METHOD_EC:2048,ENGINE_METHOD_CIPHERS:64,ENGINE_METHOD_DIGESTS:128,ENGINE_METHOD_PKEY_METHS:512,ENGINE_METHOD_PKEY_ASN1_METHS:1024,ENGINE_METHOD_ALL:65535,ENGINE_METHOD_NONE:0,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,RSA_PSS_SALTLEN_DIGEST:-1,RSA_PSS_SALTLEN_MAX_SIGN:-2,RSA_PSS_SALTLEN_AUTO:-2,defaultCoreCipherList:Js,TLS1_VERSION:769,TLS1_1_VERSION:770,TLS1_2_VERSION:771,TLS1_3_VERSION:772,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},zs=e(Object.freeze({__proto__:null,RTLD_LAZY:1,RTLD_NOW:2,RTLD_GLOBAL:8,RTLD_LOCAL:4,E2BIG:7,EACCES:13,EADDRINUSE:48,EADDRNOTAVAIL:49,EAFNOSUPPORT:47,EAGAIN:35,EALREADY:37,EBADF:9,EBADMSG:94,EBUSY:16,ECANCELED:89,ECHILD:10,ECONNABORTED:53,ECONNREFUSED:61,ECONNRESET:54,EDEADLK:11,EDESTADDRREQ:39,EDOM:33,EDQUOT:69,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:65,EIDRM:90,EILSEQ:92,EINPROGRESS:36,EINTR:4,EINVAL:22,EIO:5,EISCONN:56,EISDIR:21,ELOOP:62,EMFILE:24,EMLINK:31,EMSGSIZE:40,EMULTIHOP:95,ENAMETOOLONG:63,ENETDOWN:50,ENETRESET:52,ENETUNREACH:51,ENFILE:23,ENOBUFS:55,ENODATA:96,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:77,ENOLINK:97,ENOMEM:12,ENOMSG:91,ENOPROTOOPT:42,ENOSPC:28,ENOSR:98,ENOSTR:99,ENOSYS:78,ENOTCONN:57,ENOTDIR:20,ENOTEMPTY:66,ENOTSOCK:38,ENOTSUP:45,ENOTTY:25,ENXIO:6,EOPNOTSUPP:102,EOVERFLOW:84,EPERM:1,EPIPE:32,EPROTO:100,EPROTONOSUPPORT:43,EPROTOTYPE:41,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:70,ETIME:101,ETIMEDOUT:60,ETXTBSY:26,EWOULDBLOCK:35,EXDEV:18,PRIORITY_LOW:19,PRIORITY_BELOW_NORMAL:10,PRIORITY_NORMAL:0,PRIORITY_ABOVE_NORMAL:-7,PRIORITY_HIGH:-14,PRIORITY_HIGHEST:-20,SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGIOT:6,SIGBUS:10,SIGFPE:8,SIGKILL:9,SIGUSR1:30,SIGSEGV:11,SIGUSR2:31,SIGPIPE:13,SIGALRM:14,SIGTERM:15,SIGCHLD:20,SIGCONT:19,SIGSTOP:17,SIGTSTP:18,SIGTTIN:21,SIGTTOU:22,SIGURG:16,SIGXCPU:24,SIGXFSZ:25,SIGVTALRM:26,SIGPROF:27,SIGWINCH:28,SIGIO:23,SIGINFO:29,SIGSYS:12,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,O_RDONLY:0,O_WRONLY:1,O_RDWR:2,UV_DIRENT_UNKNOWN:0,UV_DIRENT_FILE:1,UV_DIRENT_DIR:2,UV_DIRENT_LINK:3,UV_DIRENT_FIFO:4,UV_DIRENT_SOCKET:5,UV_DIRENT_CHAR:6,UV_DIRENT_BLOCK:7,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:512,O_EXCL:2048,UV_FS_O_FILEMAP:0,O_NOCTTY:131072,O_TRUNC:1024,O_APPEND:8,O_DIRECTORY:1048576,O_NOFOLLOW:256,O_SYNC:128,O_DSYNC:4194304,O_SYMLINK:2097152,O_NONBLOCK:4,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_COPYFILE_EXCL:1,COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_FICLONE_FORCE:4,OPENSSL_VERSION_NUMBER:269488319,SSL_OP_ALL:2147485780,SSL_OP_ALLOW_NO_DHE_KEX:1024,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:262144,SSL_OP_CIPHER_SERVER_PREFERENCE:4194304,SSL_OP_CISCO_ANYCONNECT:32768,SSL_OP_COOKIE_EXCHANGE:8192,SSL_OP_CRYPTOPRO_TLSEXT_BUG:2147483648,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:2048,SSL_OP_EPHEMERAL_RSA:0,SSL_OP_LEGACY_SERVER_CONNECT:4,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:0,SSL_OP_MICROSOFT_SESS_ID_BUG:0,SSL_OP_MSIE_SSLV2_RSA_PADDING:0,SSL_OP_NETSCAPE_CA_DN_BUG:0,SSL_OP_NETSCAPE_CHALLENGE_BUG:0,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:0,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:0,SSL_OP_NO_COMPRESSION:131072,SSL_OP_NO_ENCRYPT_THEN_MAC:524288,SSL_OP_NO_QUERY_MTU:4096,SSL_OP_NO_RENEGOTIATION:1073741824,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:65536,SSL_OP_NO_SSLv2:0,SSL_OP_NO_SSLv3:33554432,SSL_OP_NO_TICKET:16384,SSL_OP_NO_TLSv1:67108864,SSL_OP_NO_TLSv1_1:268435456,SSL_OP_NO_TLSv1_2:134217728,SSL_OP_NO_TLSv1_3:536870912,SSL_OP_PKCS1_CHECK_1:0,SSL_OP_PKCS1_CHECK_2:0,SSL_OP_PRIORITIZE_CHACHA:2097152,SSL_OP_SINGLE_DH_USE:0,SSL_OP_SINGLE_ECDH_USE:0,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:0,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:0,SSL_OP_TLS_BLOCK_PADDING_BUG:0,SSL_OP_TLS_D5_BUG:0,SSL_OP_TLS_ROLLBACK_BUG:8388608,ENGINE_METHOD_RSA:1,ENGINE_METHOD_DSA:2,ENGINE_METHOD_DH:4,ENGINE_METHOD_RAND:8,ENGINE_METHOD_EC:2048,ENGINE_METHOD_CIPHERS:64,ENGINE_METHOD_DIGESTS:128,ENGINE_METHOD_PKEY_METHS:512,ENGINE_METHOD_PKEY_ASN1_METHS:1024,ENGINE_METHOD_ALL:65535,ENGINE_METHOD_NONE:0,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,RSA_PSS_SALTLEN_DIGEST:-1,RSA_PSS_SALTLEN_MAX_SIGN:-2,RSA_PSS_SALTLEN_AUTO:-2,defaultCoreCipherList:Js,TLS1_VERSION:769,TLS1_1_VERSION:770,TLS1_2_VERSION:771,TLS1_3_VERSION:772,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6,default:qs}));Xs=Vs,function(r){var e="member_property_expression",n=8483,t=12538,u="??",a="children",i="predicate_expression",c="Identifier",f=68107,o=64311,s=192,v=71369,l=11710,D=43597,b=110947,p=67591,E="directive",m=121504,F=69871,k=12347,d=126553,h="block",y=12735,_=68096,A="params",C=93071,w=72767,S=122,g="for_statement",B=128,T=70873,I="start",O=43867,N="_method",x=70414,L=">",P="catch_body",R=120121,M="the end of an expression statement (`;`)",G=126558,U="jsx_fragment",j=42527,H=69733,X="decorators",Y=82943,V=71039,K=8472,W="update",J=43205,q=12783,z=12438,$=12352,Q=8511,Z=120713,rr="method",er=8191,nr="function_param",tr=67871,ur="throw",ar="class_extends",ir=43470,cr=11507,fr="object_key_literal",or=71903,sr="_bigarray",vr=65437,lr=119995,Dr=43311,br="jsx_child",pr=68116,Er=67637,mr=66204,Fr=65470,kr=67391,dr=11631,hr=66729,yr=72025,_r=69956,Ar="tparams",Cr=66735,wr=42623,Sr=43697,gr=64217,Br="Invalid binary/octal ",Tr=70399,Ir=42864,Or=120487,Nr=43255,xr="do",Lr=43301,Pr="jsx_attribute_value_literal",Rr="binding_pattern",Mr=72759,Gr=110878,Ur="package",jr=72750,Hr="interface_declaration",Xr=119892,Yr="tail",Vr=111,Kr=8417,Wr=119807,Jr=71959,qr=65613,zr="type",$r=68159,Qr=55215,Zr="export_default_declaration_decl",re=72970,ee=70416,ne="function_this_param",te="module",ue="try",ae=70143,ie=125183,ce=70412,fe="@])",oe="binary",se="infinity",ve="private",le=65500,De="has_unknown_members",be="pattern_array_rest_element",pe="Property",Ee=65343,me="implements",Fe=12548,ke=211,de="if_alternate_statement",he=43395,ye="src/parser/type_parser.ml",_e=126552,Ae=66915,Ce=120712,we=126555,Se=68326,ge=120596,Be="raw",Te=112,Ie="class_declaration",Oe=126624,Ne="statement",xe="meta_property",Le=71235,Pe=44002,Re=8467,Me=8318,Ge="class_property_value",Ue=8203,je="optional_call",He=43761,Xe="kind",Ye="class_identifier",Ve=69955,Ke=68220,We=66378,Je=110,qe=123583,ze=119154,$e=120512,Qe="declare",Ze=11742,rn=70831,en="catch_clause",nn=8468,tn=72886,un=121343,an="for_in_assignment_pattern",cn="object_",fn=70499,on=43262,sn="mixins",vn="visit_trailing_comment",ln="type_param",Dn=69758,bn=71839,pn="expected *",En="boolean",mn="call",Fn=43010,kn="expression",dn="column",hn=43595,yn=43258,_n=191456,An=117,Cn=43754,wn=126544,Sn=8416,gn="Assert_failure",Bn=66517,Tn=42863,In="enum_number_member",On="a string",Nn=119993,xn=65855,Ln="opaque",Pn=870530776,Rn=67711,Mn="enum_symbol_body",Gn="filter",Un=126560,jn=43615,Hn=19903,Xn="get",Yn=64316,Vn=122917,Kn="exported",Wn=71099,Jn="return",qn=70516,zn="members",$n=256,Qn=64279,Zn=67829,rt="src/parser/expression_parser.ml",et="(global)",nt="Enum `",tt="object_property",ut=67589,at="pattern_object_property",it=69551,ct=127343600,ft="template_literal_element",ot=70452,st="class_element",vt=71131,lt=120137,Dt=94098,bt=72349,pt="function_identifier",Et=126543,mt=43487,Ft="@[<2>{ ",kt="jsx_attribute_name",dt=72849,ht=72191,yt=70393,_t=65908,At=120513,Ct=92909,wt=70195,St="bound",gt=8399,Bt=120070,Tt="update_expression",It="enum_number_body",Ot=69941,Nt="spread_element",xt="for_in_left_declaration",Lt=64319,Pt=12703,Rt=11687,Mt="@,))@]",Gt="%d",Ut=42239,jt="type_cast",Ht=42508,Xt=71735,Yt="class_implements_interface",Vt=67640,Kt="buffer.ml",Wt=605857695,Jt="handler",qt=66207,zt=11558,$t=113775,Qt=113,Zt=126540,ru="collect_comments",eu="set",nu="assignment_pattern",tu=43051,uu="right",au=94087,iu="object_key_identifier",cu=196607,fu=120133,ou="Invalid number ",su=8580,vu=68023,lu=43798,Du=12539,bu=43052,pu=100,Eu="pattern_literal",mu="generic_type",Fu=93017,ku=42890,du=43766,hu=42783,yu="else",_u=70851,Au=69289,Cu="the start of a statement",wu=113820,Su="properties",gu=94094,Bu=71481,Tu=43696,Iu=70474,Ou="declare_function",Nu=120597,xu=110959,Lu="object_indexer_property_type",Pu=70492,Ru=43042,Mu=107,Gu="arguments",Uu="comments",ju=67431,Hu="line",Xu="pattern_identifier",Yu="declaration",Vu="static",Ku=69958,Wu=68100,Ju=72783,qu=11310,zu=43814,$u="annot",Qu=119179,Zu=65786,ra=66303,ea=64967,na=64255,ta=8584,ua=120655,aa="Stack_overflow",ia=43700,ca="syntax_opt",fa=68921,oa="comprehension",sa=65295,va="Not_found",la=235,Da=68680,ba=64324,pa=72966,Ea=-1053382366,ma="rest",Fa="pattern_array_element",ka="jsx_attribute_value_expression",da=65595,ha="pattern_array_e",ya=122916,_a=43711,Aa=69926,Ca="symbol",wa=42725,Sa="*dummy method*",ga=70092,Ba=43741,Ta="typeParameters",Ia="const",Oa=72847,Na=12341,xa=66271,La="false",Pa=71104,Ra=106,Ma=120076,Ga=128,Ua=125124,ja=73460,Ha=11743,Xa=67593,Ya=69297,Va=44031,Ka=92927,Wa=68095,Ja=42945,qa=8231,za=121519,$a=43453,Qa="object_key_computed",Za="labeled_statement",ri="function_param_pattern",ei=43442,ni=65481,ti="collect_comments_opt",ui=126590,ai="_",ii="variable_declarator",ci="compare: functional value",fi=67967,oi="computed",si="object_property_type",vi=126562,li=114,Di="comment_bounds",bi="id",pi=70853,Ei=69247,mi=42237,Fi="class_private_field",ki=72329,di=8412,hi="Invalid_argument",yi=113770,_i=120092,Ai="declare_class",Ci=94031,wi=67839,Si=72250,gi=92879,Bi="prototype",Ti=8287,Ii=70370,Oi="`.",Ni=65344,xi=12542,Li=123641,Pi="Internal Error: Found private field in object props",Ri="sequence",Mi="debugger",Gi="call_type_args",Ui=12348,ji=68863,Hi=72001,Xi=70084,Yi="label",Vi=-45,Ki="jsx_opening_attribute",Wi=119364,Ji=43583,qi="%F",zi=43784,$i="call_arguments",Qi=113791,Zi=126503,rc=43743,ec=917999,nc="0",tc=93007,uc=119967,ac=44012,ic=42621,cc=126538,fc="new_",oc=449540197,sc=68466,vc=64109,lc=177983,Dc=248,bc="@,]@]",pc="program",Ec=68031,mc="type_",Fc="function_type",kc=67382,dc=8484,hc=8205,yc=42537,_c=73022,Ac=66559,Cc=65074,wc=11775,Sc=71236,gc=64274,Bc=120069,Tc=72105,Ic=126570,Oc="object",Nc="for_of_statement",xc="break",Lc=43047,Pc=43695,Rc=70501,Mc=126551,Gc=126520,Uc=70477,jc=66045,Hc=66499,Xc=1024,Yc=43018,Vc=73103,Kc=71471,Wc=126522,Jc=119140,qc="function_declaration",zc=73064,$c=92728,Qc=73105,Zc=70418,rf="await",ef=68119,nf="function_rest_param",tf=73119,uf=42653,af=11703,cf="left",ff=70449,of="declare_type_alias",sf=16777215,vf=121475,lf=70302,Df=119142,bf=55242,pf=70470,Ef=126583,mf=124927,Ff=72959,kf=65497,df="Invalid legacy octal ",hf="typeof",yf="explicit_type",_f="statement_list",Af=65495,Cf="class_method",wf=119994,Sf=67861,gf=8526,Bf=69762,Tf="enum",If=2147483647,Of=71996,Nf=119170,xf=11702,Lf="in",Pf=67638,Rf=70753,Mf="super",Gf=126504,Uf=8304,jf=69761,Hf="import_specifier",Xf=177972,Yf=68324,Vf=101589,Kf=67646,Wf="expression_or_spread",Jf=43792,qf=74879,zf=-82,$f=43260,Qf=93052,Zf=125258,ro=65574,eo=224,no="instanceof",to="jsx_element_name_member_expression",uo=69599,ao=43560,io="function_expression",co=223,fo=121476,oo=72242,so=11498,vo=126467,lo=73112,Do=44008,bo=70107,po=13311,Eo="jsx_children",mo=126548,Fo=63743,ko=43471,ho=113822,yo=71998,_o=122887,Ao="jsx_expression",Co=69864,wo=72e3,So=126591,go=126578,Bo=12592,To="type_params",Io=119148,Oo=8420,No=126537,xo=123627,Lo="{ ",Po="jsx_spread_attribute",Ro=70161,Mo=70468,Go="@,",Uo=42606,jo=126500,Ho="number_literal_type",Xo="label_identifier",Yo=42999,Vo=72884,Ko=64310,Wo=-594953737,Jo="hasUnknownMembers",qo=92982,zo="array",$o=65615,Qo="enum_string_member",Zo="void",rs=65135,es=")",ns=138,ts="let",us=70002,as=70271,is=70735,cs="nan",fs="@[%s =@ ",os=194559,ss=42735,vs="/",ls="for_in_statement_lhs",Ds=68154,bs=43503,ps=8516,Es=65381,ms="TypeParameterInstantiation",Fs=83526,ks="number",ds=70286,hs=12447,ys=72160,_s=43493,As=70487,Cs="enum_member_identifier",ws=70280,Ss="function",gs=70162,Bs=42895,Ts=67702,Is=66771,Os=121452,Ns=8432,xs=40959,Ls=70312,Ps="End_of_file",Rs=93759,Ms=8494,Gs=43709,Us="new",js="Failure",Hs="local",Ys=101631,Vs="with",Ks=8489,Js="enum_declaration",qs=121460,$s="member",Qs=70457,Zs=64325,rv=8488,ev=70448,nv=69967,tv=126535,uv=71934,av=65312,iv=43135,cv="import_named_specifier",fv=126619,ov=44025,sv="type_annotation",vv=8188,lv=65071,Dv=131071,bv=173789,pv=120770,Ev=12440,mv="with_",Fv="statement_fork_point",kv="finalizer",dv=71133,hv=12320,yv="elements",_v="literal",Av=68607,Cv=8507,wv=122913,Sv="each",gv="Sys_error",Bv="bigint_literal_type",Tv=69818,Iv=11727,Ov=64829,Nv=120538,xv="type_alias",Lv="member_private_name",Pv=126556,Rv="tagged_template",Mv=43881,Gv="pattern_object_property_literal_key",Uv=72192,jv=67826,Hv=44013,Xv=70745,Yv=72153,Vv=66511,Kv=43249,Wv=11646,Jv="None",qv="int_of_string",zv="FunctionTypeParam",$v="name",Qv=70285,Zv=103,rl=120744,el=12288,nl="intersection_type",tl=11679,ul=11559,al=71295,il=70205,cl="callee",fl=70018,ol=11567,sl=42954,vl="predicate",ll="expression_statement",Dl="regexp",bl=44011,pl=11389,El=123209,ml=65479,Fl=43568,kl="optional",dl=-602162310,hl="@]",yl=92777,_l=120003,Al=72249,Cl="Unexpected ",wl=73008,Sl="finally",gl="toplevel_statement_list",Bl=178207,Tl=65055,Il=70301,Ol=72161,Nl=70460,xl=12799,Ll="loc",Pl=65535,Rl=69375,Ml=71990,Gl=43518,Ul=65487,jl="while_",Hl=183983,Xl=-673950933,Yl=42559,Vl=121398,Kl=55291,Wl="jsx_element_name_identifier",Jl=71452,ql=8239,zl=-253313196,$l="mixed",Ql=70403,Zl=67827,rD=11734,eD=68287,nD=119976,tD=72151,uD=73129,aD=73102,iD=73017,cD=" =",fD=888960333,oD="tuple_type",sD=126602,vD=73111,lD=70726,DD=71994,bD=126529,pD="object_property_value_type",ED="%a",mD=69423,FD="static/",kD=120831,dD=120781,hD=11695,yD=12294,_D=11711,AD=67583,CD=122879,wD=126584,SD=72703,gD=68295,BD="prefix",TD=43871,ID=69415,OD=11492,ND="class",xD=12333,LD=65575,PD=42894,RD="continue",MD=119145,GD=65663,UD=68120,jD=782176664,HD=71086,XD=120779,YD=71247,VD=19967,KD=65392,WD=8486,JD=" ",qD=66863,zD="RestElement",$D="Undefined_recursive_module",QD=126634,ZD=66377,rb=74751,eb="jsx_element_name_namespaced",nb=43334,tb=43481,ub=66815,ab=11311,ib="typeAnnotation",cb=120126,fb=69743,ob="array_element",sb=64285,vb=8543,lb="()",Db="declare_module",bb=122886,pb="export_batch_specifier",Eb=">>>=",mb=68029,Fb="importKind",kb="extends",db=72345,hb=64296,yb=43259,_b=71679,Ab=64913,Cb=119969,wb=94175,Sb=72440,gb=65141,Bb=43071,Tb="function_",Ib=44010,Ob=42888,Nb=69807,xb="variance",Lb=123,Pb="import_default_specifier",Rb=43764,Mb="pattern",Gb=71947,Ub=70655,jb=70464,Hb="consequent",Xb=68447,Yb=73648,Vb=65473,Kb="call_type_arg",Wb=255,Jb=73019,qb=8238,zb=121498,$b=68899,Qb=93026,Zb=44015,rp="@[<2>[",ep="comment",np=65439,tp="switch_case",up=71942,ap="do_while",ip=43215,cp="constructor",fp=43587,op=43586,sp="yield",vp="target",lp=72272,Dp="var",bp=70108,pp="impltype",Ep="0o",mp=119972,Fp=92991,kp=43391,dp=70441,hp=8450,yp=72278,_p=120074,Ap=66717,Cp="interface_type",wp=43880,Sp="%B",gp=70472,Bp=122914,Tp=111355,Ip=5760,Op=11630,Np=126499,xp=108,Lp=120629,Pp="Popping lex mode from empty stack",Rp=65103,Mp=42611,Gp=195101,Up=43002,jp=42607,Hp=126539,Xp="([^/]*)",Yp=126502,Vp=125135,Kp="template_literal",Wp=68903,Jp="src/parser/statement_parser.ml",qp=72758,zp=11519,$p=11387,Qp="Out_of_memory",Zp=12287,rE=120570,eE=72164,nE=126534,tE=65076,uE="index out of bounds",aE=73029,iE=72873,cE="_bigarr02",fE="for_statement_init",oE=126571,sE="supertype",vE="class_property",lE=92916,DE="this",bE="}",pE=71095,EE="declare_module_exports",mE="union_type",FE=65535,kE="variance_opt",dE=94032,hE=42124,yE="this_expression",_E="jsx_element",AE=65019,CE=125251,wE=64111,SE="typeArguments",gE=8254,BE=8471,TE=70497,IE=71359,OE=8202,NE="EnumDefaultedMember",xE="switch",LE=69634,PE="unary_expression",RE=71215,ME=67679,GE=65597,UE=120686,jE=72163,HE=-983660142,XE=70197,YE=64262,VE=124,KE=126495,WE=65279,JE=69456,qE=71944,zE=65342,$E="alternate",QE=92975,ZE=65489,rm=252,em=43187,nm=125142,tm=67807,um="export",am=68850,im=66383,cm=".",fm="type_args",om=70508,sm=92159,vm="jsx_element_name",lm=72283,Dm=42737,bm=116,pm=75075,Em=70279,mm=65338,Fm="function_params",km=126627,dm=73065,hm=72872,ym=43762,_m=119970,Am=71352,Cm=68158,wm=12295,Sm=70005,gm=120771,Bm=11557,Tm=42191,Im="flags",Om=70088,Nm=68437,xm="pattern_object_p",Lm=70730,Pm="optional_indexed_access",Rm=69932,Mm=42785,Gm="nullable_type",Um="value",jm=12343,Hm=71089,Xm=68415,Ym=11694,Vm=69887,Km=917759,Wm=11726,Jm="syntax",qm=119964,zm=68497,$m=73097,Qm=126523,Zm="null",rF=120084,eF=126601,nF=8454,tF="expressions",uF=72144,aF="(@[",iF=12448,cF=121503,fF=68786,oF="<",sF=43443,vF="an identifier",lF=69959,DF=43309,bF=68799,pF="leadingComments",EF=72969,mF=100351,FF="enum_defaulted_member",kF=69839,dF=94026,hF=70724,yF=12336,_F=73018,AF=42605,CF="empty",wF=331416730,SF=123199,gF=71989,BF=70479,TF=43123,IF=101640,OF=8319,NF="object_type_property_setter",xF=12591,LF=12335,PF=125,RF=92735,MF="cases",GF=70199,UF=183969,jF=71455,HF="bigint",XF="Division_by_zero",YF=12329,VF=67071,KF=43609,WF=120004,JF=69414,qF="if",zF=126519,$F="immediately within another function.",QF=55238,ZF=126498,rk=73031,ek=8504,nk=69940,tk=66256,uk="@ }@]",ak=73106,ik=118,ck=11565,fk=120122,ok=74862,sk=68099,vk="'",lk="pattern_object_rest_property",Dk=-26065557,bk=119,pk="assignment",Ek=42943,mk=104,Fk=8457,kk="from",dk=64321,hk=113817,yk=65629,_k=43765,Ak=70378,Ck=42655,wk=102,Sk=43137,gk=201546,Bk=11502,Tk=";@ ",Ik=101,Ok="pattern_array_element_pattern",Nk=69290,xk="body",Lk="jsx_member_expression",Pk=65547,Rk="jsx_attribute_value",Mk=72967,Gk=126550,Uk=72003,jk="jsx_namespaced_name",Hk=254,Xk=43807,Yk=43738,Vk=126589,Kk=8455,Wk=126628,Jk=11670,qk=120134,zk="conditional",$k=119965,Qk=43599,Zk=69890,rd=72817,ed=43822,nd=43638,td=93047,ud=64322,ad="AssignmentPattern",id=123190,cd=72383,fd="object_spread_property_type",od=113663,sd=70783,vd=42622,ld=43823,Dd="init",bd=109,pd=66503,Ed="proto",md=74649,Fd="optional_member",kd=120654,dd="@ ",hd="enum_boolean_body",yd=119361,_d="export_named_specifier",Ad=123183,Cd="declare_interface",wd=120539,Sd=70451,gd=64317,Bd="pattern_object_property_computed_key",Td=12543,Id="export_named_declaration_specifier",Od=43359,Nd=113800,xd=126530,Ld=72713,Pd=72103,Rd=70278,Md=94191,Gd="if_consequent_statement",Ud=8275,jd=126496,Hd="try_catch",Xd="computed_key",Yd="class_",Vd=173823,Kd="pattern_object_property_identifier_key",Wd=71913,Jd=8485,qd="arrow_function",zd=68151,$d=126546,Qd="enum_boolean_member",Zd=94177,rh="delete",eh="blocks",nh="pattern_array_rest_element_pattern",th=78894,uh=69881,ah=66512,ih=94111,ch="test",fh="string",oh=71467,sh=69572,vh=66463,lh=66335,Dh=73061,bh=72348,ph=":",Eh="enum_body",mh="function_this_param_type",Fh=77823,kh="minus",dh=119980,hh="private_name",yh=72263,_h="object_key",Ah=72342,Ch="function_param_type",wh=11718,Sh="as",gh="delegate",Bh=71992,Th="true",Ih=119213,Oh=71232,Nh=67413,xh=73439,Lh=70854,Ph=120628,Rh=70093,Mh=43776,Gh=43513,Uh="jsx_attribute_name_namespaced",jh=71723,Hh=11505,Xh=120127,Yh=73039,Vh="Map.bal",Kh="any",Wh=126559,Jh="import",qh=70404,zh="jsx_spread_child",$h=67897,Qh=8233,Zh=119974,ry=68405,ey=239,ny="attributes",ty="object_internal_slot_property_type",uy=43225,ay=71351,iy=70383,cy=67643,fy="shorthand",oy="for_in_statement",sy=71338,vy=126463,ly=69702,Dy=92767,by=69445,py=65370,Ey=73055,my=73021,Fy=64911,ky="pattern_object_property_pattern",dy=70206,hy=126579,yy=64286,_y=94030,Ay="explicitType",Cy=67669,wy=43866,Sy="Sys_blocked_io",gy=71093,By=123197,Ty="catch",Iy=64466,Oy=65140,Ny=73030,xy=69404,Ly=66272,Py="protected",Ry=43631,My=120571,Gy="array_type",Uy=43713,jy="export_default_declaration",Hy="class_expression",Xy="quasi",Yy="%S",Vy=126515,Ky=120485,Wy=8525,Jy=43519,qy=120745,zy=125263,$y=94178,Qy=71229,Zy=126588,r_=127,e_=66855,n_="visit_leading_comment",t_=67742,u_=120144,a_="returnType",i_=240,c_=-744106340,f_="-",o_=130041,s_=68911,v_=8469,l_="async",D_=126521,b_=72095,p_=" : file already exists",E_=65039,m_=178205,F_=8449,k_=94179,d_=42774,h_="case",y_=66431,__="targs",A_="declare_export_declaration",C_="type_identifier",w_=43013,S_=64284,g_=43815,B_="function_body_any",T_=120687,I_="public",O_=70003,N_=68115,x_=125273,L_=65598,P_=43712,R_=72262,M_=126547,G_=70095,U_=110591,j_="indexed_access",H_="interface",X_=-46,Y_="string_literal_type",V_="import_namespace_specifier",K_=120132,W_=68102,J_=11735,q_=94180,z_=119893,$_="bool",Q_=1e3,Z_="default",rA="",eA=71983,nA="exportKind",tA="trailingComments",uA="^",aA=8348,iA=65594,cA="logical",fA="jsx_member_expression_identifier",oA="cooked",sA="for_of_left_declaration",vA="argument",lA=63,DA=12442,bA=72202,pA=120085,EA=43645,mA=70749,FA=42539,kA=126468,dA="Match_failure",hA=68191,yA="src/parser/flow_ast.ml",_A=43572,AA=11647,CA=71102,wA="declare_variable",SA="+",gA=71127,BA=43740,TA=120145,IA=64318,OA="declare_export_declaration_decl",NA="class_implements",xA="inexact",LA=119172,PA="a",RA=73062,MA=65100,GA=70863,UA=65278,jA="function_rest_param_type",HA=-696510241,XA=70066,YA=43714,VA=70480,KA=113788,WA=94207,JA="class_body",qA=43273,zA=126651,$A=119996,QA=68735,ZA=43456,rC=119209,eC=72002,nC=67644,tC=130031,uC="boolean_literal_type",aC="catch_clause_pattern",iC=126554,cC=126536,fC=113807,oC=126557,sC=43046,vC=71956,lC="property",DC=123213,bC="meta",pC="for_of_assignment_pattern",EC="if_statement",mC=66421,FC=8505,kC="Literal",dC=100343,hC=71257,yC=69632,_C=42887,AC=115,CC=1255,wC=43574,SC=126566,gC=93823,BC=66719,TC="opaque_type",IC="jsx_attribute",OC="type_annotation_hint",NC=92911,xC=73727,LC=72871,PC="range",RC="jsError",MC=32768,GC=70458,UC=70006,jC=43492,HC="@]}",XC="(Some ",YC=43345,VC=43231,KC=8477,WC=11359,JC=121461,qC=126564,zC=126514,$C=70080,QC="generic_identifier_type",ZC=71738,rw=66811,ew=8256,nw=43759,tw=65007,uw="pattern_object_rest_property_pattern",aw=1039100673,iw=70319,cw=66461,fw=11719,ow=72271,sw=70846,vw=70461,lw=-48,Dw="export_named_declaration",bw="enum_string_body",pw=110930,Ew=73014,mw=70440,Fw="while",kw="camlinternalFormat.ml",dw=43782,hw=70834,yw=11263,_w=148,Aw=11358,Cw=1114111,ww=70750,Sw=73462,gw=70105,Bw="jsx_identifier",Tw=43014,Iw=11564,Ow="typeof_type",Nw=64847,xw=92995,Lw=71167,Pw=42511,Rw=72712,Mw=121,Gw=43704,Uw=12293,jw="object_call_property_type",Hw=64433,Xw="operator",Yw=68296,Vw="class_decorator",Kw=120,Ww="for_of_statement_lhs",Jw=11623,qw=71999,zw=110927,$w=70708,Qw=71423,Zw=93951,rS=12292,eS=42996,nS="object_type",tS="types",uS=69951,aS=126633,iS=8286,cS=12686,fS=73647,oS=73049,sS=72793,vS="0x",lS=70855,DS=70511,bS=70366,pS=65276,ES="variable_declaration",mS=43203,FS=119981,kS=71945,dS=72015,hS=43887,yS=105,_S=122922,AS=8335,CS=70187,wS=69631,SS="jsx_attribute_name_identifier",gS="source",BS="pattern_object_property_key",TS=65548,IS=66175,OS=92766,NS="pattern_assignment_pattern",xS=42998,LS="object_type_property_getter",PS=8305,RS="generator",MS="for",GS=121402,US="PropertyDefinition",jS=-36,HS=68223,XS=66044,YS=43757,VS="generic_qualified_identifier_type",KS=122906,WS=43790,JS=11686,qS="jsx_closing_element",zS=69687,$S=72162,QS=66348,ZS=43388,rg=72768,eg=68351,ng="<2>",tg=70015,ug=64297,ag=125259,ig=",@ ",cg=42651,fg=70486,og=70281,sg=66426,vg=43347,lg=68149,Dg=68111,bg="member_property_identifier",pg=71450,Eg=72254,mg=43009,Fg=94193,kg="member_property",dg=73458,hg="identifier",yg=67423,_g=40980,Ag=66775,Cg=110951,wg="Internal Error: Found object private prop",Sg=8276,gg="super_expression",Bg=40956,Tg="jsx_opening_element",Ig="variable_declarator_pattern",Og="pattern_expression",Ng="jsx_member_expression_object",xg=68252,Lg=-835925911,Pg="import_declaration",Rg=55203,Mg="key",Gg=126563,Ug=43702,jg="spread_property",Hg=863850040,Xg=70106,Yg=67592,Vg="function_expression_or_method",Kg=71958,Wg="for_init_declaration",Jg=123214,qg=71955,zg=68479,$g=69292,Qg=65305,Zg=43019,rB=123180,eB=69622,nB=8487,tB="specifiers",uB="function_body",aB=43641,iB="Unexpected token `",cB=122904,fB=69295,oB=123135,sB=134,vB=119162,lB=120093,DB=65023,bB=8521,pB=43642;function EB(r,e){throw[0,r,e]}var mB=[0];function FB(r,e){if("function"==typeof e)return r.fun=e,0;if(e.fun)return r.fun=e.fun,0;for(var n=e.length;n--;)r[n]=e[n];return 0}function kB(r,e,n){var t=String.fromCharCode;if(0==e&&n<=4096&&n==r.length)return t.apply(null,r);for(var u=rA;0=n.l||2==n.t&&u>=n.c.length))n.c=4==r.t?kB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),n.t=n.c.length==n.l?0:2;else if(2==n.t&&t==n.c.length)n.c+=4==r.t?kB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),n.t=n.c.length==n.l?0:2;else{4!=n.t&&dB(n);var a=r.c,i=n.c;if(4==r.t)if(t<=e)for(var c=0;c=0;c--)i[t+c]=a[e+c];else{var f=Math.min(u,a.length-e);for(c=0;c>=1))return n;e+=e,9==++t&&e.slice(0,1)}}function AB(r){2==r.t?r.c+=_B(r.l-r.c.length,"\0"):r.c=kB(r.c,0,r.c.length),r.t=0}function CB(r){if(r.length<24){for(var e=0;er_)return!1;return!0}return!/[^\x00-\x7f]/.test(r)}function wB(r){for(var e,n,t,u,a=rA,i=rA,c=0,f=r.length;c512?(i.substr(0,1),a+=i,i=rA,a+=r.slice(c,o)):i+=r.slice(c,o),o==f)break;c=o}u=1,++c=55295&&u<57344)&&(u=2):(u=3,++c1114111)&&(u=3))))),u<4?(c-=u,i+="\ufffd"):i+=u>FE?String.fromCharCode(55232+(u>>10),56320+(1023&u)):String.fromCharCode(u),i.length>Xc&&(i.substr(0,1),a+=i,i=rA)}return a+i}function SB(r,e,n){this.t=r,this.c=e,this.l=n}function gB(r){return new SB(0,r,r.length)}function BB(r){return gB(r)}function TB(r,e){EB(r,BB(e))}function IB(r){TB(mB.Invalid_argument,r)}function OB(){IB(uE)}function NB(r,e,n){if(n&=Wb,4!=r.t){if(e==r.c.length)return r.c+=String.fromCharCode(n),e+1==r.l&&(r.t=0),0;dB(r)}return r.c[e]=n,0}function xB(r,e,n){return e>>>0>=r.l&&OB(),NB(r,e,n)}function LB(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function PB(r,e){if(r.fun)return PB(r.fun,e);if("function"!=typeof r)return r;var n=0|r.length;if(0===n)return r.apply(null,e);var t=n-(0|e.length)|0;return 0==t?r.apply(null,e):t<0?PB(r.apply(null,e.slice(0,n)),e.slice(n)):function(){for(var n=0==arguments.length?1:arguments.length,t=new Array(e.length+n),u=0;u>>0>=r.length-1&&RB(),r}function GB(r){return 0!=(6&r.t)&&AB(r),r.c}SB.prototype.toString=function(){switch(this.t){case 9:return this.c;default:AB(this);case 0:if(CB(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},SB.prototype.toUtf16=function(){var r=this.toString();return 9==this.t?r:wB(r)},SB.prototype.slice=function(){var r=4==this.t?this.c.slice():this.c;return new SB(this.t,r,this.l)};var UB=Math.log2&&1020==Math.log2(11235582092889474e291);function jB(e){var n=new r.Float32Array(1);return n[0]=e,0|new r.Int32Array(n.buffer)[0]}var HB=Math.pow(2,-24);function XB(r){throw r}function YB(){XB(mB.Division_by_zero)}function VB(r,e,n){this.lo=r&sf,this.mi=e&sf,this.hi=n&FE}function KB(r,e,n){return new VB(r,e,n)}function WB(r){if(!isFinite(r))return isNaN(r)?KB(1,0,32752):KB(0,0,r>0?32752:65520);var e=0==r&&1/r==-1/0?MC:r>=0?0:MC;e&&(r=-r);var n=function(r){if(UB)return Math.floor(Math.log2(r));var e=0;if(0==r)return-1/0;if(r>=1)for(;r>=2;)r/=2,e++;else for(;r<1;)r*=2,e--;return e}(r)+1023;n<=0?(n=0,r/=Math.pow(2,-1026)):((r/=Math.pow(2,n-1027))<16&&(r*=2,n-=1),0==n&&(r/=2));var t=Math.pow(2,24),u=0|r,a=0|(r=(r-u)*t);return KB(0|(r=(r-a)*t),a,u=15&u|e|n<<4)}function JB(r){return r.toArray()}function qB(r,e,n){if(r.write(32,e.dims.length),r.write(32,e.kind|e.layout<<8),e.caml_custom==cE)for(var t=0;t>4;if(2047==u)return 0==(e|n|15&t)?t&MC?-1/0:1/0:NaN;var a=Math.pow(2,-24),i=(e*a+n)*a+(15&t);return u>0?(i+=16,i*=Math.pow(2,u-1027)):i*=Math.pow(2,-1026),t&MC&&(i=-i),i}function rT(r){for(var e=r.length,n=1,t=0;t16)&&iT("input_value: wrong number of bigarray dimensions");var a=e.read32s(),i=a&Wb,c=a>>8&1,f=[];if(t==cE)for(var o=0;o>>17,461845907))<<13|r>>>19)+(r<<2)|0)-430675100|0}function vT(r,e){return function(r,e){return r=sT(r,nT(e)),sT(r,eT(e))}(r,WB(e))}function lT(r){var e=rT(r.dims),n=0;switch(r.kind){case 2:case 3:case 12:e>$n&&(e=$n);var t=0,u=0;for(u=0;u+4<=r.data.length;u+=4)n=sT(n,t=r.data[u+0]|r.data[u+1]<<8|r.data[u+2]<<16|r.data[u+3]<<24);switch(t=0,3&e){case 3:t=r.data[u+2]<<16;case 2:t|=r.data[u+1]<<8;case 1:n=sT(n,t|=r.data[u+0])}break;case 4:case 5:for(e>B&&(e=B),t=0,u=0,u=0;u+2<=r.data.length;u+=2)n=sT(n,t=r.data[u+0]|r.data[u+1]<<16);0!=(1&e)&&(n=sT(n,r.data[u]));break;case 6:for(e>64&&(e=64),u=0;u64&&(e=64),u=0;u32&&(e=32),e*=2,u=0;u64&&(e=64),u=0;u32&&(e=32),u=0;ur.hi?1:this.hir.mi?1:this.mir.lo?1:this.lon?1:er.mi?1:this.mir.lo?1:this.lo>24);return new VB(r,e,-this.hi+(e>>24))},VB.prototype.add=function(r){var e=this.lo+r.lo,n=this.mi+r.mi+(e>>24);return new VB(e,n,this.hi+r.hi+(n>>24))},VB.prototype.sub=function(r){var e=this.lo-r.lo,n=this.mi-r.mi+(e>>24);return new VB(e,n,this.hi-r.hi+(n>>24))},VB.prototype.mul=function(r){var e=this.lo*r.lo,n=(e*HB|0)+this.mi*r.lo+this.lo*r.mi;return new VB(e,n,(n*HB|0)+this.hi*r.lo+this.mi*r.mi+this.lo*r.hi)},VB.prototype.isZero=function(){return 0==(this.lo|this.mi|this.hi)},VB.prototype.isNeg=function(){return this.hi<<16<0},VB.prototype.and=function(r){return new VB(this.lo&r.lo,this.mi&r.mi,this.hi&r.hi)},VB.prototype.or=function(r){return new VB(this.lo|r.lo,this.mi|r.mi,this.hi|r.hi)},VB.prototype.xor=function(r){return new VB(this.lo^r.lo,this.mi^r.mi,this.hi^r.hi)},VB.prototype.shift_left=function(r){return 0==(r&=63)?this:r<24?new VB(this.lo<>24-r,this.hi<>24-r):r<48?new VB(0,this.lo<>48-r):new VB(0,0,this.lo<>r|this.mi<<24-r,this.mi>>r|this.hi<<24-r,this.hi>>r):r<48?new VB(this.mi>>r-24|this.hi<<48-r,this.hi>>r-24,0):new VB(this.hi>>r-48,0,0)},VB.prototype.shift_right=function(r){if(0==(r&=63))return this;var e=this.hi<<16>>16;if(r<24)return new VB(this.lo>>r|this.mi<<24-r,this.mi>>r|e<<24-r,this.hi<<16>>r>>>16);var n=this.hi<<16>>31;return r<48?new VB(this.mi>>r-24|this.hi<<48-r,this.hi<<16>>r-24>>16,n&FE):new VB(this.hi<<16>>r-32,n,n)},VB.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&sf,this.lo=this.lo<<1&sf},VB.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&sf,this.mi=(this.mi>>>1|this.hi<<23)&sf,this.hi=this.hi>>>1},VB.prototype.udivmod=function(r){for(var e=0,n=this.copy(),t=r.copy(),u=new VB(0,0,0);n.ucompare(t)>0;)e++,t.lsl1();for(;e>=0;)e--,u.lsl1(),n.ucompare(t)>=0&&(u.lo++,n=n.sub(t)),t.lsr1();return{quotient:u,modulus:n}},VB.prototype.div=function(r){var e=this;r.isZero()&&YB();var n=e.hi^r.hi;e.hi&MC&&(e=e.neg()),r.hi&MC&&(r=r.neg());var t=e.udivmod(r).quotient;return n&MC&&(t=t.neg()),t},VB.prototype.mod=function(r){var e=this;r.isZero()&&YB();var n=e.hi;e.hi&MC&&(e=e.neg()),r.hi&MC&&(r=r.neg());var t=e.udivmod(r).modulus;return n&MC&&(t=t.neg()),t},VB.prototype.toInt=function(){return this.lo|this.mi<<24},VB.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},VB.prototype.toArray=function(){return[this.hi>>8,this.hi&Wb,this.mi>>16,this.mi>>8&Wb,this.mi&Wb,this.lo>>16,this.lo>>8&Wb,this.lo&Wb]},VB.prototype.lo32=function(){return this.lo|(this.mi&Wb)<<24},VB.prototype.hi32=function(){return this.mi>>>8&FE|this.hi<<16},tT.prototype.caml_custom="_bigarray",tT.prototype.offset=function(r){var e=0;if("number"==typeof r&&(r=[r]),r instanceof Array||IB("bigarray.js: invalid offset"),this.dims.length!=r.length&&IB("Bigarray.get/set: bad number of dimensions"),0==this.layout)for(var n=0;n=this.dims[n])&&RB(),e=e*this.dims[n]+r[n];else for(n=this.dims.length-1;n>=0;n--)(r[n]<1||r[n]>this.dims[n])&&RB(),e=e*this.dims[n]+(r[n]-1);return e},tT.prototype.get=function(r){switch(this.kind){case 7:return function(r,e){return new VB(r&sf,r>>>24&Wb|(e&FE)<<8,e>>>16&FE)}(this.data[2*r+0],this.data[2*r+1]);case 10:case 11:var e=this.data[2*r+0],n=this.data[2*r+1];return[Hk,e,n];default:return this.data[r]}},tT.prototype.set=function(r,e){switch(this.kind){case 7:this.data[2*r+0]=nT(e),this.data[2*r+1]=eT(e);break;case 10:case 11:this.data[2*r+0]=e[1],this.data[2*r+1]=e[2];break;default:this.data[r]=e}return 0},tT.prototype.fill=function(r){switch(this.kind){case 7:var e=nT(r),n=eT(r);if(e==n)this.data.fill(e);else for(var t=0;ta)return 1;if(u!=a){if(!e)return NaN;if(u==u)return 1;if(a==a)return-1}}break;case 7:for(t=0;tr.data[t+1])return 1;if(this.data[t]>>>0>>0)return-1;if(this.data[t]>>>0>r.data[t]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(t=0;tr.data[t])return 1}}return 0},uT.prototype=new tT,uT.prototype.offset=function(r){return"number"!=typeof r&&(r instanceof Array&&1==r.length?r=r[0]:IB("Ml_Bigarray_c_1_1.offset")),(r<0||r>=this.dims[0])&&RB(),r},uT.prototype.get=function(r){return this.data[r]},uT.prototype.set=function(r,e){return this.data[r]=e,0},uT.prototype.fill=function(r){return this.data.fill(r),0};var DT={_j:{deserialize:function(r,e){for(var n=new Array(8),t=0;t<8;t++)n[t]=r.read8u();return e[0]=8,QB(n)},serialize:function(r,e,n){for(var t=JB(e),u=0;u<8;u++)r.write(8,t[u]);n[0]=8,n[1]=8},fixed_length:8,compare:function(r,e,n){return r.compare(e)},hash:function(r){return r.lo32()^r.hi32()}},_i:{deserialize:function(r,e){return e[0]=4,r.read32s()},fixed_length:4},_n:{deserialize:function(r,e){switch(r.read8u()){case 1:return e[0]=4,r.read32s();case 2:iT("input_value: native integer value too large");default:iT("input_value: ill-formed native integer")}},fixed_length:4},_bigarray:{deserialize:function(r,e){return cT(r,e,sr)},serialize:qB,compare:fT,hash:lT},_bigarr02:{deserialize:function(r,e){return cT(r,e,cE)},serialize:qB,compare:fT,hash:lT}};function bT(r){return DT[r.caml_custom]&&DT[r.caml_custom].compare}function pT(r,e,n,t){var u=bT(e);if(u){var a=n>0?u(e,r,t):u(r,e,t);if(t&&a!=a)return n;if(+a!=+a)return+a;if(0!=(0|a))return 0|a}return n}function ET(r){return r instanceof SB}function mT(r){return ET(r)}function FT(r){if("number"==typeof r)return Q_;if(ET(r))return rm;if(mT(r))return 1252;if(r instanceof Array&&r[0]===r[0]>>>0&&r[0]<=255){var e=0|r[0];return e==Hk?0:e}return r instanceof String||"string"==typeof r?12520:r instanceof Number?Q_:r&&r.caml_custom?CC:r&&r.compare?1256:"function"==typeof r?1247:"symbol"==typeof r?1251:1001}function kT(r,e){return re.c?1:0}function hT(r,e){return dT(r,e)}function yT(r,e,n){for(var t=[];;){if(!n||r!==e){var u=FT(r);if(250==u){r=r[1];continue}var a=FT(e);if(250==a){e=e[1];continue}if(u!==a)return u==Q_?a==CC?pT(r,e,-1,n):-1:a==Q_?u==CC?pT(e,r,1,n):1:ue)return 1;if(r!=e){if(!n)return NaN;if(r==r)return 1;if(e==e)return-1}break;case 1001:if(re)return 1;if(r!=e){if(!n)return NaN;if(r==r)return 1;if(e==e)return-1}break;case 1251:if(r!==e)return n?1:NaN;break;case 1252:if((r=GB(r))!==(e=GB(e))){if(re)return 1}break;case 12520:if((r=r.toString())!==(e=e.toString())){if(re)return 1}break;default:if(r.length!=e.length)return r.length1&&t.push(r,e,1)}}if(0==t.length)return 0;var f=t.pop();e=t.pop(),f+1<(r=t.pop()).length&&t.push(r,e,f+1),r=r[f],e=e[f]}}function _T(r,e){return yT(r,e,!0)}function AT(r){return r<0&&IB("Bytes.create"),new SB(r?2:9,rA,r)}function CT(r,e){return+(0==yT(r,e,!1))}function wT(r){var e;if(e=+(r=GB(r)),r.length>0&&e==e)return e;if(e=+(r=r.replace(/_/g,rA)),r.length>0&&e==e||/^[+-]?nan$/i.test(r))return e;var n=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(r);if(n){var t=n[3].replace(/0+$/,rA),u=parseInt(n[1]+n[2]+t,16),a=(0|n[4])-4*t.length;return e=u*Math.pow(2,a)}return/^\+?inf(inity)?$/i.test(r)?1/0:/^-inf(inity)?$/i.test(r)?-1/0:void iT("float_of_string")}function ST(r){var e=(r=GB(r)).length;e>31&&IB("format_int: format too long");for(var n={justify:SA,signstyle:f_,filler:JD,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:"f"},t=0;t=0&&u<=9;)n.width=10*n.width+u,t++;t--;break;case".":for(n.prec=0,t++;(u=r.charCodeAt(t)-48)>=0&&u<=9;)n.prec=10*n.prec+u,t++;t--;case"d":case"i":n.signedconv=!0;case"u":n.base=10;break;case"x":n.base=16;break;case"X":n.base=16,n.uppercase=!0;break;case"o":n.base=8;break;case"e":case"f":case"g":n.signedconv=!0,n.conv=u;break;case"E":case"F":case"G":n.signedconv=!0,n.uppercase=!0,n.conv=u.toLowerCase()}}return n}function gT(r,e){r.uppercase&&(e=e.toUpperCase());var n=e.length;r.signedconv&&(r.sign<0||r.signstyle!=f_)&&n++,r.alternate&&(8==r.base&&(n+=1),16==r.base&&(n+=2));var t=rA;if(r.justify==SA&&r.filler==JD)for(var u=n;u20?(n-=20,r/=Math.pow(10,n),r+=new Array(n+1).join(nc),e>0&&(r=r+cm+new Array(e+1).join(nc)),r):r.toFixed(e)}(e,t);break;case"g":t=t||1;var i=(u=e.toExponential(t-1)).indexOf("e"),c=+u.slice(i+1);if(c<-4||e>=1e21||e.toFixed(0).length>t){for(a=i-1;u.charAt(a)==nc;)a--;u.charAt(a)==cm&&a--,a=(u=u.slice(0,a+1)+u.slice(i)).length,"e"==u.charAt(a-3)&&(u=u.slice(0,a-1)+nc+u.slice(a-1));break}var f=t;if(c<0)f-=c+1,u=e.toFixed(f);else for(;(u=e.toFixed(f)).length>t+1;)f--;if(f){for(a=u.length-1;u.charAt(a)==nc;)a--;u.charAt(a)==cm&&a--,u=u.slice(0,a+1)}}else u="inf",n.filler=JD;return gT(n,u)}function TT(r,e){if(GB(r)==Gt)return BB(rA+e);var n=ST(r);e<0&&(n.signedconv?(n.sign=-1,e=-e):e>>>=0);var t=e.toString(n.base);if(n.prec>=0){n.filler=JD;var u=n.prec-t.length;u>0&&(t=_B(u,nc)+t)}return gT(n,t)}var IT=0;function OT(){return IT++}var NT=[];function xT(r,e,n){var t=r[1],u=NT[n];if(void 0===u)for(var a=NT.length;a>1|1)]?f=i-2:c=i;return NT[n]=c+1,e==t[c+1]?t[c]:0}function LT(r){var e=9;return CB(r)||(e=8,r=function(r){for(var e,n,t=rA,u=t,a=0,i=r.length;a512?(u.substr(0,1),t+=u,u=rA,t+=r.slice(a,c)):u+=r.slice(a,c),c==i)break;a=c}e<2048?(u+=String.fromCharCode(192|e>>6),u+=String.fromCharCode(Ga|e&lA)):e<55296||e>=57343?u+=String.fromCharCode(224|e>>12,Ga|e>>6&lA,Ga|e&lA):e>=56319||a+1==i||(n=r.charCodeAt(a+1))<56320||n>57343?u+="\xef\xbf\xbd":(a++,e=(e<<10)+n-56613888,u+=String.fromCharCode(240|e>>18,Ga|e>>12&lA,Ga|e>>6&lA,Ga|e&lA)),u.length>Xc&&(u.substr(0,1),t+=u,u=rA)}return t+u}(r)),new SB(e,r,r.length)}function PT(r){return LT(r)}function RT(r,e,n){if(!isFinite(r))return isNaN(r)?PT(cs):PT(r>0?se:"-infinity");var t=0==r&&1/r==-1/0?1:r>=0?0:1;t&&(r=-r);var u=0;if(0==r);else if(r<1)for(;r<1&&u>-1022;)r*=2,u--;else for(;r>=2;)r/=2,u++;var a=u<0?rA:SA,i=rA;if(t)i=f_;else switch(n){case 43:i=SA;break;case 32:i=JD}if(e>=0&&e<13){var c=Math.pow(2,4*e);r=Math.round(r*c)/c}var f=r.toString(16);if(e>=0){var o=f.indexOf(cm);if(o<0)f+=cm+_B(e,nc);else{var s=o+1+e;f.length>24&sf,r>>31&FE)}function UT(r){return r.toInt()}function jT(r){return r.neg()}function HT(r){return r.l}function XT(r){return HT(r)}function YT(r,e){return LB(r,e)}function VT(r,e){return r.add(e)}function KT(r,e){return r.mul(e)}function WT(r,e){return r.ucompare(e)<0}function JT(r){var e=0,n=XT(r),t=10,u=1;if(n>0)switch(YT(r,e)){case 45:e++,u=-1;break;case 43:e++,u=1}if(e+1=48&&r<=57?r-48:r>=65&&r<=90?r-55:r>=97&&r<=S?r-87:-1}function zT(r){var e=JT(r),n=e[0],t=e[1],u=e[2],a=GT(u),i=new VB(sf,268435455,FE).udivmod(a).quotient,c=YT(r,n),f=qT(c);(f<0||f>=u)&&iT(qv);for(var o=GT(f);;)if(95!=(c=YT(r,++n))){if((f=qT(c))<0||f>=u)break;WT(i,o)&&iT(qv),f=GT(f),WT(o=VT(KT(a,o),f),f)&&iT(qv)}return n!=XT(r)&&iT(qv),10==u&&WT(new VB(0,0,MC),o)&&iT(qv),t<0&&(o=jT(o)),o}function $T(r){return r.toFloat()}function QT(r){var e=JT(r),n=e[0],t=e[1],u=e[2],a=XT(r),i=n=u)&&iT(qv);var f=c;for(n++;n=u)break;(f=u*f+c)>4294967295&&iT(qv)}return n!=a&&iT(qv),f*=t,10==u&&(0|f)!=f&&iT(qv),0|f}function ZT(r){return r.toUtf16()}function rI(r,e){return+(yT(r,e,!1)<0)}function eI(r,e){r<0&&RB(),r=r+1|0;var n=new Array(r);n[0]=0;for(var t=1;t=u){var a=AT(r+t),i=this.data;this.data=a,hB(i,0,this.data,0,u)}return yB(e,n,this.data,r,t),0},cI.prototype.read=function(r,e,n,t){return this.length(),hB(this.data,r,e,n,t),0},cI.prototype.read_one=function(r){return function(r,e){return e>>>0>=r.l&&OB(),LB(r,e)}(this.data,r)},cI.prototype.close=function(){},cI.prototype.constructor=cI,fI.prototype.nm=function(r){return this.root+r},fI.prototype.lookup=function(r){if(!this.content[r]&&this.lookupFun){var e=this.lookupFun(BB(this.root),BB(r));0!==e&&(this.content[r]=new cI(e[1]))}},fI.prototype.exists=function(r){if(r==rA)return 1;var e=new RegExp(uA+(r+vs));for(var n in this.content)if(n.match(e))return 1;return this.lookup(r),this.content[r]?1:0},fI.prototype.readdir=function(r){var e=new RegExp(uA+(r==rA?rA:r+vs)+Xp),n={},t=[];for(var u in this.content){var a=u.match(e);a&&!n[a[1]]&&(n[a[1]]=!0,t.push(a[1]))}return t},fI.prototype.is_dir=function(r){var e=new RegExp(uA+(r==rA?rA:r+vs)+Xp);for(var n in this.content)if(n.match(e))return 1;return 0},fI.prototype.unlink=function(r){var e=!!this.content[r];return delete this.content[r],e},fI.prototype.open=function(r,e){if(e.rdonly&&e.wronly&&nI(this.nm(r)+" : flags Open_rdonly and Open_wronly are not compatible"),e.text&&e.binary&&nI(this.nm(r)+" : flags Open_text and Open_binary are not compatible"),this.lookup(r),this.content[r]){this.is_dir(r)&&nI(this.nm(r)+" : is a directory"),e.create&&e.excl&&nI(this.nm(r)+p_);var n=this.content[r];return e.truncate&&n.truncate(),n}if(e.create)return this.content[r]=new cI(AT(0)),this.content[r];!function(r){nI((r=GB(r))+": No such file or directory")}(this.nm(r))},fI.prototype.register=function(r,e){if(this.content[r]&&nI(this.nm(r)+p_),ET(e)&&(this.content[r]=new cI(e)),mT(e))this.content[r]=new cI(e);else if(e instanceof Array)this.content[r]=new cI(function(r){return new SB(4,r,r.length)}(e));else if("string"==typeof e)this.content[r]=new cI(gB(e));else if(e.toString){var n=PT(e.toString());this.content[r]=new cI(n)}else nI(this.nm(r)+" : registering file with invalid content type")},fI.prototype.constructor=fI,oI.prototype=new iI,oI.prototype.truncate=function(r){try{this.fs.ftruncateSync(this.fd,0|r)}catch(r){nI(r.toString())}},oI.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(r){nI(r.toString())}},oI.prototype.write=function(e,n,t,u){var a=function(r){for(var e=XT(r),n=new Array(e),t=0;tmB.fd_last_idx)&&(mB.fd_last_idx=r),r}function bI(r){var e=mB.fds[r];e.flags.rdonly&&nI("fd "+r+" is readonly");var n={file:e.file,offset:e.offset,fd:r,opened:!0,out:!0,buffer:rA};return tI[n.fd]=n,n.fd}function pI(r,e,n,t){return function(r,e,n,t){var u,a=tI[r];a.opened||nI("Cannot output to a closed channel"),0==n&&HT(e)==t?u=e:hB(e,n,u=AT(t),0,t);var i=GB(u),c=i.lastIndexOf("\n");return c<0?a.buffer+=i:(a.buffer+=i.substr(0,c+1),uI(r),a.buffer+=i.substr(c+1)),0}(r,e,n,t)}function EI(r,e){return+(0!=yT(r,e,!1))}function mI(r,e){var n=new Array(e+1);n[0]=r;for(var t=1;t<=e;t++)n[t]=0;return n}function FI(r){return r instanceof Array&&r[0]==r[0]>>>0?r[0]:ET(r)||mT(r)?rm:r instanceof Function||"function"==typeof r?247:r&&r.caml_custom?255:Q_}function kI(e,n,t){t&&r.toplevelReloc&&(e=r.toplevelReloc(t)),mB[e+1]=n,t&&(mB[t]=n)}void 0!==r.process&&void 0!==r.process.versions&&void 0!==r.process.versions.node&&"browser"!==r.process.platform?lI.push({path:vI,device:new sI(vI)}):lI.push({path:vI,device:new fI(vI)}),lI.push({path:vI+FD,device:new fI(vI+FD)}),DI(0,(function(r,e){var n=tI[r],t=BB(e),u=XT(t);return n.file.write(n.offset,t,0,u),n.offset+=u,0}),new cI(AT(0))),DI(1,(function(e){e=wB(e);var n=r;if(n.process&&n.process.stdout&&n.process.stdout.write)n.process.stdout.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var t=n.console;t&&t.log&&t.log(e)}}),new cI(AT(0))),DI(2,(function(e){e=wB(e);var n=r;if(n.process&&n.process.stdout&&n.process.stdout.write)n.process.stderr.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var t=n.console;t&&t.error&&t.error(e)}}),new cI(AT(0)));var dI={};function hI(r,e){return function(r,e){return r===e?1:(6&r.t&&AB(r),6&e.t&&AB(e),r.c==e.c?1:0)}(r,e)}function yI(r,e){return e>>>0>=XT(r)&&IB(uE),YT(r,e)}function _I(r,e){return 1-hI(r,e)}function AI(e){var n=r,t=ZT(e);return n.process&&n.process.env&&null!=n.process.env[t]?PT(n.process.env[t]):r.jsoo_static_env&&r.jsoo_static_env[t]?PT(r.jsoo_static_env[t]):void XB(mB.Not_found)}function CI(r){for(;r&&r.joo_tramp;)r=r.joo_tramp.apply(null,r.joo_args);return r}function wI(r,e){return{joo_tramp:r,joo_args:e}}function SI(r){return dI[r]}function gI(e){return e instanceof Array?e:r.RangeError&&e instanceof r.RangeError&&e.message&&e.message.match(/maximum call stack/i)||r.InternalError&&e instanceof r.InternalError&&e.message&&e.message.match(/too much recursion/i)?mB.Stack_overflow:e instanceof r.Error&&SI(RC)?[0,SI(RC),e]:[0,mB.Failure,PT(String(e))]}function BI(r,e){return 1==r.length?r(e):PB(r,[e])}function TI(r,e,n){return 2==r.length?r(e,n):PB(r,[e,n])}function II(r,e,n,t){return 3==r.length?r(e,n,t):PB(r,[e,n,t])}function OI(r,e,n,t,u){return 4==r.length?r(e,n,t,u):PB(r,[e,n,t,u])}function NI(r,e,n,t,u,a){return 5==r.length?r(e,n,t,u,a):PB(r,[e,n,t,u,a])}var xI=[Dc,BB(Qp),-1],LI=[Dc,BB(gv),-2],PI=[Dc,BB(js),-3],RI=[Dc,BB(hi),-4],MI=[Dc,BB(va),-7],GI=[Dc,BB(dA),-8],UI=[Dc,BB(aa),-9],jI=[Dc,BB(gn),-11],HI=[Dc,BB($D),-12],XI=[0,Zv],YI=[0,[11,BB('File "'),[2,0,[11,BB('", line '),[4,0,0,0,[11,BB(", characters "),[4,0,0,0,[12,45,[4,0,0,0,[11,BB(": "),[2,0,0]]]]]]]]]],BB('File "%s", line %d, characters %d-%d: %s')],VI=[0,0,[0,0,0],[0,0,0]],KI=BB("\x01\x02"),WI=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),JI=[0,0,0,0,0,0,0,0,1,0],qI=[0,BB(zo),BB(ob),BB(Gy),BB(qd),BB(pk),BB(nu),BB(Bv),BB(oe),BB(Rr),BB(h),BB(uC),BB(xc),BB(mn),BB($i),BB(Kb),BB(Gi),BB(P),BB(en),BB(aC),BB(Yd),BB(JA),BB(Ie),BB(Vw),BB(st),BB(Hy),BB(ar),BB(Ye),BB(NA),BB(Yt),BB(Cf),BB(Fi),BB(vE),BB(Ge),BB(ep),BB(oa),BB(Xd),BB(zk),BB(RD),BB(Mi),BB(Ai),BB(A_),BB(OA),BB(Ou),BB(Cd),BB(Db),BB(EE),BB(of),BB(wA),BB(ap),BB(CF),BB(Eh),BB(hd),BB(Qd),BB(Js),BB(FF),BB(Cs),BB(It),BB(In),BB(bw),BB(Qo),BB(Mn),BB(pb),BB(jy),BB(Zr),BB(Dw),BB(Id),BB(_d),BB(kn),BB(Wf),BB(ll),BB(an),BB(xt),BB(oy),BB(ls),BB(Wg),BB(pC),BB(sA),BB(Nc),BB(Ww),BB(g),BB(fE),BB(Tb),BB(uB),BB(B_),BB(qc),BB(io),BB(Vg),BB(pt),BB(nr),BB(ri),BB(Ch),BB(Fm),BB(nf),BB(jA),BB(ne),BB(mh),BB(Fc),BB(RS),BB(QC),BB(VS),BB(mu),BB(hg),BB(de),BB(Gd),BB(EC),BB(Jh),BB(Pg),BB(Pb),BB(cv),BB(V_),BB(Hf),BB(j_),BB(H_),BB(Hr),BB(Cp),BB(nl),BB(IC),BB(kt),BB(SS),BB(Uh),BB(Rk),BB(ka),BB(Pr),BB(br),BB(Eo),BB(qS),BB(_E),BB(vm),BB(Wl),BB(to),BB(eb),BB(Ao),BB(U),BB(Bw),BB(Lk),BB(fA),BB(Ng),BB(jk),BB(Ki),BB(Tg),BB(Po),BB(zh),BB(Xo),BB(Za),BB(_v),BB(cA),BB($s),BB(Lv),BB(kg),BB(e),BB(bg),BB(xe),BB(fc),BB(Gm),BB(Ho),BB(cn),BB(jw),BB(Lu),BB(ty),BB(_h),BB(Qa),BB(iu),BB(fr),BB(tt),BB(si),BB(pD),BB(fd),BB(nS),BB(LS),BB(NF),BB(TC),BB(je),BB(Pm),BB(Fd),BB(Mb),BB(ha),BB(Fa),BB(Ok),BB(be),BB(nh),BB(NS),BB(Og),BB(Xu),BB(Eu),BB(xm),BB(at),BB(Bd),BB(Kd),BB(BS),BB(Gv),BB(ky),BB(lk),BB(uw),BB(vl),BB(i),BB(hh),BB(pc),BB(Jn),BB(Ri),BB(Nt),BB(jg),BB(Ne),BB(Fv),BB(_f),BB(Y_),BB(gg),BB(xE),BB(tp),BB(Jm),BB(ca),BB(Rv),BB(Kp),BB(ft),BB(yE),BB(ur),BB(gl),BB(Hd),BB(oD),BB(mc),BB(xv),BB(sv),BB(OC),BB(fm),BB(jt),BB(C_),BB(ln),BB(To),BB(Ow),BB(PE),BB(mE),BB(Tt),BB(ES),BB(ii),BB(Ig),BB(xb),BB(kE),BB(jl),BB(mv),BB(sp)],zI=[0,BB("first_leading"),BB("last_trailing")],$I=[0,0,0],QI=[0,0];kI(11,HI,$D),kI(10,jI,gn),kI(9,[Dc,BB(Sy),-10],Sy),kI(8,UI,aa),kI(7,GI,dA),kI(6,MI,va),kI(5,[Dc,BB(XF),-6],XF),kI(4,[Dc,BB(Ps),-5],Ps),kI(3,RI,hi),kI(2,PI,js),kI(1,LI,gv),kI(0,xI,Qp);var ZI=BB("output_substring"),rO=BB("%.12g"),eO=BB(cm),nO=BB(Th),tO=BB(La),uO=BB("\\\\"),aO=BB("\\'"),iO=BB("\\b"),cO=BB("\\t"),fO=BB("\\n"),oO=BB("\\r"),sO=BB("List.iter2"),vO=BB("tl"),lO=BB("hd"),DO=BB("String.blit / Bytes.blit_string"),bO=BB("Bytes.blit"),pO=BB("String.sub / Bytes.sub"),EO=BB("Array.blit"),mO=BB("Array.sub"),FO=BB("Map.remove_min_elt"),kO=[0,0,0,0],dO=[0,BB("map.ml"),398,10],hO=[0,0,0],yO=BB(Vh),_O=BB(Vh),AO=BB(Vh),CO=BB(Vh),wO=BB("Stdlib.Queue.Empty"),SO=BB("Buffer.add_substring/add_subbytes"),gO=BB("Buffer.add: cannot grow buffer"),BO=[0,BB(Kt),93,2],TO=[0,BB(Kt),94,2],IO=BB("Buffer.sub"),OO=BB("%c"),NO=BB("%s"),xO=BB("%i"),LO=BB("%li"),PO=BB("%ni"),RO=BB("%Li"),MO=BB("%f"),GO=BB(Sp),UO=BB("%{"),jO=BB("%}"),HO=BB("%("),XO=BB("%)"),YO=BB(ED),VO=BB("%t"),KO=BB("%?"),WO=BB("%r"),JO=BB("%_r"),qO=[0,BB(kw),850,23],zO=[0,BB(kw),814,21],$O=[0,BB(kw),815,21],QO=[0,BB(kw),818,21],ZO=[0,BB(kw),819,21],rN=[0,BB(kw),822,19],eN=[0,BB(kw),823,19],nN=[0,BB(kw),826,22],tN=[0,BB(kw),827,22],uN=[0,BB(kw),831,30],aN=[0,BB(kw),832,30],iN=[0,BB(kw),836,26],cN=[0,BB(kw),837,26],fN=[0,BB(kw),846,28],oN=[0,BB(kw),847,28],sN=[0,BB(kw),851,23],vN=BB("%u"),lN=[0,BB(kw),1558,4],DN=BB("Printf: bad conversion %["),bN=[0,BB(kw),1626,39],pN=[0,BB(kw),1649,31],EN=[0,BB(kw),1650,31],mN=BB("Printf: bad conversion %_"),FN=BB("@{"),kN=BB("@["),dN=[0,[11,BB("invalid box description "),[3,0,0]],BB("invalid box description %S")],hN=BB(rA),yN=[0,0,4],_N=BB(rA),AN=BB("b"),CN=BB("h"),wN=BB("hov"),SN=BB("hv"),gN=BB("v"),BN=BB(cs),TN=BB("neg_infinity"),IN=BB(se),ON=BB(cm),NN=BB("%+nd"),xN=BB("% nd"),LN=BB("%+ni"),PN=BB("% ni"),RN=BB("%nx"),MN=BB("%#nx"),GN=BB("%nX"),UN=BB("%#nX"),jN=BB("%no"),HN=BB("%#no"),XN=BB("%nd"),YN=BB("%ni"),VN=BB("%nu"),KN=BB("%+ld"),WN=BB("% ld"),JN=BB("%+li"),qN=BB("% li"),zN=BB("%lx"),$N=BB("%#lx"),QN=BB("%lX"),ZN=BB("%#lX"),rx=BB("%lo"),ex=BB("%#lo"),nx=BB("%ld"),tx=BB("%li"),ux=BB("%lu"),ax=BB("%+Ld"),ix=BB("% Ld"),cx=BB("%+Li"),fx=BB("% Li"),ox=BB("%Lx"),sx=BB("%#Lx"),vx=BB("%LX"),lx=BB("%#LX"),Dx=BB("%Lo"),bx=BB("%#Lo"),px=BB("%Ld"),Ex=BB("%Li"),mx=BB("%Lu"),Fx=BB("%+d"),kx=BB("% d"),dx=BB("%+i"),hx=BB("% i"),yx=BB("%x"),_x=BB("%#x"),Ax=BB("%X"),Cx=BB("%#X"),wx=BB("%o"),Sx=BB("%#o"),gx=BB(Gt),Bx=BB("%i"),Tx=BB("%u"),Ix=BB(hl),Ox=BB("@}"),Nx=BB("@?"),xx=BB("@\n"),Lx=BB("@."),Px=BB("@@"),Rx=BB("@%"),Mx=BB("@"),Gx=BB("CamlinternalFormat.Type_mismatch"),Ux=BB(rA),jx=[0,[11,BB(", "),[2,0,[2,0,0]]],BB(", %s%s")],Hx=BB("Out of memory"),Xx=BB("Stack overflow"),Yx=BB("Pattern matching failed"),Vx=BB("Assertion failed"),Kx=BB("Undefined recursive module"),Wx=[0,[12,40,[2,0,[2,0,[12,41,0]]]],BB("(%s%s)")],Jx=BB(rA),qx=BB(rA),zx=[0,[12,40,[2,0,[12,41,0]]],BB("(%s)")],$x=[0,[4,0,0,0,0],BB(Gt)],Qx=[0,[3,0,0],BB(Yy)],Zx=BB(ai),rL=[3,0,3],eL=BB(cm),nL=BB(L),tL=BB("Flow_ast.Function.BodyBlock@ ")],iP=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],cP=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],fP=[0,[17,0,[12,41,0]],BB(fe)],oP=[0,[17,0,[12,41,0]],BB(fe)],sP=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Function.BodyExpression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Function.BodyExpression@ ")],vP=[0,[17,0,[12,41,0]],BB(fe)],lP=[0,[15,0],BB(ED)],DP=BB(lb),bP=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],pP=BB("Flow_ast.Function.id"),EP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mP=BB(XC),FP=BB(es),kP=BB(Jv),dP=[0,[17,0,0],BB(hl)],hP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],yP=BB(A),_P=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],AP=[0,[17,0,0],BB(hl)],CP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wP=BB(xk),SP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gP=[0,[17,0,0],BB(hl)],BP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],TP=BB(l_),IP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],OP=[0,[9,0,0],BB(Sp)],NP=[0,[17,0,0],BB(hl)],xP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],LP=BB(RS),PP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],RP=[0,[9,0,0],BB(Sp)],MP=[0,[17,0,0],BB(hl)],GP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],UP=BB(vl),jP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],HP=BB(XC),XP=BB(es),YP=BB(Jv),VP=[0,[17,0,0],BB(hl)],KP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],WP=BB(Jn),JP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qP=[0,[17,0,0],BB(hl)],zP=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$P=BB(Ar),QP=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ZP=BB(XC),rR=BB(es),eR=BB(Jv),nR=[0,[17,0,0],BB(hl)],tR=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],uR=BB(Uu),aR=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],iR=BB(XC),cR=BB(es),fR=BB(Jv),oR=[0,[17,0,0],BB(hl)],sR=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],vR=BB("sig_loc"),lR=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],DR=[0,[17,0,0],BB(hl)],bR=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],pR=[0,[15,0],BB(ED)],ER=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],mR=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],FR=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],kR=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],dR=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],hR=BB("Flow_ast.Function.Params.this_"),yR=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_R=BB(XC),AR=BB(es),CR=BB(Jv),wR=[0,[17,0,0],BB(hl)],SR=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],gR=BB(A),BR=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],TR=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],IR=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],OR=[0,[17,0,0],BB(hl)],NR=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],xR=BB(ma),LR=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],PR=BB(XC),RR=BB(es),MR=BB(Jv),GR=[0,[17,0,0],BB(hl)],UR=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],jR=BB(Uu),HR=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],XR=BB(XC),YR=BB(es),VR=BB(Jv),KR=[0,[17,0,0],BB(hl)],WR=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],JR=[0,[15,0],BB(ED)],qR=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],zR=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],$R=[0,[17,0,[12,41,0]],BB(fe)],QR=[0,[15,0],BB(ED)],ZR=BB(lb),rM=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],eM=BB("Flow_ast.Function.ThisParam.annot"),nM=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tM=[0,[17,0,0],BB(hl)],uM=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],aM=BB(Uu),iM=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],cM=BB(XC),fM=BB(es),oM=BB(Jv),sM=[0,[17,0,0],BB(hl)],vM=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],lM=[0,[15,0],BB(ED)],DM=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],bM=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],pM=[0,[17,0,[12,41,0]],BB(fe)],EM=[0,[15,0],BB(ED)],mM=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],FM=BB("Flow_ast.Function.Param.argument"),kM=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],dM=[0,[17,0,0],BB(hl)],hM=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],yM=BB(Z_),_M=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],AM=BB(XC),CM=BB(es),wM=BB(Jv),SM=[0,[17,0,0],BB(hl)],gM=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],BM=[0,[15,0],BB(ED)],TM=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],IM=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],OM=[0,[17,0,[12,41,0]],BB(fe)],NM=[0,[15,0],BB(ED)],xM=BB(lb),LM=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],PM=BB("Flow_ast.Function.RestParam.argument"),RM=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],MM=[0,[17,0,0],BB(hl)],GM=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],UM=BB(Uu),jM=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],HM=BB(XC),XM=BB(es),YM=BB(Jv),VM=[0,[17,0,0],BB(hl)],KM=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],WM=[0,[15,0],BB(ED)],JM=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],qM=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],zM=[0,[17,0,[12,41,0]],BB(fe)],$M=[0,[15,0],BB(ED)],QM=BB(lb),ZM=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],rG=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],eG=BB("Flow_ast.Class.id"),nG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tG=BB(XC),uG=BB(es),aG=BB(Jv),iG=[0,[17,0,0],BB(hl)],cG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],fG=BB(xk),oG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],sG=[0,[17,0,0],BB(hl)],vG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lG=BB(Ar),DG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bG=BB(XC),pG=BB(es),EG=BB(Jv),mG=[0,[17,0,0],BB(hl)],FG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kG=BB(kb),dG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hG=BB(XC),yG=BB(es),_G=BB(Jv),AG=[0,[17,0,0],BB(hl)],CG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wG=BB(me),SG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gG=BB(XC),BG=BB(es),TG=BB(Jv),IG=[0,[17,0,0],BB(hl)],OG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],NG=BB("class_decorators"),xG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],LG=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],PG=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],RG=[0,[17,0,0],BB(hl)],MG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],GG=BB(Uu),UG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jG=BB(XC),HG=BB(es),XG=BB(Jv),YG=[0,[17,0,0],BB(hl)],VG=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],KG=[0,[15,0],BB(ED)],WG=BB(lb),JG=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],qG=BB("Flow_ast.Class.Decorator.expression"),zG=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$G=[0,[17,0,0],BB(hl)],QG=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ZG=BB(Uu),rU=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],eU=BB(XC),nU=BB(es),tU=BB(Jv),uU=[0,[17,0,0],BB(hl)],aU=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],iU=[0,[15,0],BB(ED)],cU=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],fU=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],oU=[0,[17,0,[12,41,0]],BB(fe)],sU=[0,[15,0],BB(ED)],vU=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Class.Body.Method"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Class.Body.Method@ ")],lU=[0,[17,0,[12,41,0]],BB(fe)],DU=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Class.Body.Property"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Class.Body.Property@ ")],bU=[0,[17,0,[12,41,0]],BB(fe)],pU=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Class.Body.PrivateField"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Class.Body.PrivateField@ ")],EU=[0,[17,0,[12,41,0]],BB(fe)],mU=[0,[15,0],BB(ED)],FU=BB(lb),kU=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],dU=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],hU=BB("Flow_ast.Class.Body.body"),yU=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_U=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],AU=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],CU=[0,[17,0,0],BB(hl)],wU=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],SU=BB(Uu),gU=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],BU=BB(XC),TU=BB(es),IU=BB(Jv),OU=[0,[17,0,0],BB(hl)],NU=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],xU=[0,[15,0],BB(ED)],LU=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],PU=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],RU=[0,[17,0,[12,41,0]],BB(fe)],MU=[0,[15,0],BB(ED)],GU=BB(lb),UU=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],jU=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],HU=BB("Flow_ast.Class.Implements.interfaces"),XU=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],YU=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],VU=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],KU=[0,[17,0,0],BB(hl)],WU=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],JU=BB(Uu),qU=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],zU=BB(XC),$U=BB(es),QU=BB(Jv),ZU=[0,[17,0,0],BB(hl)],rj=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ej=[0,[15,0],BB(ED)],nj=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],tj=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],uj=[0,[17,0,[12,41,0]],BB(fe)],aj=[0,[15,0],BB(ED)],ij=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],cj=BB("Flow_ast.Class.Implements.Interface.id"),fj=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],oj=[0,[17,0,0],BB(hl)],sj=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],vj=BB(__),lj=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Dj=BB(XC),bj=BB(es),pj=BB(Jv),Ej=[0,[17,0,0],BB(hl)],mj=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Fj=[0,[15,0],BB(ED)],kj=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],dj=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],hj=[0,[17,0,[12,41,0]],BB(fe)],yj=[0,[15,0],BB(ED)],_j=BB(lb),Aj=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Cj=BB("Flow_ast.Class.Extends.expr"),wj=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Sj=[0,[17,0,0],BB(hl)],gj=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Bj=BB(__),Tj=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ij=BB(XC),Oj=BB(es),Nj=BB(Jv),xj=[0,[17,0,0],BB(hl)],Lj=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Pj=BB(Uu),Rj=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Mj=BB(XC),Gj=BB(es),Uj=BB(Jv),jj=[0,[17,0,0],BB(hl)],Hj=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Xj=[0,[15,0],BB(ED)],Yj=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Vj=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Kj=[0,[17,0,[12,41,0]],BB(fe)],Wj=[0,[15,0],BB(ED)],Jj=BB(lb),qj=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],zj=BB("Flow_ast.Class.PrivateField.key"),$j=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Qj=[0,[17,0,0],BB(hl)],Zj=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],rH=BB(Um),eH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],nH=[0,[17,0,0],BB(hl)],tH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],uH=BB($u),aH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],iH=[0,[17,0,0],BB(hl)],cH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],fH=BB(Vu),oH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],sH=[0,[9,0,0],BB(Sp)],vH=[0,[17,0,0],BB(hl)],lH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],DH=BB(xb),bH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],pH=BB(XC),EH=BB(es),mH=BB(Jv),FH=[0,[17,0,0],BB(hl)],kH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],dH=BB(Uu),hH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],yH=BB(XC),_H=BB(es),AH=BB(Jv),CH=[0,[17,0,0],BB(hl)],wH=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],SH=[0,[15,0],BB(ED)],gH=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],BH=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],TH=[0,[17,0,[12,41,0]],BB(fe)],IH=[0,[15,0],BB(ED)],OH=BB("Flow_ast.Class.Property.Uninitialized"),NH=BB("Flow_ast.Class.Property.Declared"),xH=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Class.Property.Initialized"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Class.Property.Initialized@ ")],LH=[0,[17,0,[12,41,0]],BB(fe)],PH=[0,[15,0],BB(ED)],RH=BB(lb),MH=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],GH=BB("Flow_ast.Class.Property.key"),UH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jH=[0,[17,0,0],BB(hl)],HH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],XH=BB(Um),YH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VH=[0,[17,0,0],BB(hl)],KH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],WH=BB($u),JH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qH=[0,[17,0,0],BB(hl)],zH=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$H=BB(Vu),QH=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ZH=[0,[9,0,0],BB(Sp)],rX=[0,[17,0,0],BB(hl)],eX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],nX=BB(xb),tX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],uX=BB(XC),aX=BB(es),iX=BB(Jv),cX=[0,[17,0,0],BB(hl)],fX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],oX=BB(Uu),sX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vX=BB(XC),lX=BB(es),DX=BB(Jv),bX=[0,[17,0,0],BB(hl)],pX=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],EX=[0,[15,0],BB(ED)],mX=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],FX=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],kX=[0,[17,0,[12,41,0]],BB(fe)],dX=[0,[15,0],BB(ED)],hX=BB(lb),yX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_X=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],AX=BB("Flow_ast.Class.Method.kind"),CX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],wX=[0,[17,0,0],BB(hl)],SX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],gX=BB(Mg),BX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],TX=[0,[17,0,0],BB(hl)],IX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],OX=BB(Um),NX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xX=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],LX=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],PX=[0,[17,0,[12,41,0]],BB(fe)],RX=[0,[17,0,0],BB(hl)],MX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],GX=BB(Vu),UX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jX=[0,[9,0,0],BB(Sp)],HX=[0,[17,0,0],BB(hl)],XX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],YX=BB(X),VX=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],KX=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],WX=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],JX=[0,[17,0,0],BB(hl)],qX=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],zX=BB(Uu),$X=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],QX=BB(XC),ZX=BB(es),rY=BB(Jv),eY=[0,[17,0,0],BB(hl)],nY=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],tY=[0,[15,0],BB(ED)],uY=BB("Flow_ast.Class.Method.Constructor"),aY=BB("Flow_ast.Class.Method.Method"),iY=BB("Flow_ast.Class.Method.Get"),cY=BB("Flow_ast.Class.Method.Set"),fY=[0,[15,0],BB(ED)],oY=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],sY=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],vY=[0,[17,0,[12,41,0]],BB(fe)],lY=[0,[15,0],BB(ED)],DY=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],bY=BB("Flow_ast.Comment.kind"),pY=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],EY=[0,[17,0,0],BB(hl)],mY=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],FY=BB("text"),kY=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],dY=[0,[3,0,0],BB(Yy)],hY=[0,[17,0,0],BB(hl)],yY=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_Y=BB("on_newline"),AY=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],CY=[0,[9,0,0],BB(Sp)],wY=[0,[17,0,0],BB(hl)],SY=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],gY=[0,[15,0],BB(ED)],BY=BB("Flow_ast.Comment.Line"),TY=BB("Flow_ast.Comment.Block"),IY=[0,[15,0],BB(ED)],OY=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],NY=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],xY=[0,[17,0,[12,41,0]],BB(fe)],LY=[0,[15,0],BB(ED)],PY=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Object"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Object@ ")],RY=[0,[17,0,[12,41,0]],BB(fe)],MY=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Array"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Array@ ")],GY=[0,[17,0,[12,41,0]],BB(fe)],UY=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Identifier@ ")],jY=[0,[17,0,[12,41,0]],BB(fe)],HY=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Expression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Expression@ ")],XY=[0,[17,0,[12,41,0]],BB(fe)],YY=[0,[15,0],BB(ED)],VY=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],KY=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],WY=[0,[17,0,[12,41,0]],BB(fe)],JY=[0,[15,0],BB(ED)],qY=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],zY=BB("Flow_ast.Pattern.Identifier.name"),$Y=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],QY=[0,[17,0,0],BB(hl)],ZY=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],rV=BB($u),eV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],nV=[0,[17,0,0],BB(hl)],tV=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],uV=BB(kl),aV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],iV=[0,[9,0,0],BB(Sp)],cV=[0,[17,0,0],BB(hl)],fV=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],oV=[0,[15,0],BB(ED)],sV=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],vV=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],lV=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],DV=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],bV=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],pV=BB("Flow_ast.Pattern.Array.elements"),EV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mV=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],FV=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],kV=[0,[17,0,0],BB(hl)],dV=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],hV=BB($u),yV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_V=[0,[17,0,0],BB(hl)],AV=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],CV=BB(Uu),wV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],SV=BB(XC),gV=BB(es),BV=BB(Jv),TV=[0,[17,0,0],BB(hl)],IV=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],OV=[0,[15,0],BB(ED)],NV=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Array.Element"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Array.Element@ ")],xV=[0,[17,0,[12,41,0]],BB(fe)],LV=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Array.RestElement"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Array.RestElement@ ")],PV=[0,[17,0,[12,41,0]],BB(fe)],RV=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Array.Hole"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Array.Hole@ ")],MV=[0,[17,0,[12,41,0]],BB(fe)],GV=[0,[15,0],BB(ED)],UV=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],jV=BB("Flow_ast.Pattern.Array.Element.argument"),HV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],XV=[0,[17,0,0],BB(hl)],YV=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],VV=BB(Z_),KV=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],WV=BB(XC),JV=BB(es),qV=BB(Jv),zV=[0,[17,0,0],BB(hl)],$V=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],QV=[0,[15,0],BB(ED)],ZV=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],rK=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],eK=[0,[17,0,[12,41,0]],BB(fe)],nK=[0,[15,0],BB(ED)],tK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],uK=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],aK=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],iK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],cK=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],fK=BB("Flow_ast.Pattern.Object.properties"),oK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],sK=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],vK=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],lK=[0,[17,0,0],BB(hl)],DK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],bK=BB($u),pK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],EK=[0,[17,0,0],BB(hl)],mK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],FK=BB(Uu),kK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],dK=BB(XC),hK=BB(es),yK=BB(Jv),_K=[0,[17,0,0],BB(hl)],AK=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],CK=[0,[15,0],BB(ED)],wK=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Object.Property"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Object.Property@ ")],SK=[0,[17,0,[12,41,0]],BB(fe)],gK=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Object.RestElement"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Object.RestElement@ ")],BK=[0,[17,0,[12,41,0]],BB(fe)],TK=[0,[15,0],BB(ED)],IK=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],OK=BB("Flow_ast.Pattern.Object.Property.key"),NK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xK=[0,[17,0,0],BB(hl)],LK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],PK=BB(Mb),RK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],MK=[0,[17,0,0],BB(hl)],GK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],UK=BB(Z_),jK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],HK=BB(XC),XK=BB(es),YK=BB(Jv),VK=[0,[17,0,0],BB(hl)],KK=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],WK=BB(fy),JK=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qK=[0,[9,0,0],BB(Sp)],zK=[0,[17,0,0],BB(hl)],$K=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],QK=[0,[15,0],BB(ED)],ZK=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],rW=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],eW=[0,[17,0,[12,41,0]],BB(fe)],nW=[0,[15,0],BB(ED)],tW=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Object.Property.Literal"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Object.Property.Literal@ ")],uW=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],aW=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],iW=[0,[17,0,[12,41,0]],BB(fe)],cW=[0,[17,0,[12,41,0]],BB(fe)],fW=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Object.Property.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ ")],oW=[0,[17,0,[12,41,0]],BB(fe)],sW=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Pattern.Object.Property.Computed"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Pattern.Object.Property.Computed@ ")],vW=[0,[17,0,[12,41,0]],BB(fe)],lW=[0,[15,0],BB(ED)],DW=BB(lb),bW=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],pW=BB("Flow_ast.Pattern.RestElement.argument"),EW=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mW=[0,[17,0,0],BB(hl)],FW=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kW=BB(Uu),dW=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hW=BB(XC),yW=BB(es),_W=BB(Jv),AW=[0,[17,0,0],BB(hl)],CW=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],wW=[0,[15,0],BB(ED)],SW=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],gW=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],BW=[0,[17,0,[12,41,0]],BB(fe)],TW=[0,[15,0],BB(ED)],IW=BB(lb),OW=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],NW=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],xW=BB("Flow_ast.JSX.frag_opening_element"),LW=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],PW=[0,[17,0,0],BB(hl)],RW=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],MW=BB("frag_closing_element"),GW=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],UW=[0,[17,0,0],BB(hl)],jW=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],HW=BB("frag_children"),XW=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],YW=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],VW=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],KW=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],WW=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],JW=[0,[17,0,[12,41,0]],BB(fe)],qW=[0,[17,0,0],BB(hl)],zW=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$W=BB("frag_comments"),QW=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ZW=BB(XC),rJ=BB(es),eJ=BB(Jv),nJ=[0,[17,0,0],BB(hl)],tJ=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],uJ=[0,[15,0],BB(ED)],aJ=BB(lb),iJ=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],cJ=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],fJ=BB("Flow_ast.JSX.opening_element"),oJ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],sJ=[0,[17,0,0],BB(hl)],vJ=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lJ=BB("closing_element"),DJ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bJ=BB(XC),pJ=BB(es),EJ=BB(Jv),mJ=[0,[17,0,0],BB(hl)],FJ=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kJ=BB(a),dJ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hJ=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],yJ=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],_J=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],AJ=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],CJ=[0,[17,0,[12,41,0]],BB(fe)],wJ=[0,[17,0,0],BB(hl)],SJ=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],gJ=BB(Uu),BJ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],TJ=BB(XC),IJ=BB(es),OJ=BB(Jv),NJ=[0,[17,0,0],BB(hl)],xJ=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],LJ=[0,[15,0],BB(ED)],PJ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Element"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Element@ ")],RJ=[0,[17,0,[12,41,0]],BB(fe)],MJ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Fragment"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Fragment@ ")],GJ=[0,[17,0,[12,41,0]],BB(fe)],UJ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.ExpressionContainer"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.ExpressionContainer@ ")],jJ=[0,[17,0,[12,41,0]],BB(fe)],HJ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.SpreadChild"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.SpreadChild@ ")],XJ=[0,[17,0,[12,41,0]],BB(fe)],YJ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Text"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Text@ ")],VJ=[0,[17,0,[12,41,0]],BB(fe)],KJ=[0,[15,0],BB(ED)],WJ=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],JJ=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],qJ=[0,[17,0,[12,41,0]],BB(fe)],zJ=[0,[15,0],BB(ED)],$J=BB(lb),QJ=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ZJ=BB("Flow_ast.JSX.SpreadChild.expression"),rq=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],eq=[0,[17,0,0],BB(hl)],nq=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],tq=BB(Uu),uq=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],aq=BB(XC),iq=BB(es),cq=BB(Jv),fq=[0,[17,0,0],BB(hl)],oq=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],sq=[0,[15,0],BB(ED)],vq=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],lq=BB("Flow_ast.JSX.Closing.name"),Dq=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bq=[0,[17,0,0],BB(hl)],pq=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Eq=[0,[15,0],BB(ED)],mq=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Fq=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],kq=[0,[17,0,[12,41,0]],BB(fe)],dq=[0,[15,0],BB(ED)],hq=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],yq=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],_q=BB("Flow_ast.JSX.Opening.name"),Aq=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Cq=[0,[17,0,0],BB(hl)],wq=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Sq=BB("self_closing"),gq=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Bq=[0,[9,0,0],BB(Sp)],Tq=[0,[17,0,0],BB(hl)],Iq=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Oq=BB(ny),Nq=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xq=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Lq=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Pq=[0,[17,0,0],BB(hl)],Rq=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Mq=[0,[15,0],BB(ED)],Gq=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Opening.Attribute"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Opening.Attribute@ ")],Uq=[0,[17,0,[12,41,0]],BB(fe)],jq=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Opening.SpreadAttribute"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ ")],Hq=[0,[17,0,[12,41,0]],BB(fe)],Xq=[0,[15,0],BB(ED)],Yq=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Vq=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Kq=[0,[17,0,[12,41,0]],BB(fe)],Wq=[0,[15,0],BB(ED)],Jq=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Identifier@ ")],qq=[0,[17,0,[12,41,0]],BB(fe)],zq=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.NamespacedName"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.NamespacedName@ ")],$q=[0,[17,0,[12,41,0]],BB(fe)],Qq=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.MemberExpression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.MemberExpression@ ")],Zq=[0,[17,0,[12,41,0]],BB(fe)],rz=[0,[15,0],BB(ED)],ez=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],nz=BB("Flow_ast.JSX.MemberExpression._object"),tz=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],uz=[0,[17,0,0],BB(hl)],az=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],iz=BB(lC),cz=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fz=[0,[17,0,0],BB(hl)],oz=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],sz=[0,[15,0],BB(ED)],vz=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.MemberExpression.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ ")],lz=[0,[17,0,[12,41,0]],BB(fe)],Dz=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.MemberExpression.MemberExpression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ ")],bz=[0,[17,0,[12,41,0]],BB(fe)],pz=[0,[15,0],BB(ED)],Ez=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],mz=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Fz=[0,[17,0,[12,41,0]],BB(fe)],kz=[0,[15,0],BB(ED)],dz=BB(lb),hz=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],yz=BB("Flow_ast.JSX.SpreadAttribute.argument"),_z=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Az=[0,[17,0,0],BB(hl)],Cz=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wz=BB(Uu),Sz=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gz=BB(XC),Bz=BB(es),Tz=BB(Jv),Iz=[0,[17,0,0],BB(hl)],Oz=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Nz=[0,[15,0],BB(ED)],xz=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Lz=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Pz=[0,[17,0,[12,41,0]],BB(fe)],Rz=[0,[15,0],BB(ED)],Mz=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Gz=BB("Flow_ast.JSX.Attribute.name"),Uz=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jz=[0,[17,0,0],BB(hl)],Hz=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Xz=BB(Um),Yz=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Vz=BB(XC),Kz=BB(es),Wz=BB(Jv),Jz=[0,[17,0,0],BB(hl)],qz=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],zz=[0,[15,0],BB(ED)],$z=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Attribute.Literal ("),[17,[0,BB(Go),0,0],0]]]],BB("(@[<2>Flow_ast.JSX.Attribute.Literal (@,")],Qz=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Zz=[0,[17,[0,BB(Go),0,0],[11,BB("))"),[17,0,0]]],BB(Mt)],r$=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Attribute.ExpressionContainer ("),[17,[0,BB(Go),0,0],0]]]],BB("(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,")],e$=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],n$=[0,[17,[0,BB(Go),0,0],[11,BB("))"),[17,0,0]]],BB(Mt)],t$=[0,[15,0],BB(ED)],u$=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Attribute.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Attribute.Identifier@ ")],a$=[0,[17,0,[12,41,0]],BB(fe)],i$=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.Attribute.NamespacedName"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ ")],c$=[0,[17,0,[12,41,0]],BB(fe)],f$=[0,[15,0],BB(ED)],o$=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],s$=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],v$=[0,[17,0,[12,41,0]],BB(fe)],l$=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],D$=BB("Flow_ast.JSX.Text.value"),b$=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],p$=[0,[3,0,0],BB(Yy)],E$=[0,[17,0,0],BB(hl)],m$=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],F$=BB(Be),k$=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],d$=[0,[3,0,0],BB(Yy)],h$=[0,[17,0,0],BB(hl)],y$=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],_$=[0,[15,0],BB(ED)],A$=[0,[15,0],BB(ED)],C$=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.JSX.ExpressionContainer.Expression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ ")],w$=[0,[17,0,[12,41,0]],BB(fe)],S$=BB("Flow_ast.JSX.ExpressionContainer.EmptyExpression"),g$=[0,[15,0],BB(ED)],B$=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],T$=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],I$=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],O$=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],N$=BB("Flow_ast.JSX.ExpressionContainer.expression"),x$=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],L$=[0,[17,0,0],BB(hl)],P$=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],R$=BB(Uu),M$=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],G$=BB(XC),U$=BB(es),j$=BB(Jv),H$=[0,[17,0,0],BB(hl)],X$=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Y$=[0,[15,0],BB(ED)],V$=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],K$=BB("Flow_ast.JSX.NamespacedName.namespace"),W$=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],J$=[0,[17,0,0],BB(hl)],q$=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],z$=BB($v),$$=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Q$=[0,[17,0,0],BB(hl)],Z$=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],rQ=[0,[15,0],BB(ED)],eQ=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],nQ=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],tQ=[0,[17,0,[12,41,0]],BB(fe)],uQ=[0,[15,0],BB(ED)],aQ=BB(lb),iQ=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],cQ=BB("Flow_ast.JSX.Identifier.name"),fQ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],oQ=[0,[3,0,0],BB(Yy)],sQ=[0,[17,0,0],BB(hl)],vQ=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lQ=BB(Uu),DQ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bQ=BB(XC),pQ=BB(es),EQ=BB(Jv),mQ=[0,[17,0,0],BB(hl)],FQ=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],kQ=[0,[15,0],BB(ED)],dQ=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],hQ=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],yQ=[0,[17,0,[12,41,0]],BB(fe)],_Q=[0,[15,0],BB(ED)],AQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Array"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Array@ ")],CQ=[0,[17,0,[12,41,0]],BB(fe)],wQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.ArrowFunction"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.ArrowFunction@ ")],SQ=[0,[17,0,[12,41,0]],BB(fe)],gQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Assignment"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Assignment@ ")],BQ=[0,[17,0,[12,41,0]],BB(fe)],TQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Binary"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Binary@ ")],IQ=[0,[17,0,[12,41,0]],BB(fe)],OQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Call"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Call@ ")],NQ=[0,[17,0,[12,41,0]],BB(fe)],xQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Class"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Class@ ")],LQ=[0,[17,0,[12,41,0]],BB(fe)],PQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Comprehension"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Comprehension@ ")],RQ=[0,[17,0,[12,41,0]],BB(fe)],MQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Conditional"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Conditional@ ")],GQ=[0,[17,0,[12,41,0]],BB(fe)],UQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Function"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Function@ ")],jQ=[0,[17,0,[12,41,0]],BB(fe)],HQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Generator"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Generator@ ")],XQ=[0,[17,0,[12,41,0]],BB(fe)],YQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Identifier@ ")],VQ=[0,[17,0,[12,41,0]],BB(fe)],KQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Import"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Import@ ")],WQ=[0,[17,0,[12,41,0]],BB(fe)],JQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.JSXElement"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.JSXElement@ ")],qQ=[0,[17,0,[12,41,0]],BB(fe)],zQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.JSXFragment"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.JSXFragment@ ")],$Q=[0,[17,0,[12,41,0]],BB(fe)],QQ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Literal"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Literal@ ")],ZQ=[0,[17,0,[12,41,0]],BB(fe)],rZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Logical"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Logical@ ")],eZ=[0,[17,0,[12,41,0]],BB(fe)],nZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Member"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Member@ ")],tZ=[0,[17,0,[12,41,0]],BB(fe)],uZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.MetaProperty"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.MetaProperty@ ")],aZ=[0,[17,0,[12,41,0]],BB(fe)],iZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.New"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.New@ ")],cZ=[0,[17,0,[12,41,0]],BB(fe)],fZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object@ ")],oZ=[0,[17,0,[12,41,0]],BB(fe)],sZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.OptionalCall"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.OptionalCall@ ")],vZ=[0,[17,0,[12,41,0]],BB(fe)],lZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.OptionalMember"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.OptionalMember@ ")],DZ=[0,[17,0,[12,41,0]],BB(fe)],bZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Sequence"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Sequence@ ")],pZ=[0,[17,0,[12,41,0]],BB(fe)],EZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Super"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Super@ ")],mZ=[0,[17,0,[12,41,0]],BB(fe)],FZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.TaggedTemplate"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.TaggedTemplate@ ")],kZ=[0,[17,0,[12,41,0]],BB(fe)],dZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.TemplateLiteral"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.TemplateLiteral@ ")],hZ=[0,[17,0,[12,41,0]],BB(fe)],yZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.This"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.This@ ")],_Z=[0,[17,0,[12,41,0]],BB(fe)],AZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.TypeCast"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.TypeCast@ ")],CZ=[0,[17,0,[12,41,0]],BB(fe)],wZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Unary"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Unary@ ")],SZ=[0,[17,0,[12,41,0]],BB(fe)],gZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Update"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Update@ ")],BZ=[0,[17,0,[12,41,0]],BB(fe)],TZ=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Yield"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Yield@ ")],IZ=[0,[17,0,[12,41,0]],BB(fe)],OZ=[0,[15,0],BB(ED)],NZ=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],xZ=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],LZ=[0,[17,0,[12,41,0]],BB(fe)],PZ=[0,[15,0],BB(ED)],RZ=BB(lb),MZ=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],GZ=BB("Flow_ast.Expression.Import.argument"),UZ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jZ=[0,[17,0,0],BB(hl)],HZ=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],XZ=BB(Uu),YZ=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VZ=BB(XC),KZ=BB(es),WZ=BB(Jv),JZ=[0,[17,0,0],BB(hl)],qZ=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],zZ=[0,[15,0],BB(ED)],$Z=BB(lb),QZ=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ZZ=BB("Flow_ast.Expression.Super.comments"),r0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],e0=BB(XC),n0=BB(es),t0=BB(Jv),u0=[0,[17,0,0],BB(hl)],a0=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],i0=[0,[15,0],BB(ED)],c0=BB(lb),f0=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],o0=BB("Flow_ast.Expression.This.comments"),s0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],v0=BB(XC),l0=BB(es),D0=BB(Jv),b0=[0,[17,0,0],BB(hl)],p0=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],E0=[0,[15,0],BB(ED)],m0=BB(lb),F0=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],k0=BB("Flow_ast.Expression.MetaProperty.meta"),d0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],h0=[0,[17,0,0],BB(hl)],y0=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_0=BB(lC),A0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],C0=[0,[17,0,0],BB(hl)],w0=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],S0=BB(Uu),g0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],B0=BB(XC),T0=BB(es),I0=BB(Jv),O0=[0,[17,0,0],BB(hl)],N0=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],x0=[0,[15,0],BB(ED)],L0=BB(lb),P0=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],R0=BB("Flow_ast.Expression.TypeCast.expression"),M0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],G0=[0,[17,0,0],BB(hl)],U0=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],j0=BB($u),H0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],X0=[0,[17,0,0],BB(hl)],Y0=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],V0=BB(Uu),K0=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],W0=BB(XC),J0=BB(es),q0=BB(Jv),z0=[0,[17,0,0],BB(hl)],$0=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Q0=[0,[15,0],BB(ED)],Z0=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],r1=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],e1=BB("Flow_ast.Expression.Generator.blocks"),n1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],t1=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],u1=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],a1=[0,[17,0,0],BB(hl)],i1=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],c1=BB(Gn),f1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],o1=BB(XC),s1=BB(es),v1=BB(Jv),l1=[0,[17,0,0],BB(hl)],D1=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],b1=[0,[15,0],BB(ED)],p1=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],E1=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],m1=BB("Flow_ast.Expression.Comprehension.blocks"),F1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],k1=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],d1=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],h1=[0,[17,0,0],BB(hl)],y1=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_1=BB(Gn),A1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],C1=BB(XC),w1=BB(es),S1=BB(Jv),g1=[0,[17,0,0],BB(hl)],B1=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],T1=[0,[15,0],BB(ED)],I1=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],O1=BB("Flow_ast.Expression.Comprehension.Block.left"),N1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],x1=[0,[17,0,0],BB(hl)],L1=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],P1=BB(uu),R1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],M1=[0,[17,0,0],BB(hl)],G1=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],U1=BB(Sv),j1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],H1=[0,[9,0,0],BB(Sp)],X1=[0,[17,0,0],BB(hl)],Y1=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],V1=[0,[15,0],BB(ED)],K1=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],W1=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],J1=[0,[17,0,[12,41,0]],BB(fe)],q1=[0,[15,0],BB(ED)],z1=BB(lb),$1=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Q1=BB("Flow_ast.Expression.Yield.argument"),Z1=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],r3=BB(XC),e3=BB(es),n3=BB(Jv),t3=[0,[17,0,0],BB(hl)],u3=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],a3=BB(Uu),i3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],c3=BB(XC),f3=BB(es),o3=BB(Jv),s3=[0,[17,0,0],BB(hl)],v3=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],l3=BB(gh),D3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],b3=[0,[9,0,0],BB(Sp)],p3=[0,[17,0,0],BB(hl)],E3=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],m3=[0,[15,0],BB(ED)],F3=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],k3=BB("Flow_ast.Expression.OptionalMember.member"),d3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],h3=[0,[17,0,0],BB(hl)],y3=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_3=BB(kl),A3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],C3=[0,[9,0,0],BB(Sp)],w3=[0,[17,0,0],BB(hl)],S3=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],g3=[0,[15,0],BB(ED)],B3=BB(lb),T3=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],I3=BB("Flow_ast.Expression.Member._object"),O3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],N3=[0,[17,0,0],BB(hl)],x3=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],L3=BB(lC),P3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],R3=[0,[17,0,0],BB(hl)],M3=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],G3=BB(Uu),U3=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],j3=BB(XC),H3=BB(es),X3=BB(Jv),Y3=[0,[17,0,0],BB(hl)],V3=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],K3=[0,[15,0],BB(ED)],W3=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Member.PropertyIdentifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ ")],J3=[0,[17,0,[12,41,0]],BB(fe)],q3=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Member.PropertyPrivateName"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ ")],z3=[0,[17,0,[12,41,0]],BB(fe)],$3=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Member.PropertyExpression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Member.PropertyExpression@ ")],Q3=[0,[17,0,[12,41,0]],BB(fe)],Z3=[0,[15,0],BB(ED)],r4=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],e4=BB("Flow_ast.Expression.OptionalCall.call"),n4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],t4=[0,[17,0,0],BB(hl)],u4=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],a4=BB(kl),i4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],c4=[0,[9,0,0],BB(Sp)],f4=[0,[17,0,0],BB(hl)],o4=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],s4=[0,[15,0],BB(ED)],v4=BB(lb),l4=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],D4=BB("Flow_ast.Expression.Call.callee"),b4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],p4=[0,[17,0,0],BB(hl)],E4=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],m4=BB(__),F4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],k4=BB(XC),d4=BB(es),h4=BB(Jv),y4=[0,[17,0,0],BB(hl)],_4=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],A4=BB(Gu),C4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],w4=[0,[17,0,0],BB(hl)],S4=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],g4=BB(Uu),B4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],T4=BB(XC),I4=BB(es),O4=BB(Jv),N4=[0,[17,0,0],BB(hl)],x4=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],L4=[0,[15,0],BB(ED)],P4=BB(lb),R4=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],M4=BB("Flow_ast.Expression.New.callee"),G4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],U4=[0,[17,0,0],BB(hl)],j4=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],H4=BB(__),X4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Y4=BB(XC),V4=BB(es),K4=BB(Jv),W4=[0,[17,0,0],BB(hl)],J4=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],q4=BB(Gu),z4=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$4=BB(XC),Q4=BB(es),Z4=BB(Jv),r7=[0,[17,0,0],BB(hl)],e7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],n7=BB(Uu),t7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],u7=BB(XC),a7=BB(es),i7=BB(Jv),c7=[0,[17,0,0],BB(hl)],f7=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],o7=[0,[15,0],BB(ED)],s7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],v7=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],l7=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],D7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],b7=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],p7=BB("Flow_ast.Expression.ArgList.arguments"),E7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],m7=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],F7=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],k7=[0,[17,0,0],BB(hl)],d7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],h7=BB(Uu),y7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_7=BB(XC),A7=BB(es),C7=BB(Jv),w7=[0,[17,0,0],BB(hl)],S7=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],g7=[0,[15,0],BB(ED)],B7=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],T7=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],I7=[0,[17,0,[12,41,0]],BB(fe)],O7=[0,[15,0],BB(ED)],N7=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Expression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Expression@ ")],x7=[0,[17,0,[12,41,0]],BB(fe)],L7=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Spread"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Spread@ ")],P7=[0,[17,0,[12,41,0]],BB(fe)],R7=[0,[15,0],BB(ED)],M7=BB(lb),G7=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],U7=BB("Flow_ast.Expression.Conditional.test"),j7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],H7=[0,[17,0,0],BB(hl)],X7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Y7=BB(Hb),V7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],K7=[0,[17,0,0],BB(hl)],W7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],J7=BB($E),q7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],z7=[0,[17,0,0],BB(hl)],$7=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Q7=BB(Uu),Z7=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],r2=BB(XC),e2=BB(es),n2=BB(Jv),t2=[0,[17,0,0],BB(hl)],u2=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],a2=[0,[15,0],BB(ED)],i2=BB(lb),c2=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],f2=BB("Flow_ast.Expression.Logical.operator"),o2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],s2=[0,[17,0,0],BB(hl)],v2=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],l2=BB(cf),D2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],b2=[0,[17,0,0],BB(hl)],p2=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],E2=BB(uu),m2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],F2=[0,[17,0,0],BB(hl)],k2=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],d2=BB(Uu),h2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],y2=BB(XC),_2=BB(es),A2=BB(Jv),C2=[0,[17,0,0],BB(hl)],w2=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],S2=[0,[15,0],BB(ED)],g2=BB("Flow_ast.Expression.Logical.Or"),B2=BB("Flow_ast.Expression.Logical.And"),T2=BB("Flow_ast.Expression.Logical.NullishCoalesce"),I2=[0,[15,0],BB(ED)],O2=BB(lb),N2=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],x2=BB("Flow_ast.Expression.Update.operator"),L2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],P2=[0,[17,0,0],BB(hl)],R2=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],M2=BB(vA),G2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],U2=[0,[17,0,0],BB(hl)],j2=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],H2=BB(BD),X2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Y2=[0,[9,0,0],BB(Sp)],V2=[0,[17,0,0],BB(hl)],K2=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],W2=BB(Uu),J2=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],q2=BB(XC),z2=BB(es),$2=BB(Jv),Q2=[0,[17,0,0],BB(hl)],Z2=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],r5=[0,[15,0],BB(ED)],e5=BB("Flow_ast.Expression.Update.Decrement"),n5=BB("Flow_ast.Expression.Update.Increment"),t5=[0,[15,0],BB(ED)],u5=BB(lb),a5=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],i5=BB("Flow_ast.Expression.Assignment.operator"),c5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],f5=BB(XC),o5=BB(es),s5=BB(Jv),v5=[0,[17,0,0],BB(hl)],l5=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],D5=BB(cf),b5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],p5=[0,[17,0,0],BB(hl)],E5=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],m5=BB(uu),F5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],k5=[0,[17,0,0],BB(hl)],d5=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],h5=BB(Uu),y5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_5=BB(XC),A5=BB(es),C5=BB(Jv),w5=[0,[17,0,0],BB(hl)],S5=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],g5=[0,[15,0],BB(ED)],B5=BB("Flow_ast.Expression.Assignment.PlusAssign"),T5=BB("Flow_ast.Expression.Assignment.MinusAssign"),I5=BB("Flow_ast.Expression.Assignment.MultAssign"),O5=BB("Flow_ast.Expression.Assignment.ExpAssign"),N5=BB("Flow_ast.Expression.Assignment.DivAssign"),x5=BB("Flow_ast.Expression.Assignment.ModAssign"),L5=BB("Flow_ast.Expression.Assignment.LShiftAssign"),P5=BB("Flow_ast.Expression.Assignment.RShiftAssign"),R5=BB("Flow_ast.Expression.Assignment.RShift3Assign"),M5=BB("Flow_ast.Expression.Assignment.BitOrAssign"),G5=BB("Flow_ast.Expression.Assignment.BitXorAssign"),U5=BB("Flow_ast.Expression.Assignment.BitAndAssign"),j5=[0,[15,0],BB(ED)],H5=BB(lb),X5=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Y5=BB("Flow_ast.Expression.Binary.operator"),V5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],K5=[0,[17,0,0],BB(hl)],W5=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],J5=BB(cf),q5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],z5=[0,[17,0,0],BB(hl)],$5=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Q5=BB(uu),Z5=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],r6=[0,[17,0,0],BB(hl)],e6=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],n6=BB(Uu),t6=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],u6=BB(XC),a6=BB(es),i6=BB(Jv),c6=[0,[17,0,0],BB(hl)],f6=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],o6=[0,[15,0],BB(ED)],s6=BB("Flow_ast.Expression.Binary.Equal"),v6=BB("Flow_ast.Expression.Binary.NotEqual"),l6=BB("Flow_ast.Expression.Binary.StrictEqual"),D6=BB("Flow_ast.Expression.Binary.StrictNotEqual"),b6=BB("Flow_ast.Expression.Binary.LessThan"),p6=BB("Flow_ast.Expression.Binary.LessThanEqual"),E6=BB("Flow_ast.Expression.Binary.GreaterThan"),m6=BB("Flow_ast.Expression.Binary.GreaterThanEqual"),F6=BB("Flow_ast.Expression.Binary.LShift"),k6=BB("Flow_ast.Expression.Binary.RShift"),d6=BB("Flow_ast.Expression.Binary.RShift3"),h6=BB("Flow_ast.Expression.Binary.Plus"),y6=BB("Flow_ast.Expression.Binary.Minus"),_6=BB("Flow_ast.Expression.Binary.Mult"),A6=BB("Flow_ast.Expression.Binary.Exp"),C6=BB("Flow_ast.Expression.Binary.Div"),w6=BB("Flow_ast.Expression.Binary.Mod"),S6=BB("Flow_ast.Expression.Binary.BitOr"),g6=BB("Flow_ast.Expression.Binary.Xor"),B6=BB("Flow_ast.Expression.Binary.BitAnd"),T6=BB("Flow_ast.Expression.Binary.In"),I6=BB("Flow_ast.Expression.Binary.Instanceof"),O6=[0,[15,0],BB(ED)],N6=BB(lb),x6=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],L6=BB("Flow_ast.Expression.Unary.operator"),P6=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],R6=[0,[17,0,0],BB(hl)],M6=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],G6=BB(vA),U6=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],j6=[0,[17,0,0],BB(hl)],H6=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],X6=BB(Uu),Y6=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],V6=BB(XC),K6=BB(es),W6=BB(Jv),J6=[0,[17,0,0],BB(hl)],q6=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],z6=[0,[15,0],BB(ED)],$6=BB("Flow_ast.Expression.Unary.Minus"),Q6=BB("Flow_ast.Expression.Unary.Plus"),Z6=BB("Flow_ast.Expression.Unary.Not"),r8=BB("Flow_ast.Expression.Unary.BitNot"),e8=BB("Flow_ast.Expression.Unary.Typeof"),n8=BB("Flow_ast.Expression.Unary.Void"),t8=BB("Flow_ast.Expression.Unary.Delete"),u8=BB("Flow_ast.Expression.Unary.Await"),a8=[0,[15,0],BB(ED)],i8=BB(lb),c8=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],f8=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],o8=BB("Flow_ast.Expression.Sequence.expressions"),s8=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],v8=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],l8=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],D8=[0,[17,0,0],BB(hl)],b8=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],p8=BB(Uu),E8=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],m8=BB(XC),F8=BB(es),k8=BB(Jv),d8=[0,[17,0,0],BB(hl)],h8=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],y8=[0,[15,0],BB(ED)],_8=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],A8=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],C8=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],w8=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],S8=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],g8=BB("Flow_ast.Expression.Object.properties"),B8=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],T8=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],I8=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],O8=[0,[17,0,0],BB(hl)],N8=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],x8=BB(Uu),L8=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],P8=BB(XC),R8=BB(es),M8=BB(Jv),G8=[0,[17,0,0],BB(hl)],U8=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],j8=[0,[15,0],BB(ED)],H8=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object.Property@ ")],X8=[0,[17,0,[12,41,0]],BB(fe)],Y8=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.SpreadProperty"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object.SpreadProperty@ ")],V8=[0,[17,0,[12,41,0]],BB(fe)],K8=[0,[15,0],BB(ED)],W8=BB(lb),J8=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],q8=BB("Flow_ast.Expression.Object.SpreadProperty.argument"),z8=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$8=[0,[17,0,0],BB(hl)],Q8=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Z8=BB(Uu),r9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],e9=BB(XC),n9=BB(es),t9=BB(Jv),u9=[0,[17,0,0],BB(hl)],a9=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],i9=[0,[15,0],BB(ED)],c9=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],f9=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],o9=[0,[17,0,[12,41,0]],BB(fe)],s9=[0,[15,0],BB(ED)],v9=BB(lb),l9=BB(lb),D9=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Init {"),[17,[0,BB(Go),0,0],0]]],BB("@[<2>Flow_ast.Expression.Object.Property.Init {@,")],b9=BB(Mg),p9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],E9=[0,[17,0,0],BB(hl)],m9=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],F9=BB(Um),k9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],d9=[0,[17,0,0],BB(hl)],h9=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],y9=BB(fy),_9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],A9=[0,[9,0,0],BB(Sp)],C9=[0,[17,0,0],BB(hl)],w9=[0,[17,0,[12,PF,0]],BB(HC)],S9=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Method {"),[17,[0,BB(Go),0,0],0]]],BB("@[<2>Flow_ast.Expression.Object.Property.Method {@,")],g9=BB(Mg),B9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],T9=[0,[17,0,0],BB(hl)],I9=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],O9=BB(Um),N9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],x9=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],L9=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],P9=[0,[17,0,[12,41,0]],BB(fe)],R9=[0,[17,0,0],BB(hl)],M9=[0,[17,0,[12,PF,0]],BB(HC)],G9=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Get {"),[17,[0,BB(Go),0,0],0]]],BB("@[<2>Flow_ast.Expression.Object.Property.Get {@,")],U9=BB(Mg),j9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],H9=[0,[17,0,0],BB(hl)],X9=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Y9=BB(Um),V9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],K9=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],W9=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],J9=[0,[17,0,[12,41,0]],BB(fe)],q9=[0,[17,0,0],BB(hl)],z9=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$9=BB(Uu),Q9=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Z9=BB(XC),rrr=BB(es),err=BB(Jv),nrr=[0,[17,0,0],BB(hl)],trr=[0,[17,0,[12,PF,0]],BB(HC)],urr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Set {"),[17,[0,BB(Go),0,0],0]]],BB("@[<2>Flow_ast.Expression.Object.Property.Set {@,")],arr=BB(Mg),irr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],crr=[0,[17,0,0],BB(hl)],frr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],orr=BB(Um),srr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vrr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],lrr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Drr=[0,[17,0,[12,41,0]],BB(fe)],brr=[0,[17,0,0],BB(hl)],prr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Err=BB(Uu),mrr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Frr=BB(XC),krr=BB(es),drr=BB(Jv),hrr=[0,[17,0,0],BB(hl)],yrr=[0,[17,0,[12,PF,0]],BB(HC)],_rr=[0,[15,0],BB(ED)],Arr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Crr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],wrr=[0,[17,0,[12,41,0]],BB(fe)],Srr=[0,[15,0],BB(ED)],grr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Literal"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object.Property.Literal@ ")],Brr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Trr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Irr=[0,[17,0,[12,41,0]],BB(fe)],Orr=[0,[17,0,[12,41,0]],BB(fe)],Nrr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object.Property.Identifier@ ")],xrr=[0,[17,0,[12,41,0]],BB(fe)],Lrr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.PrivateName"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ ")],Prr=[0,[17,0,[12,41,0]],BB(fe)],Rrr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Object.Property.Computed"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Object.Property.Computed@ ")],Mrr=[0,[17,0,[12,41,0]],BB(fe)],Grr=[0,[15,0],BB(ED)],Urr=BB(lb),jrr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Hrr=BB("Flow_ast.Expression.TaggedTemplate.tag"),Xrr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Yrr=[0,[17,0,0],BB(hl)],Vrr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Krr=BB(Xy),Wrr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Jrr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],qrr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],zrr=[0,[17,0,[12,41,0]],BB(fe)],$rr=[0,[17,0,0],BB(hl)],Qrr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Zrr=BB(Uu),rer=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],eer=BB(XC),ner=BB(es),ter=BB(Jv),uer=[0,[17,0,0],BB(hl)],aer=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ier=[0,[15,0],BB(ED)],cer=BB(lb),fer=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],oer=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ser=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ver=BB("Flow_ast.Expression.TemplateLiteral.quasis"),ler=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Der=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],ber=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],per=[0,[17,0,0],BB(hl)],Eer=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],mer=BB(tF),Fer=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ker=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],der=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],her=[0,[17,0,0],BB(hl)],yer=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_er=BB(Uu),Aer=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Cer=BB(XC),wer=BB(es),Ser=BB(Jv),ger=[0,[17,0,0],BB(hl)],Ber=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Ter=[0,[15,0],BB(ED)],Ier=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Oer=BB("Flow_ast.Expression.TemplateLiteral.Element.value"),Ner=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xer=[0,[17,0,0],BB(hl)],Ler=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Per=BB(Yr),Rer=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Mer=[0,[9,0,0],BB(Sp)],Ger=[0,[17,0,0],BB(hl)],Uer=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],jer=[0,[15,0],BB(ED)],Her=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Xer=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Yer=[0,[17,0,[12,41,0]],BB(fe)],Ver=[0,[15,0],BB(ED)],Ker=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Wer=BB("Flow_ast.Expression.TemplateLiteral.Element.raw"),Jer=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qer=[0,[3,0,0],BB(Yy)],zer=[0,[17,0,0],BB(hl)],$er=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Qer=BB(oA),Zer=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],rnr=[0,[3,0,0],BB(Yy)],enr=[0,[17,0,0],BB(hl)],nnr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],tnr=[0,[15,0],BB(ED)],unr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],anr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],inr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],cnr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],fnr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],onr=BB("Flow_ast.Expression.Array.elements"),snr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vnr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],lnr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Dnr=[0,[17,0,0],BB(hl)],bnr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],pnr=BB(Uu),Enr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mnr=BB(XC),Fnr=BB(es),knr=BB(Jv),dnr=[0,[17,0,0],BB(hl)],hnr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ynr=[0,[15,0],BB(ED)],_nr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Array.Expression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Array.Expression@ ")],Anr=[0,[17,0,[12,41,0]],BB(fe)],Cnr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Array.Spread"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Array.Spread@ ")],wnr=[0,[17,0,[12,41,0]],BB(fe)],Snr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.Array.Hole"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.Array.Hole@ ")],gnr=[0,[17,0,[12,41,0]],BB(fe)],Bnr=[0,[15,0],BB(ED)],Tnr=BB(lb),Inr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Onr=BB("Flow_ast.Expression.SpreadElement.argument"),Nnr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xnr=[0,[17,0,0],BB(hl)],Lnr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Pnr=BB(Uu),Rnr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Mnr=BB(XC),Gnr=BB(es),Unr=BB(Jv),jnr=[0,[17,0,0],BB(hl)],Hnr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Xnr=[0,[15,0],BB(ED)],Ynr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Vnr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Knr=[0,[17,0,[12,41,0]],BB(fe)],Wnr=[0,[15,0],BB(ED)],Jnr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qnr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],znr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],$nr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Qnr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Znr=BB("Flow_ast.Expression.CallTypeArgs.arguments"),rtr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],etr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],ntr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],ttr=[0,[17,0,0],BB(hl)],utr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],atr=BB(Uu),itr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ctr=BB(XC),ftr=BB(es),otr=BB(Jv),str=[0,[17,0,0],BB(hl)],vtr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ltr=[0,[15,0],BB(ED)],Dtr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],btr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],ptr=[0,[17,0,[12,41,0]],BB(fe)],Etr=[0,[15,0],BB(ED)],mtr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.CallTypeArg.Explicit"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ ")],Ftr=[0,[17,0,[12,41,0]],BB(fe)],ktr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Expression.CallTypeArg.Implicit"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ ")],dtr=[0,[17,0,[12,41,0]],BB(fe)],htr=[0,[15,0],BB(ED)],ytr=BB(lb),_tr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Atr=BB("Flow_ast.Expression.CallTypeArg.Implicit.comments"),Ctr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],wtr=BB(XC),Str=BB(es),gtr=BB(Jv),Btr=[0,[17,0,0],BB(hl)],Ttr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Itr=[0,[15,0],BB(ED)],Otr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Ntr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],xtr=[0,[17,0,[12,41,0]],BB(fe)],Ltr=[0,[15,0],BB(ED)],Ptr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Block"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Block@ ")],Rtr=[0,[17,0,[12,41,0]],BB(fe)],Mtr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Break"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Break@ ")],Gtr=[0,[17,0,[12,41,0]],BB(fe)],Utr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ClassDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ClassDeclaration@ ")],jtr=[0,[17,0,[12,41,0]],BB(fe)],Htr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Continue"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Continue@ ")],Xtr=[0,[17,0,[12,41,0]],BB(fe)],Ytr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Debugger"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Debugger@ ")],Vtr=[0,[17,0,[12,41,0]],BB(fe)],Ktr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareClass"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareClass@ ")],Wtr=[0,[17,0,[12,41,0]],BB(fe)],Jtr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ ")],qtr=[0,[17,0,[12,41,0]],BB(fe)],ztr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareFunction"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareFunction@ ")],$tr=[0,[17,0,[12,41,0]],BB(fe)],Qtr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareInterface"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareInterface@ ")],Ztr=[0,[17,0,[12,41,0]],BB(fe)],rur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareModule"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareModule@ ")],eur=[0,[17,0,[12,41,0]],BB(fe)],nur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareModuleExports"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareModuleExports@ ")],tur=[0,[17,0,[12,41,0]],BB(fe)],uur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareTypeAlias"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareTypeAlias@ ")],aur=[0,[17,0,[12,41,0]],BB(fe)],iur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareOpaqueType"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareOpaqueType@ ")],cur=[0,[17,0,[12,41,0]],BB(fe)],fur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareVariable"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareVariable@ ")],our=[0,[17,0,[12,41,0]],BB(fe)],sur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DoWhile"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DoWhile@ ")],vur=[0,[17,0,[12,41,0]],BB(fe)],lur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Empty"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Empty@ ")],Dur=[0,[17,0,[12,41,0]],BB(fe)],bur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration@ ")],pur=[0,[17,0,[12,41,0]],BB(fe)],Eur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ExportDefaultDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ ")],mur=[0,[17,0,[12,41,0]],BB(fe)],Fur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ExportNamedDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ ")],kur=[0,[17,0,[12,41,0]],BB(fe)],dur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Expression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Expression@ ")],hur=[0,[17,0,[12,41,0]],BB(fe)],yur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.For"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.For@ ")],_ur=[0,[17,0,[12,41,0]],BB(fe)],Aur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ForIn"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ForIn@ ")],Cur=[0,[17,0,[12,41,0]],BB(fe)],wur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ForOf"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ForOf@ ")],Sur=[0,[17,0,[12,41,0]],BB(fe)],gur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.FunctionDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.FunctionDeclaration@ ")],Bur=[0,[17,0,[12,41,0]],BB(fe)],Tur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.If"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.If@ ")],Iur=[0,[17,0,[12,41,0]],BB(fe)],Our=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ImportDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ImportDeclaration@ ")],Nur=[0,[17,0,[12,41,0]],BB(fe)],xur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.InterfaceDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.InterfaceDeclaration@ ")],Lur=[0,[17,0,[12,41,0]],BB(fe)],Pur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Labeled"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Labeled@ ")],Rur=[0,[17,0,[12,41,0]],BB(fe)],Mur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Return"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Return@ ")],Gur=[0,[17,0,[12,41,0]],BB(fe)],Uur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Switch"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Switch@ ")],jur=[0,[17,0,[12,41,0]],BB(fe)],Hur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Throw"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Throw@ ")],Xur=[0,[17,0,[12,41,0]],BB(fe)],Yur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.Try"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.Try@ ")],Vur=[0,[17,0,[12,41,0]],BB(fe)],Kur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.TypeAlias"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.TypeAlias@ ")],Wur=[0,[17,0,[12,41,0]],BB(fe)],Jur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.OpaqueType"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.OpaqueType@ ")],qur=[0,[17,0,[12,41,0]],BB(fe)],zur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.VariableDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.VariableDeclaration@ ")],$ur=[0,[17,0,[12,41,0]],BB(fe)],Qur=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.While"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.While@ ")],Zur=[0,[17,0,[12,41,0]],BB(fe)],rar=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.With"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.With@ ")],ear=[0,[17,0,[12,41,0]],BB(fe)],nar=[0,[15,0],BB(ED)],tar=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],uar=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],aar=[0,[17,0,[12,41,0]],BB(fe)],iar=[0,[15,0],BB(ED)],car=BB("Flow_ast.Statement.ExportValue"),far=BB("Flow_ast.Statement.ExportType"),oar=[0,[15,0],BB(ED)],sar=BB(lb),lar=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Dar=BB("Flow_ast.Statement.Empty.comments"),bar=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],par=BB(XC),Ear=BB(es),mar=BB(Jv),Far=[0,[17,0,0],BB(hl)],kar=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],dar=[0,[15,0],BB(ED)],har=BB(lb),yar=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],_ar=BB("Flow_ast.Statement.Expression.expression"),Aar=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Car=[0,[17,0,0],BB(hl)],war=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Sar=BB(E),gar=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Bar=BB(XC),Tar=[0,[3,0,0],BB(Yy)],Iar=BB(es),Oar=BB(Jv),Nar=[0,[17,0,0],BB(hl)],xar=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Lar=BB(Uu),Par=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Rar=BB(XC),Mar=BB(es),Gar=BB(Jv),Uar=[0,[17,0,0],BB(hl)],jar=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Har=[0,[15,0],BB(ED)],Xar=BB(lb),Yar=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Var=BB("Flow_ast.Statement.ImportDeclaration.import_kind"),Kar=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],War=[0,[17,0,0],BB(hl)],Jar=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qar=BB(gS),zar=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$ar=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Qar=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Zar=[0,[17,0,[12,41,0]],BB(fe)],rir=[0,[17,0,0],BB(hl)],eir=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],nir=BB(Z_),tir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],uir=BB(XC),air=BB(es),iir=BB(Jv),cir=[0,[17,0,0],BB(hl)],fir=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],oir=BB(tB),sir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vir=BB(XC),lir=BB(es),Dir=BB(Jv),bir=[0,[17,0,0],BB(hl)],pir=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Eir=BB(Uu),mir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Fir=BB(XC),kir=BB(es),dir=BB(Jv),hir=[0,[17,0,0],BB(hl)],yir=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],_ir=[0,[15,0],BB(ED)],Air=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Cir=BB("Flow_ast.Statement.ImportDeclaration.kind"),wir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Sir=BB(XC),gir=BB(es),Bir=BB(Jv),Tir=[0,[17,0,0],BB(hl)],Iir=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Oir=BB(Hs),Nir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xir=BB(XC),Lir=BB(es),Pir=BB(Jv),Rir=[0,[17,0,0],BB(hl)],Mir=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Gir=BB("remote"),Uir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jir=[0,[17,0,0],BB(hl)],Hir=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Xir=[0,[15,0],BB(ED)],Yir=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Vir=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ ")],Kir=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Wir=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Jir=[0,[17,0,[12,41,0]],BB(fe)],qir=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ ")],zir=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],$ir=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Qir=[0,[17,0,[12,41,0]],BB(fe)],Zir=[0,[17,0,[12,41,0]],BB(fe)],rcr=[0,[15,0],BB(ED)],ecr=BB("Flow_ast.Statement.ImportDeclaration.ImportType"),ncr=BB("Flow_ast.Statement.ImportDeclaration.ImportTypeof"),tcr=BB("Flow_ast.Statement.ImportDeclaration.ImportValue"),ucr=[0,[15,0],BB(ED)],acr=BB(lb),icr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ccr=BB("Flow_ast.Statement.DeclareExportDeclaration.default"),fcr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ocr=BB(XC),scr=BB(es),vcr=BB(Jv),lcr=[0,[17,0,0],BB(hl)],Dcr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],bcr=BB(Yu),pcr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ecr=BB(XC),mcr=BB(es),Fcr=BB(Jv),kcr=[0,[17,0,0],BB(hl)],dcr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],hcr=BB(tB),ycr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_cr=BB(XC),Acr=BB(es),Ccr=BB(Jv),wcr=[0,[17,0,0],BB(hl)],Scr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],gcr=BB(gS),Bcr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Tcr=BB(XC),Icr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Ocr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Ncr=[0,[17,0,[12,41,0]],BB(fe)],xcr=BB(es),Lcr=BB(Jv),Pcr=[0,[17,0,0],BB(hl)],Rcr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Mcr=BB(Uu),Gcr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ucr=BB(XC),jcr=BB(es),Hcr=BB(Jv),Xcr=[0,[17,0,0],BB(hl)],Ycr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Vcr=[0,[15,0],BB(ED)],Kcr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.Variable"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ ")],Wcr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Jcr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],qcr=[0,[17,0,[12,41,0]],BB(fe)],zcr=[0,[17,0,[12,41,0]],BB(fe)],$cr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.Function"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ ")],Qcr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Zcr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],rfr=[0,[17,0,[12,41,0]],BB(fe)],efr=[0,[17,0,[12,41,0]],BB(fe)],nfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.Class"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ ")],tfr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],ufr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],afr=[0,[17,0,[12,41,0]],BB(fe)],ifr=[0,[17,0,[12,41,0]],BB(fe)],cfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.DefaultType"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ ")],ffr=[0,[17,0,[12,41,0]],BB(fe)],ofr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.NamedType"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ ")],sfr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],vfr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],lfr=[0,[17,0,[12,41,0]],BB(fe)],Dfr=[0,[17,0,[12,41,0]],BB(fe)],bfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ ")],pfr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Efr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],mfr=[0,[17,0,[12,41,0]],BB(fe)],Ffr=[0,[17,0,[12,41,0]],BB(fe)],kfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareExportDeclaration.Interface"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ ")],dfr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],hfr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],yfr=[0,[17,0,[12,41,0]],BB(fe)],_fr=[0,[17,0,[12,41,0]],BB(fe)],Afr=[0,[15,0],BB(ED)],Cfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ExportDefaultDeclaration.Declaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ ")],wfr=[0,[17,0,[12,41,0]],BB(fe)],Sfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ExportDefaultDeclaration.Expression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ ")],gfr=[0,[17,0,[12,41,0]],BB(fe)],Bfr=[0,[15,0],BB(ED)],Tfr=BB(lb),Ifr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Ofr=BB("Flow_ast.Statement.ExportDefaultDeclaration.default"),Nfr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xfr=[0,[17,0,0],BB(hl)],Lfr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Pfr=BB(Yu),Rfr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Mfr=[0,[17,0,0],BB(hl)],Gfr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Ufr=BB(Uu),jfr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Hfr=BB(XC),Xfr=BB(es),Yfr=BB(Jv),Vfr=[0,[17,0,0],BB(hl)],Kfr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Wfr=[0,[15,0],BB(ED)],Jfr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ ")],zfr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],$fr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Qfr=[0,[17,0,[12,41,0]],BB(fe)],Zfr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier@ ")],ror=[0,[17,0,[12,41,0]],BB(fe)],eor=[0,[15,0],BB(ED)],nor=BB(lb),tor=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],uor=BB("Flow_ast.Statement.ExportNamedDeclaration.declaration"),aor=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ior=BB(XC),cor=BB(es),oor=BB(Jv),sor=[0,[17,0,0],BB(hl)],vor=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lor=BB(tB),Dor=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bor=BB(XC),por=BB(es),Eor=BB(Jv),mor=[0,[17,0,0],BB(hl)],For=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kor=BB(gS),dor=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hor=BB(XC),yor=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],_or=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Aor=[0,[17,0,[12,41,0]],BB(fe)],Cor=BB(es),wor=BB(Jv),Sor=[0,[17,0,0],BB(hl)],gor=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Bor=BB("export_kind"),Tor=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ior=[0,[17,0,0],BB(hl)],Oor=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Nor=BB(Uu),xor=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Lor=BB(XC),Por=BB(es),Ror=BB(Jv),Mor=[0,[17,0,0],BB(hl)],Gor=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Uor=[0,[15,0],BB(ED)],jor=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Hor=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Xor=BB(XC),Yor=BB(es),Vor=BB(Jv),Kor=[0,[17,0,[12,41,0]],BB(fe)],Wor=[0,[15,0],BB(ED)],Jor=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],qor=BB("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local"),zor=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$or=[0,[17,0,0],BB(hl)],Qor=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Zor=BB(Kn),rsr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],esr=BB(XC),nsr=BB(es),tsr=BB(Jv),usr=[0,[17,0,0],BB(hl)],asr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],isr=[0,[15,0],BB(ED)],csr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],fsr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],osr=[0,[17,0,[12,41,0]],BB(fe)],ssr=[0,[15,0],BB(ED)],vsr=BB(lb),lsr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Dsr=BB("Flow_ast.Statement.DeclareModuleExports.annot"),bsr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],psr=[0,[17,0,0],BB(hl)],Esr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],msr=BB(Uu),Fsr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ksr=BB(XC),dsr=BB(es),hsr=BB(Jv),ysr=[0,[17,0,0],BB(hl)],_sr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Asr=[0,[15,0],BB(ED)],Csr=BB(lb),wsr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Ssr=BB("Flow_ast.Statement.DeclareModule.id"),gsr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Bsr=[0,[17,0,0],BB(hl)],Tsr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Isr=BB(xk),Osr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Nsr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],xsr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Lsr=[0,[17,0,[12,41,0]],BB(fe)],Psr=[0,[17,0,0],BB(hl)],Rsr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Msr=BB(Xe),Gsr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Usr=[0,[17,0,0],BB(hl)],jsr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Hsr=BB(Uu),Xsr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ysr=BB(XC),Vsr=BB(es),Ksr=BB(Jv),Wsr=[0,[17,0,0],BB(hl)],Jsr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],qsr=[0,[15,0],BB(ED)],zsr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareModule.CommonJS"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareModule.CommonJS@ ")],$sr=[0,[17,0,[12,41,0]],BB(fe)],Qsr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareModule.ES"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareModule.ES@ ")],Zsr=[0,[17,0,[12,41,0]],BB(fe)],rvr=[0,[15,0],BB(ED)],evr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareModule.Identifier"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ ")],nvr=[0,[17,0,[12,41,0]],BB(fe)],tvr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.DeclareModule.Literal"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.DeclareModule.Literal@ ")],uvr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],avr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],ivr=[0,[17,0,[12,41,0]],BB(fe)],cvr=[0,[17,0,[12,41,0]],BB(fe)],fvr=[0,[15,0],BB(ED)],ovr=BB(lb),svr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],vvr=BB("Flow_ast.Statement.DeclareFunction.id"),lvr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Dvr=[0,[17,0,0],BB(hl)],bvr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],pvr=BB($u),Evr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mvr=[0,[17,0,0],BB(hl)],Fvr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kvr=BB(vl),dvr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hvr=BB(XC),yvr=BB(es),_vr=BB(Jv),Avr=[0,[17,0,0],BB(hl)],Cvr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wvr=BB(Uu),Svr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gvr=BB(XC),Bvr=BB(es),Tvr=BB(Jv),Ivr=[0,[17,0,0],BB(hl)],Ovr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Nvr=[0,[15,0],BB(ED)],xvr=BB(lb),Lvr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Pvr=BB("Flow_ast.Statement.DeclareVariable.id"),Rvr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Mvr=[0,[17,0,0],BB(hl)],Gvr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Uvr=BB($u),jvr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Hvr=[0,[17,0,0],BB(hl)],Xvr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Yvr=BB(Uu),Vvr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Kvr=BB(XC),Wvr=BB(es),Jvr=BB(Jv),qvr=[0,[17,0,0],BB(hl)],zvr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],$vr=[0,[15,0],BB(ED)],Qvr=BB(lb),Zvr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],rlr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],elr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],nlr=[0,[17,0,[12,41,0]],BB(fe)],tlr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ulr=BB("Flow_ast.Statement.DeclareClass.id"),alr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ilr=[0,[17,0,0],BB(hl)],clr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],flr=BB(Ar),olr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],slr=BB(XC),vlr=BB(es),llr=BB(Jv),Dlr=[0,[17,0,0],BB(hl)],blr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],plr=BB(xk),Elr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mlr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Flr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],klr=[0,[17,0,[12,41,0]],BB(fe)],dlr=[0,[17,0,0],BB(hl)],hlr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ylr=BB(kb),_lr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Alr=BB(XC),Clr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],wlr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Slr=[0,[17,0,[12,41,0]],BB(fe)],glr=BB(es),Blr=BB(Jv),Tlr=[0,[17,0,0],BB(hl)],Ilr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Olr=BB(sn),Nlr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xlr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Llr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Plr=[0,[17,0,0],BB(hl)],Rlr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Mlr=BB(me),Glr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ulr=BB(XC),jlr=BB(es),Hlr=BB(Jv),Xlr=[0,[17,0,0],BB(hl)],Ylr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Vlr=BB(Uu),Klr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Wlr=BB(XC),Jlr=BB(es),qlr=BB(Jv),zlr=[0,[17,0,0],BB(hl)],$lr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Qlr=[0,[15,0],BB(ED)],Zlr=BB(lb),rDr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],eDr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],nDr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],tDr=[0,[17,0,[12,41,0]],BB(fe)],uDr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],aDr=BB("Flow_ast.Statement.Interface.id"),iDr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],cDr=[0,[17,0,0],BB(hl)],fDr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],oDr=BB(Ar),sDr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vDr=BB(XC),lDr=BB(es),DDr=BB(Jv),bDr=[0,[17,0,0],BB(hl)],pDr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],EDr=BB(kb),mDr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],FDr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],kDr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],dDr=[0,[17,0,0],BB(hl)],hDr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],yDr=BB(xk),_Dr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ADr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],CDr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],wDr=[0,[17,0,[12,41,0]],BB(fe)],SDr=[0,[17,0,0],BB(hl)],gDr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],BDr=BB(Uu),TDr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],IDr=BB(XC),ODr=BB(es),NDr=BB(Jv),xDr=[0,[17,0,0],BB(hl)],LDr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],PDr=[0,[15,0],BB(ED)],RDr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration.BooleanBody"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ ")],MDr=[0,[17,0,[12,41,0]],BB(fe)],GDr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration.NumberBody"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ ")],UDr=[0,[17,0,[12,41,0]],BB(fe)],jDr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration.StringBody"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ ")],HDr=[0,[17,0,[12,41,0]],BB(fe)],XDr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration.SymbolBody"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ ")],YDr=[0,[17,0,[12,41,0]],BB(fe)],VDr=[0,[15,0],BB(ED)],KDr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],WDr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],JDr=[0,[17,0,[12,41,0]],BB(fe)],qDr=[0,[15,0],BB(ED)],zDr=BB(lb),$Dr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],QDr=BB("Flow_ast.Statement.EnumDeclaration.id"),ZDr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],rbr=[0,[17,0,0],BB(hl)],ebr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],nbr=BB(xk),tbr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ubr=[0,[17,0,0],BB(hl)],abr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ibr=BB(Uu),cbr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fbr=BB(XC),obr=BB(es),sbr=BB(Jv),vbr=[0,[17,0,0],BB(hl)],lbr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Dbr=[0,[15,0],BB(ED)],bbr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],pbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Ebr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],mbr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Fbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],kbr=BB("Flow_ast.Statement.EnumDeclaration.SymbolBody.members"),dbr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],ybr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],_br=[0,[17,0,0],BB(hl)],Abr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Cbr=BB(De),wbr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Sbr=[0,[9,0,0],BB(Sp)],gbr=[0,[17,0,0],BB(hl)],Bbr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Tbr=BB(Uu),Ibr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Obr=BB(XC),Nbr=BB(es),xbr=BB(Jv),Lbr=[0,[17,0,0],BB(hl)],Pbr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Rbr=[0,[15,0],BB(ED)],Mbr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Gbr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Ubr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ ")],jbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Hbr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Xbr=[0,[17,0,[12,41,0]],BB(fe)],Ybr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.EnumDeclaration.StringBody.Initialized"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ ")],Vbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Kbr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Wbr=[0,[17,0,[12,41,0]],BB(fe)],Jbr=[0,[15,0],BB(ED)],qbr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],zbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],$br=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Qbr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Zbr=BB("Flow_ast.Statement.EnumDeclaration.StringBody.members"),rpr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],epr=[0,[17,0,0],BB(hl)],npr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],tpr=BB(yf),upr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],apr=[0,[9,0,0],BB(Sp)],ipr=[0,[17,0,0],BB(hl)],cpr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],fpr=BB(De),opr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],spr=[0,[9,0,0],BB(Sp)],vpr=[0,[17,0,0],BB(hl)],lpr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Dpr=BB(Uu),bpr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ppr=BB(XC),Epr=BB(es),mpr=BB(Jv),Fpr=[0,[17,0,0],BB(hl)],kpr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],dpr=[0,[15,0],BB(ED)],hpr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ypr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],_pr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Apr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Cpr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],wpr=BB("Flow_ast.Statement.EnumDeclaration.NumberBody.members"),Spr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gpr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Bpr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Tpr=[0,[17,0,0],BB(hl)],Ipr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Opr=BB(yf),Npr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xpr=[0,[9,0,0],BB(Sp)],Lpr=[0,[17,0,0],BB(hl)],Ppr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Rpr=BB(De),Mpr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Gpr=[0,[9,0,0],BB(Sp)],Upr=[0,[17,0,0],BB(hl)],jpr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Hpr=BB(Uu),Xpr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ypr=BB(XC),Vpr=BB(es),Kpr=BB(Jv),Wpr=[0,[17,0,0],BB(hl)],Jpr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],qpr=[0,[15,0],BB(ED)],zpr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$pr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Qpr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Zpr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],rEr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],eEr=BB("Flow_ast.Statement.EnumDeclaration.BooleanBody.members"),nEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tEr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],uEr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],aEr=[0,[17,0,0],BB(hl)],iEr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],cEr=BB(yf),fEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],oEr=[0,[9,0,0],BB(Sp)],sEr=[0,[17,0,0],BB(hl)],vEr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lEr=BB(De),DEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bEr=[0,[9,0,0],BB(Sp)],pEr=[0,[17,0,0],BB(hl)],EEr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],mEr=BB(Uu),FEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],kEr=BB(XC),dEr=BB(es),hEr=BB(Jv),yEr=[0,[17,0,0],BB(hl)],_Er=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],AEr=[0,[15,0],BB(ED)],CEr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],wEr=BB("Flow_ast.Statement.EnumDeclaration.InitializedMember.id"),SEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gEr=[0,[17,0,0],BB(hl)],BEr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],TEr=BB(Dd),IEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],OEr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],NEr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],xEr=[0,[17,0,[12,41,0]],BB(fe)],LEr=[0,[17,0,0],BB(hl)],PEr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],REr=[0,[15,0],BB(ED)],MEr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],GEr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],UEr=[0,[17,0,[12,41,0]],BB(fe)],jEr=[0,[15,0],BB(ED)],HEr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],XEr=BB("Flow_ast.Statement.EnumDeclaration.DefaultedMember.id"),YEr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VEr=[0,[17,0,0],BB(hl)],KEr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],WEr=[0,[15,0],BB(ED)],JEr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],qEr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],zEr=[0,[17,0,[12,41,0]],BB(fe)],$Er=[0,[15,0],BB(ED)],QEr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ForOf.LeftDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ ")],ZEr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],rmr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],emr=[0,[17,0,[12,41,0]],BB(fe)],nmr=[0,[17,0,[12,41,0]],BB(fe)],tmr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ForOf.LeftPattern"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ ")],umr=[0,[17,0,[12,41,0]],BB(fe)],amr=[0,[15,0],BB(ED)],imr=BB(lb),cmr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],fmr=BB("Flow_ast.Statement.ForOf.left"),omr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],smr=[0,[17,0,0],BB(hl)],vmr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lmr=BB(uu),Dmr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bmr=[0,[17,0,0],BB(hl)],pmr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Emr=BB(xk),mmr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Fmr=[0,[17,0,0],BB(hl)],kmr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],dmr=BB(rf),hmr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ymr=[0,[9,0,0],BB(Sp)],_mr=[0,[17,0,0],BB(hl)],Amr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Cmr=BB(Uu),wmr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Smr=BB(XC),gmr=BB(es),Bmr=BB(Jv),Tmr=[0,[17,0,0],BB(hl)],Imr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Omr=[0,[15,0],BB(ED)],Nmr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ForIn.LeftDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ ")],xmr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Lmr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Pmr=[0,[17,0,[12,41,0]],BB(fe)],Rmr=[0,[17,0,[12,41,0]],BB(fe)],Mmr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.ForIn.LeftPattern"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ ")],Gmr=[0,[17,0,[12,41,0]],BB(fe)],Umr=[0,[15,0],BB(ED)],jmr=BB(lb),Hmr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Xmr=BB("Flow_ast.Statement.ForIn.left"),Ymr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Vmr=[0,[17,0,0],BB(hl)],Kmr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Wmr=BB(uu),Jmr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qmr=[0,[17,0,0],BB(hl)],zmr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$mr=BB(xk),Qmr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Zmr=[0,[17,0,0],BB(hl)],rFr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],eFr=BB(Sv),nFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tFr=[0,[9,0,0],BB(Sp)],uFr=[0,[17,0,0],BB(hl)],aFr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],iFr=BB(Uu),cFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fFr=BB(XC),oFr=BB(es),sFr=BB(Jv),vFr=[0,[17,0,0],BB(hl)],lFr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],DFr=[0,[15,0],BB(ED)],bFr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.For.InitDeclaration"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.For.InitDeclaration@ ")],pFr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],EFr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],mFr=[0,[17,0,[12,41,0]],BB(fe)],FFr=[0,[17,0,[12,41,0]],BB(fe)],kFr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Statement.For.InitExpression"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Statement.For.InitExpression@ ")],dFr=[0,[17,0,[12,41,0]],BB(fe)],hFr=[0,[15,0],BB(ED)],yFr=BB(lb),_Fr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],AFr=BB("Flow_ast.Statement.For.init"),CFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],wFr=BB(XC),SFr=BB(es),gFr=BB(Jv),BFr=[0,[17,0,0],BB(hl)],TFr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],IFr=BB(ch),OFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],NFr=BB(XC),xFr=BB(es),LFr=BB(Jv),PFr=[0,[17,0,0],BB(hl)],RFr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],MFr=BB(W),GFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],UFr=BB(XC),jFr=BB(es),HFr=BB(Jv),XFr=[0,[17,0,0],BB(hl)],YFr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],VFr=BB(xk),KFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],WFr=[0,[17,0,0],BB(hl)],JFr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qFr=BB(Uu),zFr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$Fr=BB(XC),QFr=BB(es),ZFr=BB(Jv),rkr=[0,[17,0,0],BB(hl)],ekr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],nkr=[0,[15,0],BB(ED)],tkr=BB(lb),ukr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],akr=BB("Flow_ast.Statement.DoWhile.body"),ikr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ckr=[0,[17,0,0],BB(hl)],fkr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],okr=BB(ch),skr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vkr=[0,[17,0,0],BB(hl)],lkr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Dkr=BB(Uu),bkr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],pkr=BB(XC),Ekr=BB(es),mkr=BB(Jv),Fkr=[0,[17,0,0],BB(hl)],kkr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],dkr=[0,[15,0],BB(ED)],hkr=BB(lb),ykr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],_kr=BB("Flow_ast.Statement.While.test"),Akr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ckr=[0,[17,0,0],BB(hl)],wkr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Skr=BB(xk),gkr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Bkr=[0,[17,0,0],BB(hl)],Tkr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Ikr=BB(Uu),Okr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Nkr=BB(XC),xkr=BB(es),Lkr=BB(Jv),Pkr=[0,[17,0,0],BB(hl)],Rkr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Mkr=[0,[15,0],BB(ED)],Gkr=BB("Flow_ast.Statement.VariableDeclaration.Var"),Ukr=BB("Flow_ast.Statement.VariableDeclaration.Let"),jkr=BB("Flow_ast.Statement.VariableDeclaration.Const"),Hkr=[0,[15,0],BB(ED)],Xkr=BB(lb),Ykr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Vkr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Kkr=BB("Flow_ast.Statement.VariableDeclaration.declarations"),Wkr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Jkr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],qkr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],zkr=[0,[17,0,0],BB(hl)],$kr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Qkr=BB(Xe),Zkr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],rdr=[0,[17,0,0],BB(hl)],edr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ndr=BB(Uu),tdr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],udr=BB(XC),adr=BB(es),idr=BB(Jv),cdr=[0,[17,0,0],BB(hl)],fdr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],odr=[0,[15,0],BB(ED)],sdr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],vdr=BB("Flow_ast.Statement.VariableDeclaration.Declarator.id"),ldr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ddr=[0,[17,0,0],BB(hl)],bdr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],pdr=BB(Dd),Edr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mdr=BB(XC),Fdr=BB(es),kdr=BB(Jv),ddr=[0,[17,0,0],BB(hl)],hdr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ydr=[0,[15,0],BB(ED)],_dr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Adr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Cdr=[0,[17,0,[12,41,0]],BB(fe)],wdr=[0,[15,0],BB(ED)],Sdr=BB(lb),gdr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Bdr=BB("Flow_ast.Statement.Try.block"),Tdr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Idr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Odr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Ndr=[0,[17,0,[12,41,0]],BB(fe)],xdr=[0,[17,0,0],BB(hl)],Ldr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Pdr=BB(Jt),Rdr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Mdr=BB(XC),Gdr=BB(es),Udr=BB(Jv),jdr=[0,[17,0,0],BB(hl)],Hdr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Xdr=BB(kv),Ydr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Vdr=BB(XC),Kdr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Wdr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Jdr=[0,[17,0,[12,41,0]],BB(fe)],qdr=BB(es),zdr=BB(Jv),$dr=[0,[17,0,0],BB(hl)],Qdr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Zdr=BB(Uu),rhr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ehr=BB(XC),nhr=BB(es),thr=BB(Jv),uhr=[0,[17,0,0],BB(hl)],ahr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ihr=[0,[15,0],BB(ED)],chr=BB(lb),fhr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ohr=BB("Flow_ast.Statement.Try.CatchClause.param"),shr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vhr=BB(XC),lhr=BB(es),Dhr=BB(Jv),bhr=[0,[17,0,0],BB(hl)],phr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Ehr=BB(xk),mhr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Fhr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],khr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],dhr=[0,[17,0,[12,41,0]],BB(fe)],hhr=[0,[17,0,0],BB(hl)],yhr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_hr=BB(Uu),Ahr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Chr=BB(XC),whr=BB(es),Shr=BB(Jv),ghr=[0,[17,0,0],BB(hl)],Bhr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Thr=[0,[15,0],BB(ED)],Ihr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Ohr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Nhr=[0,[17,0,[12,41,0]],BB(fe)],xhr=[0,[15,0],BB(ED)],Lhr=BB(lb),Phr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Rhr=BB("Flow_ast.Statement.Throw.argument"),Mhr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Ghr=[0,[17,0,0],BB(hl)],Uhr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],jhr=BB(Uu),Hhr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Xhr=BB(XC),Yhr=BB(es),Vhr=BB(Jv),Khr=[0,[17,0,0],BB(hl)],Whr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Jhr=[0,[15,0],BB(ED)],qhr=BB(lb),zhr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],$hr=BB("Flow_ast.Statement.Return.argument"),Qhr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Zhr=BB(XC),ryr=BB(es),eyr=BB(Jv),nyr=[0,[17,0,0],BB(hl)],tyr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],uyr=BB(Uu),ayr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],iyr=BB(XC),cyr=BB(es),fyr=BB(Jv),oyr=[0,[17,0,0],BB(hl)],syr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],vyr=[0,[15,0],BB(ED)],lyr=BB(lb),Dyr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],byr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],pyr=BB("Flow_ast.Statement.Switch.discriminant"),Eyr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],myr=[0,[17,0,0],BB(hl)],Fyr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kyr=BB(MF),dyr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hyr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],yyr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],_yr=[0,[17,0,0],BB(hl)],Ayr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Cyr=BB(Uu),wyr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Syr=BB(XC),gyr=BB(es),Byr=BB(Jv),Tyr=[0,[17,0,0],BB(hl)],Iyr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Oyr=[0,[15,0],BB(ED)],Nyr=BB(lb),xyr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Lyr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Pyr=BB("Flow_ast.Statement.Switch.Case.test"),Ryr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Myr=BB(XC),Gyr=BB(es),Uyr=BB(Jv),jyr=[0,[17,0,0],BB(hl)],Hyr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Xyr=BB(Hb),Yyr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Vyr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Kyr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Wyr=[0,[17,0,0],BB(hl)],Jyr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qyr=BB(Uu),zyr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$yr=BB(XC),Qyr=BB(es),Zyr=BB(Jv),r_r=[0,[17,0,0],BB(hl)],e_r=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],n_r=[0,[15,0],BB(ED)],t_r=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],u_r=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],a_r=[0,[17,0,[12,41,0]],BB(fe)],i_r=[0,[15,0],BB(ED)],c_r=BB(lb),f_r=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],o_r=BB("Flow_ast.Statement.OpaqueType.id"),s_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],v_r=[0,[17,0,0],BB(hl)],l_r=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],D_r=BB(Ar),b_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],p_r=BB(XC),E_r=BB(es),m_r=BB(Jv),F_r=[0,[17,0,0],BB(hl)],k_r=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],d_r=BB(pp),h_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],y_r=BB(XC),__r=BB(es),A_r=BB(Jv),C_r=[0,[17,0,0],BB(hl)],w_r=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],S_r=BB(sE),g_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],B_r=BB(XC),T_r=BB(es),I_r=BB(Jv),O_r=[0,[17,0,0],BB(hl)],N_r=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],x_r=BB(Uu),L_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],P_r=BB(XC),R_r=BB(es),M_r=BB(Jv),G_r=[0,[17,0,0],BB(hl)],U_r=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],j_r=[0,[15,0],BB(ED)],H_r=BB(lb),X_r=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Y_r=BB("Flow_ast.Statement.TypeAlias.id"),V_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],K_r=[0,[17,0,0],BB(hl)],W_r=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],J_r=BB(Ar),q_r=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],z_r=BB(XC),$_r=BB(es),Q_r=BB(Jv),Z_r=[0,[17,0,0],BB(hl)],rAr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],eAr=BB(uu),nAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tAr=[0,[17,0,0],BB(hl)],uAr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],aAr=BB(Uu),iAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],cAr=BB(XC),fAr=BB(es),oAr=BB(Jv),sAr=[0,[17,0,0],BB(hl)],vAr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],lAr=[0,[15,0],BB(ED)],DAr=BB(lb),bAr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],pAr=BB("Flow_ast.Statement.With._object"),EAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],mAr=[0,[17,0,0],BB(hl)],FAr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kAr=BB(xk),dAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hAr=[0,[17,0,0],BB(hl)],yAr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_Ar=BB(Uu),AAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],CAr=BB(XC),wAr=BB(es),SAr=BB(Jv),gAr=[0,[17,0,0],BB(hl)],BAr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],TAr=[0,[15,0],BB(ED)],IAr=BB(lb),OAr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],NAr=BB("Flow_ast.Statement.Debugger.comments"),xAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],LAr=BB(XC),PAr=BB(es),RAr=BB(Jv),MAr=[0,[17,0,0],BB(hl)],GAr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],UAr=[0,[15,0],BB(ED)],jAr=BB(lb),HAr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],XAr=BB("Flow_ast.Statement.Continue.label"),YAr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VAr=BB(XC),KAr=BB(es),WAr=BB(Jv),JAr=[0,[17,0,0],BB(hl)],qAr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],zAr=BB(Uu),$Ar=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],QAr=BB(XC),ZAr=BB(es),rCr=BB(Jv),eCr=[0,[17,0,0],BB(hl)],nCr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],tCr=[0,[15,0],BB(ED)],uCr=BB(lb),aCr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],iCr=BB("Flow_ast.Statement.Break.label"),cCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fCr=BB(XC),oCr=BB(es),sCr=BB(Jv),vCr=[0,[17,0,0],BB(hl)],lCr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],DCr=BB(Uu),bCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],pCr=BB(XC),ECr=BB(es),mCr=BB(Jv),FCr=[0,[17,0,0],BB(hl)],kCr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],dCr=[0,[15,0],BB(ED)],hCr=BB(lb),yCr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],_Cr=BB("Flow_ast.Statement.Labeled.label"),ACr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],CCr=[0,[17,0,0],BB(hl)],wCr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],SCr=BB(xk),gCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],BCr=[0,[17,0,0],BB(hl)],TCr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ICr=BB(Uu),OCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],NCr=BB(XC),xCr=BB(es),LCr=BB(Jv),PCr=[0,[17,0,0],BB(hl)],RCr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],MCr=[0,[15,0],BB(ED)],GCr=BB(lb),UCr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],jCr=BB("Flow_ast.Statement.If.test"),HCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],XCr=[0,[17,0,0],BB(hl)],YCr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],VCr=BB(Hb),KCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],WCr=[0,[17,0,0],BB(hl)],JCr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qCr=BB($E),zCr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$Cr=BB(XC),QCr=BB(es),ZCr=BB(Jv),rwr=[0,[17,0,0],BB(hl)],ewr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],nwr=BB(Uu),twr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],uwr=BB(XC),awr=BB(es),iwr=BB(Jv),cwr=[0,[17,0,0],BB(hl)],fwr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],owr=[0,[15,0],BB(ED)],swr=BB(lb),vwr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],lwr=BB("Flow_ast.Statement.If.Alternate.body"),Dwr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bwr=[0,[17,0,0],BB(hl)],pwr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Ewr=BB(Uu),mwr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Fwr=BB(XC),kwr=BB(es),dwr=BB(Jv),hwr=[0,[17,0,0],BB(hl)],ywr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],_wr=[0,[15,0],BB(ED)],Awr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Cwr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],wwr=[0,[17,0,[12,41,0]],BB(fe)],Swr=[0,[15,0],BB(ED)],gwr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Bwr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Twr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Iwr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Owr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Nwr=BB("Flow_ast.Statement.Block.body"),xwr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Lwr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],Pwr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],Rwr=[0,[17,0,0],BB(hl)],Mwr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Gwr=BB(Uu),Uwr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jwr=BB(XC),Hwr=BB(es),Xwr=BB(Jv),Ywr=[0,[17,0,0],BB(hl)],Vwr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Kwr=[0,[15,0],BB(ED)],Wwr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Predicate.Declared"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Predicate.Declared@ ")],Jwr=[0,[17,0,[12,41,0]],BB(fe)],qwr=BB("Flow_ast.Type.Predicate.Inferred"),zwr=[0,[15,0],BB(ED)],$wr=BB(lb),Qwr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Zwr=BB("Flow_ast.Type.Predicate.kind"),rSr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],eSr=[0,[17,0,0],BB(hl)],nSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],tSr=BB(Uu),uSr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],aSr=BB(XC),iSr=BB(es),cSr=BB(Jv),fSr=[0,[17,0,0],BB(hl)],oSr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],sSr=[0,[15,0],BB(ED)],vSr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],lSr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],DSr=[0,[17,0,[12,41,0]],BB(fe)],bSr=[0,[15,0],BB(ED)],pSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ESr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],mSr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],FSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kSr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],dSr=BB("Flow_ast.Type.TypeArgs.arguments"),hSr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ySr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],_Sr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],ASr=[0,[17,0,0],BB(hl)],CSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wSr=BB(Uu),SSr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gSr=BB(XC),BSr=BB(es),TSr=BB(Jv),ISr=[0,[17,0,0],BB(hl)],OSr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],NSr=[0,[15,0],BB(ED)],xSr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],LSr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],PSr=[0,[17,0,[12,41,0]],BB(fe)],RSr=[0,[15,0],BB(ED)],MSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],GSr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],USr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],jSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],HSr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],XSr=BB("Flow_ast.Type.TypeParams.params"),YSr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VSr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],KSr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],WSr=[0,[17,0,0],BB(hl)],JSr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],qSr=BB(Uu),zSr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],$Sr=BB(XC),QSr=BB(es),ZSr=BB(Jv),rgr=[0,[17,0,0],BB(hl)],egr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ngr=[0,[15,0],BB(ED)],tgr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],ugr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],agr=[0,[17,0,[12,41,0]],BB(fe)],igr=[0,[15,0],BB(ED)],cgr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],fgr=BB("Flow_ast.Type.TypeParam.name"),ogr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],sgr=[0,[17,0,0],BB(hl)],vgr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],lgr=BB(St),Dgr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],bgr=[0,[17,0,0],BB(hl)],pgr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Egr=BB(xb),mgr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Fgr=BB(XC),kgr=BB(es),dgr=BB(Jv),hgr=[0,[17,0,0],BB(hl)],ygr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_gr=BB(Z_),Agr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Cgr=BB(XC),wgr=BB(es),Sgr=BB(Jv),ggr=[0,[17,0,0],BB(hl)],Bgr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Tgr=[0,[15,0],BB(ED)],Igr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Ogr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Ngr=[0,[17,0,[12,41,0]],BB(fe)],xgr=[0,[15,0],BB(ED)],Lgr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Missing"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Missing@ ")],Pgr=[0,[17,0,[12,41,0]],BB(fe)],Rgr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Available"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Available@ ")],Mgr=[0,[17,0,[12,41,0]],BB(fe)],Ggr=[0,[15,0],BB(ED)],Ugr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],jgr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Hgr=[0,[17,0,[12,41,0]],BB(fe)],Xgr=[0,[15,0],BB(ED)],Ygr=BB(lb),Vgr=BB(lb),Kgr=BB(lb),Wgr=BB(lb),Jgr=BB(lb),qgr=BB(lb),zgr=BB(lb),$gr=BB(lb),Qgr=BB(lb),Zgr=BB(lb),rBr=BB(lb),eBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Any"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Any@ ")],nBr=BB(XC),tBr=BB(es),uBr=BB(Jv),aBr=[0,[17,0,[12,41,0]],BB(fe)],iBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Mixed"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Mixed@ ")],cBr=BB(XC),fBr=BB(es),oBr=BB(Jv),sBr=[0,[17,0,[12,41,0]],BB(fe)],vBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Empty"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Empty@ ")],lBr=BB(XC),DBr=BB(es),bBr=BB(Jv),pBr=[0,[17,0,[12,41,0]],BB(fe)],EBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Void"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Void@ ")],mBr=BB(XC),FBr=BB(es),kBr=BB(Jv),dBr=[0,[17,0,[12,41,0]],BB(fe)],hBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Null"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Null@ ")],yBr=BB(XC),_Br=BB(es),ABr=BB(Jv),CBr=[0,[17,0,[12,41,0]],BB(fe)],wBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Number"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Number@ ")],SBr=BB(XC),gBr=BB(es),BBr=BB(Jv),TBr=[0,[17,0,[12,41,0]],BB(fe)],IBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.BigInt"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.BigInt@ ")],OBr=BB(XC),NBr=BB(es),xBr=BB(Jv),LBr=[0,[17,0,[12,41,0]],BB(fe)],PBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.String"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.String@ ")],RBr=BB(XC),MBr=BB(es),GBr=BB(Jv),UBr=[0,[17,0,[12,41,0]],BB(fe)],jBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Boolean"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Boolean@ ")],HBr=BB(XC),XBr=BB(es),YBr=BB(Jv),VBr=[0,[17,0,[12,41,0]],BB(fe)],KBr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Symbol"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Symbol@ ")],WBr=BB(XC),JBr=BB(es),qBr=BB(Jv),zBr=[0,[17,0,[12,41,0]],BB(fe)],$Br=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Exists"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Exists@ ")],QBr=BB(XC),ZBr=BB(es),rTr=BB(Jv),eTr=[0,[17,0,[12,41,0]],BB(fe)],nTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Nullable"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Nullable@ ")],tTr=[0,[17,0,[12,41,0]],BB(fe)],uTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Function"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Function@ ")],aTr=[0,[17,0,[12,41,0]],BB(fe)],iTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object@ ")],cTr=[0,[17,0,[12,41,0]],BB(fe)],fTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Interface"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Interface@ ")],oTr=[0,[17,0,[12,41,0]],BB(fe)],sTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Array"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Array@ ")],vTr=[0,[17,0,[12,41,0]],BB(fe)],lTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Generic"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Generic@ ")],DTr=[0,[17,0,[12,41,0]],BB(fe)],bTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.IndexedAccess"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.IndexedAccess@ ")],pTr=[0,[17,0,[12,41,0]],BB(fe)],ETr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.OptionalIndexedAccess"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.OptionalIndexedAccess@ ")],mTr=[0,[17,0,[12,41,0]],BB(fe)],FTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Union"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Union@ ")],kTr=[0,[17,0,[12,41,0]],BB(fe)],dTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Intersection"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Intersection@ ")],hTr=[0,[17,0,[12,41,0]],BB(fe)],yTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Typeof"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Typeof@ ")],_Tr=[0,[17,0,[12,41,0]],BB(fe)],ATr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Tuple"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Tuple@ ")],CTr=[0,[17,0,[12,41,0]],BB(fe)],wTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.StringLiteral"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.StringLiteral@ ")],STr=[0,[17,0,[12,41,0]],BB(fe)],gTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.NumberLiteral"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.NumberLiteral@ ")],BTr=[0,[17,0,[12,41,0]],BB(fe)],TTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.BigIntLiteral"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.BigIntLiteral@ ")],ITr=[0,[17,0,[12,41,0]],BB(fe)],OTr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.BooleanLiteral"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.BooleanLiteral@ ")],NTr=[0,[17,0,[12,41,0]],BB(fe)],xTr=[0,[15,0],BB(ED)],LTr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],PTr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],RTr=[0,[17,0,[12,41,0]],BB(fe)],MTr=[0,[15,0],BB(ED)],GTr=BB(lb),UTr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],jTr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],HTr=BB("Flow_ast.Type.Intersection.types"),XTr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],YTr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],VTr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],KTr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],WTr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],JTr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],qTr=[0,[17,0,[12,41,0]],BB(fe)],zTr=[0,[17,0,0],BB(hl)],$Tr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],QTr=BB(Uu),ZTr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],rIr=BB(XC),eIr=BB(es),nIr=BB(Jv),tIr=[0,[17,0,0],BB(hl)],uIr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],aIr=[0,[15,0],BB(ED)],iIr=BB(lb),cIr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],fIr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],oIr=BB("Flow_ast.Type.Union.types"),sIr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],vIr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],lIr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],DIr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],bIr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],pIr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],EIr=[0,[17,0,[12,41,0]],BB(fe)],mIr=[0,[17,0,0],BB(hl)],FIr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kIr=BB(Uu),dIr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hIr=BB(XC),yIr=BB(es),_Ir=BB(Jv),AIr=[0,[17,0,0],BB(hl)],CIr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],wIr=[0,[15,0],BB(ED)],SIr=BB(lb),gIr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],BIr=BB("Flow_ast.Type.Array.argument"),TIr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],IIr=[0,[17,0,0],BB(hl)],OIr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],NIr=BB(Uu),xIr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],LIr=BB(XC),PIr=BB(es),RIr=BB(Jv),MIr=[0,[17,0,0],BB(hl)],GIr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],UIr=[0,[15,0],BB(ED)],jIr=BB(lb),HIr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],XIr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],YIr=BB("Flow_ast.Type.Tuple.types"),VIr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],KIr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],WIr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],JIr=[0,[17,0,0],BB(hl)],qIr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],zIr=BB(Uu),$Ir=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],QIr=BB(XC),ZIr=BB(es),rOr=BB(Jv),eOr=[0,[17,0,0],BB(hl)],nOr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],tOr=[0,[15,0],BB(ED)],uOr=BB(lb),aOr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],iOr=BB("Flow_ast.Type.Typeof.argument"),cOr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fOr=[0,[17,0,0],BB(hl)],oOr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],sOr=BB(Uu),vOr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],lOr=BB(XC),DOr=BB(es),bOr=BB(Jv),pOr=[0,[17,0,0],BB(hl)],EOr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],mOr=[0,[15,0],BB(ED)],FOr=BB(lb),kOr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],dOr=BB("Flow_ast.Type.Nullable.argument"),hOr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],yOr=[0,[17,0,0],BB(hl)],_Or=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],AOr=BB(Uu),COr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],wOr=BB(XC),SOr=BB(es),gOr=BB(Jv),BOr=[0,[17,0,0],BB(hl)],TOr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],IOr=[0,[15,0],BB(ED)],OOr=BB(lb),NOr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],xOr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],LOr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],POr=[0,[17,0,[12,41,0]],BB(fe)],ROr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],MOr=BB("Flow_ast.Type.Interface.body"),GOr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],UOr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],jOr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],HOr=[0,[17,0,[12,41,0]],BB(fe)],XOr=[0,[17,0,0],BB(hl)],YOr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],VOr=BB(kb),KOr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],WOr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],JOr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],qOr=[0,[17,0,0],BB(hl)],zOr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$Or=BB(Uu),QOr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ZOr=BB(XC),rNr=BB(es),eNr=BB(Jv),nNr=[0,[17,0,0],BB(hl)],tNr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],uNr=[0,[15,0],BB(ED)],aNr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.Property"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.Property@ ")],iNr=[0,[17,0,[12,41,0]],BB(fe)],cNr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.SpreadProperty"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.SpreadProperty@ ")],fNr=[0,[17,0,[12,41,0]],BB(fe)],oNr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.Indexer"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.Indexer@ ")],sNr=[0,[17,0,[12,41,0]],BB(fe)],vNr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.CallProperty"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.CallProperty@ ")],lNr=[0,[17,0,[12,41,0]],BB(fe)],DNr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.InternalSlot"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.InternalSlot@ ")],bNr=[0,[17,0,[12,41,0]],BB(fe)],pNr=[0,[15,0],BB(ED)],ENr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],mNr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],FNr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],kNr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],dNr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],hNr=BB("Flow_ast.Type.Object.exact"),yNr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_Nr=[0,[9,0,0],BB(Sp)],ANr=[0,[17,0,0],BB(hl)],CNr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wNr=BB(xA),SNr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gNr=[0,[9,0,0],BB(Sp)],BNr=[0,[17,0,0],BB(hl)],TNr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],INr=BB(Su),ONr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],NNr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],xNr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],LNr=[0,[17,0,0],BB(hl)],PNr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],RNr=BB(Uu),MNr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],GNr=BB(XC),UNr=BB(es),jNr=BB(Jv),HNr=[0,[17,0,0],BB(hl)],XNr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],YNr=[0,[15,0],BB(ED)],VNr=BB(lb),KNr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],WNr=BB("Flow_ast.Type.Object.InternalSlot.id"),JNr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qNr=[0,[17,0,0],BB(hl)],zNr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],$Nr=BB(Um),QNr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ZNr=[0,[17,0,0],BB(hl)],rxr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],exr=BB(kl),nxr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],txr=[0,[9,0,0],BB(Sp)],uxr=[0,[17,0,0],BB(hl)],axr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ixr=BB(Vu),cxr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fxr=[0,[9,0,0],BB(Sp)],oxr=[0,[17,0,0],BB(hl)],sxr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],vxr=BB(N),lxr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Dxr=[0,[9,0,0],BB(Sp)],bxr=[0,[17,0,0],BB(hl)],pxr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Exr=BB(Uu),mxr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Fxr=BB(XC),kxr=BB(es),dxr=BB(Jv),hxr=[0,[17,0,0],BB(hl)],yxr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],_xr=[0,[15,0],BB(ED)],Axr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Cxr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],wxr=[0,[17,0,[12,41,0]],BB(fe)],Sxr=[0,[15,0],BB(ED)],gxr=BB(lb),Bxr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Txr=BB("Flow_ast.Type.Object.CallProperty.value"),Ixr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Oxr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],Nxr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],xxr=[0,[17,0,[12,41,0]],BB(fe)],Lxr=[0,[17,0,0],BB(hl)],Pxr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Rxr=BB(Vu),Mxr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Gxr=[0,[9,0,0],BB(Sp)],Uxr=[0,[17,0,0],BB(hl)],jxr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Hxr=BB(Uu),Xxr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Yxr=BB(XC),Vxr=BB(es),Kxr=BB(Jv),Wxr=[0,[17,0,0],BB(hl)],Jxr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],qxr=[0,[15,0],BB(ED)],zxr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],$xr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],Qxr=[0,[17,0,[12,41,0]],BB(fe)],Zxr=[0,[15,0],BB(ED)],rLr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],eLr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],nLr=[0,[17,0,[12,41,0]],BB(fe)],tLr=[0,[15,0],BB(ED)],uLr=BB(lb),aLr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],iLr=BB("Flow_ast.Type.Object.Indexer.id"),cLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fLr=BB(XC),oLr=BB(es),sLr=BB(Jv),vLr=[0,[17,0,0],BB(hl)],lLr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],DLr=BB(Mg),bLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],pLr=[0,[17,0,0],BB(hl)],ELr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],mLr=BB(Um),FLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],kLr=[0,[17,0,0],BB(hl)],dLr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],hLr=BB(Vu),yLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],_Lr=[0,[9,0,0],BB(Sp)],ALr=[0,[17,0,0],BB(hl)],CLr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wLr=BB(xb),SLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gLr=BB(XC),BLr=BB(es),TLr=BB(Jv),ILr=[0,[17,0,0],BB(hl)],OLr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],NLr=BB(Uu),xLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],LLr=BB(XC),PLr=BB(es),RLr=BB(Jv),MLr=[0,[17,0,0],BB(hl)],GLr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ULr=[0,[15,0],BB(ED)],jLr=BB(lb),HLr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],XLr=BB("Flow_ast.Type.Object.SpreadProperty.argument"),YLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VLr=[0,[17,0,0],BB(hl)],KLr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],WLr=BB(Uu),JLr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qLr=BB(XC),zLr=BB(es),$Lr=BB(Jv),QLr=[0,[17,0,0],BB(hl)],ZLr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],rPr=[0,[15,0],BB(ED)],ePr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],nPr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],tPr=[0,[17,0,[12,41,0]],BB(fe)],uPr=[0,[15,0],BB(ED)],aPr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.Property.Init"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.Property.Init@ ")],iPr=[0,[17,0,[12,41,0]],BB(fe)],cPr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.Property.Get"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.Property.Get@ ")],fPr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],oPr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],sPr=[0,[17,0,[12,41,0]],BB(fe)],vPr=[0,[17,0,[12,41,0]],BB(fe)],lPr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Object.Property.Set"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Object.Property.Set@ ")],DPr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],bPr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],pPr=[0,[17,0,[12,41,0]],BB(fe)],EPr=[0,[17,0,[12,41,0]],BB(fe)],mPr=[0,[15,0],BB(ED)],FPr=BB(lb),kPr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],dPr=BB("Flow_ast.Type.Object.Property.key"),hPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],yPr=[0,[17,0,0],BB(hl)],_Pr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],APr=BB(Um),CPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],wPr=[0,[17,0,0],BB(hl)],SPr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],gPr=BB(kl),BPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],TPr=[0,[9,0,0],BB(Sp)],IPr=[0,[17,0,0],BB(hl)],OPr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],NPr=BB(Vu),xPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],LPr=[0,[9,0,0],BB(Sp)],PPr=[0,[17,0,0],BB(hl)],RPr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],MPr=BB(Ed),GPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],UPr=[0,[9,0,0],BB(Sp)],jPr=[0,[17,0,0],BB(hl)],HPr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],XPr=BB(N),YPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],VPr=[0,[9,0,0],BB(Sp)],KPr=[0,[17,0,0],BB(hl)],WPr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],JPr=BB(xb),qPr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],zPr=BB(XC),$Pr=BB(es),QPr=BB(Jv),ZPr=[0,[17,0,0],BB(hl)],rRr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],eRr=BB(Uu),nRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tRr=BB(XC),uRr=BB(es),aRr=BB(Jv),iRr=[0,[17,0,0],BB(hl)],cRr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],fRr=[0,[15,0],BB(ED)],oRr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],sRr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],vRr=[0,[17,0,[12,41,0]],BB(fe)],lRr=[0,[15,0],BB(ED)],DRr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],bRr=BB("Flow_ast.Type.OptionalIndexedAccess.indexed_access"),pRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ERr=[0,[17,0,0],BB(hl)],mRr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],FRr=BB(kl),kRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],dRr=[0,[9,0,0],BB(Sp)],hRr=[0,[17,0,0],BB(hl)],yRr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],_Rr=[0,[15,0],BB(ED)],ARr=BB(lb),CRr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],wRr=BB("Flow_ast.Type.IndexedAccess._object"),SRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gRr=[0,[17,0,0],BB(hl)],BRr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],TRr=BB("index"),IRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ORr=[0,[17,0,0],BB(hl)],NRr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],xRr=BB(Uu),LRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],PRr=BB(XC),RRr=BB(es),MRr=BB(Jv),GRr=[0,[17,0,0],BB(hl)],URr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],jRr=[0,[15,0],BB(ED)],HRr=BB(lb),XRr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],YRr=BB("Flow_ast.Type.Generic.id"),VRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],KRr=[0,[17,0,0],BB(hl)],WRr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],JRr=BB(__),qRr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],zRr=BB(XC),$Rr=BB(es),QRr=BB(Jv),ZRr=[0,[17,0,0],BB(hl)],rMr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],eMr=BB(Uu),nMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],tMr=BB(XC),uMr=BB(es),aMr=BB(Jv),iMr=[0,[17,0,0],BB(hl)],cMr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],fMr=[0,[15,0],BB(ED)],oMr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],sMr=BB("Flow_ast.Type.Generic.Identifier.qualification"),vMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],lMr=[0,[17,0,0],BB(hl)],DMr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],bMr=BB(bi),pMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],EMr=[0,[17,0,0],BB(hl)],mMr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],FMr=[0,[15,0],BB(ED)],kMr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],dMr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],hMr=[0,[17,0,[12,41,0]],BB(fe)],yMr=[0,[15,0],BB(ED)],_Mr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Generic.Identifier.Unqualified"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ ")],AMr=[0,[17,0,[12,41,0]],BB(fe)],CMr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Type.Generic.Identifier.Qualified"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ ")],wMr=[0,[17,0,[12,41,0]],BB(fe)],SMr=[0,[15,0],BB(ED)],gMr=BB(lb),BMr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],TMr=BB("Flow_ast.Type.Function.tparams"),IMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],OMr=BB(XC),NMr=BB(es),xMr=BB(Jv),LMr=[0,[17,0,0],BB(hl)],PMr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],RMr=BB(A),MMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],GMr=[0,[17,0,0],BB(hl)],UMr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],jMr=BB(Jn),HMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],XMr=[0,[17,0,0],BB(hl)],YMr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],VMr=BB(Uu),KMr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],WMr=BB(XC),JMr=BB(es),qMr=BB(Jv),zMr=[0,[17,0,0],BB(hl)],$Mr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],QMr=[0,[15,0],BB(ED)],ZMr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],rGr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],eGr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],nGr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],tGr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],uGr=BB("Flow_ast.Type.Function.Params.this_"),aGr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],iGr=BB(XC),cGr=BB(es),fGr=BB(Jv),oGr=[0,[17,0,0],BB(hl)],sGr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],vGr=BB(A),lGr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],DGr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],bGr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],pGr=[0,[17,0,0],BB(hl)],EGr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],mGr=BB(ma),FGr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],kGr=BB(XC),dGr=BB(es),hGr=BB(Jv),yGr=[0,[17,0,0],BB(hl)],_Gr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],AGr=BB(Uu),CGr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],wGr=BB(XC),SGr=BB(es),gGr=BB(Jv),BGr=[0,[17,0,0],BB(hl)],TGr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],IGr=[0,[15,0],BB(ED)],OGr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],NGr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],xGr=[0,[17,0,[12,41,0]],BB(fe)],LGr=[0,[15,0],BB(ED)],PGr=BB(lb),RGr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],MGr=BB("Flow_ast.Type.Function.ThisParam.annot"),GGr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],UGr=[0,[17,0,0],BB(hl)],jGr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],HGr=BB(Uu),XGr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],YGr=BB(XC),VGr=BB(es),KGr=BB(Jv),WGr=[0,[17,0,0],BB(hl)],JGr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],qGr=[0,[15,0],BB(ED)],zGr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],$Gr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],QGr=[0,[17,0,[12,41,0]],BB(fe)],ZGr=[0,[15,0],BB(ED)],rUr=BB(lb),eUr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],nUr=BB("Flow_ast.Type.Function.RestParam.argument"),tUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],uUr=[0,[17,0,0],BB(hl)],aUr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],iUr=BB(Uu),cUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fUr=BB(XC),oUr=BB(es),sUr=BB(Jv),vUr=[0,[17,0,0],BB(hl)],lUr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],DUr=[0,[15,0],BB(ED)],bUr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],pUr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],EUr=[0,[17,0,[12,41,0]],BB(fe)],mUr=[0,[15,0],BB(ED)],FUr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],kUr=BB("Flow_ast.Type.Function.Param.name"),dUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hUr=BB(XC),yUr=BB(es),_Ur=BB(Jv),AUr=[0,[17,0,0],BB(hl)],CUr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],wUr=BB($u),SUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],gUr=[0,[17,0,0],BB(hl)],BUr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],TUr=BB(kl),IUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],OUr=[0,[9,0,0],BB(Sp)],NUr=[0,[17,0,0],BB(hl)],xUr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],LUr=[0,[15,0],BB(ED)],PUr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],RUr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],MUr=[0,[17,0,[12,41,0]],BB(fe)],GUr=[0,[15,0],BB(ED)],UUr=BB(lb),jUr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],HUr=BB("Flow_ast.ComputedKey.expression"),XUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],YUr=[0,[17,0,0],BB(hl)],VUr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],KUr=BB(Uu),WUr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],JUr=BB(XC),qUr=BB(es),zUr=BB(Jv),$Ur=[0,[17,0,0],BB(hl)],QUr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],ZUr=[0,[15,0],BB(ED)],rjr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],ejr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],njr=[0,[17,0,[12,41,0]],BB(fe)],tjr=[0,[15,0],BB(ED)],ujr=BB(lb),ajr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],ijr=BB("Flow_ast.Variance.kind"),cjr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],fjr=[0,[17,0,0],BB(hl)],ojr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],sjr=BB(Uu),vjr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],ljr=BB(XC),Djr=BB(es),bjr=BB(Jv),pjr=[0,[17,0,0],BB(hl)],Ejr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],mjr=[0,[15,0],BB(ED)],Fjr=BB("Flow_ast.Variance.Minus"),kjr=BB("Flow_ast.Variance.Plus"),djr=[0,[15,0],BB(ED)],hjr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],yjr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],_jr=[0,[17,0,[12,41,0]],BB(fe)],Ajr=[0,[15,0],BB(ED)],Cjr=BB(lb),wjr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Sjr=BB("Flow_ast.BooleanLiteral.value"),gjr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Bjr=[0,[9,0,0],BB(Sp)],Tjr=[0,[17,0,0],BB(hl)],Ijr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Ojr=BB(Uu),Njr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xjr=BB(XC),Ljr=BB(es),Pjr=BB(Jv),Rjr=[0,[17,0,0],BB(hl)],Mjr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],Gjr=[0,[15,0],BB(ED)],Ujr=BB(lb),jjr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],Hjr=BB("Flow_ast.BigIntLiteral.approx_value"),Xjr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],Yjr=[0,[8,[0,0,5],0,0,0],BB(qi)],Vjr=[0,[17,0,0],BB(hl)],Kjr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Wjr=BB(HF),Jjr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],qjr=[0,[3,0,0],BB(Yy)],zjr=[0,[17,0,0],BB(hl)],$jr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],Qjr=BB(Uu),Zjr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],rHr=BB(XC),eHr=BB(es),nHr=BB(Jv),tHr=[0,[17,0,0],BB(hl)],uHr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],aHr=[0,[15,0],BB(ED)],iHr=BB(lb),cHr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],fHr=BB("Flow_ast.NumberLiteral.value"),oHr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],sHr=[0,[8,[0,0,5],0,0,0],BB(qi)],vHr=[0,[17,0,0],BB(hl)],lHr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],DHr=BB(Be),bHr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],pHr=[0,[3,0,0],BB(Yy)],EHr=[0,[17,0,0],BB(hl)],mHr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],FHr=BB(Uu),kHr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],dHr=BB(XC),hHr=BB(es),yHr=BB(Jv),_Hr=[0,[17,0,0],BB(hl)],AHr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],CHr=[0,[15,0],BB(ED)],wHr=BB(lb),SHr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],gHr=BB("Flow_ast.StringLiteral.value"),BHr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],THr=[0,[3,0,0],BB(Yy)],IHr=[0,[17,0,0],BB(hl)],OHr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],NHr=BB(Be),xHr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],LHr=[0,[3,0,0],BB(Yy)],PHr=[0,[17,0,0],BB(hl)],RHr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],MHr=BB(Uu),GHr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],UHr=BB(XC),jHr=BB(es),HHr=BB(Jv),XHr=[0,[17,0,0],BB(hl)],YHr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],VHr=[0,[15,0],BB(ED)],KHr=BB("Flow_ast.Literal.Null"),WHr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Literal.String"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Literal.String@ ")],JHr=[0,[3,0,0],BB(Yy)],qHr=[0,[17,0,[12,41,0]],BB(fe)],zHr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Literal.Boolean"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Literal.Boolean@ ")],$Hr=[0,[9,0,0],BB(Sp)],QHr=[0,[17,0,[12,41,0]],BB(fe)],ZHr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Literal.Number"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Literal.Number@ ")],rXr=[0,[8,[0,0,5],0,0,0],BB(qi)],eXr=[0,[17,0,[12,41,0]],BB(fe)],nXr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Literal.BigInt"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Literal.BigInt@ ")],tXr=[0,[8,[0,0,5],0,0,0],BB(qi)],uXr=[0,[17,0,[12,41,0]],BB(fe)],aXr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("Flow_ast.Literal.RegExp"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>Flow_ast.Literal.RegExp@ ")],iXr=[0,[17,0,[12,41,0]],BB(fe)],cXr=[0,[15,0],BB(ED)],fXr=BB(lb),oXr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],sXr=BB("Flow_ast.Literal.value"),vXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],lXr=[0,[17,0,0],BB(hl)],DXr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],bXr=BB(Be),pXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],EXr=[0,[3,0,0],BB(Yy)],mXr=[0,[17,0,0],BB(hl)],FXr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],kXr=BB(Uu),dXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],hXr=BB(XC),yXr=BB(es),_Xr=BB(Jv),AXr=[0,[17,0,0],BB(hl)],CXr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],wXr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],SXr=BB("Flow_ast.Literal.RegExp.pattern"),gXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],BXr=[0,[3,0,0],BB(Yy)],TXr=[0,[17,0,0],BB(hl)],IXr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],OXr=BB(Im),NXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],xXr=[0,[3,0,0],BB(Yy)],LXr=[0,[17,0,0],BB(hl)],PXr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],RXr=[0,[15,0],BB(ED)],MXr=[0,[15,0],BB(ED)],GXr=BB(lb),UXr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],jXr=BB("Flow_ast.PrivateName.id"),HXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],XXr=[0,[17,0,0],BB(hl)],YXr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],VXr=BB(Uu),KXr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],WXr=BB(XC),JXr=BB(es),qXr=BB(Jv),zXr=[0,[17,0,0],BB(hl)],$Xr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],QXr=[0,[15,0],BB(ED)],ZXr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],rYr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],eYr=[0,[17,0,[12,41,0]],BB(fe)],nYr=[0,[15,0],BB(ED)],tYr=BB(lb),uYr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],aYr=BB("Flow_ast.Identifier.name"),iYr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],cYr=[0,[3,0,0],BB(Yy)],fYr=[0,[17,0,0],BB(hl)],oYr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],sYr=BB(Uu),vYr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],lYr=BB(XC),DYr=BB(es),bYr=BB(Jv),pYr=[0,[17,0,0],BB(hl)],EYr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],mYr=[0,[15,0],BB(ED)],FYr=[0,[12,40,[18,[1,[0,0,BB(rA)]],0]],BB(aF)],kYr=[0,[12,44,[17,[0,BB(dd),1,0],0]],BB(ig)],dYr=[0,[17,0,[12,41,0]],BB(fe)],hYr=[0,[15,0],BB(ED)],yYr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],_Yr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],AYr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],CYr=BB("Flow_ast.Syntax.leading"),wYr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],SYr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],gYr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],BYr=[0,[17,0,0],BB(hl)],TYr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],IYr=BB("trailing"),OYr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],NYr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,91,0]],BB(rp)],xYr=[0,[17,[0,BB(Go),0,0],[12,93,[17,0,0]]],BB(bc)],LYr=[0,[17,0,0],BB(hl)],PYr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],RYr=BB("internal"),MYr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],GYr=[0,[17,0,0],BB(hl)],UYr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],jYr=[0,BB(yA),21,2],HYr=[0,BB(yA),32,2],XYr=[0,BB(yA),43,2],YYr=[0,BB(yA),70,2],VYr=[0,BB(yA),80,2],KYr=[0,BB(yA),90,2],WYr=[0,BB(yA),Ik,2],JYr=[0,BB(yA),Je,2],qYr=[0,BB(yA),PF,2],zYr=[0,BB(yA),136,2],$Yr=[0,BB(yA),472,2],QYr=[0,BB(yA),1007,2],ZYr=[0,BB(yA),1439,2],rVr=[0,BB(yA),1583,2],eVr=[0,BB(yA),1668,2],nVr=[0,BB(yA),1684,2],tVr=[0,BB(yA),1807,2],uVr=[0,BB(yA),1874,2],aVr=[0,BB(yA),1886,2],iVr=[0,1],cVr=[0,0],fVr=[0,2],oVr=[0,0],sVr=[0,1],vVr=[0,1],lVr=[0,1],DVr=[0,1],bVr=[0,1],pVr=[0,0,0],EVr=[0,0,0],mVr=[0,BB(sp),BB(mv),BB(jl),BB(kE),BB(xb),BB(Ig),BB(ii),BB(ES),BB(Tt),BB(mE),BB(PE),BB(Ow),BB(To),BB(ln),BB(C_),BB(jt),BB(fm),BB(OC),BB(sv),BB(xv),BB(mc),BB(oD),BB(Hd),BB(gl),BB(ur),BB(yE),BB(ft),BB(Kp),BB(Rv),BB(ca),BB(Jm),BB(tp),BB(xE),BB(gg),BB(Y_),BB(_f),BB(Fv),BB(Ne),BB(jg),BB(Nt),BB(Ri),BB(Jn),BB(pc),BB(hh),BB(i),BB(vl),BB(uw),BB(lk),BB(ky),BB(Gv),BB(BS),BB(Kd),BB(Bd),BB(at),BB(xm),BB(Eu),BB(Xu),BB(Og),BB(NS),BB(nh),BB(be),BB(Ok),BB(Fa),BB(ha),BB(Mb),BB(Fd),BB(Pm),BB(je),BB(TC),BB(NF),BB(LS),BB(nS),BB(fd),BB(pD),BB(si),BB(tt),BB(fr),BB(iu),BB(Qa),BB(_h),BB(ty),BB(Lu),BB(jw),BB(cn),BB(Ho),BB(Gm),BB(fc),BB(xe),BB(bg),BB(e),BB(kg),BB(Lv),BB($s),BB(cA),BB(_v),BB(Za),BB(Xo),BB(zh),BB(Po),BB(Tg),BB(Ki),BB(jk),BB(Ng),BB(fA),BB(Lk),BB(Bw),BB(U),BB(Ao),BB(eb),BB(to),BB(Wl),BB(vm),BB(_E),BB(qS),BB(Eo),BB(br),BB(Pr),BB(ka),BB(Rk),BB(Uh),BB(SS),BB(kt),BB(IC),BB(nl),BB(Cp),BB(Hr),BB(H_),BB(j_),BB(Hf),BB(V_),BB(cv),BB(Pb),BB(Pg),BB(Jh),BB(EC),BB(Gd),BB(de),BB(hg),BB(mu),BB(VS),BB(QC),BB(RS),BB(Fc),BB(mh),BB(ne),BB(jA),BB(nf),BB(Fm),BB(Ch),BB(ri),BB(nr),BB(pt),BB(Vg),BB(io),BB(qc),BB(B_),BB(uB),BB(Tb),BB(fE),BB(g),BB(Ww),BB(Nc),BB(sA),BB(pC),BB(Wg),BB(ls),BB(oy),BB(xt),BB(an),BB(ll),BB(Wf),BB(kn),BB(_d),BB(Id),BB(Dw),BB(Zr),BB(jy),BB(pb),BB(Mn),BB(Qo),BB(bw),BB(In),BB(It),BB(Cs),BB(FF),BB(Js),BB(Qd),BB(hd),BB(Eh),BB(CF),BB(ap),BB(wA),BB(of),BB(EE),BB(Db),BB(Cd),BB(Ou),BB(OA),BB(A_),BB(Ai),BB(Mi),BB(RD),BB(zk),BB(Xd),BB(oa),BB(ep),BB(Ge),BB(vE),BB(Fi),BB(Cf),BB(Yt),BB(NA),BB(Ye),BB(ar),BB(Hy),BB(st),BB(Vw),BB(Ie),BB(JA),BB(Yd),BB(aC),BB(en),BB(P),BB(Gi),BB(Kb),BB($i),BB(mn),BB(xc),BB(uC),BB(h),BB(Rr),BB(oe),BB(Bv),BB(nu),BB(pk),BB(qd),BB(Gy),BB(ob),BB(zo),BB(Sa)],FVr=[0,BB(Ne),BB(ka),BB(Ch),BB(mu),BB(mn),BB(Eu),BB(Gm),BB(Qa),BB(Ao),BB(Cp),BB(OC),BB(xE),BB(NF),BB(_d),BB(Vw),BB(qS),BB(fc),BB(br),BB(hd),BB(Cs),BB(mv),BB(g),BB(Tg),BB(Ho),BB(QC),BB(Qd),BB(hg),BB(kE),BB(ls),BB(Bd),BB(Ou),BB(Gi),BB(ri),BB(P),BB(vm),BB(Mn),BB(mh),BB(NS),BB(Ww),BB(tp),BB(Bv),BB(_h),BB(Gd),BB(_f),BB(Eh),BB(Po),BB(xe),BB(ar),BB(vE),BB(Fd),BB(ky),BB(iu),BB(lk),BB(Lk),BB(Yt),BB(nS),BB(vl),BB(tt),BB(jA),BB(bg),BB(eb),BB(_E),BB(VS),BB(Za),BB(zk),BB(xv),BB(In),BB(fr),BB(Bw),BB(oa),BB(Xo),BB(Fm),BB(Kd),BB(Gy),BB(Db),BB(jy),BB(Lv),BB(ha),BB(ob),BB(Kb),BB(Ri),BB(xb),BB(uw),BB(EC),BB(oe),BB(fE),BB(gl),BB(SS),BB(st),BB(jw),BB(Jm),BB(CF),BB(pC),BB(sv),BB(sp),BB(Hd),BB(A_),BB(Ow),BB(Ok),BB(pc),BB(PE),BB(Ge),BB(OA),BB(ES),BB(Eo),BB(Gv),BB(nl),BB(FF),BB(an),BB(LS),BB(Id),BB(zh),BB(be),BB(oy),BB(ln),BB(oD),BB(Ig),BB(jg),BB(To),BB(mE),BB(NA),BB(Nc),BB(Fi),BB(cA),BB(nf),BB(Tt),BB(ep),BB(cn),BB(jk),BB(nu),BB($s),BB(Yd),BB(Hy),BB(j_),BB(nh),BB(Pm),BB(Ng),BB(kg),BB(Jh),BB(Jn),BB(uC),BB(gg),BB(Og),BB(ur),BB(Mi),BB(de),BB(TC),BB(Wf),BB(Pr),BB(Mb),BB(io),BB(Js),BB(Hf),BB(Cf),BB(nr),BB(_v),BB(Rk),BB(RS),BB(ne),BB(It),BB(i),BB(uB),BB(Pb),BB(bw),BB(Zr),BB(Lu),BB(Nt),BB(V_),BB(pD),BB(at),BB(mc),BB(si),BB(C_),BB($i),BB(EE),BB(aC),BB(Cd),BB(kt),BB(ca),BB(Fc),BB(hh),BB(Pg),BB(JA),BB(ty),BB(Wl),BB(Ye),BB(Hr),BB(ap),BB(fm),BB(zo),BB(ii),BB(en),BB(jt),BB(wA),BB(to),BB(Uh),BB(Xd),BB(Ki),BB(xm),BB(IC),BB(xt),BB(fA),BB(Kp),BB(pk),BB(Xu),BB(Rr),BB(kn),BB(Fa),BB(ll),BB(qc),BB(B_),BB(Fv),BB(RD),BB(pt),BB(BS),BB(pb),BB(of),BB(ft),BB(Rv),BB(Y_),BB(Tb),BB(Dw),BB(sA),BB(je),BB(h),BB(cv),BB(Ie),BB(U),BB(fd),BB(Vg),BB(Ai),BB(Qo),BB(xc),BB(qd),BB(H_),BB(jl),BB(Wg),BB(yE),BB(e)],kVr=BB("File_key.Builtins"),dVr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("File_key.LibFile"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>File_key.LibFile@ ")],hVr=[0,[3,0,0],BB(Yy)],yVr=[0,[17,0,[12,41,0]],BB(fe)],_Vr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("File_key.SourceFile"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>File_key.SourceFile@ ")],AVr=[0,[3,0,0],BB(Yy)],CVr=[0,[17,0,[12,41,0]],BB(fe)],wVr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("File_key.JsonFile"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>File_key.JsonFile@ ")],SVr=[0,[3,0,0],BB(Yy)],gVr=[0,[17,0,[12,41,0]],BB(fe)],BVr=[0,[12,40,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB("File_key.ResourceFile"),[17,[0,BB(dd),1,0],0]]]],BB("(@[<2>File_key.ResourceFile@ ")],TVr=[0,[3,0,0],BB(Yy)],IVr=[0,[17,0,[12,41,0]],BB(fe)],OVr=BB(et),NVr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],xVr=BB("Loc.line"),LVr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],PVr=[0,[4,0,0,0,0],BB(Gt)],RVr=[0,[17,0,0],BB(hl)],MVr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],GVr=BB(dn),UVr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],jVr=[0,[4,0,0,0,0],BB(Gt)],HVr=[0,[17,0,0],BB(hl)],XVr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],YVr=[0,[15,0],BB(ED)],VVr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[11,BB(Lo),0]],BB(Ft)],KVr=BB("Loc.source"),WVr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],JVr=BB(XC),qVr=BB(es),zVr=BB(Jv),$Vr=[0,[17,0,0],BB(hl)],QVr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],ZVr=BB(I),rKr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],eKr=[0,[17,0,0],BB(hl)],nKr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],tKr=BB("_end"),uKr=[0,[18,[1,[0,0,BB(rA)]],[2,0,[11,BB(cD),[17,[0,BB(dd),1,0],0]]]],BB(fs)],aKr=[0,[17,0,0],BB(hl)],iKr=[0,[17,[0,BB(dd),1,0],[12,PF,[17,0,0]]],BB(uk)],cKr=BB("=="),fKr=BB("!="),oKr=BB("==="),sKr=BB("!=="),vKr=BB(oF),lKr=BB("<="),DKr=BB(L),bKr=BB(">="),pKr=BB("<<"),EKr=BB(">>"),mKr=BB(">>>"),FKr=BB(SA),kKr=BB(f_),dKr=BB("*"),hKr=BB("**"),yKr=BB(vs),_Kr=BB("%"),AKr=BB("|"),CKr=BB(uA),wKr=BB("&"),SKr=BB(Lf),gKr=BB(no),BKr=BB("+="),TKr=BB("-="),IKr=BB("*="),OKr=BB("**="),NKr=BB("/="),xKr=BB("%="),LKr=BB("<<="),PKr=BB(">>="),RKr=BB(Eb),MKr=BB("|="),GKr=BB("^="),UKr=BB("&="),jKr=BB("Set.remove_min_elt"),HKr=[0,[12,59,[17,[0,BB(dd),1,0],0]],BB(Tk)],XKr=[0,[18,[1,[0,[11,BB(ng),0],BB(ng)]],[12,Lb,0]],BB("@[<2>{")],YKr=[0,[12,32,0],BB(JD)],VKr=[0,[12,32,0],BB(JD)],KKr=[0,[17,[0,BB(Go),0,0],[12,PF,[17,0,0]]],BB("@,}@]")],WKr=[0,BB("src/hack_forked/utils/collections/flow_set.ml"),345,14],JKr=BB(En),qKr=BB(ks),zKr=BB(fh),$Kr=BB(Ca),QKr=BB("Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead."),ZKr=BB("Enum members are separated with `,`. Replace `;` with `,`."),rWr=BB("Unexpected reserved word"),eWr=BB("Unexpected reserved type"),nWr=BB("Unexpected `super` outside of a class method"),tWr=BB("`super()` is only valid in a class constructor"),uWr=BB("Unexpected end of input"),aWr=BB("Unexpected variance sigil"),iWr=BB("Unexpected static modifier"),cWr=BB("Unexpected proto modifier"),fWr=BB("Type aliases are not allowed in untyped mode"),oWr=BB("Opaque type aliases are not allowed in untyped mode"),sWr=BB("Type annotations are not allowed in untyped mode"),vWr=BB("Type declarations are not allowed in untyped mode"),lWr=BB("Type imports are not allowed in untyped mode"),DWr=BB("Type exports are not allowed in untyped mode"),bWr=BB("Interfaces are not allowed in untyped mode"),pWr=BB("Spreading a type is only allowed inside an object type"),EWr=BB("Explicit inexact syntax must come at the end of an object type"),mWr=BB("Explicit inexact syntax cannot appear inside an explicit exact object type"),FWr=BB("Explicit inexact syntax can only appear inside an object type"),kWr=BB("Illegal newline after throw"),dWr=BB("A bigint literal must be an integer"),hWr=BB("A bigint literal cannot use exponential notation"),yWr=BB("Invalid regular expression"),_Wr=BB("Invalid regular expression: missing /"),AWr=BB("Invalid left-hand side in assignment"),CWr=BB("Invalid left-hand side in exponentiation expression"),wWr=BB("Invalid left-hand side in for-in"),SWr=BB("Invalid left-hand side in for-of"),gWr=BB("Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`."),BWr=BB("found an expression instead"),TWr=BB("Expected an object pattern, array pattern, or an identifier but "),IWr=BB("More than one default clause in switch statement"),OWr=BB("Missing catch or finally after try"),NWr=BB("Illegal continue statement"),xWr=BB("Illegal break statement"),LWr=BB("Illegal return statement"),PWr=BB("Illegal Unicode escape"),RWr=BB("Strict mode code may not include a with statement"),MWr=BB("Catch variable may not be eval or arguments in strict mode"),GWr=BB("Variable name may not be eval or arguments in strict mode"),UWr=BB("Parameter name eval or arguments is not allowed in strict mode"),jWr=BB("Strict mode function may not have duplicate parameter names"),HWr=BB("Function name may not be eval or arguments in strict mode"),XWr=BB("Octal literals are not allowed in strict mode."),YWr=BB("Number literals with leading zeros are not allowed in strict mode."),VWr=BB("Delete of an unqualified identifier in strict mode."),KWr=BB("Duplicate data property in object literal not allowed in strict mode"),WWr=BB("Object literal may not have data and accessor property with the same name"),JWr=BB("Object literal may not have multiple get/set accessors with the same name"),qWr=BB("Assignment to eval or arguments is not allowed in strict mode"),zWr=BB("Postfix increment/decrement may not have eval or arguments operand in strict mode"),$Wr=BB("Prefix increment/decrement may not have eval or arguments operand in strict mode"),QWr=BB("Use of future reserved word in strict mode"),ZWr=BB("JSX attributes must only be assigned a non-empty expression"),rJr=BB("JSX value should be either an expression or a quoted JSX text"),eJr=BB("Const must be initialized"),nJr=BB("Destructuring assignment must be initialized"),tJr=BB("Illegal newline before arrow"),uJr=BB($F),aJr=BB("Async functions can only be declared at top level or "),iJr=BB($F),cJr=BB("Generators can only be declared at top level or "),fJr=BB("elements must be wrapped in an enclosing parent tag"),oJr=BB("Unexpected token <. Remember, adjacent JSX "),sJr=BB("Rest parameter must be final parameter of an argument list"),vJr=BB("Rest element must be final element of an array pattern"),lJr=BB("Rest property must be final property of an object pattern"),DJr=BB("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),bJr=BB("`declare` modifier can only appear on class fields."),pJr=BB("Unexpected token `=`. Initializers are not allowed in a `declare`."),EJr=BB("Unexpected token `=`. Initializers are not allowed in a `declare opaque type`."),mJr=BB("`declare export let` is not supported. Use `declare export var` instead."),FJr=BB("`declare export const` is not supported. Use `declare export var` instead."),kJr=BB("`declare export type` is not supported. Use `export type` instead."),dJr=BB("`declare export interface` is not supported. Use `export interface` instead."),hJr=BB("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),yJr=BB("When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?"),_Jr=BB("When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?"),AJr=BB("Found a decorator in an unsupported position."),CJr=BB("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),wJr=BB("Duplicate `declare module.exports` statement!"),SJr=BB("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),gJr=BB("Getter should have zero parameters"),BJr=BB("Setter should have exactly one parameter"),TJr=BB("`import type` or `import typeof`!"),IJr=BB("Imports within a `declare module` body must always be "),OJr=BB("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),NJr=BB("Missing comma between import specifiers"),xJr=BB("Missing comma between export specifiers"),LJr=BB("Malformed unicode"),PJr=BB("Classes may only have one constructor"),RJr=BB("Private fields may not be deleted."),MJr=BB("Private fields can only be referenced from within a class."),GJr=BB("You may not access a private field through the `super` keyword."),UJr=BB("Yield expression not allowed in formal parameter"),jJr=BB("`await` is an invalid identifier in async functions"),HJr=BB("`yield` is an invalid identifier in generators"),XJr=BB("either a `let` binding pattern, or a member expression."),YJr=BB("`let [` is ambiguous in this position because it is "),VJr=BB("Literals cannot be used as shorthand properties."),KJr=BB("Computed properties must have a value."),WJr=BB("Object pattern can't contain methods"),JJr=BB("A trailing comma is not permitted after the rest element"),qJr=BB("The optional chaining plugin must be enabled in order to use the optional chaining operator (`?.`). Optional chaining is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_optional_chaining` option."),zJr=BB("An optional chain may not be used in a `new` expression."),$Jr=BB("Template literals may not be used in an optional chain."),QJr=BB("The nullish coalescing plugin must be enabled in order to use the nullish coalescing operator (`??`). Nullish coalescing is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_nullish_coalescing` option."),ZJr=BB("Unexpected whitespace between `#` and identifier"),rqr=BB("A type annotation is required for the `this` parameter."),eqr=BB("The `this` parameter must be the first function parameter."),nqr=BB("The `this` parameter cannot be optional."),tqr=BB("A getter cannot have a `this` parameter."),uqr=BB("A setter cannot have a `this` parameter."),aqr=BB("Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared."),iqr=BB("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),cqr=BB("Unexpected parser state: "),fqr=[0,[11,BB("Boolean enum members need to be initialized. Use either `"),[2,0,[11,BB(" = true,` or `"),[2,0,[11,BB(" = false,` in enum `"),[2,0,[11,BB(Oi),0]]]]]]],BB("Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.")],oqr=[0,[11,BB("Enum member names need to be unique, but the name `"),[2,0,[11,BB("` has already been used before in enum `"),[2,0,[11,BB(Oi),0]]]]],BB("Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.")],sqr=[0,[11,BB(nt),[2,0,[11,BB("` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."),0]]],BB("Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")],vqr=[0,[11,BB("Use one of `boolean`, `number`, `string`, or `symbol` in enum `"),[2,0,[11,BB(Oi),0]]],BB("Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.")],lqr=[0,[11,BB("Enum type `"),[2,0,[11,BB("` is not valid. "),[2,0,0]]]],BB("Enum type `%s` is not valid. %s")],Dqr=[0,[11,BB("Supplied enum type is not valid. "),[2,0,0]],BB("Supplied enum type is not valid. %s")],bqr=[0,[11,BB("Enum member names and initializers are separated with `=`. Replace `"),[2,0,[11,BB(":` with `"),[2,0,[11,BB(" =`."),0]]]]],BB("Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.")],pqr=[0,[11,BB("Symbol enum members cannot be initialized. Use `"),[2,0,[11,BB(",` in enum `"),[2,0,[11,BB(Oi),0]]]]],BB("Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.")],Eqr=[0,[11,BB(nt),[2,0,[11,BB("` has type `"),[2,0,[11,BB("`, so the initializer of `"),[2,0,[11,BB("` needs to be a "),[2,0,[11,BB(" literal."),0]]]]]]]]],BB("Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.")],mqr=[0,[11,BB("The enum member initializer for `"),[2,0,[11,BB("` needs to be a literal (either a boolean, number, or string) in enum `"),[2,0,[11,BB(Oi),0]]]]],BB("The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.")],Fqr=[0,[11,BB("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"),[2,0,[11,BB("`, consider using `"),[2,0,[11,BB("`, in enum `"),[2,0,[11,BB(Oi),0]]]]]]],BB("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.")],kqr=BB("The `...` must come at the end of the enum body. Remove the trailing comma."),dqr=BB("The `...` must come after all enum members. Move it to the end of the enum body."),hqr=[0,[11,BB("Number enum members need to be initialized, e.g. `"),[2,0,[11,BB(" = 1,` in enum `"),[2,0,[11,BB(Oi),0]]]]],BB("Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.")],yqr=[0,[11,BB("String enum members need to consistently either all use initializers, or use no initializers, in enum "),[2,0,[12,46,0]]],BB("String enum members need to consistently either all use initializers, or use no initializers, in enum %s.")],_qr=[0,[11,BB(Cl),[2,0,0]],BB("Unexpected %s")],Aqr=[0,[11,BB(Cl),[2,0,[11,BB(", expected "),[2,0,0]]]],BB("Unexpected %s, expected %s")],Cqr=[0,[11,BB(iB),[2,0,[11,BB("`. Did you mean `"),[2,0,[11,BB("`?"),0]]]]],BB("Unexpected token `%s`. Did you mean `%s`?")],wqr=BB(vk),Sqr=BB("Invalid flags supplied to RegExp constructor '"),gqr=BB("Remove the period."),Bqr=BB("Indexed access uses bracket notation."),Tqr=[0,[11,BB("Invalid indexed access. "),[2,0,[11,BB(" Use the format `T[K]`."),0]]],BB("Invalid indexed access. %s Use the format `T[K]`.")],Iqr=BB(vk),Oqr=BB("Undefined label '"),Nqr=BB("' has already been declared"),xqr=BB(" '"),Lqr=BB("Expected corresponding JSX closing tag for "),Pqr=BB($F),Rqr=BB("In strict mode code, functions can only be declared at top level or "),Mqr=BB("inside a block, or as the body of an if statement."),Gqr=BB("In non-strict mode code, functions can only be declared at top level, "),Uqr=[0,[11,BB("Duplicate export for `"),[2,0,[12,96,0]]],BB("Duplicate export for `%s`")],jqr=BB("` is declared more than once."),Hqr=BB("Private fields may only be declared once. `#"),Xqr=BB("static "),Yqr=BB(rA),Vqr=BB("#"),Kqr=BB("methods"),Wqr=BB("fields"),Jqr=BB(Oi),qqr=BB(" named `"),zqr=BB("Classes may not have "),$qr=BB("` has not been declared."),Qqr=BB("Private fields must be declared before they can be referenced. `#"),Zqr=[0,[11,BB(iB),[2,0,[11,BB("`. Parentheses are required to combine `??` with `&&` or `||` expressions."),0]]],BB("Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.")],rzr=BB("Parse_error.Error"),ezr=[0,BB("src/third-party/sedlex/flow_sedlexing.ml"),236,4],nzr=BB("Flow_sedlexing.MalFormed"),tzr=[0,1,0],uzr=[0,0,[0,1,0],[0,1,0]],azr=[0,BB("end of input"),BB("the")],izr=[0,BB("template literal part"),BB(PA)],czr=[0,BB(Dl),BB(PA)],fzr=BB("the"),ozr=BB(PA),szr=BB(ks),vzr=BB(PA),lzr=BB(HF),Dzr=BB(PA),bzr=BB(fh),pzr=BB("an"),Ezr=BB(hg),mzr=BB(JD),Fzr=[0,[11,BB("token `"),[2,0,[12,96,0]]],BB("token `%s`")],kzr=BB("{"),dzr=BB(bE),hzr=BB("{|"),yzr=BB("|}"),_zr=BB("("),Azr=BB(es),Czr=BB("["),wzr=BB("]"),Szr=BB(";"),gzr=BB(","),Bzr=BB(cm),Tzr=BB("=>"),Izr=BB("..."),Ozr=BB("@"),Nzr=BB("#"),xzr=BB(Ss),Lzr=BB(qF),Pzr=BB(Lf),Rzr=BB(no),Mzr=BB(Jn),Gzr=BB(xE),Uzr=BB(DE),jzr=BB(ur),Hzr=BB(ue),Xzr=BB(Dp),Yzr=BB(Fw),Vzr=BB(Vs),Kzr=BB(Ia),Wzr=BB(ts),Jzr=BB(Zm),qzr=BB(La),zzr=BB(Th),$zr=BB(xc),Qzr=BB(h_),Zzr=BB(Ty),r$r=BB(RD),e$r=BB(Z_),n$r=BB(xr),t$r=BB(Sl),u$r=BB(MS),a$r=BB(ND),i$r=BB(kb),c$r=BB(Vu),f$r=BB(yu),o$r=BB(Us),s$r=BB(rh),v$r=BB(hf),l$r=BB(Zo),D$r=BB(Tf),b$r=BB(um),p$r=BB(Jh),E$r=BB(Mf),m$r=BB(me),F$r=BB(H_),k$r=BB(Ur),d$r=BB(ve),h$r=BB(Py),y$r=BB(I_),_$r=BB(sp),A$r=BB(Mi),C$r=BB(Qe),w$r=BB(zr),S$r=BB(Ln),g$r=BB("of"),B$r=BB(l_),T$r=BB(rf),I$r=BB("%checks"),O$r=BB(Eb),N$r=BB(">>="),x$r=BB("<<="),L$r=BB("^="),P$r=BB("|="),R$r=BB("&="),M$r=BB("%="),G$r=BB("/="),U$r=BB("*="),j$r=BB("**="),H$r=BB("-="),X$r=BB("+="),Y$r=BB("="),V$r=BB("?."),K$r=BB(u),W$r=BB("?"),J$r=BB(ph),q$r=BB("||"),z$r=BB("&&"),$$r=BB("|"),Q$r=BB(uA),Z$r=BB("&"),rQr=BB("=="),eQr=BB("!="),nQr=BB("==="),tQr=BB("!=="),uQr=BB("<="),aQr=BB(">="),iQr=BB(oF),cQr=BB(L),fQr=BB("<<"),oQr=BB(">>"),sQr=BB(">>>"),vQr=BB(SA),lQr=BB(f_),DQr=BB(vs),bQr=BB("*"),pQr=BB("**"),EQr=BB("%"),mQr=BB("!"),FQr=BB("~"),kQr=BB("++"),dQr=BB("--"),hQr=BB(rA),yQr=BB(Kh),_Qr=BB($l),AQr=BB(CF),CQr=BB(ks),wQr=BB(HF),SQr=BB(fh),gQr=BB(Zo),BQr=BB(Ca),TQr=BB(vs),IQr=BB(vs),OQr=BB(En),NQr=BB($_),xQr=BB("T_LCURLY"),LQr=BB("T_RCURLY"),PQr=BB("T_LCURLYBAR"),RQr=BB("T_RCURLYBAR"),MQr=BB("T_LPAREN"),GQr=BB("T_RPAREN"),UQr=BB("T_LBRACKET"),jQr=BB("T_RBRACKET"),HQr=BB("T_SEMICOLON"),XQr=BB("T_COMMA"),YQr=BB("T_PERIOD"),VQr=BB("T_ARROW"),KQr=BB("T_ELLIPSIS"),WQr=BB("T_AT"),JQr=BB("T_POUND"),qQr=BB("T_FUNCTION"),zQr=BB("T_IF"),$Qr=BB("T_IN"),QQr=BB("T_INSTANCEOF"),ZQr=BB("T_RETURN"),rZr=BB("T_SWITCH"),eZr=BB("T_THIS"),nZr=BB("T_THROW"),tZr=BB("T_TRY"),uZr=BB("T_VAR"),aZr=BB("T_WHILE"),iZr=BB("T_WITH"),cZr=BB("T_CONST"),fZr=BB("T_LET"),oZr=BB("T_NULL"),sZr=BB("T_FALSE"),vZr=BB("T_TRUE"),lZr=BB("T_BREAK"),DZr=BB("T_CASE"),bZr=BB("T_CATCH"),pZr=BB("T_CONTINUE"),EZr=BB("T_DEFAULT"),mZr=BB("T_DO"),FZr=BB("T_FINALLY"),kZr=BB("T_FOR"),dZr=BB("T_CLASS"),hZr=BB("T_EXTENDS"),yZr=BB("T_STATIC"),_Zr=BB("T_ELSE"),AZr=BB("T_NEW"),CZr=BB("T_DELETE"),wZr=BB("T_TYPEOF"),SZr=BB("T_VOID"),gZr=BB("T_ENUM"),BZr=BB("T_EXPORT"),TZr=BB("T_IMPORT"),IZr=BB("T_SUPER"),OZr=BB("T_IMPLEMENTS"),NZr=BB("T_INTERFACE"),xZr=BB("T_PACKAGE"),LZr=BB("T_PRIVATE"),PZr=BB("T_PROTECTED"),RZr=BB("T_PUBLIC"),MZr=BB("T_YIELD"),GZr=BB("T_DEBUGGER"),UZr=BB("T_DECLARE"),jZr=BB("T_TYPE"),HZr=BB("T_OPAQUE"),XZr=BB("T_OF"),YZr=BB("T_ASYNC"),VZr=BB("T_AWAIT"),KZr=BB("T_CHECKS"),WZr=BB("T_RSHIFT3_ASSIGN"),JZr=BB("T_RSHIFT_ASSIGN"),qZr=BB("T_LSHIFT_ASSIGN"),zZr=BB("T_BIT_XOR_ASSIGN"),$Zr=BB("T_BIT_OR_ASSIGN"),QZr=BB("T_BIT_AND_ASSIGN"),ZZr=BB("T_MOD_ASSIGN"),r0r=BB("T_DIV_ASSIGN"),e0r=BB("T_MULT_ASSIGN"),n0r=BB("T_EXP_ASSIGN"),t0r=BB("T_MINUS_ASSIGN"),u0r=BB("T_PLUS_ASSIGN"),a0r=BB("T_ASSIGN"),i0r=BB("T_PLING_PERIOD"),c0r=BB("T_PLING_PLING"),f0r=BB("T_PLING"),o0r=BB("T_COLON"),s0r=BB("T_OR"),v0r=BB("T_AND"),l0r=BB("T_BIT_OR"),D0r=BB("T_BIT_XOR"),b0r=BB("T_BIT_AND"),p0r=BB("T_EQUAL"),E0r=BB("T_NOT_EQUAL"),m0r=BB("T_STRICT_EQUAL"),F0r=BB("T_STRICT_NOT_EQUAL"),k0r=BB("T_LESS_THAN_EQUAL"),d0r=BB("T_GREATER_THAN_EQUAL"),h0r=BB("T_LESS_THAN"),y0r=BB("T_GREATER_THAN"),_0r=BB("T_LSHIFT"),A0r=BB("T_RSHIFT"),C0r=BB("T_RSHIFT3"),w0r=BB("T_PLUS"),S0r=BB("T_MINUS"),g0r=BB("T_DIV"),B0r=BB("T_MULT"),T0r=BB("T_EXP"),I0r=BB("T_MOD"),O0r=BB("T_NOT"),N0r=BB("T_BIT_NOT"),x0r=BB("T_INCR"),L0r=BB("T_DECR"),P0r=BB("T_EOF"),R0r=BB("T_ANY_TYPE"),M0r=BB("T_MIXED_TYPE"),G0r=BB("T_EMPTY_TYPE"),U0r=BB("T_NUMBER_TYPE"),j0r=BB("T_BIGINT_TYPE"),H0r=BB("T_STRING_TYPE"),X0r=BB("T_VOID_TYPE"),Y0r=BB("T_SYMBOL_TYPE"),V0r=BB("T_NUMBER"),K0r=BB("T_BIGINT"),W0r=BB("T_STRING"),J0r=BB("T_TEMPLATE_PART"),q0r=BB("T_IDENTIFIER"),z0r=BB("T_REGEXP"),$0r=BB("T_ERROR"),Q0r=BB("T_JSX_IDENTIFIER"),Z0r=BB("T_JSX_TEXT"),r1r=BB("T_BOOLEAN_TYPE"),e1r=BB("T_NUMBER_SINGLETON_TYPE"),n1r=BB("T_BIGINT_SINGLETON_TYPE"),t1r=BB("*-/"),u1r=BB("*/"),a1r=BB("*-/"),i1r=BB("unreachable line_comment"),c1r=BB("unreachable string_quote"),f1r=BB("\\"),o1r=BB("unreachable template_part"),s1r=BB("${"),v1r=BB("\r\n"),l1r=BB("\r\n"),D1r=BB("\n"),b1r=BB("unreachable regexp_class"),p1r=BB("\\\\"),E1r=BB("unreachable regexp_body"),m1r=BB(rA),F1r=BB(rA),k1r=BB(rA),d1r=BB(rA),h1r=BB("unreachable jsxtext"),y1r=BB(vk),_1r=BB('"'),A1r=BB(oF),C1r=BB(L),w1r=BB("{"),S1r=BB(bE),g1r=BB("{'}'}"),B1r=BB(bE),T1r=BB("{'>'}"),I1r=BB(L),O1r=BB(vS),N1r=BB("iexcl"),x1r=BB("aelig"),L1r=BB("Nu"),P1r=BB("Eacute"),R1r=BB("Atilde"),M1r=BB("'int'"),G1r=BB("AElig"),U1r=BB("Aacute"),j1r=BB("Acirc"),H1r=BB("Agrave"),X1r=BB("Alpha"),Y1r=BB("Aring"),V1r=[0,197],K1r=[0,913],W1r=[0,s],J1r=[0,194],q1r=[0,193],z1r=[0,198],$1r=[0,8747],Q1r=BB("Auml"),Z1r=BB("Beta"),r3r=BB("Ccedil"),e3r=BB("Chi"),n3r=BB("Dagger"),t3r=BB("Delta"),u3r=BB("ETH"),a3r=[0,208],i3r=[0,916],c3r=[0,8225],f3r=[0,935],o3r=[0,199],s3r=[0,914],v3r=[0,196],l3r=[0,195],D3r=BB("Icirc"),b3r=BB("Ecirc"),p3r=BB("Egrave"),E3r=BB("Epsilon"),m3r=BB("Eta"),F3r=BB("Euml"),k3r=BB("Gamma"),d3r=BB("Iacute"),h3r=[0,205],y3r=[0,915],_3r=[0,203],A3r=[0,919],C3r=[0,917],w3r=[0,200],S3r=[0,202],g3r=BB("Igrave"),B3r=BB("Iota"),T3r=BB("Iuml"),I3r=BB("Kappa"),O3r=BB("Lambda"),N3r=BB("Mu"),x3r=BB("Ntilde"),L3r=[0,209],P3r=[0,924],R3r=[0,923],M3r=[0,922],G3r=[0,207],U3r=[0,921],j3r=[0,204],H3r=[0,206],X3r=[0,201],Y3r=BB("Sigma"),V3r=BB("Otilde"),K3r=BB("OElig"),W3r=BB("Oacute"),J3r=BB("Ocirc"),q3r=BB("Ograve"),z3r=BB("Omega"),$3r=BB("Omicron"),Q3r=BB("Oslash"),Z3r=[0,216],r4r=[0,927],e4r=[0,937],n4r=[0,210],t4r=[0,212],u4r=[0,ke],a4r=[0,338],i4r=BB("Ouml"),c4r=BB("Phi"),f4r=BB("Pi"),o4r=BB("Prime"),s4r=BB("Psi"),v4r=BB("Rho"),l4r=BB("Scaron"),D4r=[0,352],b4r=[0,929],p4r=[0,936],E4r=[0,8243],m4r=[0,928],F4r=[0,934],k4r=[0,214],d4r=[0,213],h4r=BB("Uuml"),y4r=BB("THORN"),_4r=BB("Tau"),A4r=BB("Theta"),C4r=BB("Uacute"),w4r=BB("Ucirc"),S4r=BB("Ugrave"),g4r=BB("Upsilon"),B4r=[0,933],T4r=[0,217],I4r=[0,219],O4r=[0,218],N4r=[0,920],x4r=[0,932],L4r=[0,222],P4r=BB("Xi"),R4r=BB("Yacute"),M4r=BB("Yuml"),G4r=BB("Zeta"),U4r=BB("aacute"),j4r=BB("acirc"),H4r=BB("acute"),X4r=[0,180],Y4r=[0,226],V4r=[0,225],K4r=[0,918],W4r=[0,376],J4r=[0,221],q4r=[0,926],z4r=[0,220],$4r=[0,931],Q4r=[0,925],Z4r=BB("delta"),r7r=BB("cap"),e7r=BB("aring"),n7r=BB("agrave"),t7r=BB("alefsym"),u7r=BB("alpha"),a7r=BB("amp"),i7r=BB("and"),c7r=BB("ang"),f7r=BB("apos"),o7r=[0,39],s7r=[0,8736],v7r=[0,8743],l7r=[0,38],D7r=[0,945],b7r=[0,8501],p7r=[0,eo],E7r=BB("asymp"),m7r=BB("atilde"),F7r=BB("auml"),k7r=BB("bdquo"),d7r=BB("beta"),h7r=BB("brvbar"),y7r=BB("bull"),_7r=[0,8226],A7r=[0,166],C7r=[0,946],w7r=[0,8222],S7r=[0,228],g7r=[0,227],B7r=[0,8776],T7r=[0,229],I7r=BB("copy"),O7r=BB("ccedil"),N7r=BB("cedil"),x7r=BB("cent"),L7r=BB("chi"),P7r=BB("circ"),R7r=BB("clubs"),M7r=BB("cong"),G7r=[0,8773],U7r=[0,9827],j7r=[0,710],H7r=[0,967],X7r=[0,162],Y7r=[0,184],V7r=[0,231],K7r=BB("crarr"),W7r=BB("cup"),J7r=BB("curren"),q7r=BB("dArr"),z7r=BB("dagger"),$7r=BB("darr"),Q7r=BB("deg"),Z7r=[0,176],r2r=[0,8595],e2r=[0,8224],n2r=[0,8659],t2r=[0,164],u2r=[0,8746],a2r=[0,8629],i2r=[0,169],c2r=[0,8745],f2r=BB("fnof"),o2r=BB("ensp"),s2r=BB("diams"),v2r=BB("divide"),l2r=BB("eacute"),D2r=BB("ecirc"),b2r=BB("egrave"),p2r=BB(CF),E2r=BB("emsp"),m2r=[0,8195],F2r=[0,8709],k2r=[0,232],d2r=[0,234],h2r=[0,233],y2r=[0,247],_2r=[0,9830],A2r=BB("epsilon"),C2r=BB("equiv"),w2r=BB("eta"),S2r=BB("eth"),g2r=BB("euml"),B2r=BB("euro"),T2r=BB("exist"),I2r=[0,8707],O2r=[0,8364],N2r=[0,la],x2r=[0,i_],L2r=[0,951],P2r=[0,8801],R2r=[0,949],M2r=[0,8194],G2r=BB("gt"),U2r=BB("forall"),j2r=BB("frac12"),H2r=BB("frac14"),X2r=BB("frac34"),Y2r=BB("frasl"),V2r=BB("gamma"),K2r=BB("ge"),W2r=[0,8805],J2r=[0,947],q2r=[0,8260],z2r=[0,190],$2r=[0,188],Q2r=[0,189],Z2r=[0,8704],r5r=BB("hArr"),e5r=BB("harr"),n5r=BB("hearts"),t5r=BB("hellip"),u5r=BB("iacute"),a5r=BB("icirc"),i5r=[0,238],c5r=[0,237],f5r=[0,8230],o5r=[0,9829],s5r=[0,8596],v5r=[0,8660],l5r=[0,62],D5r=[0,402],b5r=[0,948],p5r=[0,230],E5r=BB("prime"),m5r=BB("ndash"),F5r=BB("le"),k5r=BB("kappa"),d5r=BB("igrave"),h5r=BB("image"),y5r=BB("infin"),_5r=BB("iota"),A5r=BB("iquest"),C5r=BB("isin"),w5r=BB("iuml"),S5r=[0,ey],g5r=[0,8712],B5r=[0,191],T5r=[0,953],I5r=[0,8734],O5r=[0,8465],N5r=[0,236],x5r=BB("lArr"),L5r=BB("lambda"),P5r=BB("lang"),R5r=BB("laquo"),M5r=BB("larr"),G5r=BB("lceil"),U5r=BB("ldquo"),j5r=[0,8220],H5r=[0,8968],X5r=[0,8592],Y5r=[0,171],V5r=[0,10216],K5r=[0,955],W5r=[0,8656],J5r=[0,954],q5r=BB("macr"),z5r=BB("lfloor"),$5r=BB("lowast"),Q5r=BB("loz"),Z5r=BB("lrm"),r6r=BB("lsaquo"),e6r=BB("lsquo"),n6r=BB("lt"),t6r=[0,60],u6r=[0,8216],a6r=[0,8249],i6r=[0,8206],c6r=[0,9674],f6r=[0,8727],o6r=[0,8970],s6r=BB("mdash"),v6r=BB("micro"),l6r=BB("middot"),D6r=BB(kh),b6r=BB("mu"),p6r=BB("nabla"),E6r=BB("nbsp"),m6r=[0,160],F6r=[0,8711],k6r=[0,956],d6r=[0,8722],h6r=[0,183],y6r=[0,181],_6r=[0,8212],A6r=[0,175],C6r=[0,8804],w6r=BB("or"),S6r=BB("oacute"),g6r=BB("ne"),B6r=BB("ni"),T6r=BB("not"),I6r=BB("notin"),O6r=BB("nsub"),N6r=BB("ntilde"),x6r=BB("nu"),L6r=[0,957],P6r=[0,241],R6r=[0,8836],M6r=[0,8713],G6r=[0,172],U6r=[0,8715],j6r=[0,8800],H6r=BB("ocirc"),X6r=BB("oelig"),Y6r=BB("ograve"),V6r=BB("oline"),K6r=BB("omega"),W6r=BB("omicron"),J6r=BB("oplus"),q6r=[0,8853],z6r=[0,959],$6r=[0,969],Q6r=[0,gE],Z6r=[0,242],r8r=[0,339],e8r=[0,244],n8r=[0,243],t8r=BB("part"),u8r=BB("ordf"),a8r=BB("ordm"),i8r=BB("oslash"),c8r=BB("otilde"),f8r=BB("otimes"),o8r=BB("ouml"),s8r=BB("para"),v8r=[0,182],l8r=[0,246],D8r=[0,8855],b8r=[0,245],p8r=[0,Dc],E8r=[0,186],m8r=[0,170],F8r=BB("permil"),k8r=BB("perp"),d8r=BB("phi"),h8r=BB("pi"),y8r=BB("piv"),_8r=BB("plusmn"),A8r=BB("pound"),C8r=[0,163],w8r=[0,177],S8r=[0,982],g8r=[0,960],B8r=[0,966],T8r=[0,8869],I8r=[0,8240],O8r=[0,8706],N8r=[0,8744],x8r=[0,8211],L8r=BB("sup1"),P8r=BB("rlm"),R8r=BB("raquo"),M8r=BB("prod"),G8r=BB("prop"),U8r=BB("psi"),j8r=BB("quot"),H8r=BB("rArr"),X8r=BB("radic"),Y8r=BB("rang"),V8r=[0,10217],K8r=[0,8730],W8r=[0,8658],J8r=[0,34],q8r=[0,968],z8r=[0,8733],$8r=[0,8719],Q8r=BB("rarr"),Z8r=BB("rceil"),r9r=BB("rdquo"),e9r=BB("real"),n9r=BB("reg"),t9r=BB("rfloor"),u9r=BB("rho"),a9r=[0,961],i9r=[0,8971],c9r=[0,174],f9r=[0,8476],o9r=[0,8221],s9r=[0,8969],v9r=[0,8594],l9r=[0,187],D9r=BB("sigma"),b9r=BB("rsaquo"),p9r=BB("rsquo"),E9r=BB("sbquo"),m9r=BB("scaron"),F9r=BB("sdot"),k9r=BB("sect"),d9r=BB("shy"),h9r=[0,173],y9r=[0,167],_9r=[0,8901],A9r=[0,353],C9r=[0,8218],w9r=[0,8217],S9r=[0,8250],g9r=BB("sigmaf"),B9r=BB("sim"),T9r=BB("spades"),I9r=BB("sub"),O9r=BB("sube"),N9r=BB("sum"),x9r=BB("sup"),L9r=[0,8835],P9r=[0,8721],R9r=[0,8838],M9r=[0,8834],G9r=[0,9824],U9r=[0,8764],j9r=[0,962],H9r=[0,963],X9r=[0,8207],Y9r=BB("uarr"),V9r=BB("thetasym"),K9r=BB("sup2"),W9r=BB("sup3"),J9r=BB("supe"),q9r=BB("szlig"),z9r=BB("tau"),$9r=BB("there4"),Q9r=BB("theta"),Z9r=[0,952],rre=[0,8756],ere=[0,964],nre=[0,co],tre=[0,8839],ure=[0,179],are=[0,178],ire=BB("thinsp"),cre=BB("thorn"),fre=BB("tilde"),ore=BB("times"),sre=BB("trade"),vre=BB("uArr"),lre=BB("uacute"),Dre=[0,250],bre=[0,8657],pre=[0,8482],Ere=[0,215],mre=[0,732],Fre=[0,Hk],kre=[0,8201],dre=[0,977],hre=BB("xi"),yre=BB("ucirc"),_re=BB("ugrave"),Are=BB("uml"),Cre=BB("upsih"),wre=BB("upsilon"),Sre=BB("uuml"),gre=BB("weierp"),Bre=[0,K],Tre=[0,rm],Ire=[0,965],Ore=[0,978],Nre=[0,168],xre=[0,249],Lre=[0,251],Pre=BB("yacute"),Rre=BB("yen"),Mre=BB("yuml"),Gre=BB("zeta"),Ure=BB("zwj"),jre=BB("zwnj"),Hre=[0,8204],Xre=[0,hc],Yre=[0,950],Vre=[0,255],Kre=[0,165],Wre=[0,253],Jre=[0,958],qre=[0,8593],zre=[0,185],$re=[0,8242],Qre=[0,161],Zre=BB(";"),ree=BB("&"),eee=BB("unreachable jsx_child"),nee=BB("unreachable type_token wholenumber"),tee=BB("unreachable type_token wholebigint"),uee=BB("unreachable type_token floatbigint"),aee=BB("unreachable type_token scinumber"),iee=BB("unreachable type_token scibigint"),cee=BB("unreachable type_token hexnumber"),fee=BB("unreachable type_token hexbigint"),oee=BB("unreachable type_token legacyoctnumber"),see=BB("unreachable type_token octnumber"),vee=BB("unreachable type_token octbigint"),lee=BB("unreachable type_token binnumber"),Dee=BB("unreachable type_token bigbigint"),bee=BB("unreachable type_token"),pee=BB(ph),Eee=BB(ph),mee=BB(pn),Fee=[9,0],kee=[9,1],dee=BB("unreachable template_tail"),hee=BB(bE),yee=[0,BB(rA),BB(rA),BB(rA)],_ee=BB("unreachable jsx_tag"),Aee=BB(vk),Cee=BB("unreachable regexp"),wee=BB("unreachable token wholenumber"),See=BB("unreachable token wholebigint"),gee=BB("unreachable token floatbigint"),Bee=BB("unreachable token scinumber"),Tee=BB("unreachable token scibigint"),Iee=BB("unreachable token hexnumber"),Oee=BB("unreachable token hexbigint"),Nee=BB("unreachable token legacyoctnumber"),xee=BB("unreachable token legacynonoctnumber"),Lee=BB("unreachable token octnumber"),Pee=BB("unreachable token octbigint"),Ree=BB("unreachable token bignumber"),Mee=BB("unreachable token bigint"),Gee=BB("unreachable token"),Uee=BB(ph),jee=BB(ph),Hee=BB(pn),Xee=[6,BB("#!")],Yee=BB("expected ?"),Vee=BB("unreachable string_escape"),Kee=BB(nc),Wee=BB(Ep),Jee=BB(Ep),qee=BB(nc),zee=BB("b"),$ee=BB("f"),Qee=BB("n"),Zee=BB("r"),rne=BB("t"),ene=BB("v"),nne=BB(Ep),tne=BB(vS),une=BB(vS),ane=BB("unreachable id_char"),ine=BB(vS),cne=BB(vS),fne=BB("unreachable assert_valid_unicode_in_identifier"),one=BB("Invalid (lexer) bigint "),sne=BB("Invalid (lexer) bigint binary/octal "),vne=BB(Ep),lne=BB(df),Dne=BB(Br),bne=BB(ou),pne=[11,BB("token ILLEGAL")],Ene=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01"),mne=BB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),Fne=BB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),kne=BB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),dne=BB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),hne=BB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),yne=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01"),_ne=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Ane=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x06\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x07"),Cne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),wne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Sne=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),gne=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02"),Bne=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Tne=BB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Ine=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),One=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Nne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),xne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Lne=BB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Pne=BB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x05\0\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Rne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Mne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Gne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x04\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Une=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),jne=BB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x04\x04\0\0\0\0\0\0\0\x01\x05\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\x01\x01\x01\x01\x01\x01\x01\x01\b\x01\x01\0\0\0\0\0\0\x01\x05\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\t\x07\x01\x01\x01\x01\x01\x01\x01\x01\b\x01\x01"),Hne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Xne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Yne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Vne=BB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x04\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Kne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Wne=BB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x04\x04\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Jne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),qne=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),zne=BB("\x01\0\0\x02"),$ne=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x04\x02\x02\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05"),Qne=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03"),Zne=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x07"),rte=BB("\x01\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),ete=BB("\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),nte=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01"),tte=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x01\x01\x01\x01\x01\x01"),ute=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01"),ate=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),ite=BB("\x01\0\0\0\0\0\0\x02\0\x02\0\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),cte=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),fte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\0\x06\x06\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\0\x06\x06\0\0\x06\0\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\x06\x06\0\x06\0\x06\x06\0\0\0\x06\x06\0\0\0\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\0\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06"),ote=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),ste=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x05\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\0\x06\x06\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\0\x06\x06\0\0\x06\0\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\x06\x06\0\x06\0\x06\x06\0\0\0\x06\x06\0\0\0\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\0\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06"),vte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),lte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Dte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),bte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),pte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Ete=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x04\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\0\x06\x06\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\0\x06\x06\0\0\x06\0\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\x06\x06\0\x06\0\x06\x06\0\0\0\x06\x06\0\0\0\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\0\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06"),mte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Fte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),kte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),dte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),hte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),yte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),_te=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Ate=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Cte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x03\x04\x01\x01\x05\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\x07\0\x07\0\0\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\0\x07\x07\x07\x07\0\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\0\x07\x07\0\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\0\0\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\0\x07\0\0\0\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\0\x07\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\x07\x07\0\x07\x07\0\0\x07\0\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\0\0\x07\x07\x07\0\0\0\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\0\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\0\0\0\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\0\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\0\x07\x07\0\x07\0\x07\x07\0\0\0\x07\x07\0\0\0\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\0\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\0\0\0\0\0\0\0\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\0\x07\0\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\0\x07\0\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\0\0\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\0\0\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07"),wte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Ste=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),gte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Bte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Tte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Ite=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Ote=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Nte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),xte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\0\x06\x06\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\0\x06\x06\0\0\x06\0\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\x06\x06\0\x06\0\x06\x06\0\0\0\x06\x06\0\0\0\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\0\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06"),Lte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Pte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Rte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x05\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\0\x06\x06\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\0\x06\x06\0\0\x06\0\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\x06\x06\0\x06\0\x06\x06\0\0\0\x06\x06\0\0\0\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\0\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06"),Mte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Gte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Ute=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),jte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Hte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Xte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Yte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Vte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Kte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Wte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),Jte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),qte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),zte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),$te=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Qte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),Zte=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\0\x05\x05\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\0\x05\x05\0\0\x05\0\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\x05\x05\0\x05\0\x05\x05\0\0\0\x05\x05\0\0\0\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\x05\0\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\0\x05\0\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\0\0\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\0\0\0\0\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\0\x05\0\x05\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\x05\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05\0\0\0\x05\x05\x05\x05\0\0\x05\x05\x05\x05\x05\x05\0\0\0\0\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\0\0\0\0\0\x05\x05\x05\0\x05\x05\x05\x05\x05\x05\x05"),rue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\0\x03\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\0\0\x03\x03\x03\x03\0\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\0\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\0\x03\x03\0\x03\x03\0\x03\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\0\0\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\x03\0\0\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\0\0\x03\x03\x03\x03\0\0\0\0\0\0\0\0\x03\0\0\0\0\x03\x03\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\0\x03\x03\0\x03\x03\0\0\x03\0\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\0\0\x03\x03\x03\0\0\0\x03\0\0\0\0\0\0\0\x03\x03\x03\x03\0\x03\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\0\0\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\x03\0\0\0\0\x03\x03\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\0\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\0\x03\x03\x03\x03\0\0\0\x03\x03\0\x03\0\x03\x03\0\0\0\x03\x03\0\0\0\x03\x03\x03\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\0\x03\x03\x03\x03\0\0\x03\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\0\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\0\0\0\0\0\0\0\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\0\0\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\0\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\0\x03\0\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\0\x03\0\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\0\0\0\0\0\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\0\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\0\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\0\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\0\0\0\0\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\0\x03\0\x03\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\x03\0\0\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03\0\0\0\x03\x03\x03\x03\0\0\x03\x03\x03\x03\x03\x03\0\0\0\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\x03\x03\x03\0\x03\x03\x03\x03\x03\x03\x03"),eue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\x07\0\x07\0\0\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\0\x07\x07\x07\x07\0\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\0\x07\x07\0\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\0\0\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\0\x07\0\0\0\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\0\x07\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\x07\x07\0\x07\x07\0\0\x07\0\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\0\0\x07\x07\x07\0\0\0\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\0\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\0\0\0\0\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\0\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\0\x07\x07\0\x07\0\x07\x07\0\0\0\x07\x07\0\0\0\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\0\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\0\0\0\0\0\0\0\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\0\x07\0\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\0\x07\0\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\0\0\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\0\0\0\0\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\0\x07\0\x07\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\x07\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07\0\0\0\x07\x07\x07\x07\0\0\x07\x07\x07\x07\x07\x07\0\0\0\0\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\0\0\0\0\0\x07\x07\x07\0\x07\x07\x07\x07\x07\x07\x07"),nue=BB("\x01\0\x02"),tue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x05\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\0\x06\x06\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\0\x06\x06\0\0\x06\0\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\x06\x06\0\x06\0\x06\x06\0\0\0\x06\x06\0\0\0\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\x06\0\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\0\x06\0\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\0\0\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\0\0\0\0\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\0\x06\0\x06\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\x06\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06\0\0\0\x06\x06\x06\x06\0\0\x06\x06\x06\x06\x06\x06\0\0\0\0\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\0\0\0\0\0\x06\x06\x06\0\x06\x06\x06\x06\x06\x06\x06"),uue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),aue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\0\x04\x04\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\0\x04\x04\0\0\x04\0\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\x04\x04\0\x04\0\x04\x04\0\0\0\x04\x04\0\0\0\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\x04\0\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\x04\0\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\0\0\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\0\0\0\0\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\0\x04\0\x04\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\x04\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04\0\0\0\x04\x04\x04\x04\0\0\x04\x04\x04\x04\x04\x04\0\0\0\0\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\x04\x04\x04\0\x04\x04\x04\x04\x04\x04\x04"),iue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),cue=BB("\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),fue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02"),oue=BB("\x01\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),sue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04"),vue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),lue=BB("\x01\x02\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04"),Due=BB("\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),bue=BB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),pue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x04\x01\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x03\x01\x01\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x01\x02\x02\x01\x01\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x01\x03\x03\x01\x03\x03\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x01\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x01\x01\x01\x01\x02\x01\x01\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x03\x03\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x02\x02\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x03\x01\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x01\x02\x02\x01\x01\x03\x01\x03\x03\x03\x03\x03\x01\x01\x01\x01\x03\x03\x01\x01\x03\x03\x03\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x01\x01\x01\x02\x02\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x02\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x01\x01\x01\x02\x02\x01\x01\x01\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x01\x01\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x02\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x03\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x01\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x01\x01\x02\x02\x02\x02\x02\x01\x02\x01\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x03\x01\x03\x01\x01\x01\x01\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x02\x01\x01\x01\x01\x02\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02"),Eue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x06\x06\x06\x06\x06\x06\x06\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\b\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\n\x02\x02\x02\v\x02\f\r\x0e\x02\x0f"),mue=BB("\x01\0\x01\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),Fue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x03"),kue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04"),due=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x06\x07\b\t\n\v\x07\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x15\x15\x15\x15\x15\x15\x15\x15\x16\x17\x18\x19\x1a\x1b\x1c\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x1d\x1e\x1f \t!\"#$%&'\t\t(\t\t)\t*+,\t-./\t01\t2\t3456\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x027\x02\x02\x02\x02\x0277777777777777777777777\x027777777777777777777777777777777\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777\x02\x02\x02\x02\x02\x02\x027\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777\x0277\x02\x027777\x027\x02\x02\x02\x02\x02\x027\x02777\x027\x0277777777777777777777\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777\x027777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x027777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x0277777777777777777777777777777777777777\x02\x027\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777\x02\x02\x02\x027777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x027\x02\x02\x02\x02\x027777777777777777777777\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777777777777\x02\x02\x02\x02\x02\x02\x0277777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777\x02777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777777777777777777777777777\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x027777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777\x02\x02\x02\x0277777777\x02\x0277\x02\x027777777777777777777777\x027777777\x027\x02\x02\x027777\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02777777\x02\x02\x02\x0277\x02\x027777777777777777777777\x027777777\x0277\x0277\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777\x02777\x027777777777777777777777\x027777777\x0277\x0277777\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777\x02\x0277\x02\x027777777777777777777777\x027777777\x0277\x0277777\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02777777\x02\x02\x02777\x027777\x02\x02\x0277\x027\x0277\x02\x02\x0277\x02\x02\x02777\x02\x02\x02777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777\x02777\x0277777777777777777777777\x027777777777777777\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x0277777777\x02777\x0277777777777777777777777\x027777777777\x0277777\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777\x02777\x0277777777777777777777777777777777777777777\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02777\x02\x02\x02\x02\x02\x02\x02\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777\x02\x02\x02\x02\x02777777777777777777\x02\x02\x02777777777777777777777777\x02777777777\x027\x02\x027777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777777777777777777777\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x027\x0277777\x02777777777777777777777777\x027\x027777777777\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x0277777\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777\x02777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777\x02\x02\x02\x027777\x02\x02\x027\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02777\x02\x02\x02\x027777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777\x027\x02\x02\x02\x02\x027\x02\x027777777777777777777777777777777777777777777\x02777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x027777\x02\x027777777\x027\x027777\x02\x0277777777777777777777777777777777777777777\x027777\x02\x02777777777777777777777777777777777\x027777\x02\x027777777\x027\x027777\x02\x02777777777777777\x02777777777777777777777777777777777777777777777777777777777\x027777\x02\x027777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02777777\x02\x02\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x0277777777777777777\x0377777777777777777777777777\x02\x02\x02\x02\x02777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x0277777777777\x02\x02\x02\x02\x02\x02\x027777777777777\x027777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777\x027\x02\x02\x02\x02\x027777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777\x02\x0277777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777\x02\x02\x02\x0277777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02777777777777777777777777777777777777\x02\x02777777777\x02\x02\x02\x02\x02\x02\x027777777777777777777777777777777777777777777\x02\x02777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x027777\x02777777\x0277\x02\x02\x027\x02\x02\x02\x02\x02777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x0277777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\x02\x02777777\x02\x0277777777777777777777777777777777777777\x02\x02777777\x02\x0277777777\x027\x027\x027\x027777777777777777777777777777777\x02\x0277777777777777777777777777777777777777777777777777777\x027777777\x027\x02\x02\x02777\x027777777\x02\x02\x027777\x02\x02777777\x02\x02\x02\x027777777777777\x02\x02\x02\x02\x02777\x027777777\x02\x02\x02"),hue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),yue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04"),_ue=BB("\x01\0\0\0\0\x02"),Aue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x06\x02\x07\b\t\x06\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x13\x13\x13\x13\x13\x13\x13\x13\x14\x15\x16\x17\x18\x19\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x1a\x1b\x1c\x02\x07\x02\x1d\x1e\x07\x07\x1f \x07\x07!\x07\x07\x07\"#\x07\x07\x07\x07$%\x07&\x07\x07\x07\x07'()\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02*\x02\x02\x02\x02\x02***********************\x02*******************************\x02**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************\x02\x02\x02\x02************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*****\x02\x02\x02\x02\x02\x02\x02*\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*****\x02**\x02\x02****\x02*\x02\x02\x02\x02\x02\x02*\x02***\x02*\x02********************\x02***********************************************************************************\x02*******************************************************************************************************************************************\x02\x02\x02\x02\x02\x02\x02\x02**********************************************************************************************************************************************************************\x02**************************************\x02\x02*\x02\x02\x02\x02\x02\x02*****************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***************************\x02\x02\x02\x02****\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*******************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02***************************************************************************************************\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02******************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*****************************************************************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*********************************\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02*\x02\x02\x02\x02\x02**********************\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*************************\x02\x02\x02\x02\x02\x02\x02***********\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*********************\x02******************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******************************************************\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02**********\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02****************\x02\x02\x02\x02********\x02\x02**\x02\x02**********************\x02*******\x02*\x02\x02\x02****\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02******\x02\x02\x02\x02**\x02\x02**********************\x02*******\x02**\x02**\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02****\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*********\x02***\x02**********************\x02*******\x02**\x02*****\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02********\x02\x02**\x02\x02**********************\x02*******\x02**\x02*****\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02******\x02\x02\x02***\x02****\x02\x02\x02**\x02*\x02**\x02\x02\x02**\x02\x02\x02***\x02\x02\x02************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02********\x02***\x02***********************\x02****************\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02********\x02***\x02***********************\x02**********\x02*****\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*********\x02***\x02*****************************************\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02***\x02\x02\x02\x02\x02\x02\x02\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******\x02\x02\x02\x02\x02******************\x02\x02\x02************************\x02*********\x02*\x02\x02*******\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02************************************************\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*******\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02*\x02*****\x02************************\x02*\x02**********\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02*****\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02****\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02********\x02************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*****\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*******************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******\x02\x02\x02\x02****\x02\x02\x02*\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02***\x02\x02\x02\x02*************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**************************************\x02*\x02\x02\x02\x02\x02*\x02\x02*******************************************\x02*********************************************************************************************************************************************************************************************************************************************************************************************************************************************\x02****\x02\x02*******\x02*\x02****\x02\x02*****************************************\x02****\x02\x02*********************************\x02****\x02\x02*******\x02*\x02****\x02\x02***************\x02*********************************************************\x02****\x02\x02*******************************************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02****************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**************************************************************************************\x02\x02******\x02\x02\x02********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************\x02\x02*****************\x03**************************\x02\x02\x02\x02\x02***************************************************************************\x02\x02\x02***********\x02\x02\x02\x02\x02\x02\x02*************\x02****\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*************\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02****************************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*****************************************************************************************\x02\x02\x02\x02\x02\x02\x02*****************************************\x02*\x02\x02\x02\x02\x02**********************************************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*******************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******************************\x02\x02*****\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02********************************************\x02\x02\x02\x02**************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***********************\x02\x02\x02\x02\x02\x02\x02\x02\x02*****************************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***********************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02*******\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02******************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02********************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02************************************\x02\x02*********\x02\x02\x02\x02\x02\x02\x02*******************************************\x02\x02***\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02****\x02******\x02**\x02\x02\x02*\x02\x02\x02\x02\x02************************************************************************************************************************************************************************************************\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02**************************************************************************************************************************************************************************************************************************************************************************************\x02\x02******\x02\x02**************************************\x02\x02******\x02\x02********\x02*\x02*\x02*\x02*******************************\x02\x02*****************************************************\x02*******\x02*\x02\x02\x02***\x02*******\x02\x02\x02****\x02\x02******\x02\x02\x02\x02*************\x02\x02\x02\x02\x02***\x02*******\x02\x02\x02"),Cue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x06\x02\x07\x02\x02\x06\x02\x02\x02\x02\x02\x02\b\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\n\x02\v\f\r\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x0e\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x0f\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x02\x02\x02\x07\x07\x02\x02\x02\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02"),wue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Sue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),gue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\x02"),Bue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Tue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x03"),Iue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Oue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Nue=BB("\x01\0\0\0\0\0\0\0\x02"),xue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x02\x02\x02\x07"),Lue=BB("\x01\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Pue=BB("\x01\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),Rue=BB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),Mue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02"),Gue=BB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06"),Uue=BB("\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),jue=BB("\x01\0\0\0\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Hue=BB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Xue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Yue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Vue=BB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Kue=[0,[11,BB("the identifier `"),[2,0,[12,96,0]]],BB("the identifier `%s`")],Wue=[0,1],Jue=BB("@flow"),que=BB(Pp),zue=BB(Pp),$ue=BB("Peeking current location when not available"),Que=BB(H_),Zue=BB(ai),rae=BB(Kh),eae=BB(HF),nae=BB($_),tae=BB(En),uae=BB(CF),aae=BB(kb),iae=BB(La),cae=BB($l),fae=BB(Zm),oae=BB(ks),sae=BB(Vu),vae=BB(fh),lae=BB(Th),Dae=BB(hf),bae=BB(Zo),pae=BB(La),Eae=BB(Zm),mae=BB(Th),Fae=BB(La),kae=BB(Zm),dae=BB(Th),hae=BB(Gu),yae=BB("eval"),_ae=BB(me),Aae=BB(H_),Cae=BB(Ur),wae=BB(ve),Sae=BB(Py),gae=BB(I_),Bae=BB(Vu),Tae=BB(sp),Iae=BB(Tf),Oae=BB(qF),Nae=BB(Z_),xae=BB(rf),Lae=BB(xc),Pae=BB(h_),Rae=BB(Ty),Mae=BB(ND),Gae=BB(Ia),Uae=BB(RD),jae=BB(Mi),Hae=BB(rh),Xae=BB(xr),Yae=BB(yu),Vae=BB(um),Kae=BB(kb),Wae=BB(Sl),Jae=BB(MS),qae=BB(Ss),zae=BB(ur),$ae=BB(Jh),Qae=BB(Lf),Zae=BB(no),rie=BB(Us),eie=BB(Jn),nie=BB(Mf),tie=BB(xE),uie=BB(DE),aie=BB(ue),iie=BB(hf),cie=BB(Dp),fie=BB(Zo),oie=BB(Fw),sie=BB(Vs),vie=BB(sp),lie=[0,BB("src/parser/parser_env.ml"),356,9],Die=BB("Internal Error: Tried to add_declared_private with outside of class scope."),bie=BB("Internal Error: `exit_class` called before a matching `enter_class`"),pie=BB(rA),Eie=BB(rA),mie=[0,0,0],Fie=[0,0,0],kie=BB("Parser_env.Try.Rollback"),die=BB(rA),hie=BB(rA),yie=[0,BB(sp),BB(mv),BB(jl),BB(kE),BB(xb),BB(Ig),BB(ii),BB(ES),BB(Tt),BB(mE),BB(PE),BB(Ow),BB(To),BB(ln),BB(C_),BB(jt),BB(fm),BB(OC),BB(sv),BB(xv),BB(mc),BB(oD),BB(Hd),BB(gl),BB(ur),BB(yE),BB(ft),BB(Kp),BB(Rv),BB(ca),BB(Jm),BB(tp),BB(xE),BB(gg),BB(Y_),BB(_f),BB(Fv),BB(Ne),BB(jg),BB(Nt),BB(Ri),BB(Jn),BB(pc),BB(hh),BB(i),BB(vl),BB(uw),BB(lk),BB(ky),BB(Gv),BB(BS),BB(Kd),BB(Bd),BB(at),BB(xm),BB(Eu),BB(Xu),BB(Og),BB(NS),BB(nh),BB(be),BB(Ok),BB(Fa),BB(ha),BB(Mb),BB(Fd),BB(Pm),BB(je),BB(TC),BB(NF),BB(LS),BB(nS),BB(fd),BB(pD),BB(si),BB(tt),BB(fr),BB(iu),BB(Qa),BB(_h),BB(ty),BB(Lu),BB(jw),BB(cn),BB(Ho),BB(Gm),BB(fc),BB(xe),BB(bg),BB(e),BB(kg),BB(Lv),BB($s),BB(cA),BB(_v),BB(Za),BB(Xo),BB(zh),BB(Po),BB(Tg),BB(Ki),BB(jk),BB(Ng),BB(fA),BB(Lk),BB(Bw),BB(U),BB(Ao),BB(eb),BB(to),BB(Wl),BB(vm),BB(_E),BB(qS),BB(Eo),BB(br),BB(Pr),BB(ka),BB(Rk),BB(Uh),BB(SS),BB(kt),BB(IC),BB(nl),BB(Cp),BB(Hr),BB(H_),BB(j_),BB(Hf),BB(V_),BB(cv),BB(Pb),BB(Pg),BB(Jh),BB(EC),BB(Gd),BB(de),BB(hg),BB(mu),BB(VS),BB(QC),BB(RS),BB(Fc),BB(mh),BB(ne),BB(jA),BB(nf),BB(Fm),BB(Ch),BB(ri),BB(nr),BB(pt),BB(Vg),BB(io),BB(qc),BB(B_),BB(uB),BB(Tb),BB(fE),BB(g),BB(Ww),BB(Nc),BB(sA),BB(pC),BB(Wg),BB(ls),BB(oy),BB(xt),BB(an),BB(ll),BB(Wf),BB(kn),BB(_d),BB(Id),BB(Dw),BB(Zr),BB(jy),BB(pb),BB(Mn),BB(Qo),BB(bw),BB(In),BB(It),BB(Cs),BB(FF),BB(Js),BB(Qd),BB(hd),BB(Eh),BB(CF),BB(ap),BB(wA),BB(of),BB(EE),BB(Db),BB(Cd),BB(Ou),BB(OA),BB(A_),BB(Ai),BB(Mi),BB(RD),BB(zk),BB(Xd),BB(oa),BB(ep),BB(Ge),BB(vE),BB(Fi),BB(Cf),BB(Yt),BB(NA),BB(Ye),BB(ar),BB(Hy),BB(st),BB(Vw),BB(Ie),BB(JA),BB(Yd),BB(aC),BB(en),BB(P),BB(Gi),BB(Kb),BB($i),BB(mn),BB(xc),BB(uC),BB(h),BB(Rr),BB(oe),BB(Bv),BB(nu),BB(pk),BB(qd),BB(Gy),BB(ob),BB(zo),BB(Sa)],_ie=[0,BB(sp),BB(mv),BB(jl),BB(vn),BB(n_),BB(kE),BB(xb),BB(Ig),BB(ii),BB(ES),BB(Tt),BB(mE),BB(PE),BB(Ow),BB(To),BB(ln),BB(C_),BB(jt),BB(fm),BB(OC),BB(sv),BB(xv),BB(mc),BB(oD),BB(Hd),BB(gl),BB(ur),BB(yE),BB(ft),BB(Kp),BB(Rv),BB(ca),BB(Jm),BB(tp),BB(xE),BB(gg),BB(Y_),BB(_f),BB(Fv),BB(Ne),BB(jg),BB(Nt),BB(Ri),BB(Jn),BB(pc),BB(hh),BB(i),BB(vl),BB(uw),BB(lk),BB(ky),BB(Gv),BB(BS),BB(Kd),BB(Bd),BB(at),BB(xm),BB(Eu),BB(Xu),BB(Og),BB(NS),BB(nh),BB(be),BB(Ok),BB(Fa),BB(ha),BB(Mb),BB(Fd),BB(Pm),BB(je),BB(TC),BB(NF),BB(LS),BB(nS),BB(fd),BB(pD),BB(si),BB(tt),BB(fr),BB(iu),BB(Qa),BB(_h),BB(ty),BB(Lu),BB(jw),BB(cn),BB(Ho),BB(Gm),BB(fc),BB(xe),BB(bg),BB(e),BB(kg),BB(Lv),BB($s),BB(cA),BB(_v),BB(Za),BB(Xo),BB(zh),BB(Po),BB(Tg),BB(Ki),BB(jk),BB(Ng),BB(fA),BB(Lk),BB(Bw),BB(U),BB(Ao),BB(eb),BB(to),BB(Wl),BB(vm),BB(_E),BB(qS),BB(Eo),BB(br),BB(Pr),BB(ka),BB(Rk),BB(Uh),BB(SS),BB(kt),BB(IC),BB(nl),BB(Cp),BB(Hr),BB(H_),BB(j_),BB(Hf),BB(V_),BB(cv),BB(Pb),BB(Pg),BB(Jh),BB(EC),BB(Gd),BB(de),BB(hg),BB(mu),BB(VS),BB(QC),BB(RS),BB(Fc),BB(mh),BB(ne),BB(jA),BB(nf),BB(Fm),BB(Ch),BB(ri),BB(nr),BB(pt),BB(Vg),BB(io),BB(qc),BB(B_),BB(uB),BB(Tb),BB(fE),BB(g),BB(Ww),BB(Nc),BB(sA),BB(pC),BB(Wg),BB(ls),BB(oy),BB(xt),BB(an),BB(ll),BB(Wf),BB(kn),BB(_d),BB(Id),BB(Dw),BB(Zr),BB(jy),BB(pb),BB(Mn),BB(Qo),BB(bw),BB(In),BB(It),BB(Cs),BB(FF),BB(Js),BB(Qd),BB(hd),BB(Eh),BB(CF),BB(ap),BB(wA),BB(of),BB(EE),BB(Db),BB(Cd),BB(Ou),BB(OA),BB(A_),BB(Ai),BB(Mi),BB(RD),BB(zk),BB(Xd),BB(oa),BB(Di),BB(ep),BB(ti),BB(ru),BB(Ge),BB(vE),BB(Fi),BB(Cf),BB(Yt),BB(NA),BB(Ye),BB(ar),BB(Hy),BB(st),BB(Vw),BB(Ie),BB(JA),BB(Yd),BB(aC),BB(en),BB(P),BB(Gi),BB(Kb),BB($i),BB(mn),BB(xc),BB(uC),BB(h),BB(Rr),BB(oe),BB(Bv),BB(nu),BB(pk),BB(qd),BB(Gy),BB(ob),BB(zo),BB(Sa)],Aie=[0,BB(Ne),BB(ka),BB(Ch),BB(mu),BB(mn),BB(Eu),BB(Gm),BB(Qa),BB(Ao),BB(Cp),BB(OC),BB(xE),BB(NF),BB(_d),BB(Vw),BB(qS),BB(fc),BB(br),BB(hd),BB(Cs),BB(mv),BB(g),BB(Tg),BB(Ho),BB(QC),BB(Qd),BB(hg),BB(kE),BB(ls),BB(Bd),BB(Ou),BB(Gi),BB(ri),BB(P),BB(vm),BB(Mn),BB(mh),BB(NS),BB(Ww),BB(tp),BB(Bv),BB(_h),BB(Gd),BB(_f),BB(Eh),BB(Po),BB(xe),BB(ar),BB(vE),BB(Fd),BB(ky),BB(iu),BB(lk),BB(Lk),BB(Yt),BB(nS),BB(vl),BB(tt),BB(jA),BB(bg),BB(eb),BB(_E),BB(VS),BB(Za),BB(zk),BB(xv),BB(In),BB(fr),BB(Bw),BB(oa),BB(Xo),BB(Fm),BB(Kd),BB(Gy),BB(Db),BB(jy),BB(Lv),BB(ha),BB(ob),BB(Kb),BB(Ri),BB(xb),BB(uw),BB(EC),BB(oe),BB(fE),BB(gl),BB(SS),BB(st),BB(jw),BB(Jm),BB(CF),BB(pC),BB(sv),BB(sp),BB(Hd),BB(A_),BB(Ow),BB(Ok),BB(pc),BB(PE),BB(Ge),BB(OA),BB(ES),BB(Eo),BB(Gv),BB(nl),BB(FF),BB(an),BB(LS),BB(Id),BB(zh),BB(be),BB(oy),BB(ln),BB(oD),BB(Ig),BB(jg),BB(To),BB(mE),BB(NA),BB(Nc),BB(Fi),BB(cA),BB(nf),BB(Tt),BB(ep),BB(cn),BB(jk),BB(nu),BB($s),BB(Yd),BB(Hy),BB(j_),BB(nh),BB(Pm),BB(Ng),BB(kg),BB(Jh),BB(Jn),BB(uC),BB(gg),BB(Og),BB(ur),BB(Mi),BB(de),BB(TC),BB(Wf),BB(Pr),BB(Mb),BB(io),BB(Js),BB(Hf),BB(Cf),BB(nr),BB(_v),BB(Rk),BB(RS),BB(ne),BB(It),BB(i),BB(uB),BB(Pb),BB(bw),BB(Zr),BB(Lu),BB(Nt),BB(V_),BB(pD),BB(at),BB(mc),BB(si),BB(C_),BB($i),BB(EE),BB(aC),BB(Cd),BB(kt),BB(ca),BB(Fc),BB(hh),BB(Pg),BB(JA),BB(ty),BB(Wl),BB(Ye),BB(Hr),BB(ap),BB(fm),BB(zo),BB(ii),BB(en),BB(jt),BB(wA),BB(to),BB(Uh),BB(Xd),BB(Ki),BB(xm),BB(IC),BB(xt),BB(fA),BB(Kp),BB(pk),BB(Xu),BB(Rr),BB(kn),BB(Fa),BB(ll),BB(qc),BB(B_),BB(Fv),BB(RD),BB(pt),BB(BS),BB(pb),BB(of),BB(ft),BB(Rv),BB(Y_),BB(Tb),BB(Dw),BB(sA),BB(je),BB(h),BB(cv),BB(Ie),BB(U),BB(fd),BB(Vg),BB(Ai),BB(Qo),BB(xc),BB(qd),BB(H_),BB(jl),BB(Wg),BB(yE),BB(e)],Cie=[0,BB(Ne),BB(ka),BB(Ch),BB(mu),BB(mn),BB(Eu),BB(Gm),BB(Qa),BB(Ao),BB(Cp),BB(OC),BB(xE),BB(NF),BB(_d),BB(Vw),BB(qS),BB(fc),BB(br),BB(hd),BB(Cs),BB(mv),BB(g),BB(Tg),BB(Ho),BB(QC),BB(Qd),BB(hg),BB(kE),BB(n_),BB(ls),BB(Bd),BB(Ou),BB(Gi),BB(ri),BB(P),BB(vm),BB(Mn),BB(mh),BB(NS),BB(Ww),BB(tp),BB(Bv),BB(_h),BB(Gd),BB(_f),BB(Eh),BB(Po),BB(xe),BB(ar),BB(vE),BB(Fd),BB(ky),BB(ti),BB(iu),BB(lk),BB(Lk),BB(Yt),BB(nS),BB(vl),BB(tt),BB(jA),BB(bg),BB(eb),BB(_E),BB(VS),BB(Za),BB(zk),BB(xv),BB(In),BB(fr),BB(Bw),BB(oa),BB(Xo),BB(Fm),BB(Kd),BB(Gy),BB(Db),BB(jy),BB(Lv),BB(ha),BB(ob),BB(Kb),BB(Ri),BB(xb),BB(uw),BB(EC),BB(oe),BB(fE),BB(gl),BB(SS),BB(st),BB(jw),BB(Jm),BB(CF),BB(pC),BB(sv),BB(sp),BB(Hd),BB(A_),BB(Ow),BB(Ok),BB(pc),BB(PE),BB(Ge),BB(OA),BB(ES),BB(Eo),BB(Gv),BB(nl),BB(FF),BB(an),BB(LS),BB(Id),BB(zh),BB(be),BB(oy),BB(ln),BB(oD),BB(Ig),BB(jg),BB(To),BB(mE),BB(NA),BB(Nc),BB(Fi),BB(cA),BB(nf),BB(Tt),BB(ep),BB(cn),BB(jk),BB(nu),BB($s),BB(Yd),BB(Hy),BB(j_),BB(nh),BB(Pm),BB(Ng),BB(kg),BB(Jh),BB(Jn),BB(uC),BB(gg),BB(Og),BB(ur),BB(Mi),BB(de),BB(TC),BB(Wf),BB(Pr),BB(Mb),BB(io),BB(Js),BB(Hf),BB(Cf),BB(nr),BB(_v),BB(Rk),BB(RS),BB(ne),BB(It),BB(i),BB(uB),BB(Pb),BB(bw),BB(Zr),BB(Lu),BB(Nt),BB(V_),BB(pD),BB(at),BB(mc),BB(si),BB(C_),BB($i),BB(EE),BB(aC),BB(Cd),BB(kt),BB(ru),BB(ca),BB(Fc),BB(hh),BB(Pg),BB(JA),BB(ty),BB(Wl),BB(Ye),BB(Hr),BB(ap),BB(fm),BB(Di),BB(zo),BB(ii),BB(en),BB(jt),BB(vn),BB(wA),BB(to),BB(Uh),BB(Xd),BB(Ki),BB(xm),BB(IC),BB(xt),BB(fA),BB(Kp),BB(pk),BB(Xu),BB(Rr),BB(kn),BB(Fa),BB(ll),BB(qc),BB(B_),BB(Fv),BB(RD),BB(pt),BB(BS),BB(pb),BB(of),BB(ft),BB(Rv),BB(Y_),BB(Tb),BB(Dw),BB(sA),BB(je),BB(h),BB(cv),BB(Ie),BB(U),BB(fd),BB(Vg),BB(Ai),BB(Qo),BB(xc),BB(qd),BB(H_),BB(jl),BB(Wg),BB(yE),BB(e)],wie=BB(Hu),Sie=BB(dn),gie=[0,[11,BB("Failure while looking up "),[2,0,[11,BB(". Index: "),[4,0,0,0,[11,BB(". Length: "),[4,0,0,0,[12,46,0]]]]]]],BB("Failure while looking up %s. Index: %d. Length: %d.")],Bie=[0,0,0,0],Tie=BB("Offset_utils.Offset_lookup_failed"),Iie=BB(PC),Oie=BB(Ll),Nie=BB(tA),xie=BB(pF),Lie=BB(pF),Pie=BB(tA),Rie=BB(zr),Mie=BB(Uu),Gie=BB(xk),Uie=BB(xk),jie=BB("Program"),Hie=BB(Yi),Xie=BB("BreakStatement"),Yie=BB(Yi),Vie=BB("ContinueStatement"),Kie=BB("DebuggerStatement"),Wie=BB(gS),Jie=BB("DeclareExportAllDeclaration"),qie=BB(gS),zie=BB(tB),$ie=BB(Yu),Qie=BB(Z_),Zie=BB("DeclareExportDeclaration"),rce=BB(Xe),ece=BB(xk),nce=BB(bi),tce=BB("DeclareModule"),uce=BB(ib),ace=BB("DeclareModuleExports"),ice=BB(ch),cce=BB(xk),fce=BB("DoWhileStatement"),oce=BB("EmptyStatement"),sce=BB(nA),vce=BB(Yu),lce=BB("ExportDefaultDeclaration"),Dce=BB(nA),bce=BB(gS),pce=BB("ExportAllDeclaration"),Ece=BB(nA),mce=BB(gS),Fce=BB(tB),kce=BB(Yu),dce=BB("ExportNamedDeclaration"),hce=BB(E),yce=BB(kn),_ce=BB("ExpressionStatement"),Ace=BB(xk),Cce=BB(W),wce=BB(ch),Sce=BB(Dd),gce=BB("ForStatement"),Bce=BB(Sv),Tce=BB(xk),Ice=BB(uu),Oce=BB(cf),Nce=BB("ForInStatement"),xce=BB(rf),Lce=BB(xk),Pce=BB(uu),Rce=BB(cf),Mce=BB("ForOfStatement"),Gce=BB($E),Uce=BB(Hb),jce=BB(ch),Hce=BB("IfStatement"),Xce=BB(zr),Yce=BB(hf),Vce=BB(Um),Kce=BB(Fb),Wce=BB(gS),Jce=BB(tB),qce=BB("ImportDeclaration"),zce=BB(xk),$ce=BB(Yi),Qce=BB("LabeledStatement"),Zce=BB(vA),rfe=BB("ReturnStatement"),efe=BB(MF),nfe=BB("discriminant"),tfe=BB("SwitchStatement"),ufe=BB(vA),afe=BB("ThrowStatement"),ife=BB(kv),cfe=BB(Jt),ffe=BB(h),ofe=BB("TryStatement"),sfe=BB(xk),vfe=BB(ch),lfe=BB("WhileStatement"),Dfe=BB(xk),bfe=BB(Oc),pfe=BB("WithStatement"),Efe=BB(yv),mfe=BB("ArrayExpression"),Ffe=BB(Ta),kfe=BB(a_),dfe=BB(kn),hfe=BB(vl),yfe=BB(RS),_fe=BB(l_),Afe=BB(xk),Cfe=BB(A),wfe=BB(bi),Sfe=BB("ArrowFunctionExpression"),gfe=BB("="),Bfe=BB(uu),Tfe=BB(cf),Ife=BB(Xw),Ofe=BB("AssignmentExpression"),Nfe=BB(uu),xfe=BB(cf),Lfe=BB(Xw),Pfe=BB("BinaryExpression"),Rfe=BB("CallExpression"),Mfe=BB(Gn),Gfe=BB(eh),Ufe=BB("ComprehensionExpression"),jfe=BB($E),Hfe=BB(Hb),Xfe=BB(ch),Yfe=BB("ConditionalExpression"),Vfe=BB(Gn),Kfe=BB(eh),Wfe=BB("GeneratorExpression"),Jfe=BB(gS),qfe=BB("ImportExpression"),zfe=BB("||"),$fe=BB("&&"),Qfe=BB(u),Zfe=BB(uu),roe=BB(cf),eoe=BB(Xw),noe=BB("LogicalExpression"),toe=BB("MemberExpression"),uoe=BB(lC),aoe=BB(bC),ioe=BB("MetaProperty"),coe=BB(Gu),foe=BB(SE),ooe=BB(cl),soe=BB("NewExpression"),voe=BB(Su),loe=BB("ObjectExpression"),Doe=BB(kl),boe=BB("OptionalCallExpression"),poe=BB(kl),Eoe=BB("OptionalMemberExpression"),moe=BB(tF),Foe=BB("SequenceExpression"),koe=BB("Super"),doe=BB("ThisExpression"),hoe=BB(ib),yoe=BB(kn),_oe=BB("TypeCastExpression"),Aoe=BB(vA),Coe=BB("AwaitExpression"),woe=BB(f_),Soe=BB(SA),goe=BB("!"),Boe=BB("~"),Toe=BB(hf),Ioe=BB(Zo),Ooe=BB(rh),Noe=BB("matched above"),xoe=BB(vA),Loe=BB(BD),Poe=BB(Xw),Roe=BB("UnaryExpression"),Moe=BB("--"),Goe=BB("++"),Uoe=BB(BD),joe=BB(vA),Hoe=BB(Xw),Xoe=BB("UpdateExpression"),Yoe=BB(gh),Voe=BB(vA),Koe=BB("YieldExpression"),Woe=BB("Unexpected FunctionDeclaration with BodyExpression"),Joe=BB(Ta),qoe=BB(a_),zoe=BB(kn),$oe=BB(vl),Qoe=BB(RS),Zoe=BB(l_),rse=BB(xk),ese=BB(A),nse=BB(bi),tse=BB("FunctionDeclaration"),use=BB("Unexpected FunctionExpression with BodyExpression"),ase=BB(Ta),ise=BB(a_),cse=BB(kn),fse=BB(vl),ose=BB(RS),sse=BB(l_),vse=BB(xk),lse=BB(A),Dse=BB(bi),bse=BB("FunctionExpression"),pse=BB(kl),Ese=BB(ib),mse=BB($v),Fse=BB(c),kse=BB(kl),dse=BB(ib),hse=BB($v),yse=BB("PrivateIdentifier"),_se=BB(kl),Ase=BB(ib),Cse=BB($v),wse=BB(c),Sse=BB(Hb),gse=BB(ch),Bse=BB("SwitchCase"),Tse=BB(xk),Ise=BB("param"),Ose=BB("CatchClause"),Nse=BB(xk),xse=BB("BlockStatement"),Lse=BB(bi),Pse=BB("DeclareVariable"),Rse=BB(vl),Mse=BB(bi),Gse=BB("DeclareFunction"),Use=BB(sn),jse=BB(me),Hse=BB(kb),Xse=BB(xk),Yse=BB(Ta),Vse=BB(bi),Kse=BB("DeclareClass"),Wse=BB(kb),Jse=BB(xk),qse=BB(Ta),zse=BB(bi),$se=BB("DeclareInterface"),Qse=BB(Um),Zse=BB(zr),rve=BB(Kn),eve=BB("ExportNamespaceSpecifier"),nve=BB(uu),tve=BB(Ta),uve=BB(bi),ave=BB("DeclareTypeAlias"),ive=BB(uu),cve=BB(Ta),fve=BB(bi),ove=BB("TypeAlias"),sve=BB("DeclareOpaqueType"),vve=BB("OpaqueType"),lve=BB(sE),Dve=BB(pp),bve=BB(Ta),pve=BB(bi),Eve=BB("ClassDeclaration"),mve=BB("ClassExpression"),Fve=BB(X),kve=BB(me),dve=BB("superTypeParameters"),hve=BB("superClass"),yve=BB(Ta),_ve=BB(xk),Ave=BB(bi),Cve=BB(kn),wve=BB("Decorator"),Sve=BB(Ta),gve=BB(bi),Bve=BB("ClassImplements"),Tve=BB(xk),Ive=BB("ClassBody"),Ove=BB(cp),Nve=BB(rr),xve=BB(Xn),Lve=BB(eu),Pve=BB(X),Rve=BB(oi),Mve=BB(Vu),Gve=BB(Xe),Uve=BB(Um),jve=BB(Mg),Hve=BB("MethodDefinition"),Xve=BB(Qe),Yve=BB(xb),Vve=BB(Vu),Kve=BB(oi),Wve=BB(ib),Jve=BB(Um),qve=BB(Mg),zve=BB(US),$ve=BB("Internal Error: Private name found in class prop"),Qve=BB(Qe),Zve=BB(xb),rle=BB(Vu),ele=BB(oi),nle=BB(ib),tle=BB(Um),ule=BB(Mg),ale=BB(US),ile=BB(bi),cle=BB(NE),fle=BB(Dd),ole=BB(bi),sle=BB("EnumStringMember"),vle=BB(bi),lle=BB(NE),Dle=BB(Dd),ble=BB(bi),ple=BB("EnumNumberMember"),Ele=BB(Dd),mle=BB(bi),Fle=BB("EnumBooleanMember"),kle=BB(Jo),dle=BB(Ay),hle=BB(zn),yle=BB("EnumBooleanBody"),_le=BB(Jo),Ale=BB(Ay),Cle=BB(zn),wle=BB("EnumNumberBody"),Sle=BB(Jo),gle=BB(Ay),Ble=BB(zn),Tle=BB("EnumStringBody"),Ile=BB(Jo),Ole=BB(zn),Nle=BB("EnumSymbolBody"),xle=BB(xk),Lle=BB(bi),Ple=BB("EnumDeclaration"),Rle=BB(kb),Mle=BB(xk),Gle=BB(Ta),Ule=BB(bi),jle=BB("InterfaceDeclaration"),Hle=BB(Ta),Xle=BB(bi),Yle=BB("InterfaceExtends"),Vle=BB(ib),Kle=BB(Su),Wle=BB("ObjectPattern"),Jle=BB(ib),qle=BB(yv),zle=BB("ArrayPattern"),$le=BB(uu),Qle=BB(cf),Zle=BB(ad),rDe=BB(ib),eDe=BB($v),nDe=BB(c),tDe=BB(vA),uDe=BB(zD),aDe=BB(vA),iDe=BB(zD),cDe=BB(uu),fDe=BB(cf),oDe=BB(ad),sDe=BB(Dd),vDe=BB(Dd),lDe=BB(Xn),DDe=BB(eu),bDe=BB(Pi),pDe=BB(oi),EDe=BB(fy),mDe=BB(rr),FDe=BB(Xe),kDe=BB(Um),dDe=BB(Mg),hDe=BB(pe),yDe=BB(vA),_De=BB("SpreadProperty"),ADe=BB(uu),CDe=BB(cf),wDe=BB(ad),SDe=BB(oi),gDe=BB(fy),BDe=BB(rr),TDe=BB(Xe),IDe=BB(Um),ODe=BB(Mg),NDe=BB(pe),xDe=BB(vA),LDe=BB("SpreadElement"),PDe=BB(Sv),RDe=BB(uu),MDe=BB(cf),GDe=BB("ComprehensionBlock"),UDe=BB("We should not create Literal nodes for bigints"),jDe=BB(Im),HDe=BB(Mb),XDe=BB("regex"),YDe=BB(Be),VDe=BB(Um),KDe=BB(Be),WDe=BB(Um),JDe=BB(kC),qDe=BB(Be),zDe=BB(Um),$De=BB(kC),QDe=BB(HF),ZDe=BB(Um),rbe=BB("BigIntLiteral"),ebe=BB(Be),nbe=BB(Um),tbe=BB(kC),ube=BB(Th),abe=BB(La),ibe=BB(Be),cbe=BB(Um),fbe=BB(kC),obe=BB(tF),sbe=BB("quasis"),vbe=BB("TemplateLiteral"),lbe=BB(oA),Dbe=BB(Be),bbe=BB(Yr),pbe=BB(Um),Ebe=BB("TemplateElement"),mbe=BB(Xy),Fbe=BB("tag"),kbe=BB("TaggedTemplateExpression"),dbe=BB(Dp),hbe=BB(ts),ybe=BB(Ia),_be=BB(Xe),Abe=BB("declarations"),Cbe=BB("VariableDeclaration"),wbe=BB(Dd),Sbe=BB(bi),gbe=BB("VariableDeclarator"),Bbe=BB(Xe),Tbe=BB("Variance"),Ibe=BB("AnyTypeAnnotation"),Obe=BB("MixedTypeAnnotation"),Nbe=BB("EmptyTypeAnnotation"),xbe=BB("VoidTypeAnnotation"),Lbe=BB("NullLiteralTypeAnnotation"),Pbe=BB("SymbolTypeAnnotation"),Rbe=BB("NumberTypeAnnotation"),Mbe=BB("BigIntTypeAnnotation"),Gbe=BB("StringTypeAnnotation"),Ube=BB("BooleanTypeAnnotation"),jbe=BB(ib),Hbe=BB("NullableTypeAnnotation"),Xbe=BB(Ta),Ybe=BB(ma),Vbe=BB(a_),Kbe=BB(DE),Wbe=BB(A),Jbe=BB("FunctionTypeAnnotation"),qbe=BB(kl),zbe=BB(ib),$be=BB($v),Qbe=BB(zv),Zbe=BB(kl),rpe=BB(ib),epe=BB($v),npe=BB(zv),tpe=[0,0,0,0,0],upe=BB("internalSlots"),ape=BB("callProperties"),ipe=BB("indexers"),cpe=BB(Su),fpe=BB("exact"),ope=BB(xA),spe=BB("ObjectTypeAnnotation"),vpe=BB(Pi),lpe=BB("There should not be computed object type property keys"),Dpe=BB(Dd),bpe=BB(Xn),ppe=BB(eu),Epe=BB(Xe),mpe=BB(xb),Fpe=BB(Ed),kpe=BB(Vu),dpe=BB(kl),hpe=BB(rr),ype=BB(Um),_pe=BB(Mg),Ape=BB("ObjectTypeProperty"),Cpe=BB(vA),wpe=BB("ObjectTypeSpreadProperty"),Spe=BB(xb),gpe=BB(Vu),Bpe=BB(Um),Tpe=BB(Mg),Ipe=BB(bi),Ope=BB("ObjectTypeIndexer"),Npe=BB(Vu),xpe=BB(Um),Lpe=BB("ObjectTypeCallProperty"),Ppe=BB(Um),Rpe=BB(rr),Mpe=BB(Vu),Gpe=BB(kl),Upe=BB(bi),jpe=BB("ObjectTypeInternalSlot"),Hpe=BB(xk),Xpe=BB(kb),Ype=BB("InterfaceTypeAnnotation"),Vpe=BB("elementType"),Kpe=BB("ArrayTypeAnnotation"),Wpe=BB(bi),Jpe=BB("qualification"),qpe=BB("QualifiedTypeIdentifier"),zpe=BB(Ta),$pe=BB(bi),Qpe=BB("GenericTypeAnnotation"),Zpe=BB("indexType"),rEe=BB("objectType"),eEe=BB("IndexedAccessType"),nEe=BB(kl),tEe=BB("OptionalIndexedAccessType"),uEe=BB(tS),aEe=BB("UnionTypeAnnotation"),iEe=BB(tS),cEe=BB("IntersectionTypeAnnotation"),fEe=BB(vA),oEe=BB("TypeofTypeAnnotation"),sEe=BB(tS),vEe=BB("TupleTypeAnnotation"),lEe=BB(Be),DEe=BB(Um),bEe=BB("StringLiteralTypeAnnotation"),pEe=BB(Be),EEe=BB(Um),mEe=BB("NumberLiteralTypeAnnotation"),FEe=BB(Be),kEe=BB(Um),dEe=BB("BigIntLiteralTypeAnnotation"),hEe=BB(Th),yEe=BB(La),_Ee=BB(Be),AEe=BB(Um),CEe=BB("BooleanLiteralTypeAnnotation"),wEe=BB("ExistsTypeAnnotation"),SEe=BB(ib),gEe=BB("TypeAnnotation"),BEe=BB(A),TEe=BB("TypeParameterDeclaration"),IEe=BB(Z_),OEe=BB(xb),NEe=BB(St),xEe=BB($v),LEe=BB("TypeParameter"),PEe=BB(A),REe=BB(ms),MEe=BB(A),GEe=BB(ms),UEe=BB(ai),jEe=BB(a),HEe=BB("closingElement"),XEe=BB("openingElement"),YEe=BB("JSXElement"),VEe=BB("closingFragment"),KEe=BB(a),WEe=BB("openingFragment"),JEe=BB("JSXFragment"),qEe=BB("selfClosing"),zEe=BB(ny),$Ee=BB($v),QEe=BB("JSXOpeningElement"),ZEe=BB("JSXOpeningFragment"),rme=BB($v),eme=BB("JSXClosingElement"),nme=BB("JSXClosingFragment"),tme=BB(Um),ume=BB($v),ame=BB("JSXAttribute"),ime=BB(vA),cme=BB("JSXSpreadAttribute"),fme=BB("JSXEmptyExpression"),ome=BB(kn),sme=BB("JSXExpressionContainer"),vme=BB(kn),lme=BB("JSXSpreadChild"),Dme=BB(Be),bme=BB(Um),pme=BB("JSXText"),Eme=BB(lC),mme=BB(Oc),Fme=BB("JSXMemberExpression"),kme=BB($v),dme=BB("namespace"),hme=BB("JSXNamespacedName"),yme=BB($v),_me=BB("JSXIdentifier"),Ame=BB(Kn),Cme=BB(Hs),wme=BB("ExportSpecifier"),Sme=BB(Hs),gme=BB("ImportDefaultSpecifier"),Bme=BB(Hs),Tme=BB("ImportNamespaceSpecifier"),Ime=BB(Fb),Ome=BB(Hs),Nme=BB("imported"),xme=BB("ImportSpecifier"),Lme=BB("Line"),Pme=BB("Block"),Rme=BB(Um),Mme=BB(Um),Gme=BB("DeclaredPredicate"),Ume=BB("InferredPredicate"),jme=BB(Gu),Hme=BB(SE),Xme=BB(cl),Yme=BB(oi),Vme=BB(lC),Kme=BB(Oc),Wme=BB("message"),Jme=BB(Ll),qme=BB("end"),zme=BB(I),$me=BB(gS),Qme=BB(dn),Zme=BB(Hu),rFe=BB(Ss),eFe=BB(qF),nFe=BB(Lf),tFe=BB(no),uFe=BB(Jn),aFe=BB(xE),iFe=BB(DE),cFe=BB(ur),fFe=BB(ue),oFe=BB(Dp),sFe=BB(Fw),vFe=BB(Vs),lFe=BB(Ia),DFe=BB(ts),bFe=BB(Zm),pFe=BB(La),EFe=BB(Th),mFe=BB(xc),FFe=BB(h_),kFe=BB(Ty),dFe=BB(RD),hFe=BB(Z_),yFe=BB(xr),_Fe=BB(Sl),AFe=BB(MS),CFe=BB(ND),wFe=BB(kb),SFe=BB(Vu),gFe=BB(yu),BFe=BB(Us),TFe=BB(rh),IFe=BB(hf),OFe=BB(Zo),NFe=BB(Tf),xFe=BB(um),LFe=BB(Jh),PFe=BB(Mf),RFe=BB(me),MFe=BB(H_),GFe=BB(Ur),UFe=BB(ve),jFe=BB(Py),HFe=BB(I_),XFe=BB(sp),YFe=BB(Mi),VFe=BB(Qe),KFe=BB(zr),WFe=BB(Ln),JFe=BB("of"),qFe=BB(l_),zFe=BB(rf),$Fe=BB(Kh),QFe=BB($l),ZFe=BB(CF),rke=BB(ks),eke=BB(HF),nke=BB(fh),tke=BB(Zo),uke=BB(Ca),ake=BB(En),ike=BB($_),cke=[0,BB(vF)],fke=BB(rA),oke=[8,0],ske=BB(rA),vke=[0,1],lke=[0,2],Dke=[0,3],bke=[0,0],pke=[0,0],Eke=[0,0,0,0,0],mke=[0,BB(ye),851,6],Fke=[0,BB(ye),854,6],kke=[0,BB(ye),957,8],dke=BB(Ed),hke=[0,BB(ye),974,8],yke=BB("Can not have both `static` and `proto`"),_ke=BB(Vu),Ake=BB(Ed),Cke=BB(Xn),wke=BB(eu),Ske=BB(Xn),gke=BB(cp),Bke=BB(Bi),Tke=[0,0,0,0],Ike=[0,[0,0,0,0,0]],Oke=BB(DE),Nke=[0,0],xke=[15,1],Lke=[15,0],Pke=[0,BB(ye),ns,15],Rke=[0,BB(ye),mk,15],Mke=[0,43],Gke=[0,43],Uke=[0,0,0],jke=[0,0,0],Hke=[0,0,0],Xke=[0,41],Yke=BB(vs),Vke=BB(vs),Kke=[0,BB(rt),1536,13],Wke=[0,BB(rt),1302,17],Jke=[0,BB("a template literal part")],qke=[0,[0,BB(rA),BB(rA)],1],zke=BB(Zm),$ke=BB(Zm),Qke=BB(Th),Zke=BB(La),rde=BB("Invalid bigint "),ede=BB("Invalid bigint binary/octal "),nde=BB(Ep),tde=BB(df),ude=BB(ou),ade=BB(ou),ide=BB(Br),cde=[0,43],fde=[0,1],ode=[0,1],sde=[0,1],vde=[0,1],lde=[0,0],Dde=BB(ai),bde=BB(ai),pde=BB(Us),Ede=BB(vp),mde=[0,BB("the identifier `target`")],Fde=[0,0],kde=BB(Jh),dde=BB(bC),hde=BB(bC),yde=[0,0,0],_de=[0,1,0],Ade=[0,1,1],Cde=BB(Mf),wde=[0,0],Sde=[0,BB("either a call or access of `super`")],gde=BB(Mf),Bde=[0,0],Tde=[0,1],Ide=[0,0],Ode=[0,1],Nde=[0,0],xde=[0,1],Lde=[0,0],Pde=[0,2],Rde=[0,3],Mde=[0,7],Gde=[0,6],Ude=[0,4],jde=[0,5],Hde=[0,[0,17,[0,2]]],Xde=[0,[0,18,[0,3]]],Yde=[0,[0,19,[0,4]]],Vde=[0,[0,0,[0,5]]],Kde=[0,[0,1,[0,5]]],Wde=[0,[0,2,[0,5]]],Jde=[0,[0,3,[0,5]]],qde=[0,[0,5,[0,6]]],zde=[0,[0,7,[0,6]]],$de=[0,[0,4,[0,6]]],Qde=[0,[0,6,[0,6]]],Zde=[0,[0,8,[0,7]]],rhe=[0,[0,9,[0,7]]],ehe=[0,[0,10,[0,7]]],nhe=[0,[0,11,[0,8]]],the=[0,[0,12,[0,8]]],uhe=[0,[0,15,[0,9]]],ahe=[0,[0,13,[0,9]]],ihe=[0,[0,14,[1,10]]],che=[0,[0,16,[0,9]]],fhe=[0,[0,21,[0,6]]],ohe=[0,[0,20,[0,6]]],she=[24,BB(u)],vhe=[0,[0,8]],lhe=[0,[0,7]],Dhe=[0,[0,6]],bhe=[0,[0,10]],phe=[0,[0,9]],Ehe=[0,[0,11]],mhe=[0,[0,5]],Fhe=[0,[0,4]],khe=[0,[0,2]],dhe=[0,[0,3]],hhe=[0,[0,1]],yhe=[0,[0,0]],_he=[0,0],Ahe=BB(Jh),Che=BB(Us),whe=BB(vp),She=BB(bC),ghe=BB(l_),Bhe=BB(Jh),The=BB(Us),Ihe=BB(vp),Ohe=BB(bC),Nhe=BB(ph),xhe=BB(cm),Lhe=[18,BB("JSX fragment")],Phe=[0,ct],Rhe=[1,ct],Mhe=BB(rA),Ghe=[0,BB(rA)],Uhe=[0,BB(vF)],jhe=BB(rA),Hhe=[0,0,0,0],Xhe=[0,BB("src/hack_forked/utils/collections/flow_map.ml"),698,36],Yhe=[0,0,0],Vhe=BB("unexpected PrivateName in Property, expected a PrivateField"),Khe=BB(cp),Whe=BB(Bi),Jhe=[0,0,0],qhe=BB(cp),zhe=BB(cp),$he=BB(Xn),Qhe=BB(eu),Zhe=[0,1],rye=[0,1],eye=[0,1],nye=BB(cp),tye=BB(Xn),uye=BB(eu),aye=BB("="),iye=BB(sp),cye=BB(rf),fye=BB("Internal Error: private name found in object props"),oye=BB(wg),sye=[0,BB(vF)],vye=BB(sp),lye=BB(rf),Dye=BB(sp),bye=BB(rf),pye=BB(wg),Eye=[11,BB(hg)],mye=[0,1],Fye=BB(Sh),kye=BB(kk),dye=[0,BB(Jp),1723,21],hye=BB(Sh),yye=BB(Z_),_ye=BB("other than an interface declaration!"),Aye=BB("Internal Flow Error! Parsed `export interface` into something "),Cye=BB(kk),wye=BB("Internal Flow Error! Unexpected export statement declaration!"),Sye=[0,40],gye=BB(Sh),Bye=BB(kk),Tye=[0,BB(rA),BB(rA),0],Iye=[0,BB(On)],Oye=BB(te),Nye=BB("exports"),xye=[0,1],Lye=BB(te),Pye=[0,1],Rye=BB(sn),Mye=[0,0],Gye=[0,1],Uye=[0,83],jye=[0,0],Hye=[0,1],Xye=BB(Sh),Yye=BB(Sh),Vye=BB(kk),Kye=BB(Sh),Wye=[0,BB("the keyword `as`")],Jye=BB(Sh),qye=BB(kk),zye=[0,BB(On)],$ye=[0,BB("the keyword `from`")],Qye=[0,BB(rA),BB(rA),0],Zye=BB("Parser error: No such thing as an expression pattern!"),r_e=[0,BB(M)],e_e=BB("Label"),n_e=[0,BB(M)],t_e=[0,0,0],u_e=[0,29],a_e=[0,BB(Jp),419,22],i_e=[0,28],c_e=[0,BB(Jp),438,22],f_e=[0,0],o_e=BB("the token `;`"),s_e=[0,0],v_e=[0,0],l_e=BB(rf),D_e=BB(ts),b_e=BB(sp),p_e=[0,BB(Cu)],E_e=[15,[0,0]],m_e=[0,BB(Cu)],F_e=BB("use strict"),k_e=[0,0,0],d_e=BB("\n"),h_e=BB("Nooo: "),y_e=[0,BB("src/parser/parser_flow.ml"),43,28],__e=BB(Um),A_e=BB(PC),C_e=BB(dn),w_e=BB(Hu),S_e=BB("end"),g_e=BB(dn),B_e=BB(Hu),T_e=BB(I),I_e=BB(Ll),O_e=BB("normal"),N_e=BB(zr),x_e=BB("jsxTag"),L_e=BB("jsxChild"),P_e=BB("template"),R_e=BB(Dl),M_e=BB("context"),G_e=BB(zr),U_e=BB("use_strict"),j_e=BB(tS),H_e=BB("esproposal_optional_chaining"),X_e=BB("esproposal_nullish_coalescing"),Y_e=BB("esproposal_export_star_as"),V_e=BB("esproposal_decorators"),K_e=BB("esproposal_class_static_fields"),W_e=BB("esproposal_class_instance_fields"),J_e=BB("enums"),q_e=BB("Internal error: ");function z_e(r){if("number"==typeof r)return 0;switch(r[0]){case 0:return[0,z_e(r[1])];case 1:return[1,z_e(r[1])];case 2:return[2,z_e(r[1])];case 3:return[3,z_e(r[1])];case 4:return[4,z_e(r[1])];case 5:return[5,z_e(r[1])];case 6:return[6,z_e(r[1])];case 7:return[7,z_e(r[1])];case 8:return[8,r[1],z_e(r[2])];case 9:var e=r[1];return[9,e,e,z_e(r[3])];case 10:return[10,z_e(r[1])];case 11:return[11,z_e(r[1])];case 12:return[12,z_e(r[1])];case 13:return[13,z_e(r[1])];default:return[14,z_e(r[1])]}}function $_e(r,e){if("number"==typeof r)return e;switch(r[0]){case 0:return[0,$_e(r[1],e)];case 1:return[1,$_e(r[1],e)];case 2:return[2,$_e(r[1],e)];case 3:return[3,$_e(r[1],e)];case 4:return[4,$_e(r[1],e)];case 5:return[5,$_e(r[1],e)];case 6:return[6,$_e(r[1],e)];case 7:return[7,$_e(r[1],e)];case 8:return[8,r[1],$_e(r[2],e)];case 9:var n=r[2];return[9,r[1],n,$_e(r[3],e)];case 10:return[10,$_e(r[1],e)];case 11:return[11,$_e(r[1],e)];case 12:return[12,$_e(r[1],e)];case 13:return[13,$_e(r[1],e)];default:return[14,$_e(r[1],e)]}}function Q_e(r,e){if("number"==typeof r)return e;switch(r[0]){case 0:return[0,Q_e(r[1],e)];case 1:return[1,Q_e(r[1],e)];case 2:return[2,r[1],Q_e(r[2],e)];case 3:return[3,r[1],Q_e(r[2],e)];case 4:var n=r[3],t=r[2];return[4,r[1],t,n,Q_e(r[4],e)];case 5:var u=r[3],a=r[2];return[5,r[1],a,u,Q_e(r[4],e)];case 6:var i=r[3],c=r[2];return[6,r[1],c,i,Q_e(r[4],e)];case 7:var f=r[3],o=r[2];return[7,r[1],o,f,Q_e(r[4],e)];case 8:var s=r[3],v=r[2];return[8,r[1],v,s,Q_e(r[4],e)];case 9:return[9,r[1],Q_e(r[2],e)];case 10:return[10,Q_e(r[1],e)];case 11:return[11,r[1],Q_e(r[2],e)];case 12:return[12,r[1],Q_e(r[2],e)];case 13:var l=r[2];return[13,r[1],l,Q_e(r[3],e)];case 14:var D=r[2];return[14,r[1],D,Q_e(r[3],e)];case 15:return[15,Q_e(r[1],e)];case 16:return[16,Q_e(r[1],e)];case 17:return[17,r[1],Q_e(r[2],e)];case 18:return[18,r[1],Q_e(r[2],e)];case 19:return[19,Q_e(r[1],e)];case 20:var b=r[2];return[20,r[1],b,Q_e(r[3],e)];case 21:return[21,r[1],Q_e(r[2],e)];case 22:return[22,Q_e(r[1],e)];case 23:return[23,r[1],Q_e(r[2],e)];default:var p=r[2];return[24,r[1],p,Q_e(r[3],e)]}}function Z_e(r){throw[0,PI,r]}function rAe(r){throw[0,RI,r]}function eAe(r){return 0<=r?r:0|-r}function nAe(r,e){var n=XT(r),t=XT(e),u=AT(n+t|0);return yB(r,0,u,0,n),yB(e,0,u,n,t),u}function tAe(r){return r?nO:tO}function uAe(r,e){return r?[0,r[1],uAe(r[2],e)]:e}OT(),function(r){var e=mB.fds[r];e.flags.wronly&&nI("fd "+r+" is writeonly");var n={file:e.file,offset:e.offset,fd:r,opened:!0,out:!1,refill:null};tI[n.fd]=n}(0);var aAe=bI(1),iAe=bI(2),cAe=[0,function(r){return function(r){for(var e=r;;){if(!e)return 0;var n=e[2],t=e[1];try{uI(t)}catch(e){if((e=gI(e))[1]!==LI)throw e}e=n}}(function(){for(var r=0,e=0;e0)if(0==e&&(n>=r.l||2==r.t&&n>=r.c.length))0==t?(r.c=rA,r.t=2):(r.c=_B(n,String.fromCharCode(t)),r.t=n==r.l?0:2);else for(4!=r.t&&dB(r),n+=e;e=0)}(a,t)?a:t,c=AT(i);BAe(r[2],0,c,0,n),r[2]=c;var f=0}else f=u;return f}function eCe(r,e){return rCe(r,1),xB(r[2],r[1],e),r[1]=r[1]+1|0,0}function nCe(r,e){var n=XT(e);return rCe(r,n),TAe(e,0,r[2],r[1],n),r[1]=r[1]+n|0,0}function tCe(r){return gAe(r[2],0,r[1])}function uCe(r,e){for(var n=e;;){if("number"==typeof n)return 0;switch(n[0]){case 0:var t=n[1];nCe(r,OO),n=t;continue;case 1:var u=n[1];nCe(r,NO),n=u;continue;case 2:var a=n[1];nCe(r,xO),n=a;continue;case 3:var i=n[1];nCe(r,LO),n=i;continue;case 4:var c=n[1];nCe(r,PO),n=c;continue;case 5:var f=n[1];nCe(r,RO),n=f;continue;case 6:var o=n[1];nCe(r,MO),n=o;continue;case 7:var s=n[1];nCe(r,GO),n=s;continue;case 8:var v=n[2],l=n[1];nCe(r,UO),uCe(r,l),nCe(r,jO),n=v;continue;case 9:var D=n[3],b=n[1];nCe(r,HO),uCe(r,b),nCe(r,XO),n=D;continue;case 10:var p=n[1];nCe(r,YO),n=p;continue;case 11:var E=n[1];nCe(r,VO),n=E;continue;case 12:var m=n[1];nCe(r,KO),n=m;continue;case 13:var F=n[1];nCe(r,WO),n=F;continue;default:var k=n[1];nCe(r,JO),n=k;continue}}}function aCe(r){if("number"==typeof r)return 0;switch(r[0]){case 0:return[0,aCe(r[1])];case 1:return[1,aCe(r[1])];case 2:return[2,aCe(r[1])];case 3:return[3,aCe(r[1])];case 4:return[4,aCe(r[1])];case 5:return[5,aCe(r[1])];case 6:return[6,aCe(r[1])];case 7:return[7,aCe(r[1])];case 8:return[8,r[1],aCe(r[2])];case 9:return[9,r[2],r[1],aCe(r[3])];case 10:return[10,aCe(r[1])];case 11:return[11,aCe(r[1])];case 12:return[12,aCe(r[1])];case 13:return[13,aCe(r[1])];default:return[14,aCe(r[1])]}}function iCe(r){if("number"==typeof r)return[0,function(r){return 0},function(r){return 0},function(r){return 0},function(r){return 0}];switch(r[0]){case 0:var e=iCe(r[1]),n=e[4],t=e[3],u=e[2],a=e[1];return[0,function(r){return BI(a,0),0},function(r){return BI(u,0),0},t,n];case 1:var i=iCe(r[1]),c=i[4],f=i[3],o=i[2],s=i[1];return[0,function(r){return BI(s,0),0},function(r){return BI(o,0),0},f,c];case 2:var v=iCe(r[1]),l=v[4],D=v[3],b=v[2],p=v[1];return[0,function(r){return BI(p,0),0},function(r){return BI(b,0),0},D,l];case 3:var E=iCe(r[1]),m=E[4],F=E[3],k=E[2],d=E[1];return[0,function(r){return BI(d,0),0},function(r){return BI(k,0),0},F,m];case 4:var h=iCe(r[1]),y=h[4],_=h[3],A=h[2],C=h[1];return[0,function(r){return BI(C,0),0},function(r){return BI(A,0),0},_,y];case 5:var w=iCe(r[1]),S=w[4],g=w[3],B=w[2],T=w[1];return[0,function(r){return BI(T,0),0},function(r){return BI(B,0),0},g,S];case 6:var I=iCe(r[1]),O=I[4],N=I[3],x=I[2],L=I[1];return[0,function(r){return BI(L,0),0},function(r){return BI(x,0),0},N,O];case 7:var P=iCe(r[1]),R=P[4],M=P[3],G=P[2],U=P[1];return[0,function(r){return BI(U,0),0},function(r){return BI(G,0),0},M,R];case 8:var j=iCe(r[2]),H=j[4],X=j[3],Y=j[2],V=j[1];return[0,function(r){return BI(V,0),0},function(r){return BI(Y,0),0},X,H];case 9:var K=r[2],W=r[1],J=iCe(r[3]),q=J[4],z=J[3],$=J[2],Q=J[1],Z=iCe(cCe(aCe(W),K)),rr=Z[4],er=Z[3],nr=Z[2],tr=Z[1];return[0,function(r){return BI(Q,0),BI(tr,0),0},function(r){return BI(nr,0),BI($,0),0},function(r){return BI(z,0),BI(er,0),0},function(r){return BI(rr,0),BI(q,0),0}];case 10:var ur=iCe(r[1]),ar=ur[4],ir=ur[3],cr=ur[2],fr=ur[1];return[0,function(r){return BI(fr,0),0},function(r){return BI(cr,0),0},ir,ar];case 11:var or=iCe(r[1]),sr=or[4],vr=or[3],lr=or[2],Dr=or[1];return[0,function(r){return BI(Dr,0),0},function(r){return BI(lr,0),0},vr,sr];case 12:var br=iCe(r[1]),pr=br[4],Er=br[3],mr=br[2],Fr=br[1];return[0,function(r){return BI(Fr,0),0},function(r){return BI(mr,0),0},Er,pr];case 13:var kr=iCe(r[1]),dr=kr[4],hr=kr[3],yr=kr[2],_r=kr[1];return[0,function(r){return BI(_r,0),0},function(r){return BI(yr,0),0},function(r){return BI(hr,0),0},function(r){return BI(dr,0),0}];default:var Ar=iCe(r[1]),Cr=Ar[4],wr=Ar[3],Sr=Ar[2],gr=Ar[1];return[0,function(r){return BI(gr,0),0},function(r){return BI(Sr,0),0},function(r){return BI(wr,0),0},function(r){return BI(Cr,0),0}]}}function cCe(r,e){var n=0;if("number"==typeof r){if("number"==typeof e)return 0;switch(e[0]){case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;case 8:n=5;break;case 9:n=6;break;default:throw[0,jI,qO]}}else switch(r[0]){case 0:var t=0,u=r[1];if("number"!=typeof e)switch(e[0]){case 0:return[0,cCe(u,e[1])];case 8:n=5,t=1;break;case 9:n=6,t=1;break;case 10:t=1;break;case 11:n=1,t=1;break;case 12:n=2,t=1;break;case 13:n=3,t=1;break;case 14:n=4,t=1}t||(n=7);break;case 1:var a=0,i=r[1];if("number"!=typeof e)switch(e[0]){case 1:return[1,cCe(i,e[1])];case 8:n=5,a=1;break;case 9:n=6,a=1;break;case 10:a=1;break;case 11:n=1,a=1;break;case 12:n=2,a=1;break;case 13:n=3,a=1;break;case 14:n=4,a=1}a||(n=7);break;case 2:var c=0,f=r[1];if("number"==typeof e)c=1;else switch(e[0]){case 2:return[2,cCe(f,e[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:c=1}c&&(n=7);break;case 3:var o=0,s=r[1];if("number"==typeof e)o=1;else switch(e[0]){case 3:return[3,cCe(s,e[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:o=1}o&&(n=7);break;case 4:var v=0,l=r[1];if("number"==typeof e)v=1;else switch(e[0]){case 4:return[4,cCe(l,e[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:v=1}v&&(n=7);break;case 5:var D=0,b=r[1];if("number"==typeof e)D=1;else switch(e[0]){case 5:return[5,cCe(b,e[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:D=1}D&&(n=7);break;case 6:var p=0,E=r[1];if("number"==typeof e)p=1;else switch(e[0]){case 6:return[6,cCe(E,e[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:p=1}p&&(n=7);break;case 7:var m=0,F=r[1];if("number"==typeof e)m=1;else switch(e[0]){case 7:return[7,cCe(F,e[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:m=1}m&&(n=7);break;case 8:var k=0,d=r[2],h=r[1];if("number"==typeof e)k=1;else switch(e[0]){case 8:var y=e[1],_=cCe(d,e[2]);return[8,cCe(h,y),_];case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:k=1}if(k)throw[0,jI,iN];break;case 9:var A=0,C=r[3],w=r[2],S=r[1];if("number"==typeof e)A=1;else switch(e[0]){case 8:n=5;break;case 9:var g=e[3],B=e[2],T=e[1],I=iCe(cCe(aCe(w),T)),O=I[4];return BI(I[2],0),BI(O,0),[9,S,B,cCe(C,g)];case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:A=1}if(A)throw[0,jI,fN];break;case 10:var N=r[1];if("number"!=typeof e&&10===e[0])return[10,cCe(N,e[1])];throw[0,jI,zO];case 11:var x=0,L=r[1];if("number"==typeof e)x=1;else switch(e[0]){case 10:break;case 11:return[11,cCe(L,e[1])];default:x=1}if(x)throw[0,jI,QO];break;case 12:var P=0,R=r[1];if("number"==typeof e)P=1;else switch(e[0]){case 10:break;case 11:n=1;break;case 12:return[12,cCe(R,e[1])];default:P=1}if(P)throw[0,jI,rN];break;case 13:var M=0,G=r[1];if("number"==typeof e)M=1;else switch(e[0]){case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:return[13,cCe(G,e[1])];default:M=1}if(M)throw[0,jI,nN];break;default:var U=0,j=r[1];if("number"==typeof e)U=1;else switch(e[0]){case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:return[14,cCe(j,e[1])];default:U=1}if(U)throw[0,jI,uN]}switch(n){case 0:throw[0,jI,$O];case 1:throw[0,jI,ZO];case 2:throw[0,jI,eN];case 3:throw[0,jI,tN];case 4:throw[0,jI,aN];case 5:throw[0,jI,cN];case 6:throw[0,jI,oN];default:throw[0,jI,sN]}}OT();var fCe=[Dc,Gx,OT()];function oCe(r,e){if("number"==typeof r)return[0,0,e];if(0===r[0])return[0,[0,r[1],r[2]],e];if("number"!=typeof e&&2===e[0])return[0,[1,r[1]],e[1]];throw fCe}function sCe(r,e,n){var t=oCe(r,n);if("number"==typeof e){if(e){var u=t[2];if("number"!=typeof u&&2===u[0])return[0,t[1],1,u[1]];throw fCe}return[0,t[1],0,t[2]]}return[0,t[1],[0,e[1]],t[2]]}function vCe(r,e,n){if("number"==typeof r)return[0,0,lCe(e,n)];switch(r[0]){case 0:if("number"!=typeof n&&0===n[0]){var t=vCe(r[1],e,n[1]);return[0,[0,t[1]],t[2]]}break;case 1:if("number"!=typeof n&&1===n[0]){var u=vCe(r[1],e,n[1]);return[0,[1,u[1]],u[2]]}break;case 2:if("number"!=typeof n&&2===n[0]){var a=vCe(r[1],e,n[1]);return[0,[2,a[1]],a[2]]}break;case 3:if("number"!=typeof n&&3===n[0]){var i=vCe(r[1],e,n[1]);return[0,[3,i[1]],i[2]]}break;case 4:if("number"!=typeof n&&4===n[0]){var c=vCe(r[1],e,n[1]);return[0,[4,c[1]],c[2]]}break;case 5:if("number"!=typeof n&&5===n[0]){var f=vCe(r[1],e,n[1]);return[0,[5,f[1]],f[2]]}break;case 6:if("number"!=typeof n&&6===n[0]){var o=vCe(r[1],e,n[1]);return[0,[6,o[1]],o[2]]}break;case 7:if("number"!=typeof n&&7===n[0]){var s=vCe(r[1],e,n[1]);return[0,[7,s[1]],s[2]]}break;case 8:if("number"!=typeof n&&8===n[0]){var v=n[1],l=n[2],D=r[2];if(EI([0,r[1]],[0,v]))throw fCe;var b=vCe(D,e,l);return[0,[8,v,b[1]],b[2]]}break;case 9:if("number"!=typeof n&&9===n[0]){var p=n[2],E=n[1],m=n[3],F=r[3],k=r[2],d=r[1],h=[0,z_e(E)];if(EI([0,z_e(d)],h))throw fCe;var y=[0,z_e(p)];if(EI([0,z_e(k)],y))throw fCe;var _=iCe(cCe(aCe(E),p)),A=_[4];BI(_[2],0),BI(A,0);var C=vCe(z_e(F),e,m),w=C[2];return[0,[9,E,p,aCe(C[1])],w]}break;case 10:if("number"!=typeof n&&10===n[0]){var S=vCe(r[1],e,n[1]);return[0,[10,S[1]],S[2]]}break;case 11:if("number"!=typeof n&&11===n[0]){var g=vCe(r[1],e,n[1]);return[0,[11,g[1]],g[2]]}break;case 13:if("number"!=typeof n&&13===n[0]){var B=vCe(r[1],e,n[1]);return[0,[13,B[1]],B[2]]}break;case 14:if("number"!=typeof n&&14===n[0]){var T=vCe(r[1],e,n[1]);return[0,[14,T[1]],T[2]]}}throw fCe}function lCe(r,e){if("number"==typeof r)return[0,0,e];switch(r[0]){case 0:if("number"!=typeof e&&0===e[0]){var n=lCe(r[1],e[1]);return[0,[0,n[1]],n[2]]}break;case 1:if("number"!=typeof e&&0===e[0]){var t=lCe(r[1],e[1]);return[0,[1,t[1]],t[2]]}break;case 2:var u=r[2],a=oCe(r[1],e),i=a[2],c=a[1];if("number"!=typeof i&&1===i[0]){var f=lCe(u,i[1]);return[0,[2,c,f[1]],f[2]]}throw fCe;case 3:var o=r[2],s=oCe(r[1],e),v=s[2],l=s[1];if("number"!=typeof v&&1===v[0]){var D=lCe(o,v[1]);return[0,[3,l,D[1]],D[2]]}throw fCe;case 4:var b=r[4],p=r[1],E=sCe(r[2],r[3],e),m=E[3],F=E[1];if("number"!=typeof m&&2===m[0]){var k=E[2],d=lCe(b,m[1]);return[0,[4,p,F,k,d[1]],d[2]]}throw fCe;case 5:var h=r[4],y=r[1],_=sCe(r[2],r[3],e),A=_[3],C=_[1];if("number"!=typeof A&&3===A[0]){var w=_[2],S=lCe(h,A[1]);return[0,[5,y,C,w,S[1]],S[2]]}throw fCe;case 6:var g=r[4],B=r[1],T=sCe(r[2],r[3],e),I=T[3],O=T[1];if("number"!=typeof I&&4===I[0]){var N=T[2],x=lCe(g,I[1]);return[0,[6,B,O,N,x[1]],x[2]]}throw fCe;case 7:var L=r[4],P=r[1],R=sCe(r[2],r[3],e),M=R[3],G=R[1];if("number"!=typeof M&&5===M[0]){var U=R[2],j=lCe(L,M[1]);return[0,[7,P,G,U,j[1]],j[2]]}throw fCe;case 8:var H=r[4],X=r[1],Y=sCe(r[2],r[3],e),V=Y[3],K=Y[1];if("number"!=typeof V&&6===V[0]){var W=Y[2],J=lCe(H,V[1]);return[0,[8,X,K,W,J[1]],J[2]]}throw fCe;case 9:var q=r[2],z=oCe(r[1],e),$=z[2],Q=z[1];if("number"!=typeof $&&7===$[0]){var Z=lCe(q,$[1]);return[0,[9,Q,Z[1]],Z[2]]}throw fCe;case 10:var rr=lCe(r[1],e);return[0,[10,rr[1]],rr[2]];case 11:var er=r[1],nr=lCe(r[2],e);return[0,[11,er,nr[1]],nr[2]];case 12:var tr=r[1],ur=lCe(r[2],e);return[0,[12,tr,ur[1]],ur[2]];case 13:if("number"!=typeof e&&8===e[0]){var ar=e[1],ir=e[2],cr=r[3],fr=r[1];if(EI([0,r[2]],[0,ar]))throw fCe;var or=lCe(cr,ir);return[0,[13,fr,ar,or[1]],or[2]]}break;case 14:if("number"!=typeof e&&9===e[0]){var sr=e[1],vr=e[3],lr=r[3],Dr=r[2],br=r[1],pr=[0,z_e(sr)];if(EI([0,z_e(Dr)],pr))throw fCe;var Er=lCe(lr,z_e(vr));return[0,[14,br,sr,Er[1]],Er[2]]}break;case 15:if("number"!=typeof e&&10===e[0]){var mr=lCe(r[1],e[1]);return[0,[15,mr[1]],mr[2]]}break;case 16:if("number"!=typeof e&&11===e[0]){var Fr=lCe(r[1],e[1]);return[0,[16,Fr[1]],Fr[2]]}break;case 17:var kr=r[1],dr=lCe(r[2],e);return[0,[17,kr,dr[1]],dr[2]];case 18:var hr=r[2],yr=r[1];if(0===yr[0]){var _r=yr[1],Ar=_r[2],Cr=lCe(_r[1],e),wr=Cr[1],Sr=lCe(hr,Cr[2]);return[0,[18,[0,[0,wr,Ar]],Sr[1]],Sr[2]]}var gr=yr[1],Br=gr[2],Tr=lCe(gr[1],e),Ir=Tr[1],Or=lCe(hr,Tr[2]);return[0,[18,[1,[0,Ir,Br]],Or[1]],Or[2]];case 19:if("number"!=typeof e&&13===e[0]){var Nr=lCe(r[1],e[1]);return[0,[19,Nr[1]],Nr[2]]}break;case 20:if("number"!=typeof e&&1===e[0]){var xr=r[2],Lr=r[1],Pr=lCe(r[3],e[1]);return[0,[20,Lr,xr,Pr[1]],Pr[2]]}break;case 21:if("number"!=typeof e&&2===e[0]){var Rr=r[1],Mr=lCe(r[2],e[1]);return[0,[21,Rr,Mr[1]],Mr[2]]}break;case 23:var Gr=r[2],Ur=r[1];if("number"==typeof Ur)switch(Ur){case 0:case 1:default:return DCe(Ur,Gr,e);case 2:if("number"!=typeof e&&14===e[0]){var jr=lCe(Gr,e[1]);return[0,[23,2,jr[1]],jr[2]]}throw fCe}else switch(Ur[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 10:default:return DCe(Ur,Gr,e);case 8:return DCe([8,Ur[1],Ur[2]],Gr,e);case 9:var Hr=Ur[1],Xr=vCe(Ur[2],Gr,e),Yr=Xr[2];return[0,[23,[9,Hr,Xr[1]],Yr[1]],Yr[2]]}}throw fCe}function DCe(r,e,n){var t=lCe(e,n);return[0,[23,r,t[1]],t[2]]}function bCe(r,e,n){var t=XT(n),u=0<=e?r:0,a=eAe(e);if(a<=t)return n;var i=CAe(a,2===u?48:32);switch(u){case 0:TAe(n,0,i,0,t);break;case 1:TAe(n,0,i,a-t|0,t);break;default:var c=0;if(0>>0||(a=1):65<=u&&(a=1);else{var i=0;if(32!==u)if(43<=u)switch(u+-43|0){case 5:if(t<(n+2|0)&&1>>0?33<(u+-61|0)>>>0&&(a=1):2===u&&(a=1),!a){e=e+1|0;continue}var i=r,c=[0,0],f=HT(i)-1|0;if(!(f<0))for(var o=0;;){var s=LB(i,o),v=0;if(32<=s){var l=s-34|0,D=0;if(58>>0?93<=l&&(D=1):56<(l-1|0)>>>0&&(v=1,D=1),!D){var b=1;v=2}}else 11<=s?13===s&&(v=1):8<=s&&(v=1);switch(v){case 0:b=4;break;case 1:b=2}c[1]=c[1]+b|0;var p=o+1|0;if(f===o)break;o=p}if(c[1]===HT(i))var E=wAe(i);else{var m=AT(c[1]);c[1]=0;var F=HT(i)-1|0;if(!(F<0))for(var k=0;;){var d=LB(i,k),h=0;if(35<=d)h=92===d?2:r_<=d?1:3;else if(32<=d)h=34<=d?2:3;else if(14<=d)h=1;else switch(d){case 8:NB(m,c[1],92),c[1]++,NB(m,c[1],98);break;case 9:NB(m,c[1],92),c[1]++,NB(m,c[1],bm);break;case 10:NB(m,c[1],92),c[1]++,NB(m,c[1],Je);break;case 13:NB(m,c[1],92),c[1]++,NB(m,c[1],li);break;default:h=1}switch(h){case 1:NB(m,c[1],92),c[1]++,NB(m,c[1],48+(d/pu|0)|0),c[1]++,NB(m,c[1],48+((d/10|0)%10|0)|0),c[1]++,NB(m,c[1],48+(d%10|0)|0);break;case 2:NB(m,c[1],92),c[1]++,NB(m,c[1],d);break;case 3:NB(m,c[1],d)}c[1]++;var y=k+1|0;if(F===k)break;k=y}E=m}t=E}var _=XT(t),A=CAe(_+2|0,34);return yB(t,0,A,1,_),A}}function mCe(r,e){var n=eAe(e),t=XI?XI[1]:70;switch(r[2]){case 0:var u=wk;break;case 1:u=Ik;break;case 2:u=69;break;case 3:u=Zv;break;case 4:u=71;break;case 5:u=t;break;case 6:u=mk;break;case 7:u=72;break;default:u=70}var a=ZAe(16);switch(eCe(a,37),r[1]){case 0:break;case 1:eCe(a,43);break;default:eCe(a,32)}return 8<=r[2]&&eCe(a,35),eCe(a,46),nCe(a,BB(rA+n)),eCe(a,u),tCe(a)}function FCe(r,e){if(13<=r){var n=[0,0],t=XT(e)-1|0;if(!(t<0))for(var u=0;;){9<(YT(e,u)+lw|0)>>>0||n[1]++;var a=u+1|0;if(t===u)break;u=a}var i=n[1],c=AT(XT(e)+((i-1|0)/3|0)|0),f=[0,0],o=function(r){return xB(c,f[1],r),f[1]++,0},s=[0,1+((i-1|0)%3|0)|0],v=XT(e)-1|0;if(!(v<0))for(var l=0;;){var D=YT(e,l);9<(D+lw|0)>>>0||(0===s[1]&&(o(95),s[1]=3),s[1]+=-1),o(D);var b=l+1|0;if(v===l)break;l=b}return c}return e}function kCe(r,e){switch(r){case 1:var n=Fx;break;case 2:n=kx;break;case 4:n=dx;break;case 5:n=hx;break;case 6:n=yx;break;case 7:n=_x;break;case 8:n=Ax;break;case 9:n=Cx;break;case 10:n=wx;break;case 11:n=Sx;break;case 0:case 13:n=gx;break;case 3:case 14:n=Bx;break;default:n=Tx}return FCe(r,TT(n,e))}function dCe(r,e){switch(r){case 1:var n=KN;break;case 2:n=WN;break;case 4:n=JN;break;case 5:n=qN;break;case 6:n=zN;break;case 7:n=$N;break;case 8:n=QN;break;case 9:n=ZN;break;case 10:n=rx;break;case 11:n=ex;break;case 0:case 13:n=nx;break;case 3:case 14:n=tx;break;default:n=ux}return FCe(r,TT(n,e))}function hCe(r,e){switch(r){case 1:var n=NN;break;case 2:n=xN;break;case 4:n=LN;break;case 5:n=PN;break;case 6:n=RN;break;case 7:n=MN;break;case 8:n=GN;break;case 9:n=UN;break;case 10:n=jN;break;case 11:n=HN;break;case 0:case 13:n=XN;break;case 3:case 14:n=YN;break;default:n=VN}return FCe(r,TT(n,e))}function yCe(r,e){switch(r){case 1:var n=ax;break;case 2:n=ix;break;case 4:n=cx;break;case 5:n=fx;break;case 6:n=ox;break;case 7:n=sx;break;case 8:n=vx;break;case 9:n=lx;break;case 10:n=Dx;break;case 11:n=bx;break;case 0:case 13:n=px;break;case 3:case 14:n=Ex;break;default:n=mx}return FCe(r,function(r,e){var n=ST(r);n.signedconv&&function(r){return+r.isNeg()}(e)&&(n.sign=-1,e=jT(e));var t=rA,u=GT(n.base);do{var a=e.udivmod(u);e=a.quotient,t="0123456789abcdef".charAt(UT(a.modulus))+t}while(!MT(e));if(n.prec>=0){n.filler=JD;var i=n.prec-t.length;i>0&&(t=_B(i,nc)+t)}return gT(n,t)}(n,e))}function _Ce(r,e,n){function t(t){switch(r[1]){case 0:var u=45;break;case 1:u=43;break;default:u=32}return RT(n,e,u)}function u(r){var e=function(r){return isFinite(r)?Math.abs(r)>=22250738585072014e-324?0:0!=r?1:2:isNaN(r)?4:3}(n);return 3===e?n<0?TN:IN:4<=e?BN:r}switch(r[2]){case 5:for(var a=BT(mCe(r,e),n),i=0,c=XT(a);;){if(i===c)var f=0;else{var o=yI(a,i)+X_|0,s=0;if(23>>0?55===o&&(s=1):21<(o-1|0)>>>0&&(s=1),!s){i=i+1|0;continue}f=1}return u(f?a:nAe(a,ON))}case 6:return t();case 7:var v=t(),l=HT(v);if(0===l)var D=v;else{var b=AT(l),p=l-1|0;if(!(p<0))for(var E=0;;){NB(b,E,fAe(LB(v,E)));var m=E+1|0;if(p===E)break;E=m}D=b}return D;case 8:return u(t());default:return BT(mCe(r,e),n)}}function ACe(r,e,n,t){for(var u=e,a=n,i=t;;){if("number"==typeof i)return BI(u,a);switch(i[0]){case 0:var c=i[1];return function(r){return gCe(u,[5,a,r],c)};case 1:var f=i[1];return function(r){var e=0;if(40<=r)if(92===r)var n=uO;else e=r_<=r?1:2;else if(32<=r)39<=r?n=aO:e=2;else if(14<=r)e=1;else switch(r){case 8:n=iO;break;case 9:n=cO;break;case 10:n=fO;break;case 13:n=oO;break;default:e=1}switch(e){case 1:var t=AT(4);NB(t,0,92),NB(t,1,48+(r/pu|0)|0),NB(t,2,48+((r/10|0)%10|0)|0),NB(t,3,48+(r%10|0)|0),n=t;break;case 2:var i=AT(1);NB(i,0,r),n=i}var c=XT(n),o=CAe(c+2|0,39);return yB(n,0,o,1,c),gCe(u,[4,a,o],f)};case 2:var o=i[2],s=i[1];return TCe(u,a,o,s,(function(r){return r}));case 3:return TCe(u,a,i[2],i[1],ECe);case 4:return ICe(u,a,i[4],i[2],i[3],kCe,i[1]);case 5:return ICe(u,a,i[4],i[2],i[3],dCe,i[1]);case 6:return ICe(u,a,i[4],i[2],i[3],hCe,i[1]);case 7:return ICe(u,a,i[4],i[2],i[3],yCe,i[1]);case 8:var v=i[4],l=i[3],D=i[2],b=i[1];if("number"==typeof D){if("number"==typeof l)return l?function(r,e){return gCe(u,[4,a,_Ce(b,r,e)],v)}:function(r){return gCe(u,[4,a,_Ce(b,QAe(b),r)],v)};var p=l[1];return function(r){return gCe(u,[4,a,_Ce(b,p,r)],v)}}if(0===D[0]){var E=D[2],m=D[1];if("number"==typeof l)return l?function(r,e){return gCe(u,[4,a,bCe(m,E,_Ce(b,r,e))],v)}:function(r){return gCe(u,[4,a,bCe(m,E,_Ce(b,QAe(b),r))],v)};var F=l[1];return function(r){return gCe(u,[4,a,bCe(m,E,_Ce(b,F,r))],v)}}var k=D[1];if("number"==typeof l)return l?function(r,e,n){return gCe(u,[4,a,bCe(k,r,_Ce(b,e,n))],v)}:function(r,e){return gCe(u,[4,a,bCe(k,r,_Ce(b,QAe(b),e))],v)};var d=l[1];return function(r,e){return gCe(u,[4,a,bCe(k,r,_Ce(b,d,e))],v)};case 9:return TCe(u,a,i[2],i[1],tAe);case 10:a=[7,a],i=i[1];continue;case 11:a=[2,a,i[1]],i=i[2];continue;case 12:a=[3,a,i[1]],i=i[2];continue;case 13:var h=i[3],y=i[2],_=ZAe(16);uCe(_,y);var A=tCe(_);return function(r){return gCe(u,[4,a,A],h)};case 14:var C=i[3],w=i[2];return function(r){var e=lCe(r[1],z_e(aCe(w)));if("number"==typeof e[2])return gCe(u,a,Q_e(e[1],C));throw fCe};case 15:var S=i[1];return function(r,e){return gCe(u,[6,a,function(n){return TI(r,n,e)}],S)};case 16:var g=i[1];return function(r){return gCe(u,[6,a,r],g)};case 17:a=[0,a,i[1]],i=i[2];continue;case 18:var B=i[1];if(0===B[0]){var T=i[2],I=B[1][1];u=function(r,e,n){return function(t){return gCe(e,[1,r,[0,t]],n)}}(a,u,T),a=0,i=I;continue}var O=i[2],N=B[1][1];u=function(r,e,n){return function(t){return gCe(e,[1,r,[1,t]],n)}}(a,u,O),a=0,i=N;continue;case 19:throw[0,jI,lN];case 20:var x=i[3],L=[8,a,DN];return function(r){return gCe(u,L,x)};case 21:var P=i[2];return function(r){return gCe(u,[4,a,TT(vN,r)],P)};case 22:var R=i[1];return function(r){return gCe(u,[5,a,r],R)};case 23:var M=i[2],G=i[1];if("number"==typeof G)switch(G){case 0:case 1:default:return r<50?wCe(r+1|0,u,a,M):wI(wCe,[0,u,a,M]);case 2:throw[0,jI,bN]}else switch(G[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:default:return r<50?wCe(r+1|0,u,a,M):wI(wCe,[0,u,a,M]);case 9:var U=G[2];return r<50?CCe(r+1|0,u,a,U,M):wI(CCe,[0,u,a,U,M])}default:var j=i[3],H=i[1],X=BI(i[2],0);return r<50?SCe(r+1|0,u,a,j,H,X):wI(SCe,[0,u,a,j,H,X])}}}function CCe(r,e,n,t,u){if("number"==typeof t)return r<50?wCe(r+1|0,e,n,u):wI(wCe,[0,e,n,u]);switch(t[0]){case 0:var a=t[1];return function(r){return BCe(e,n,a,u)};case 1:var i=t[1];return function(r){return BCe(e,n,i,u)};case 2:var c=t[1];return function(r){return BCe(e,n,c,u)};case 3:var f=t[1];return function(r){return BCe(e,n,f,u)};case 4:var o=t[1];return function(r){return BCe(e,n,o,u)};case 5:var s=t[1];return function(r){return BCe(e,n,s,u)};case 6:var v=t[1];return function(r){return BCe(e,n,v,u)};case 7:var l=t[1];return function(r){return BCe(e,n,l,u)};case 8:var D=t[2];return function(r){return BCe(e,n,D,u)};case 9:var b=t[3],p=t[2],E=cCe(aCe(t[1]),p);return function(r){return BCe(e,n,$_e(E,b),u)};case 10:var m=t[1];return function(r,t){return BCe(e,n,m,u)};case 11:var F=t[1];return function(r){return BCe(e,n,F,u)};case 12:var k=t[1];return function(r){return BCe(e,n,k,u)};case 13:throw[0,jI,pN];default:throw[0,jI,EN]}}function wCe(r,e,n,t){var u=[8,n,mN];return r<50?ACe(r+1|0,e,u,t):wI(ACe,[0,e,u,t])}function SCe(r,e,n,t,u,a){if(u){var i=u[1];return function(r){return function(r,e,n,t,u){return CI(SCe(0,r,e,n,t,u))}(e,n,t,i,BI(a,r))}}var c=[4,n,a];return r<50?ACe(r+1|0,e,c,t):wI(ACe,[0,e,c,t])}function gCe(r,e,n){return CI(ACe(0,r,e,n))}function BCe(r,e,n,t){return CI(CCe(0,r,e,n,t))}function TCe(r,e,n,t,u){if("number"==typeof t)return function(t){return gCe(r,[4,e,BI(u,t)],n)};if(0===t[0]){var a=t[2],i=t[1];return function(t){return gCe(r,[4,e,bCe(i,a,BI(u,t))],n)}}var c=t[1];return function(t,a){return gCe(r,[4,e,bCe(c,t,BI(u,a))],n)}}function ICe(r,e,n,t,u,a,i){if("number"==typeof t){if("number"==typeof u)return u?function(t,u){return gCe(r,[4,e,pCe(t,TI(a,i,u))],n)}:function(t){return gCe(r,[4,e,TI(a,i,t)],n)};var c=u[1];return function(t){return gCe(r,[4,e,pCe(c,TI(a,i,t))],n)}}if(0===t[0]){var f=t[2],o=t[1];if("number"==typeof u)return u?function(t,u){return gCe(r,[4,e,bCe(o,f,pCe(t,TI(a,i,u)))],n)}:function(t){return gCe(r,[4,e,bCe(o,f,TI(a,i,t))],n)};var s=u[1];return function(t){return gCe(r,[4,e,bCe(o,f,pCe(s,TI(a,i,t)))],n)}}var v=t[1];if("number"==typeof u)return u?function(t,u,c){return gCe(r,[4,e,bCe(v,t,pCe(u,TI(a,i,c)))],n)}:function(t,u){return gCe(r,[4,e,bCe(v,t,TI(a,i,u))],n)};var l=u[1];return function(t,u){return gCe(r,[4,e,bCe(v,t,pCe(l,TI(a,i,u)))],n)}}function OCe(r,e){for(var n=e;;){if("number"==typeof n)return 0;switch(n[0]){case 0:var t=n[2],u=n[1];if("number"==typeof t)switch(t){case 0:var a=Ix;break;case 1:a=Ox;break;case 2:a=Nx;break;case 3:a=xx;break;case 4:a=Lx;break;case 5:a=Px;break;default:a=Rx}else switch(t[0]){case 0:case 1:a=t[1];break;default:a=nAe(Mx,IAe(1,t[1]))}return OCe(r,u),$Ae(r,a);case 1:var i=n[2],c=n[1];if(0===i[0]){var f=i[1];OCe(r,c),$Ae(r,FN),n=f;continue}var o=i[1];OCe(r,c),$Ae(r,kN),n=o;continue;case 6:var s=n[2];return OCe(r,n[1]),$Ae(r,BI(s,0));case 7:n=n[1];continue;case 8:var v=n[2];return OCe(r,n[1]),rAe(v);case 2:case 4:var l=n[2];return OCe(r,n[1]),$Ae(r,l);default:var D=n[2];return OCe(r,n[1]),JAe(r,D)}}}function NCe(r){if(hI(r,hN))return yN;var e=XT(r);function n(e){var n=dN[1],t=VAe($n);return BI(gCe((function(r){return OCe(t,r),Z_e(KAe(t))}),0,n),r)}function t(n){for(var t=n;;){if(t===e)return t;var u=yI(r,t);if(9!==u&&32!==u)return t;t=t+1|0}}var u=t(0),a=function(n,t){for(var u=t;;){if(u===e)return u;if(25<(yI(r,u)+-97|0)>>>0)return u;u=u+1|0}}(0,u),i=OAe(r,u,a-u|0),c=t(a),f=function(n,t){for(var u=t;;){if(u===e)return u;var a=yI(r,u),i=0;if(48<=a?58<=a||(i=1):45===a&&(i=1),!i)return u;u=u+1|0}}(0,c);if(c===f)var o=0;else try{o=QT(OAe(r,c,f-c|0))}catch(r){if((r=gI(r))[1]!==PI)throw r;o=n()}t(f)!==e&&n();var s=0;if(_I(i,_N)&&_I(i,AN))var v=_I(i,CN)?_I(i,wN)?_I(i,SN)?_I(i,gN)?n():1:2:3:0;else s=1;return s&&(v=4),[0,o,v]}function xCe(r){return gCe((function(r){var e=VAe(64);return OCe(e,r),KAe(e)}),0,r[1])}var LCe=[0,0];function PCe(r,e){var n=r[1+e];if(1-("number"==typeof n?1:0)){if(FI(n)===rm)return BI(xCe(Qx),n);if(253===FI(n))for(var t=BT(rO,n),u=0,a=XT(t);;){if(a<=u)return nAe(t,eO);var i=yI(t,u),c=0;if(48<=i?58<=i||(c=1):45===i&&(c=1),!c)return t;u=u+1|0}return Zx}return BI(xCe($x),n)}function RCe(r,e){if(r.length-1<=e)return Ux;var n=RCe(r,e+1|0),t=PCe(r,e);return TI(xCe(jx),t,n)}function MCe(r){var e=function(e){for(var n=e;;){if(!n)return 0;var t=n[2],u=n[1];try{var a=0,i=BI(u,r);a=1}catch(r){}if(a&&i)return[0,i[1]];n=t}}(LCe[1]);if(e)return e[1];if(r===xI)return Hx;if(r===UI)return Xx;if(r[1]===GI){var n=r[2],t=n[3],u=n[2],a=n[1];return NI(xCe(YI),a,u,t,t+5|0,Yx)}if(r[1]===jI){var i=r[2],c=i[3],f=i[2],o=i[1];return NI(xCe(YI),o,f,c,c+6|0,Vx)}if(r[1]===HI){var s=r[2],v=s[3],l=s[2],D=s[1];return NI(xCe(YI),D,l,v,v+6|0,Kx)}if(0===FI(r)){var b=r.length-1,p=r[1][1];if(2>>0)var E=RCe(r,2),m=PCe(r,1),F=TI(xCe(Wx),m,E);else switch(b){case 0:F=Jx;break;case 1:F=qx;break;default:var k=PCe(r,1);F=BI(xCe(zx),k)}return nAe(p,F)}return r[1]}function GCe(r){return LCe[1]=[0,r,LCe[1]],0}var UCe=[Dc,dL,OT()];function jCe(r,e){return r[13]=r[13]+e[3]|0,YAe(e,r[28])}var HCe=1000000010;function XCe(r,e){return II(r[17],e,0,XT(e))}function YCe(r){return BI(r[19],0)}function VCe(r,e,n){return r[9]=r[9]-e|0,XCe(r,n),r[11]=0,0}function KCe(r,e){var n=_I(e,kL);return n?VCe(r,XT(e),e):n}function WCe(r,e,n){var t=e[3],u=e[2];KCe(r,e[1]),YCe(r),r[11]=1;var a=(r[6]-n|0)+u|0,i=r[8],c=function(r,e){return+(yT(r,e,!1)<=0)}(i,a)?i:a;return r[10]=c,r[9]=r[6]-r[10]|0,BI(r[21],r[10]),KCe(r,t)}function JCe(r,e){return WCe(r,FL,e)}function qCe(r,e){var n=e[2],t=e[3];return KCe(r,e[1]),r[9]=r[9]-n|0,BI(r[20],n),KCe(r,t)}function zCe(r){for(;;){var e=r[28][2],n=e?[0,e[1]]:0;if(n){var t=n[1],u=t[1],a=t[2],i=0<=u?1:0,c=t[3],f=r[13]-r[12]|0,o=i||(r[9]<=f?1:0);if(o){var s=r[28],v=s[2];if(v){if(v[2]){var l=v[2];s[1]=s[1]-1|0,s[2]=l}else XAe(s);var D=0<=u?u:HCe;if("number"==typeof a)switch(a){case 0:var b=jAe(r[3]);if(b){var p=b[1][1],E=function(r,e){if(e){var n=e[1],t=e[2];return rI(r,n)?[0,r,e]:[0,n,E(r,t)]}return[0,r,0]};p[1]=E(r[6]-r[9]|0,p[1])}break;case 1:UAe(r[2]);break;case 2:UAe(r[3]);break;case 3:var m=jAe(r[2]);m?JCe(r,m[1][2]):YCe(r);break;case 4:if(r[10]!==(r[6]-r[9]|0)){var F=r[28],k=F[2];if(k){var d=k[1];if(k[2]){var h=k[2];F[1]=F[1]-1|0,F[2]=h;var y=[0,d]}else XAe(F),y=[0,d]}else y=0;if(y){var _=y[1],A=_[1];r[12]=r[12]-_[3]|0,r[9]=r[9]+A|0}}break;default:var C=UAe(r[5]);C&&XCe(r,BI(r[25],C[1]))}else switch(a[0]){case 0:VCe(r,D,a[1]);break;case 1:var w=a[2],S=a[1],g=w[1],B=w[2],T=jAe(r[2]);if(T){var I=T[1],O=I[2];switch(I[1]){case 0:default:qCe(r,S);break;case 1:case 2:WCe(r,w,O);break;case 3:r[9]<(D+XT(g)|0)?WCe(r,w,O):qCe(r,S);break;case 4:r[11]||!(r[9]<(D+XT(g)|0)||((r[6]-O|0)+B|0)>>0)&&JCe(r,z)}else YCe(r)}var Q=r[9]-W|0;GAe([0,1===K?1:r[9]=1;a--)n[t+a]=r[e+a]}(a,0,u,0,n),i=1),i||rAe(EO),r[2]=u;var c=0}else c=t;return c}var Pwe=[0,0];function Rwe(r){var e=r[2].length-1;return Lwe(r,e+1|0),e}function Mwe(r,e){try{var n;return TI(Twe[27],e,r[3])}catch(n){if((n=gI(n))===MI){var t=Rwe(r);return r[3]=II(Twe[4],e,t,r[3]),r[4]=II(Iwe[4],t,1,r[4]),t}throw n}}function Gwe(r,e){return LAe((function(e){return Mwe(r,e)}),e)}function Uwe(r,e){try{var n=function(r,e){for(var n=e;;){if(!n)throw MI;var t=n[1],u=n[2],a=t[2];if(0===_T(t[1],r))return a;n=u}}(e,r[6]);return n}catch(n){if((n=gI(n))===MI)return MB(r[2],e)[1+e];throw n}}function jwe(r){if(0===r)return 0;for(var e=r.length-1-1|0,n=0;;){if(!(0<=e))return n;var t=[0,r[1+e],n];e=e-1|0,n=t}}function Hwe(r,e){try{var n;return TI(Bwe[27],e,r[7])}catch(n){if((n=gI(n))===MI){var t=function(r){var e=r[1];return r[1]=e+1|0,e}(r);return _I(e,yL)&&(r[7]=II(Bwe[4],e,t,r[7])),t}throw n}}function Xwe(r){return CT(r,0)?[0]:r}function Ywe(r,e,n,t,u,a){var i=u[2],c=u[4],f=jwe(e),o=jwe(n),s=jwe(t),v=mAe((function(e){return Mwe(r,e)}),o),l=mAe((function(e){return Mwe(r,e)}),s);r[5]=[0,[0,r[3],r[4],r[6],r[7],v,f],r[5]];var D=Bwe[1],b=r[7];r[7]=II(Bwe[13],(function(r,e,n){return _Ae(r,f)?II(Bwe[4],r,e,n):n}),b,D);var p=[0,Twe[1]],E=[0,Iwe[1]];yAe((function(e,n){p[1]=II(Twe[4],e,n,p[1]);var t=E[1];try{var u=TI(Iwe[27],n,r[4])}catch(r){if((r=gI(r))!==MI)throw r;u=1}return E[1]=II(Iwe[4],n,u,t),0}),s,l),yAe((function(r,e){return p[1]=II(Twe[4],r,e,p[1]),E[1]=II(Iwe[4],e,0,E[1]),0}),o,v),r[3]=p[1],r[4]=E[1];var m=r[6];r[6]=hAe((function(r,e){return _Ae(r[1],v)?e:[0,r,e]}),m,0);var F=a?TI(i,r,c):BI(i,r),k=lAe(r[5]),d=k[6],h=k[5],y=k[4],_=k[3],A=k[2],C=k[1];r[5]=DAe(r[5]),r[7]=dAe((function(e,n){var t=TI(Bwe[27],n,r[7]);return II(Bwe[4],n,t,e)}),y,d),r[3]=C,r[4]=A;var w=r[6];r[6]=hAe((function(r,e){return _Ae(r[1],h)?e:[0,r,e]}),w,_);var S=[0,LAe((function(e){return Uwe(r,Mwe(r,e))}),Xwe(t)),0];return function(r){for(var e=[0];0!==r;){for(var n=r[1],t=1;t>>18|0),n(B|63&(e>>>12|0)),n(B|63&(e>>>6|0)),n(B|63&e)):2048<=e?(n(eo|e>>>12|0),n(B|63&(e>>>6|0)),n(B|63&e)):B<=e?(n(s|e>>>6|0),n(B|63&e)):n(e)}_I(oAe,CL)&&_I(oAe,wL);var Zwe=r,rSe=null,eSe=void 0;function nSe(r){return r!==eSe?1:0}var tSe=Zwe.Array,uSe=[Dc,gL,OT()],aSe=Zwe.Error;function iSe(r){throw r}!function(r,e){!function(r,e){dI[GB(r)]=e}(r,FI(e)===Dc?e:e[1])}(BL,[0,uSe,{}]),GCe((function(r){return r[1]===uSe?[0,PT(r[2].toString())]:0})),GCe((function(r){return r instanceof tSe?0:[0,PT(r.toString())]}));var cSe=TI($we,jYr,[0,[0,0,0]]),fSe=TI($we,HYr,[0,[0,0,0,0,0]]),oSe=TI($we,XYr,[0,[0,0,0,0,0]]),sSe=TI($we,YYr,[0,[0,[0,[0,0,0]],0,0,0,0]]),vSe=TI($we,VYr,[0,[0,0,0]]),lSe=TI($we,KYr,[0,[0,0,0]]),DSe=TI($we,WYr,[0,[0,0,0]]),bSe=TI($we,JYr,[0,[0,0,0]]),pSe=TI($we,qYr,[0,[0,0,0,0,0,0,0]]),ESe=TI($we,zYr,[0,[0,0,0,0,0]]),mSe=TI($we,$Yr,[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]]),FSe=TI($we,QYr,[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]]),kSe=TI($we,ZYr,[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]]),dSe=TI($we,rVr,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]]),hSe=TI($we,eVr,[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]]),ySe=TI($we,nVr,[0,[0,0,0,0,0,0,0]]),_Se=TI($we,tVr,[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]]),ASe=TI($we,uVr,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]]),CSe=function r(e,n,t,u){return r.fun(e,n,t,u)},wSe=function r(e,n,t){return r.fun(e,n,t)},SSe=TI($we,aVr,[0,[0,0,0,0,0]]);FB(CSe,(function(r,e,n,t){BI(wwe(n),AYr),TI(wwe(n),wYr,CYr);var u=t[1];BI(wwe(n),SYr),dAe((function(e,t){return e&&BI(wwe(n),_Yr),II(ySe[1],(function(e){return BI(r,e)}),n,t),1}),0,u),BI(wwe(n),gYr),BI(wwe(n),BYr),BI(wwe(n),TYr),TI(wwe(n),OYr,IYr);var a=t[2];return BI(wwe(n),NYr),dAe((function(e,t){return e&&BI(wwe(n),yYr),II(ySe[1],(function(e){return BI(r,e)}),n,t),1}),0,a),BI(wwe(n),xYr),BI(wwe(n),LYr),BI(wwe(n),PYr),TI(wwe(n),MYr,RYr),TI(e,n,t[3]),BI(wwe(n),GYr),BI(wwe(n),UYr)})),FB(wSe,(function(r,e,n){var t=TI(CSe,r,e);return TI(Swe(hYr),t,n)})),II(zwe,[0,[0,0,0]],cSe,[0,CSe,wSe]);var gSe=function r(e,n,t,u){return r.fun(e,n,t,u)},BSe=function r(e,n,t){return r.fun(e,n,t)},TSe=function r(e,n,t){return r.fun(e,n,t)},ISe=function r(e,n){return r.fun(e,n)};FB(gSe,(function(r,e,n,t){BI(wwe(n),FYr),TI(e,n,t[1]),BI(wwe(n),kYr);var u=t[2];return II(TSe,(function(e){return BI(r,e)}),n,u),BI(wwe(n),dYr)})),FB(BSe,(function(r,e,n){var t=TI(gSe,r,e);return TI(Swe(mYr),t,n)})),FB(TSe,(function(r,e,n){BI(wwe(e),uYr),TI(wwe(e),iYr,aYr);var t=n[1];TI(wwe(e),cYr,t),BI(wwe(e),fYr),BI(wwe(e),oYr),TI(wwe(e),vYr,sYr);var u=n[2];if(u){fwe(e,lYr);var a=u[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,tYr)}),e,a),fwe(e,DYr)}else fwe(e,bYr);return BI(wwe(e),pYr),BI(wwe(e),EYr)})),FB(ISe,(function(r,e){var n=BI(TSe,r);return TI(Swe(nYr),n,e)})),II(zwe,[0,[0,0,0,0,0]],fSe,[0,gSe,BSe,TSe,ISe]);var OSe=function r(e,n,t){return r.fun(e,n,t)},NSe=function r(e,n){return r.fun(e,n)},xSe=function r(e,n,t){return r.fun(e,n,t)},LSe=function r(e,n){return r.fun(e,n)};function PSe(r,e){BI(wwe(r),wXr),TI(wwe(r),gXr,SXr);var n=e[1];TI(wwe(r),BXr,n),BI(wwe(r),TXr),BI(wwe(r),IXr),TI(wwe(r),NXr,OXr);var t=e[2];return TI(wwe(r),xXr,t),BI(wwe(r),LXr),BI(wwe(r),PXr)}FB(OSe,(function(r,e,n){BI(wwe(e),ZXr),TI(r,e,n[1]),BI(wwe(e),rYr);var t=n[2];return II(xSe,(function(e){return BI(r,e)}),e,t),BI(wwe(e),eYr)})),FB(NSe,(function(r,e){var n=BI(OSe,r);return TI(Swe(QXr),n,e)})),FB(xSe,(function(r,e,n){BI(wwe(e),UXr),TI(wwe(e),HXr,jXr);var t=n[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,t),BI(wwe(e),XXr),BI(wwe(e),YXr),TI(wwe(e),KXr,VXr);var u=n[2];if(u){fwe(e,WXr);var a=u[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,GXr)}),e,a),fwe(e,JXr)}else fwe(e,qXr);return BI(wwe(e),zXr),BI(wwe(e),$Xr)})),FB(LSe,(function(r,e){var n=BI(xSe,r);return TI(Swe(MXr),n,e)})),II(zwe,[0,[0,0,0,0,0]],oSe,[0,OSe,NSe,xSe,LSe]);var RSe=[0,PSe,function(r){return TI(Swe(RXr),PSe,r)}],MSe=function r(e,n,t){return r.fun(e,n,t)},GSe=function r(e,n){return r.fun(e,n)},USe=function r(e,n){return r.fun(e,n)},jSe=function r(e){return r.fun(e)};FB(MSe,(function(r,e,n){BI(wwe(e),oXr),TI(wwe(e),vXr,sXr),TI(USe,e,n[1]),BI(wwe(e),lXr),BI(wwe(e),DXr),TI(wwe(e),pXr,bXr);var t=n[2];TI(wwe(e),EXr,t),BI(wwe(e),mXr),BI(wwe(e),FXr),TI(wwe(e),dXr,kXr);var u=n[3];if(u){fwe(e,hXr);var a=u[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,fXr)}),e,a),fwe(e,yXr)}else fwe(e,_Xr);return BI(wwe(e),AXr),BI(wwe(e),CXr)})),FB(GSe,(function(r,e){var n=BI(MSe,r);return TI(Swe(cXr),n,e)})),FB(USe,(function(r,e){if("number"==typeof e)return fwe(r,KHr);switch(e[0]){case 0:BI(wwe(r),WHr);var n=e[1];return TI(wwe(r),JHr,n),BI(wwe(r),qHr);case 1:BI(wwe(r),zHr);var t=e[1];return TI(wwe(r),$Hr,t),BI(wwe(r),QHr);case 2:BI(wwe(r),ZHr);var u=e[1];return TI(wwe(r),rXr,u),BI(wwe(r),eXr);case 3:BI(wwe(r),nXr);var a=e[1];return TI(wwe(r),tXr,a),BI(wwe(r),uXr);default:return BI(wwe(r),aXr),TI(RSe[1],r,e[1]),BI(wwe(r),iXr)}})),FB(jSe,(function(r){return TI(Swe(VHr),USe,r)})),II(zwe,[0,[0,[0,[0,0,0]],0,0,0,0]],sSe,[0,RSe,MSe,GSe,USe,jSe]);var HSe=function r(e,n,t){return r.fun(e,n,t)},XSe=function r(e,n){return r.fun(e,n)};FB(HSe,(function(r,e,n){BI(wwe(e),SHr),TI(wwe(e),BHr,gHr);var t=n[1];TI(wwe(e),THr,t),BI(wwe(e),IHr),BI(wwe(e),OHr),TI(wwe(e),xHr,NHr);var u=n[2];TI(wwe(e),LHr,u),BI(wwe(e),PHr),BI(wwe(e),RHr),TI(wwe(e),GHr,MHr);var a=n[3];if(a){fwe(e,UHr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,wHr)}),e,i),fwe(e,jHr)}else fwe(e,HHr);return BI(wwe(e),XHr),BI(wwe(e),YHr)})),FB(XSe,(function(r,e){var n=BI(HSe,r);return TI(Swe(CHr),n,e)})),II(zwe,[0,[0,0,0]],vSe,[0,HSe,XSe]);var YSe=function r(e,n,t){return r.fun(e,n,t)},VSe=function r(e,n){return r.fun(e,n)};FB(YSe,(function(r,e,n){BI(wwe(e),cHr),TI(wwe(e),oHr,fHr);var t=n[1];TI(wwe(e),sHr,t),BI(wwe(e),vHr),BI(wwe(e),lHr),TI(wwe(e),bHr,DHr);var u=n[2];TI(wwe(e),pHr,u),BI(wwe(e),EHr),BI(wwe(e),mHr),TI(wwe(e),kHr,FHr);var a=n[3];if(a){fwe(e,dHr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,iHr)}),e,i),fwe(e,hHr)}else fwe(e,yHr);return BI(wwe(e),_Hr),BI(wwe(e),AHr)})),FB(VSe,(function(r,e){var n=BI(YSe,r);return TI(Swe(aHr),n,e)})),II(zwe,[0,[0,0,0]],lSe,[0,YSe,VSe]);var KSe=function r(e,n,t){return r.fun(e,n,t)},WSe=function r(e,n){return r.fun(e,n)};FB(KSe,(function(r,e,n){BI(wwe(e),jjr),TI(wwe(e),Xjr,Hjr);var t=n[1];TI(wwe(e),Yjr,t),BI(wwe(e),Vjr),BI(wwe(e),Kjr),TI(wwe(e),Jjr,Wjr);var u=n[2];TI(wwe(e),qjr,u),BI(wwe(e),zjr),BI(wwe(e),$jr),TI(wwe(e),Zjr,Qjr);var a=n[3];if(a){fwe(e,rHr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Ujr)}),e,i),fwe(e,eHr)}else fwe(e,nHr);return BI(wwe(e),tHr),BI(wwe(e),uHr)})),FB(WSe,(function(r,e){var n=BI(KSe,r);return TI(Swe(Gjr),n,e)})),II(zwe,[0,[0,0,0]],DSe,[0,KSe,WSe]);var JSe=function r(e,n,t){return r.fun(e,n,t)},qSe=function r(e,n){return r.fun(e,n)};FB(JSe,(function(r,e,n){BI(wwe(e),wjr),TI(wwe(e),gjr,Sjr);var t=n[1];TI(wwe(e),Bjr,t),BI(wwe(e),Tjr),BI(wwe(e),Ijr),TI(wwe(e),Njr,Ojr);var u=n[2];if(u){fwe(e,xjr);var a=u[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Cjr)}),e,a),fwe(e,Ljr)}else fwe(e,Pjr);return BI(wwe(e),Rjr),BI(wwe(e),Mjr)})),FB(qSe,(function(r,e){var n=BI(JSe,r);return TI(Swe(Ajr),n,e)})),II(zwe,[0,[0,0,0]],bSe,[0,JSe,qSe]);var zSe=function r(e,n,t){return r.fun(e,n,t)},$Se=function r(e,n){return r.fun(e,n)},QSe=function r(e,n){return r.fun(e,n)},ZSe=function r(e){return r.fun(e)},rge=function r(e,n,t){return r.fun(e,n,t)},ege=function r(e,n){return r.fun(e,n)};FB(zSe,(function(r,e,n){BI(wwe(e),hjr),TI(r,e,n[1]),BI(wwe(e),yjr);var t=n[2];return II(rge,(function(e){return BI(r,e)}),e,t),BI(wwe(e),_jr)})),FB($Se,(function(r,e){var n=BI(zSe,r);return TI(Swe(djr),n,e)})),FB(QSe,(function(r,e){return fwe(r,e?Fjr:kjr)})),FB(ZSe,(function(r){return TI(Swe(mjr),QSe,r)})),FB(rge,(function(r,e,n){BI(wwe(e),ajr),TI(wwe(e),cjr,ijr),TI(QSe,e,n[1]),BI(wwe(e),fjr),BI(wwe(e),ojr),TI(wwe(e),vjr,sjr);var t=n[2];if(t){fwe(e,ljr);var u=t[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,ujr)}),e,u),fwe(e,Djr)}else fwe(e,bjr);return BI(wwe(e),pjr),BI(wwe(e),Ejr)})),FB(ege,(function(r,e){var n=BI(rge,r);return TI(Swe(tjr),n,e)})),II(zwe,[0,[0,0,0,0,0,0,0]],pSe,[0,zSe,$Se,QSe,ZSe,rge,ege]);var nge=function r(e,n,t,u){return r.fun(e,n,t,u)},tge=function r(e,n,t){return r.fun(e,n,t)},uge=function r(e,n,t,u){return r.fun(e,n,t,u)},age=function r(e,n,t){return r.fun(e,n,t)};FB(nge,(function(r,e,n,t){BI(wwe(n),rjr),TI(r,n,t[1]),BI(wwe(n),ejr);var u=t[2];return OI(ESe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),njr)})),FB(tge,(function(r,e,n){var t=TI(nge,r,e);return TI(Swe(ZUr),t,n)})),FB(uge,(function(r,e,n,t){BI(wwe(n),jUr),TI(wwe(n),XUr,HUr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),YUr),BI(wwe(n),VUr),TI(wwe(n),WUr,KUr);var a=t[2];if(a){fwe(n,JUr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,UUr)}),n,i),fwe(n,qUr)}else fwe(n,zUr);return BI(wwe(n),$Ur),BI(wwe(n),QUr)})),FB(age,(function(r,e,n){var t=TI(uge,r,e);return TI(Swe(GUr),t,n)})),II(zwe,[0,[0,0,0,0,0]],ESe,[0,nge,tge,uge,age]);var ige=function r(e,n,t,u){return r.fun(e,n,t,u)},cge=function r(e,n,t){return r.fun(e,n,t)},fge=function r(e,n,t,u){return r.fun(e,n,t,u)},oge=function r(e,n,t){return r.fun(e,n,t)};FB(ige,(function(r,e,n,t){BI(wwe(n),PUr),TI(r,n,t[1]),BI(wwe(n),RUr);var u=t[2];return OI(fge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),MUr)})),FB(cge,(function(r,e,n){var t=TI(ige,r,e);return TI(Swe(LUr),t,n)})),FB(fge,(function(r,e,n,t){BI(wwe(n),FUr),TI(wwe(n),dUr,kUr);var u=t[1];if(u){fwe(n,hUr);var a=u[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,yUr)}else fwe(n,_Ur);BI(wwe(n),AUr),BI(wwe(n),CUr),TI(wwe(n),SUr,wUr);var i=t[2];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),gUr),BI(wwe(n),BUr),TI(wwe(n),IUr,TUr);var c=t[3];return TI(wwe(n),OUr,c),BI(wwe(n),NUr),BI(wwe(n),xUr)})),FB(oge,(function(r,e,n){var t=TI(fge,r,e);return TI(Swe(mUr),t,n)}));var sge=[0,ige,cge,fge,oge],vge=function r(e,n,t,u){return r.fun(e,n,t,u)},lge=function r(e,n,t){return r.fun(e,n,t)},Dge=function r(e,n,t,u){return r.fun(e,n,t,u)},bge=function r(e,n,t){return r.fun(e,n,t)};FB(vge,(function(r,e,n,t){BI(wwe(n),bUr),TI(r,n,t[1]),BI(wwe(n),pUr);var u=t[2];return OI(Dge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),EUr)})),FB(lge,(function(r,e,n){var t=TI(vge,r,e);return TI(Swe(DUr),t,n)})),FB(Dge,(function(r,e,n,t){BI(wwe(n),eUr),TI(wwe(n),tUr,nUr);var u=t[1];OI(sge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),uUr),BI(wwe(n),aUr),TI(wwe(n),cUr,iUr);var a=t[2];if(a){fwe(n,fUr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,rUr)}),n,i),fwe(n,oUr)}else fwe(n,sUr);return BI(wwe(n),vUr),BI(wwe(n),lUr)})),FB(bge,(function(r,e,n){var t=TI(Dge,r,e);return TI(Swe(ZGr),t,n)}));var pge=[0,vge,lge,Dge,bge],Ege=function r(e,n,t,u){return r.fun(e,n,t,u)},mge=function r(e,n,t){return r.fun(e,n,t)},Fge=function r(e,n,t,u){return r.fun(e,n,t,u)},kge=function r(e,n,t){return r.fun(e,n,t)};FB(Ege,(function(r,e,n,t){BI(wwe(n),zGr),TI(r,n,t[1]),BI(wwe(n),$Gr);var u=t[2];return OI(Fge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),QGr)})),FB(mge,(function(r,e,n){var t=TI(Ege,r,e);return TI(Swe(qGr),t,n)})),FB(Fge,(function(r,e,n,t){BI(wwe(n),RGr),TI(wwe(n),GGr,MGr);var u=t[1];OI(mSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),UGr),BI(wwe(n),jGr),TI(wwe(n),XGr,HGr);var a=t[2];if(a){fwe(n,YGr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,PGr)}),n,i),fwe(n,VGr)}else fwe(n,KGr);return BI(wwe(n),WGr),BI(wwe(n),JGr)})),FB(kge,(function(r,e,n){var t=TI(Fge,r,e);return TI(Swe(LGr),t,n)}));var dge=[0,Ege,mge,Fge,kge],hge=function r(e,n,t,u){return r.fun(e,n,t,u)},yge=function r(e,n,t){return r.fun(e,n,t)},_ge=function r(e,n,t,u){return r.fun(e,n,t,u)},Age=function r(e,n,t){return r.fun(e,n,t)};FB(hge,(function(r,e,n,t){BI(wwe(n),OGr),TI(r,n,t[1]),BI(wwe(n),NGr);var u=t[2];return OI(_ge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),xGr)})),FB(yge,(function(r,e,n){var t=TI(hge,r,e);return TI(Swe(IGr),t,n)})),FB(_ge,(function(r,e,n,t){BI(wwe(n),tGr),TI(wwe(n),aGr,uGr);var u=t[1];if(u){fwe(n,iGr);var a=u[1];OI(dge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,cGr)}else fwe(n,fGr);BI(wwe(n),oGr),BI(wwe(n),sGr),TI(wwe(n),lGr,vGr);var i=t[2];BI(wwe(n),DGr),dAe((function(t,u){return t&&BI(wwe(n),nGr),OI(sge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,i),BI(wwe(n),bGr),BI(wwe(n),pGr),BI(wwe(n),EGr),TI(wwe(n),FGr,mGr);var c=t[3];if(c){fwe(n,kGr);var f=c[1];OI(pge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),fwe(n,dGr)}else fwe(n,hGr);BI(wwe(n),yGr),BI(wwe(n),_Gr),TI(wwe(n),CGr,AGr);var o=t[4];if(o){fwe(n,wGr);var s=o[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),rGr),dAe((function(n,t){return n&&BI(wwe(e),ZMr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),eGr)}),n,s),fwe(n,SGr)}else fwe(n,gGr);return BI(wwe(n),BGr),BI(wwe(n),TGr)})),FB(Age,(function(r,e,n){var t=TI(_ge,r,e);return TI(Swe(QMr),t,n)}));var Cge=[0,hge,yge,_ge,Age],wge=function r(e,n,t,u){return r.fun(e,n,t,u)},Sge=function r(e,n,t){return r.fun(e,n,t)};FB(wge,(function(r,e,n,t){BI(wwe(n),BMr),TI(wwe(n),IMr,TMr);var u=t[1];if(u){fwe(n,OMr);var a=u[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,NMr)}else fwe(n,xMr);BI(wwe(n),LMr),BI(wwe(n),PMr),TI(wwe(n),MMr,RMr);var i=t[2];OI(Cge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),GMr),BI(wwe(n),UMr),TI(wwe(n),HMr,jMr);var c=t[3];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),XMr),BI(wwe(n),YMr),TI(wwe(n),KMr,VMr);var f=t[4];if(f){fwe(n,WMr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,gMr)}),n,o),fwe(n,JMr)}else fwe(n,qMr);return BI(wwe(n),zMr),BI(wwe(n),$Mr)})),FB(Sge,(function(r,e,n){var t=TI(wge,r,e);return TI(Swe(SMr),t,n)}));var gge=[0,sge,pge,dge,Cge,wge,Sge],Bge=function r(e,n,t,u){return r.fun(e,n,t,u)},Tge=function r(e,n,t){return r.fun(e,n,t)},Ige=function r(e,n,t,u){return r.fun(e,n,t,u)},Oge=function r(e,n,t){return r.fun(e,n,t)},Nge=function r(e,n,t,u){return r.fun(e,n,t,u)},xge=function r(e,n,t){return r.fun(e,n,t)};FB(Bge,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),_Mr);var u=t[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),AMr)}BI(wwe(n),CMr);var a=t[1];return OI(Ige,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),wMr)})),FB(Tge,(function(r,e,n){var t=TI(Bge,r,e);return TI(Swe(yMr),t,n)})),FB(Ige,(function(r,e,n,t){BI(wwe(n),kMr),TI(r,n,t[1]),BI(wwe(n),dMr);var u=t[2];return OI(Nge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),hMr)})),FB(Oge,(function(r,e,n){var t=TI(Ige,r,e);return TI(Swe(FMr),t,n)})),FB(Nge,(function(r,e,n,t){BI(wwe(n),oMr),TI(wwe(n),vMr,sMr);var u=t[1];OI(Bge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),lMr),BI(wwe(n),DMr),TI(wwe(n),pMr,bMr);var a=t[2];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),EMr),BI(wwe(n),mMr)})),FB(xge,(function(r,e,n){var t=TI(Nge,r,e);return TI(Swe(fMr),t,n)}));var Lge=[0,Bge,Tge,Ige,Oge,Nge,xge],Pge=function r(e,n,t,u){return r.fun(e,n,t,u)},Rge=function r(e,n,t){return r.fun(e,n,t)};FB(Pge,(function(r,e,n,t){BI(wwe(n),XRr),TI(wwe(n),VRr,YRr);var u=t[1];OI(Lge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),KRr),BI(wwe(n),WRr),TI(wwe(n),qRr,JRr);var a=t[2];if(a){fwe(n,zRr);var i=a[1];OI(mSe[23][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,$Rr)}else fwe(n,QRr);BI(wwe(n),ZRr),BI(wwe(n),rMr),TI(wwe(n),nMr,eMr);var c=t[3];if(c){fwe(n,tMr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,HRr)}),n,f),fwe(n,uMr)}else fwe(n,aMr);return BI(wwe(n),iMr),BI(wwe(n),cMr)})),FB(Rge,(function(r,e,n){var t=TI(Pge,r,e);return TI(Swe(jRr),t,n)}));var Mge=[0,Lge,Pge,Rge],Gge=function r(e,n,t,u){return r.fun(e,n,t,u)},Uge=function r(e,n,t){return r.fun(e,n,t)};FB(Gge,(function(r,e,n,t){BI(wwe(n),CRr),TI(wwe(n),SRr,wRr);var u=t[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),gRr),BI(wwe(n),BRr),TI(wwe(n),IRr,TRr);var a=t[2];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),ORr),BI(wwe(n),NRr),TI(wwe(n),LRr,xRr);var i=t[3];if(i){fwe(n,PRr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,ARr)}),n,c),fwe(n,RRr)}else fwe(n,MRr);return BI(wwe(n),GRr),BI(wwe(n),URr)})),FB(Uge,(function(r,e,n){var t=TI(Gge,r,e);return TI(Swe(_Rr),t,n)}));var jge=[0,Gge,Uge],Hge=function r(e,n,t,u){return r.fun(e,n,t,u)},Xge=function r(e,n,t){return r.fun(e,n,t)};FB(Hge,(function(r,e,n,t){BI(wwe(n),DRr),TI(wwe(n),pRr,bRr);var u=t[1];OI(jge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),ERr),BI(wwe(n),mRr),TI(wwe(n),kRr,FRr);var a=t[2];return TI(wwe(n),dRr,a),BI(wwe(n),hRr),BI(wwe(n),yRr)})),FB(Xge,(function(r,e,n){var t=TI(Hge,r,e);return TI(Swe(lRr),t,n)}));var Yge=[0,Hge,Xge],Vge=function r(e,n,t,u){return r.fun(e,n,t,u)},Kge=function r(e,n,t){return r.fun(e,n,t)},Wge=function r(e,n,t,u){return r.fun(e,n,t,u)},Jge=function r(e,n,t){return r.fun(e,n,t)},qge=function r(e,n,t,u){return r.fun(e,n,t,u)},zge=function r(e,n,t){return r.fun(e,n,t)};FB(Vge,(function(r,e,n,t){BI(wwe(n),oRr),TI(r,n,t[1]),BI(wwe(n),sRr);var u=t[2];return OI(Wge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),vRr)})),FB(Kge,(function(r,e,n){var t=TI(Vge,r,e);return TI(Swe(fRr),t,n)})),FB(Wge,(function(r,e,n,t){BI(wwe(n),kPr),TI(wwe(n),hPr,dPr);var u=t[1];OI(kSe[7][1][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),yPr),BI(wwe(n),_Pr),TI(wwe(n),CPr,APr);var a=t[2];OI(qge,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),wPr),BI(wwe(n),SPr),TI(wwe(n),BPr,gPr);var i=t[3];TI(wwe(n),TPr,i),BI(wwe(n),IPr),BI(wwe(n),OPr),TI(wwe(n),xPr,NPr);var c=t[4];TI(wwe(n),LPr,c),BI(wwe(n),PPr),BI(wwe(n),RPr),TI(wwe(n),GPr,MPr);var f=t[5];TI(wwe(n),UPr,f),BI(wwe(n),jPr),BI(wwe(n),HPr),TI(wwe(n),YPr,XPr);var o=t[6];TI(wwe(n),VPr,o),BI(wwe(n),KPr),BI(wwe(n),WPr),TI(wwe(n),qPr,JPr);var s=t[7];if(s){fwe(n,zPr);var v=s[1];II(pSe[1],(function(e){return BI(r,e)}),n,v),fwe(n,$Pr)}else fwe(n,QPr);BI(wwe(n),ZPr),BI(wwe(n),rRr),TI(wwe(n),nRr,eRr);var l=t[8];if(l){fwe(n,tRr);var D=l[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,FPr)}),n,D),fwe(n,uRr)}else fwe(n,aRr);return BI(wwe(n),iRr),BI(wwe(n),cRr)})),FB(Jge,(function(r,e,n){var t=TI(Wge,r,e);return TI(Swe(mPr),t,n)})),FB(qge,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),aPr);var u=t[1];return OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),iPr);case 1:var a=t[1];BI(wwe(n),cPr),BI(wwe(n),fPr),TI(r,n,a[1]),BI(wwe(n),oPr);var i=a[2];return OI(gge[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),sPr),BI(wwe(n),vPr);default:var c=t[1];BI(wwe(n),lPr),BI(wwe(n),DPr),TI(r,n,c[1]),BI(wwe(n),bPr);var f=c[2];return OI(gge[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),BI(wwe(n),pPr),BI(wwe(n),EPr)}})),FB(zge,(function(r,e,n){var t=TI(qge,r,e);return TI(Swe(uPr),t,n)}));var $ge=[0,Vge,Kge,Wge,Jge,qge,zge],Qge=function r(e,n,t,u){return r.fun(e,n,t,u)},Zge=function r(e,n,t){return r.fun(e,n,t)},rBe=function r(e,n,t,u){return r.fun(e,n,t,u)},eBe=function r(e,n,t){return r.fun(e,n,t)};FB(Qge,(function(r,e,n,t){BI(wwe(n),ePr),TI(r,n,t[1]),BI(wwe(n),nPr);var u=t[2];return OI(rBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),tPr)})),FB(Zge,(function(r,e,n){var t=TI(Qge,r,e);return TI(Swe(rPr),t,n)})),FB(rBe,(function(r,e,n,t){BI(wwe(n),HLr),TI(wwe(n),YLr,XLr);var u=t[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),VLr),BI(wwe(n),KLr),TI(wwe(n),JLr,WLr);var a=t[2];if(a){fwe(n,qLr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,jLr)}),n,i),fwe(n,zLr)}else fwe(n,$Lr);return BI(wwe(n),QLr),BI(wwe(n),ZLr)})),FB(eBe,(function(r,e,n){var t=TI(rBe,r,e);return TI(Swe(ULr),t,n)}));var nBe=[0,Qge,Zge,rBe,eBe],tBe=function r(e,n,t,u){return r.fun(e,n,t,u)},uBe=function r(e,n,t){return r.fun(e,n,t)},aBe=function r(e,n,t,u){return r.fun(e,n,t,u)},iBe=function r(e,n,t){return r.fun(e,n,t)};FB(tBe,(function(r,e,n,t){BI(wwe(n),aLr),TI(wwe(n),cLr,iLr);var u=t[1];if(u){fwe(n,fLr);var a=u[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),n,a),fwe(n,oLr)}else fwe(n,sLr);BI(wwe(n),vLr),BI(wwe(n),lLr),TI(wwe(n),bLr,DLr);var i=t[2];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),pLr),BI(wwe(n),ELr),TI(wwe(n),FLr,mLr);var c=t[3];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),kLr),BI(wwe(n),dLr),TI(wwe(n),yLr,hLr);var f=t[4];TI(wwe(n),_Lr,f),BI(wwe(n),ALr),BI(wwe(n),CLr),TI(wwe(n),SLr,wLr);var o=t[5];if(o){fwe(n,gLr);var s=o[1];II(pSe[1],(function(e){return BI(r,e)}),n,s),fwe(n,BLr)}else fwe(n,TLr);BI(wwe(n),ILr),BI(wwe(n),OLr),TI(wwe(n),xLr,NLr);var v=t[6];if(v){fwe(n,LLr);var l=v[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,uLr)}),n,l),fwe(n,PLr)}else fwe(n,RLr);return BI(wwe(n),MLr),BI(wwe(n),GLr)})),FB(uBe,(function(r,e,n){var t=TI(tBe,r,e);return TI(Swe(tLr),t,n)})),FB(aBe,(function(r,e,n,t){BI(wwe(n),rLr),TI(r,n,t[1]),BI(wwe(n),eLr);var u=t[2];return OI(tBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),nLr)})),FB(iBe,(function(r,e,n){var t=TI(aBe,r,e);return TI(Swe(Zxr),t,n)}));var cBe=[0,tBe,uBe,aBe,iBe],fBe=function r(e,n,t,u){return r.fun(e,n,t,u)},oBe=function r(e,n,t){return r.fun(e,n,t)},sBe=function r(e,n,t,u){return r.fun(e,n,t,u)},vBe=function r(e,n,t){return r.fun(e,n,t)};FB(fBe,(function(r,e,n,t){BI(wwe(n),zxr),TI(r,n,t[1]),BI(wwe(n),$xr);var u=t[2];return OI(sBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Qxr)})),FB(oBe,(function(r,e,n){var t=TI(fBe,r,e);return TI(Swe(qxr),t,n)})),FB(sBe,(function(r,e,n,t){BI(wwe(n),Bxr),TI(wwe(n),Ixr,Txr);var u=t[1];BI(wwe(n),Oxr),TI(r,n,u[1]),BI(wwe(n),Nxr);var a=u[2];OI(gge[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),xxr),BI(wwe(n),Lxr),BI(wwe(n),Pxr),TI(wwe(n),Mxr,Rxr);var i=t[2];TI(wwe(n),Gxr,i),BI(wwe(n),Uxr),BI(wwe(n),jxr),TI(wwe(n),Xxr,Hxr);var c=t[3];if(c){fwe(n,Yxr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,gxr)}),n,f),fwe(n,Vxr)}else fwe(n,Kxr);return BI(wwe(n),Wxr),BI(wwe(n),Jxr)})),FB(vBe,(function(r,e,n){var t=TI(sBe,r,e);return TI(Swe(Sxr),t,n)}));var lBe=[0,fBe,oBe,sBe,vBe],DBe=function r(e,n,t,u){return r.fun(e,n,t,u)},bBe=function r(e,n,t){return r.fun(e,n,t)},pBe=function r(e,n,t,u){return r.fun(e,n,t,u)},EBe=function r(e,n,t){return r.fun(e,n,t)};FB(DBe,(function(r,e,n,t){BI(wwe(n),Axr),TI(r,n,t[1]),BI(wwe(n),Cxr);var u=t[2];return OI(pBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),wxr)})),FB(bBe,(function(r,e,n){var t=TI(DBe,r,e);return TI(Swe(_xr),t,n)})),FB(pBe,(function(r,e,n,t){BI(wwe(n),KNr),TI(wwe(n),JNr,WNr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),n,u),BI(wwe(n),qNr),BI(wwe(n),zNr),TI(wwe(n),QNr,$Nr);var a=t[2];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),ZNr),BI(wwe(n),rxr),TI(wwe(n),nxr,exr);var i=t[3];TI(wwe(n),txr,i),BI(wwe(n),uxr),BI(wwe(n),axr),TI(wwe(n),cxr,ixr);var c=t[4];TI(wwe(n),fxr,c),BI(wwe(n),oxr),BI(wwe(n),sxr),TI(wwe(n),lxr,vxr);var f=t[5];TI(wwe(n),Dxr,f),BI(wwe(n),bxr),BI(wwe(n),pxr),TI(wwe(n),mxr,Exr);var o=t[6];if(o){fwe(n,Fxr);var s=o[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,VNr)}),n,s),fwe(n,kxr)}else fwe(n,dxr);return BI(wwe(n),hxr),BI(wwe(n),yxr)})),FB(EBe,(function(r,e,n){var t=TI(pBe,r,e);return TI(Swe(YNr),t,n)}));var mBe=[0,DBe,bBe,pBe,EBe],FBe=function r(e,n,t,u){return r.fun(e,n,t,u)},kBe=function r(e,n,t){return r.fun(e,n,t)},dBe=function r(e,n,t,u){return r.fun(e,n,t,u)},hBe=function r(e,n,t){return r.fun(e,n,t)};FB(FBe,(function(r,e,n,t){BI(wwe(n),dNr),TI(wwe(n),yNr,hNr);var u=t[1];TI(wwe(n),_Nr,u),BI(wwe(n),ANr),BI(wwe(n),CNr),TI(wwe(n),SNr,wNr);var a=t[2];TI(wwe(n),gNr,a),BI(wwe(n),BNr),BI(wwe(n),TNr),TI(wwe(n),ONr,INr);var i=t[3];BI(wwe(n),NNr),dAe((function(t,u){return t&&BI(wwe(n),kNr),OI(dBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,i),BI(wwe(n),xNr),BI(wwe(n),LNr),BI(wwe(n),PNr),TI(wwe(n),MNr,RNr);var c=t[4];if(c){fwe(n,GNr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),mNr),dAe((function(n,t){return n&&BI(wwe(e),ENr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),FNr)}),n,f),fwe(n,UNr)}else fwe(n,jNr);return BI(wwe(n),HNr),BI(wwe(n),XNr)})),FB(kBe,(function(r,e,n){var t=TI(FBe,r,e);return TI(Swe(pNr),t,n)})),FB(dBe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),aNr);var u=t[1];return OI($ge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),iNr);case 1:BI(wwe(n),cNr);var a=t[1];return OI(nBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),fNr);case 2:BI(wwe(n),oNr);var i=t[1];return OI(cBe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),sNr);case 3:BI(wwe(n),vNr);var c=t[1];return OI(lBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),lNr);default:BI(wwe(n),DNr);var f=t[1];return OI(mBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),BI(wwe(n),bNr)}})),FB(hBe,(function(r,e,n){var t=TI(dBe,r,e);return TI(Swe(uNr),t,n)}));var yBe=[0,$ge,nBe,cBe,lBe,mBe,FBe,kBe,dBe,hBe],_Be=function r(e,n,t,u){return r.fun(e,n,t,u)},ABe=function r(e,n,t){return r.fun(e,n,t)};FB(_Be,(function(r,e,n,t){BI(wwe(n),ROr),TI(wwe(n),GOr,MOr);var u=t[1];BI(wwe(n),UOr),TI(r,n,u[1]),BI(wwe(n),jOr);var a=u[2];OI(yBe[6],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),HOr),BI(wwe(n),XOr),BI(wwe(n),YOr),TI(wwe(n),KOr,VOr);var i=t[2];BI(wwe(n),WOr),dAe((function(t,u){t&&BI(wwe(n),NOr),BI(wwe(n),xOr),TI(r,n,u[1]),BI(wwe(n),LOr);var a=u[2];return OI(Mge[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),POr),1}),0,i),BI(wwe(n),JOr),BI(wwe(n),qOr),BI(wwe(n),zOr),TI(wwe(n),QOr,$Or);var c=t[3];if(c){fwe(n,ZOr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,OOr)}),n,f),fwe(n,rNr)}else fwe(n,eNr);return BI(wwe(n),nNr),BI(wwe(n),tNr)})),FB(ABe,(function(r,e,n){var t=TI(_Be,r,e);return TI(Swe(IOr),t,n)}));var CBe=[0,_Be,ABe],wBe=function r(e,n,t,u){return r.fun(e,n,t,u)},SBe=function r(e,n,t){return r.fun(e,n,t)};FB(wBe,(function(r,e,n,t){BI(wwe(n),kOr),TI(wwe(n),hOr,dOr);var u=t[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),yOr),BI(wwe(n),_Or),TI(wwe(n),COr,AOr);var a=t[2];if(a){fwe(n,wOr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,FOr)}),n,i),fwe(n,SOr)}else fwe(n,gOr);return BI(wwe(n),BOr),BI(wwe(n),TOr)})),FB(SBe,(function(r,e,n){var t=TI(wBe,r,e);return TI(Swe(mOr),t,n)}));var gBe=[0,wBe,SBe],BBe=function r(e,n,t,u){return r.fun(e,n,t,u)},TBe=function r(e,n,t){return r.fun(e,n,t)};FB(BBe,(function(r,e,n,t){BI(wwe(n),aOr),TI(wwe(n),cOr,iOr);var u=t[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),fOr),BI(wwe(n),oOr),TI(wwe(n),vOr,sOr);var a=t[2];if(a){fwe(n,lOr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,uOr)}),n,i),fwe(n,DOr)}else fwe(n,bOr);return BI(wwe(n),pOr),BI(wwe(n),EOr)})),FB(TBe,(function(r,e,n){var t=TI(BBe,r,e);return TI(Swe(tOr),t,n)}));var IBe=[0,BBe,TBe],OBe=function r(e,n,t,u){return r.fun(e,n,t,u)},NBe=function r(e,n,t){return r.fun(e,n,t)};FB(OBe,(function(r,e,n,t){BI(wwe(n),XIr),TI(wwe(n),VIr,YIr);var u=t[1];BI(wwe(n),KIr),dAe((function(t,u){return t&&BI(wwe(n),HIr),OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),WIr),BI(wwe(n),JIr),BI(wwe(n),qIr),TI(wwe(n),$Ir,zIr);var a=t[2];if(a){fwe(n,QIr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,jIr)}),n,i),fwe(n,ZIr)}else fwe(n,rOr);return BI(wwe(n),eOr),BI(wwe(n),nOr)})),FB(NBe,(function(r,e,n){var t=TI(OBe,r,e);return TI(Swe(UIr),t,n)}));var xBe=[0,OBe,NBe],LBe=function r(e,n,t,u){return r.fun(e,n,t,u)},PBe=function r(e,n,t){return r.fun(e,n,t)};FB(LBe,(function(r,e,n,t){BI(wwe(n),gIr),TI(wwe(n),TIr,BIr);var u=t[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),IIr),BI(wwe(n),OIr),TI(wwe(n),xIr,NIr);var a=t[2];if(a){fwe(n,LIr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,SIr)}),n,i),fwe(n,PIr)}else fwe(n,RIr);return BI(wwe(n),MIr),BI(wwe(n),GIr)})),FB(PBe,(function(r,e,n){var t=TI(LBe,r,e);return TI(Swe(wIr),t,n)}));var RBe=[0,LBe,PBe],MBe=function r(e,n,t,u){return r.fun(e,n,t,u)},GBe=function r(e,n,t){return r.fun(e,n,t)};FB(MBe,(function(r,e,n,t){BI(wwe(n),fIr),TI(wwe(n),sIr,oIr);var u=t[1];BI(wwe(n),vIr);var a=u[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),lIr);var i=u[2];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),DIr),BI(wwe(n),bIr),dAe((function(t,u){return t&&BI(wwe(n),cIr),OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u[3]),BI(wwe(n),pIr),BI(wwe(n),EIr),BI(wwe(n),mIr),BI(wwe(n),FIr),TI(wwe(n),dIr,kIr);var c=t[2];if(c){fwe(n,hIr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,iIr)}),n,f),fwe(n,yIr)}else fwe(n,_Ir);return BI(wwe(n),AIr),BI(wwe(n),CIr)})),FB(GBe,(function(r,e,n){var t=TI(MBe,r,e);return TI(Swe(aIr),t,n)}));var UBe=[0,MBe,GBe],jBe=function r(e,n,t,u){return r.fun(e,n,t,u)},HBe=function r(e,n,t){return r.fun(e,n,t)};FB(jBe,(function(r,e,n,t){BI(wwe(n),jTr),TI(wwe(n),XTr,HTr);var u=t[1];BI(wwe(n),YTr);var a=u[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),VTr);var i=u[2];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),KTr),BI(wwe(n),WTr),dAe((function(t,u){return t&&BI(wwe(n),UTr),OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u[3]),BI(wwe(n),JTr),BI(wwe(n),qTr),BI(wwe(n),zTr),BI(wwe(n),$Tr),TI(wwe(n),ZTr,QTr);var c=t[2];if(c){fwe(n,rIr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,GTr)}),n,f),fwe(n,eIr)}else fwe(n,nIr);return BI(wwe(n),tIr),BI(wwe(n),uIr)})),FB(HBe,(function(r,e,n){var t=TI(jBe,r,e);return TI(Swe(MTr),t,n)}));var XBe=[0,jBe,HBe],YBe=function r(e,n,t,u){return r.fun(e,n,t,u)},VBe=function r(e,n,t){return r.fun(e,n,t)},KBe=function r(e,n,t,u){return r.fun(e,n,t,u)},WBe=function r(e,n,t){return r.fun(e,n,t)},JBe=function r(e,n,t,u){return r.fun(e,n,t,u)},qBe=function r(e,n,t){return r.fun(e,n,t)},zBe=function r(e,n,t,u){return r.fun(e,n,t,u)},$Be=function r(e,n,t){return r.fun(e,n,t)};FB(YBe,(function(r,e,n,t){BI(wwe(n),LTr),TI(e,n,t[1]),BI(wwe(n),PTr);var u=t[2];return OI(KBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),RTr)})),FB(VBe,(function(r,e,n){var t=TI(YBe,r,e);return TI(Swe(xTr),t,n)})),FB(KBe,(function(r,e,n,t){switch(t[0]){case 0:var u=t[1];if(BI(wwe(n),eBr),u){fwe(n,nBr);var a=u[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,rBr)}),n,a),fwe(n,tBr)}else fwe(n,uBr);return BI(wwe(n),aBr);case 1:var i=t[1];if(BI(wwe(n),iBr),i){fwe(n,cBr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Zgr)}),n,c),fwe(n,fBr)}else fwe(n,oBr);return BI(wwe(n),sBr);case 2:var f=t[1];if(BI(wwe(n),vBr),f){fwe(n,lBr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Qgr)}),n,o),fwe(n,DBr)}else fwe(n,bBr);return BI(wwe(n),pBr);case 3:var s=t[1];if(BI(wwe(n),EBr),s){fwe(n,mBr);var v=s[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,$gr)}),n,v),fwe(n,FBr)}else fwe(n,kBr);return BI(wwe(n),dBr);case 4:var l=t[1];if(BI(wwe(n),hBr),l){fwe(n,yBr);var D=l[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,zgr)}),n,D),fwe(n,_Br)}else fwe(n,ABr);return BI(wwe(n),CBr);case 5:var b=t[1];if(BI(wwe(n),wBr),b){fwe(n,SBr);var p=b[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,qgr)}),n,p),fwe(n,gBr)}else fwe(n,BBr);return BI(wwe(n),TBr);case 6:var E=t[1];if(BI(wwe(n),IBr),E){fwe(n,OBr);var m=E[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Jgr)}),n,m),fwe(n,NBr)}else fwe(n,xBr);return BI(wwe(n),LBr);case 7:var F=t[1];if(BI(wwe(n),PBr),F){fwe(n,RBr);var k=F[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Wgr)}),n,k),fwe(n,MBr)}else fwe(n,GBr);return BI(wwe(n),UBr);case 8:var d=t[1];if(BI(wwe(n),jBr),d){fwe(n,HBr);var h=d[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Kgr)}),n,h),fwe(n,XBr)}else fwe(n,YBr);return BI(wwe(n),VBr);case 9:var y=t[1];if(BI(wwe(n),KBr),y){fwe(n,WBr);var _=y[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Vgr)}),n,_),fwe(n,JBr)}else fwe(n,qBr);return BI(wwe(n),zBr);case 10:var A=t[1];if(BI(wwe(n),$Br),A){fwe(n,QBr);var C=A[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Ygr)}),n,C),fwe(n,ZBr)}else fwe(n,rTr);return BI(wwe(n),eTr);case 11:BI(wwe(n),nTr);var w=t[1];return OI(gBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,w),BI(wwe(n),tTr);case 12:BI(wwe(n),uTr);var S=t[1];return OI(gge[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,S),BI(wwe(n),aTr);case 13:BI(wwe(n),iTr);var g=t[1];return OI(yBe[6],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,g),BI(wwe(n),cTr);case 14:BI(wwe(n),fTr);var B=t[1];return OI(CBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,B),BI(wwe(n),oTr);case 15:BI(wwe(n),sTr);var T=t[1];return OI(RBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,T),BI(wwe(n),vTr);case 16:BI(wwe(n),lTr);var I=t[1];return OI(Mge[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,I),BI(wwe(n),DTr);case 17:BI(wwe(n),bTr);var O=t[1];return OI(jge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,O),BI(wwe(n),pTr);case 18:BI(wwe(n),ETr);var N=t[1];return OI(Yge[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,N),BI(wwe(n),mTr);case 19:BI(wwe(n),FTr);var x=t[1];return OI(UBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,x),BI(wwe(n),kTr);case 20:BI(wwe(n),dTr);var L=t[1];return OI(XBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,L),BI(wwe(n),hTr);case 21:BI(wwe(n),yTr);var P=t[1];return OI(IBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,P),BI(wwe(n),_Tr);case 22:BI(wwe(n),ATr);var R=t[1];return OI(xBe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,R),BI(wwe(n),CTr);case 23:BI(wwe(n),wTr);var M=t[1];return II(vSe[1],(function(e){return BI(r,e)}),n,M),BI(wwe(n),STr);case 24:BI(wwe(n),gTr);var G=t[1];return II(lSe[1],(function(e){return BI(r,e)}),n,G),BI(wwe(n),BTr);case 25:BI(wwe(n),TTr);var U=t[1];return II(DSe[1],(function(e){return BI(r,e)}),n,U),BI(wwe(n),ITr);default:BI(wwe(n),OTr);var j=t[1];return II(bSe[1],(function(e){return BI(r,e)}),n,j),BI(wwe(n),NTr)}})),FB(WBe,(function(r,e,n){var t=TI(KBe,r,e);return TI(Swe(Xgr),t,n)})),FB(JBe,(function(r,e,n,t){BI(wwe(n),Ugr),TI(r,n,t[1]),BI(wwe(n),jgr);var u=t[2];return OI(YBe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Hgr)})),FB(qBe,(function(r,e,n){var t=TI(JBe,r,e);return TI(Swe(Ggr),t,n)})),FB(zBe,(function(r,e,n,t){if(0===t[0])return BI(wwe(n),Lgr),TI(e,n,t[1]),BI(wwe(n),Pgr);BI(wwe(n),Rgr);var u=t[1];return OI(mSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Mgr)})),FB($Be,(function(r,e,n){var t=TI(zBe,r,e);return TI(Swe(xgr),t,n)}));var QBe=function r(e,n,t,u){return r.fun(e,n,t,u)},ZBe=function r(e,n,t){return r.fun(e,n,t)},rTe=function r(e,n,t,u){return r.fun(e,n,t,u)},eTe=function r(e,n,t){return r.fun(e,n,t)};FB(QBe,(function(r,e,n,t){BI(wwe(n),Igr),TI(r,n,t[1]),BI(wwe(n),Ogr);var u=t[2];return OI(rTe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Ngr)})),FB(ZBe,(function(r,e,n){var t=TI(QBe,r,e);return TI(Swe(Tgr),t,n)})),FB(rTe,(function(r,e,n,t){BI(wwe(n),cgr),TI(wwe(n),ogr,fgr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),n,u),BI(wwe(n),sgr),BI(wwe(n),vgr),TI(wwe(n),Dgr,lgr);var a=t[2];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),bgr),BI(wwe(n),pgr),TI(wwe(n),mgr,Egr);var i=t[3];if(i){fwe(n,Fgr);var c=i[1];II(pSe[1],(function(e){return BI(r,e)}),n,c),fwe(n,kgr)}else fwe(n,dgr);BI(wwe(n),hgr),BI(wwe(n),ygr),TI(wwe(n),Agr,_gr);var f=t[4];if(f){fwe(n,Cgr);var o=f[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),fwe(n,wgr)}else fwe(n,Sgr);return BI(wwe(n),ggr),BI(wwe(n),Bgr)})),FB(eTe,(function(r,e,n){var t=TI(rTe,r,e);return TI(Swe(igr),t,n)}));var nTe=[0,QBe,ZBe,rTe,eTe],tTe=function r(e,n,t,u){return r.fun(e,n,t,u)},uTe=function r(e,n,t){return r.fun(e,n,t)},aTe=function r(e,n,t,u){return r.fun(e,n,t,u)},iTe=function r(e,n,t){return r.fun(e,n,t)};FB(tTe,(function(r,e,n,t){BI(wwe(n),tgr),TI(r,n,t[1]),BI(wwe(n),ugr);var u=t[2];return OI(aTe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),agr)})),FB(uTe,(function(r,e,n){var t=TI(tTe,r,e);return TI(Swe(ngr),t,n)})),FB(aTe,(function(r,e,n,t){BI(wwe(n),HSr),TI(wwe(n),YSr,XSr);var u=t[1];BI(wwe(n),VSr),dAe((function(t,u){return t&&BI(wwe(n),jSr),OI(nTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),KSr),BI(wwe(n),WSr),BI(wwe(n),JSr),TI(wwe(n),zSr,qSr);var a=t[2];if(a){fwe(n,$Sr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),GSr),dAe((function(n,t){return n&&BI(wwe(e),MSr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),USr)}),n,i),fwe(n,QSr)}else fwe(n,ZSr);return BI(wwe(n),rgr),BI(wwe(n),egr)})),FB(iTe,(function(r,e,n){var t=TI(aTe,r,e);return TI(Swe(RSr),t,n)}));var cTe=function r(e,n,t,u){return r.fun(e,n,t,u)},fTe=function r(e,n,t){return r.fun(e,n,t)},oTe=function r(e,n,t,u){return r.fun(e,n,t,u)},sTe=function r(e,n,t){return r.fun(e,n,t)},vTe=[0,tTe,uTe,aTe,iTe];FB(cTe,(function(r,e,n,t){BI(wwe(n),xSr),TI(r,n,t[1]),BI(wwe(n),LSr);var u=t[2];return OI(oTe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),PSr)})),FB(fTe,(function(r,e,n){var t=TI(cTe,r,e);return TI(Swe(NSr),t,n)})),FB(oTe,(function(r,e,n,t){BI(wwe(n),kSr),TI(wwe(n),hSr,dSr);var u=t[1];BI(wwe(n),ySr),dAe((function(t,u){return t&&BI(wwe(n),FSr),OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),_Sr),BI(wwe(n),ASr),BI(wwe(n),CSr),TI(wwe(n),SSr,wSr);var a=t[2];if(a){fwe(n,gSr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),ESr),dAe((function(n,t){return n&&BI(wwe(e),pSr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),mSr)}),n,i),fwe(n,BSr)}else fwe(n,TSr);return BI(wwe(n),ISr),BI(wwe(n),OSr)})),FB(sTe,(function(r,e,n){var t=TI(oTe,r,e);return TI(Swe(bSr),t,n)}));var lTe=function r(e,n,t,u){return r.fun(e,n,t,u)},DTe=function r(e,n,t){return r.fun(e,n,t)},bTe=function r(e,n,t,u){return r.fun(e,n,t,u)},pTe=function r(e,n,t){return r.fun(e,n,t)},ETe=function r(e,n,t,u){return r.fun(e,n,t,u)},mTe=function r(e,n,t){return r.fun(e,n,t)},FTe=[0,cTe,fTe,oTe,sTe];FB(lTe,(function(r,e,n,t){BI(wwe(n),vSr),TI(r,n,t[1]),BI(wwe(n),lSr);var u=t[2];return OI(bTe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),DSr)})),FB(DTe,(function(r,e,n){var t=TI(lTe,r,e);return TI(Swe(sSr),t,n)})),FB(bTe,(function(r,e,n,t){BI(wwe(n),Qwr),TI(wwe(n),rSr,Zwr);var u=t[1];OI(ETe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),eSr),BI(wwe(n),nSr),TI(wwe(n),uSr,tSr);var a=t[2];if(a){fwe(n,aSr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,$wr)}),n,i),fwe(n,iSr)}else fwe(n,cSr);return BI(wwe(n),fSr),BI(wwe(n),oSr)})),FB(pTe,(function(r,e,n){var t=TI(bTe,r,e);return TI(Swe(zwr),t,n)})),FB(ETe,(function(r,e,n,t){if(t){BI(wwe(n),Wwr);var u=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Jwr)}return fwe(n,qwr)})),FB(mTe,(function(r,e,n){var t=TI(ETe,r,e);return TI(Swe(Kwr),t,n)})),II(zwe,[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],mSe,[0,gge,Mge,jge,Yge,yBe,CBe,gBe,IBe,xBe,RBe,UBe,XBe,YBe,VBe,KBe,WBe,JBe,qBe,zBe,$Be,nTe,vTe,FTe,[0,lTe,DTe,bTe,pTe,ETe,mTe]]);var kTe=function r(e,n,t,u){return r.fun(e,n,t,u)},dTe=function r(e,n,t){return r.fun(e,n,t)};FB(kTe,(function(r,e,n,t){BI(wwe(n),Owr),TI(wwe(n),xwr,Nwr);var u=t[1];BI(wwe(n),Lwr),dAe((function(t,u){return t&&BI(wwe(n),Iwr),OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),Pwr),BI(wwe(n),Rwr),BI(wwe(n),Mwr),TI(wwe(n),Uwr,Gwr);var a=t[2];if(a){fwe(n,jwr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),Bwr),dAe((function(n,t){return n&&BI(wwe(e),gwr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),Twr)}),n,i),fwe(n,Hwr)}else fwe(n,Xwr);return BI(wwe(n),Ywr),BI(wwe(n),Vwr)})),FB(dTe,(function(r,e,n){var t=TI(kTe,r,e);return TI(Swe(Swr),t,n)}));var hTe=[0,kTe,dTe],yTe=function r(e,n,t,u){return r.fun(e,n,t,u)},_Te=function r(e,n,t){return r.fun(e,n,t)},ATe=function r(e,n,t,u){return r.fun(e,n,t,u)},CTe=function r(e,n,t){return r.fun(e,n,t)};FB(yTe,(function(r,e,n,t){BI(wwe(n),Awr),TI(r,n,t[1]),BI(wwe(n),Cwr);var u=t[2];return OI(ATe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),wwr)})),FB(_Te,(function(r,e,n){var t=TI(yTe,r,e);return TI(Swe(_wr),t,n)})),FB(ATe,(function(r,e,n,t){BI(wwe(n),vwr),TI(wwe(n),Dwr,lwr);var u=t[1];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),bwr),BI(wwe(n),pwr),TI(wwe(n),mwr,Ewr);var a=t[2];if(a){fwe(n,Fwr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,swr)}),n,i),fwe(n,kwr)}else fwe(n,dwr);return BI(wwe(n),hwr),BI(wwe(n),ywr)})),FB(CTe,(function(r,e,n){var t=TI(ATe,r,e);return TI(Swe(owr),t,n)}));var wTe=[0,yTe,_Te,ATe,CTe],STe=function r(e,n,t,u){return r.fun(e,n,t,u)},gTe=function r(e,n,t){return r.fun(e,n,t)};FB(STe,(function(r,e,n,t){BI(wwe(n),UCr),TI(wwe(n),HCr,jCr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),XCr),BI(wwe(n),YCr),TI(wwe(n),KCr,VCr);var a=t[2];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),WCr),BI(wwe(n),JCr),TI(wwe(n),zCr,qCr);var i=t[3];if(i){fwe(n,$Cr);var c=i[1];OI(wTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),fwe(n,QCr)}else fwe(n,ZCr);BI(wwe(n),rwr),BI(wwe(n),ewr),TI(wwe(n),twr,nwr);var f=t[4];if(f){fwe(n,uwr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,GCr)}),n,o),fwe(n,awr)}else fwe(n,iwr);return BI(wwe(n),cwr),BI(wwe(n),fwr)})),FB(gTe,(function(r,e,n){var t=TI(STe,r,e);return TI(Swe(MCr),t,n)}));var BTe=[0,wTe,STe,gTe],TTe=function r(e,n,t,u){return r.fun(e,n,t,u)},ITe=function r(e,n,t){return r.fun(e,n,t)};FB(TTe,(function(r,e,n,t){BI(wwe(n),yCr),TI(wwe(n),ACr,_Cr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),n,u),BI(wwe(n),CCr),BI(wwe(n),wCr),TI(wwe(n),gCr,SCr);var a=t[2];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),BCr),BI(wwe(n),TCr),TI(wwe(n),OCr,ICr);var i=t[3];if(i){fwe(n,NCr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,hCr)}),n,c),fwe(n,xCr)}else fwe(n,LCr);return BI(wwe(n),PCr),BI(wwe(n),RCr)})),FB(ITe,(function(r,e,n){var t=TI(TTe,r,e);return TI(Swe(dCr),t,n)}));var OTe=[0,TTe,ITe],NTe=function r(e,n,t){return r.fun(e,n,t)},xTe=function r(e,n){return r.fun(e,n)};FB(NTe,(function(r,e,n){BI(wwe(e),aCr),TI(wwe(e),cCr,iCr);var t=n[1];if(t){fwe(e,fCr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,u),fwe(e,oCr)}else fwe(e,sCr);BI(wwe(e),vCr),BI(wwe(e),lCr),TI(wwe(e),bCr,DCr);var a=n[2];if(a){fwe(e,pCr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,uCr)}),e,i),fwe(e,ECr)}else fwe(e,mCr);return BI(wwe(e),FCr),BI(wwe(e),kCr)})),FB(xTe,(function(r,e){var n=BI(NTe,r);return TI(Swe(tCr),n,e)}));var LTe=[0,NTe,xTe],PTe=function r(e,n,t){return r.fun(e,n,t)},RTe=function r(e,n){return r.fun(e,n)};FB(PTe,(function(r,e,n){BI(wwe(e),HAr),TI(wwe(e),YAr,XAr);var t=n[1];if(t){fwe(e,VAr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,u),fwe(e,KAr)}else fwe(e,WAr);BI(wwe(e),JAr),BI(wwe(e),qAr),TI(wwe(e),$Ar,zAr);var a=n[2];if(a){fwe(e,QAr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,jAr)}),e,i),fwe(e,ZAr)}else fwe(e,rCr);return BI(wwe(e),eCr),BI(wwe(e),nCr)})),FB(RTe,(function(r,e){var n=BI(PTe,r);return TI(Swe(UAr),n,e)}));var MTe=[0,PTe,RTe],GTe=function r(e,n,t){return r.fun(e,n,t)},UTe=function r(e,n){return r.fun(e,n)};FB(GTe,(function(r,e,n){BI(wwe(e),OAr),TI(wwe(e),xAr,NAr);var t=n[1];if(t){fwe(e,LAr);var u=t[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,IAr)}),e,u),fwe(e,PAr)}else fwe(e,RAr);return BI(wwe(e),MAr),BI(wwe(e),GAr)})),FB(UTe,(function(r,e){var n=BI(GTe,r);return TI(Swe(TAr),n,e)}));var jTe=[0,GTe,UTe],HTe=function r(e,n,t,u){return r.fun(e,n,t,u)},XTe=function r(e,n,t){return r.fun(e,n,t)};FB(HTe,(function(r,e,n,t){BI(wwe(n),bAr),TI(wwe(n),EAr,pAr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),mAr),BI(wwe(n),FAr),TI(wwe(n),dAr,kAr);var a=t[2];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),hAr),BI(wwe(n),yAr),TI(wwe(n),AAr,_Ar);var i=t[3];if(i){fwe(n,CAr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,DAr)}),n,c),fwe(n,wAr)}else fwe(n,SAr);return BI(wwe(n),gAr),BI(wwe(n),BAr)})),FB(XTe,(function(r,e,n){var t=TI(HTe,r,e);return TI(Swe(lAr),t,n)}));var YTe=[0,HTe,XTe],VTe=function r(e,n,t,u){return r.fun(e,n,t,u)},KTe=function r(e,n,t){return r.fun(e,n,t)};FB(VTe,(function(r,e,n,t){BI(wwe(n),X_r),TI(wwe(n),V_r,Y_r);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),K_r),BI(wwe(n),W_r),TI(wwe(n),q_r,J_r);var a=t[2];if(a){fwe(n,z_r);var i=a[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,$_r)}else fwe(n,Q_r);BI(wwe(n),Z_r),BI(wwe(n),rAr),TI(wwe(n),nAr,eAr);var c=t[3];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),tAr),BI(wwe(n),uAr),TI(wwe(n),iAr,aAr);var f=t[4];if(f){fwe(n,cAr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,H_r)}),n,o),fwe(n,fAr)}else fwe(n,oAr);return BI(wwe(n),sAr),BI(wwe(n),vAr)})),FB(KTe,(function(r,e,n){var t=TI(VTe,r,e);return TI(Swe(j_r),t,n)}));var WTe=[0,VTe,KTe],JTe=function r(e,n,t,u){return r.fun(e,n,t,u)},qTe=function r(e,n,t){return r.fun(e,n,t)};FB(JTe,(function(r,e,n,t){BI(wwe(n),f_r),TI(wwe(n),s_r,o_r);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),v_r),BI(wwe(n),l_r),TI(wwe(n),b_r,D_r);var a=t[2];if(a){fwe(n,p_r);var i=a[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,E_r)}else fwe(n,m_r);BI(wwe(n),F_r),BI(wwe(n),k_r),TI(wwe(n),h_r,d_r);var c=t[3];if(c){fwe(n,y_r);var f=c[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),fwe(n,__r)}else fwe(n,A_r);BI(wwe(n),C_r),BI(wwe(n),w_r),TI(wwe(n),g_r,S_r);var o=t[4];if(o){fwe(n,B_r);var s=o[1];OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),fwe(n,T_r)}else fwe(n,I_r);BI(wwe(n),O_r),BI(wwe(n),N_r),TI(wwe(n),L_r,x_r);var v=t[5];if(v){fwe(n,P_r);var l=v[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,c_r)}),n,l),fwe(n,R_r)}else fwe(n,M_r);return BI(wwe(n),G_r),BI(wwe(n),U_r)})),FB(qTe,(function(r,e,n){var t=TI(JTe,r,e);return TI(Swe(i_r),t,n)}));var zTe=[0,JTe,qTe],$Te=function r(e,n,t,u){return r.fun(e,n,t,u)},QTe=function r(e,n,t){return r.fun(e,n,t)},ZTe=function r(e,n,t,u){return r.fun(e,n,t,u)},rIe=function r(e,n,t){return r.fun(e,n,t)};FB($Te,(function(r,e,n,t){BI(wwe(n),t_r),TI(r,n,t[1]),BI(wwe(n),u_r);var u=t[2];return OI(ZTe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),a_r)})),FB(QTe,(function(r,e,n){var t=TI($Te,r,e);return TI(Swe(n_r),t,n)})),FB(ZTe,(function(r,e,n,t){BI(wwe(n),Lyr),TI(wwe(n),Ryr,Pyr);var u=t[1];if(u){fwe(n,Myr);var a=u[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,Gyr)}else fwe(n,Uyr);BI(wwe(n),jyr),BI(wwe(n),Hyr),TI(wwe(n),Yyr,Xyr);var i=t[2];BI(wwe(n),Vyr),dAe((function(t,u){return t&&BI(wwe(n),xyr),OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,i),BI(wwe(n),Kyr),BI(wwe(n),Wyr),BI(wwe(n),Jyr),TI(wwe(n),zyr,qyr);var c=t[3];if(c){fwe(n,$yr);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Nyr)}),n,f),fwe(n,Qyr)}else fwe(n,Zyr);return BI(wwe(n),r_r),BI(wwe(n),e_r)})),FB(rIe,(function(r,e,n){var t=TI(ZTe,r,e);return TI(Swe(Oyr),t,n)}));var eIe=[0,$Te,QTe,ZTe,rIe],nIe=function r(e,n,t,u){return r.fun(e,n,t,u)},tIe=function r(e,n,t){return r.fun(e,n,t)};FB(nIe,(function(r,e,n,t){BI(wwe(n),byr),TI(wwe(n),Eyr,pyr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),myr),BI(wwe(n),Fyr),TI(wwe(n),dyr,kyr);var a=t[2];BI(wwe(n),hyr),dAe((function(t,u){return t&&BI(wwe(n),Dyr),OI(eIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,a),BI(wwe(n),yyr),BI(wwe(n),_yr),BI(wwe(n),Ayr),TI(wwe(n),wyr,Cyr);var i=t[3];if(i){fwe(n,Syr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,lyr)}),n,c),fwe(n,gyr)}else fwe(n,Byr);return BI(wwe(n),Tyr),BI(wwe(n),Iyr)})),FB(tIe,(function(r,e,n){var t=TI(nIe,r,e);return TI(Swe(vyr),t,n)}));var uIe=[0,eIe,nIe,tIe],aIe=function r(e,n,t,u){return r.fun(e,n,t,u)},iIe=function r(e,n,t){return r.fun(e,n,t)};FB(aIe,(function(r,e,n,t){BI(wwe(n),zhr),TI(wwe(n),Qhr,$hr);var u=t[1];if(u){fwe(n,Zhr);var a=u[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,ryr)}else fwe(n,eyr);BI(wwe(n),nyr),BI(wwe(n),tyr),TI(wwe(n),ayr,uyr);var i=t[2];if(i){fwe(n,iyr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,qhr)}),n,c),fwe(n,cyr)}else fwe(n,fyr);return BI(wwe(n),oyr),BI(wwe(n),syr)})),FB(iIe,(function(r,e,n){var t=TI(aIe,r,e);return TI(Swe(Jhr),t,n)}));var cIe=[0,aIe,iIe],fIe=function r(e,n,t,u){return r.fun(e,n,t,u)},oIe=function r(e,n,t){return r.fun(e,n,t)};FB(fIe,(function(r,e,n,t){BI(wwe(n),Phr),TI(wwe(n),Mhr,Rhr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Ghr),BI(wwe(n),Uhr),TI(wwe(n),Hhr,jhr);var a=t[2];if(a){fwe(n,Xhr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Lhr)}),n,i),fwe(n,Yhr)}else fwe(n,Vhr);return BI(wwe(n),Khr),BI(wwe(n),Whr)})),FB(oIe,(function(r,e,n){var t=TI(fIe,r,e);return TI(Swe(xhr),t,n)}));var sIe=[0,fIe,oIe],vIe=function r(e,n,t,u){return r.fun(e,n,t,u)},lIe=function r(e,n,t){return r.fun(e,n,t)},DIe=function r(e,n,t,u){return r.fun(e,n,t,u)},bIe=function r(e,n,t){return r.fun(e,n,t)};FB(vIe,(function(r,e,n,t){BI(wwe(n),Ihr),TI(r,n,t[1]),BI(wwe(n),Ohr);var u=t[2];return OI(DIe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Nhr)})),FB(lIe,(function(r,e,n){var t=TI(vIe,r,e);return TI(Swe(Thr),t,n)})),FB(DIe,(function(r,e,n,t){BI(wwe(n),fhr),TI(wwe(n),shr,ohr);var u=t[1];if(u){fwe(n,vhr);var a=u[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,lhr)}else fwe(n,Dhr);BI(wwe(n),bhr),BI(wwe(n),phr),TI(wwe(n),mhr,Ehr);var i=t[2];BI(wwe(n),Fhr),TI(r,n,i[1]),BI(wwe(n),khr);var c=i[2];OI(hTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),dhr),BI(wwe(n),hhr),BI(wwe(n),yhr),TI(wwe(n),Ahr,_hr);var f=t[3];if(f){fwe(n,Chr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,chr)}),n,o),fwe(n,whr)}else fwe(n,Shr);return BI(wwe(n),ghr),BI(wwe(n),Bhr)})),FB(bIe,(function(r,e,n){var t=TI(DIe,r,e);return TI(Swe(ihr),t,n)}));var pIe=[0,vIe,lIe,DIe,bIe],EIe=function r(e,n,t,u){return r.fun(e,n,t,u)},mIe=function r(e,n,t){return r.fun(e,n,t)};FB(EIe,(function(r,e,n,t){BI(wwe(n),gdr),TI(wwe(n),Tdr,Bdr);var u=t[1];BI(wwe(n),Idr),TI(r,n,u[1]),BI(wwe(n),Odr);var a=u[2];OI(hTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Ndr),BI(wwe(n),xdr),BI(wwe(n),Ldr),TI(wwe(n),Rdr,Pdr);var i=t[2];if(i){fwe(n,Mdr);var c=i[1];OI(pIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),fwe(n,Gdr)}else fwe(n,Udr);BI(wwe(n),jdr),BI(wwe(n),Hdr),TI(wwe(n),Ydr,Xdr);var f=t[3];if(f){var o=f[1];fwe(n,Vdr),BI(wwe(n),Kdr),TI(r,n,o[1]),BI(wwe(n),Wdr);var s=o[2];OI(hTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),BI(wwe(n),Jdr),fwe(n,qdr)}else fwe(n,zdr);BI(wwe(n),$dr),BI(wwe(n),Qdr),TI(wwe(n),rhr,Zdr);var v=t[4];if(v){fwe(n,ehr);var l=v[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Sdr)}),n,l),fwe(n,nhr)}else fwe(n,thr);return BI(wwe(n),uhr),BI(wwe(n),ahr)})),FB(mIe,(function(r,e,n){var t=TI(EIe,r,e);return TI(Swe(wdr),t,n)}));var FIe=[0,pIe,EIe,mIe],kIe=function r(e,n,t,u){return r.fun(e,n,t,u)},dIe=function r(e,n,t){return r.fun(e,n,t)},hIe=function r(e,n,t,u){return r.fun(e,n,t,u)},yIe=function r(e,n,t){return r.fun(e,n,t)};FB(kIe,(function(r,e,n,t){BI(wwe(n),_dr),TI(r,n,t[1]),BI(wwe(n),Adr);var u=t[2];return OI(hIe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Cdr)})),FB(dIe,(function(r,e,n){var t=TI(kIe,r,e);return TI(Swe(ydr),t,n)})),FB(hIe,(function(r,e,n,t){BI(wwe(n),sdr),TI(wwe(n),ldr,vdr);var u=t[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Ddr),BI(wwe(n),bdr),TI(wwe(n),Edr,pdr);var a=t[2];if(a){fwe(n,mdr);var i=a[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,Fdr)}else fwe(n,kdr);return BI(wwe(n),ddr),BI(wwe(n),hdr)})),FB(yIe,(function(r,e,n){var t=TI(hIe,r,e);return TI(Swe(odr),t,n)}));var _Ie=[0,kIe,dIe,hIe,yIe],AIe=function r(e,n,t,u){return r.fun(e,n,t,u)},CIe=function r(e,n,t){return r.fun(e,n,t)},wIe=function r(e,n){return r.fun(e,n)},SIe=function r(e){return r.fun(e)};FB(AIe,(function(r,e,n,t){BI(wwe(n),Vkr),TI(wwe(n),Wkr,Kkr);var u=t[1];BI(wwe(n),Jkr),dAe((function(t,u){return t&&BI(wwe(n),Ykr),OI(_Ie[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),qkr),BI(wwe(n),zkr),BI(wwe(n),$kr),TI(wwe(n),Zkr,Qkr),TI(wIe,n,t[2]),BI(wwe(n),rdr),BI(wwe(n),edr),TI(wwe(n),tdr,ndr);var a=t[3];if(a){fwe(n,udr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Xkr)}),n,i),fwe(n,adr)}else fwe(n,idr);return BI(wwe(n),cdr),BI(wwe(n),fdr)})),FB(CIe,(function(r,e,n){var t=TI(AIe,r,e);return TI(Swe(Hkr),t,n)})),FB(wIe,(function(r,e){switch(e){case 0:return fwe(r,Gkr);case 1:return fwe(r,Ukr);default:return fwe(r,jkr)}})),FB(SIe,(function(r){return TI(Swe(Mkr),wIe,r)}));var gIe=[0,_Ie,AIe,CIe,wIe,SIe],BIe=function r(e,n,t,u){return r.fun(e,n,t,u)},TIe=function r(e,n,t){return r.fun(e,n,t)};FB(BIe,(function(r,e,n,t){BI(wwe(n),ykr),TI(wwe(n),Akr,_kr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Ckr),BI(wwe(n),wkr),TI(wwe(n),gkr,Skr);var a=t[2];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Bkr),BI(wwe(n),Tkr),TI(wwe(n),Okr,Ikr);var i=t[3];if(i){fwe(n,Nkr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,hkr)}),n,c),fwe(n,xkr)}else fwe(n,Lkr);return BI(wwe(n),Pkr),BI(wwe(n),Rkr)})),FB(TIe,(function(r,e,n){var t=TI(BIe,r,e);return TI(Swe(dkr),t,n)}));var IIe=[0,BIe,TIe],OIe=function r(e,n,t,u){return r.fun(e,n,t,u)},NIe=function r(e,n,t){return r.fun(e,n,t)};FB(OIe,(function(r,e,n,t){BI(wwe(n),ukr),TI(wwe(n),ikr,akr);var u=t[1];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),ckr),BI(wwe(n),fkr),TI(wwe(n),skr,okr);var a=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),vkr),BI(wwe(n),lkr),TI(wwe(n),bkr,Dkr);var i=t[3];if(i){fwe(n,pkr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,tkr)}),n,c),fwe(n,Ekr)}else fwe(n,mkr);return BI(wwe(n),Fkr),BI(wwe(n),kkr)})),FB(NIe,(function(r,e,n){var t=TI(OIe,r,e);return TI(Swe(nkr),t,n)}));var xIe=[0,OIe,NIe],LIe=function r(e,n,t,u){return r.fun(e,n,t,u)},PIe=function r(e,n,t){return r.fun(e,n,t)},RIe=function r(e,n,t,u){return r.fun(e,n,t,u)},MIe=function r(e,n,t){return r.fun(e,n,t)};FB(LIe,(function(r,e,n,t){BI(wwe(n),_Fr),TI(wwe(n),CFr,AFr);var u=t[1];if(u){fwe(n,wFr);var a=u[1];OI(RIe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,SFr)}else fwe(n,gFr);BI(wwe(n),BFr),BI(wwe(n),TFr),TI(wwe(n),OFr,IFr);var i=t[2];if(i){fwe(n,NFr);var c=i[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),fwe(n,xFr)}else fwe(n,LFr);BI(wwe(n),PFr),BI(wwe(n),RFr),TI(wwe(n),GFr,MFr);var f=t[3];if(f){fwe(n,UFr);var o=f[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),fwe(n,jFr)}else fwe(n,HFr);BI(wwe(n),XFr),BI(wwe(n),YFr),TI(wwe(n),KFr,VFr);var s=t[4];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),BI(wwe(n),WFr),BI(wwe(n),JFr),TI(wwe(n),zFr,qFr);var v=t[5];if(v){fwe(n,$Fr);var l=v[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,yFr)}),n,l),fwe(n,QFr)}else fwe(n,ZFr);return BI(wwe(n),rkr),BI(wwe(n),ekr)})),FB(PIe,(function(r,e,n){var t=TI(LIe,r,e);return TI(Swe(hFr),t,n)})),FB(RIe,(function(r,e,n,t){if(0===t[0]){var u=t[1];BI(wwe(n),bFr),BI(wwe(n),pFr),TI(r,n,u[1]),BI(wwe(n),EFr);var a=u[2];return OI(gIe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),mFr),BI(wwe(n),FFr)}BI(wwe(n),kFr);var i=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),dFr)})),FB(MIe,(function(r,e,n){var t=TI(RIe,r,e);return TI(Swe(DFr),t,n)}));var GIe=[0,LIe,PIe,RIe,MIe],UIe=function r(e,n,t,u){return r.fun(e,n,t,u)},jIe=function r(e,n,t){return r.fun(e,n,t)},HIe=function r(e,n,t,u){return r.fun(e,n,t,u)},XIe=function r(e,n,t){return r.fun(e,n,t)};FB(UIe,(function(r,e,n,t){BI(wwe(n),Hmr),TI(wwe(n),Ymr,Xmr);var u=t[1];OI(HIe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Vmr),BI(wwe(n),Kmr),TI(wwe(n),Jmr,Wmr);var a=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),qmr),BI(wwe(n),zmr),TI(wwe(n),Qmr,$mr);var i=t[3];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),Zmr),BI(wwe(n),rFr),TI(wwe(n),nFr,eFr);var c=t[4];TI(wwe(n),tFr,c),BI(wwe(n),uFr),BI(wwe(n),aFr),TI(wwe(n),cFr,iFr);var f=t[5];if(f){fwe(n,fFr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,jmr)}),n,o),fwe(n,oFr)}else fwe(n,sFr);return BI(wwe(n),vFr),BI(wwe(n),lFr)})),FB(jIe,(function(r,e,n){var t=TI(UIe,r,e);return TI(Swe(Umr),t,n)})),FB(HIe,(function(r,e,n,t){if(0===t[0]){var u=t[1];BI(wwe(n),Nmr),BI(wwe(n),xmr),TI(r,n,u[1]),BI(wwe(n),Lmr);var a=u[2];return OI(gIe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Pmr),BI(wwe(n),Rmr)}BI(wwe(n),Mmr);var i=t[1];return OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),Gmr)})),FB(XIe,(function(r,e,n){var t=TI(HIe,r,e);return TI(Swe(Omr),t,n)}));var YIe=[0,UIe,jIe,HIe,XIe],VIe=function r(e,n,t,u){return r.fun(e,n,t,u)},KIe=function r(e,n,t){return r.fun(e,n,t)},WIe=function r(e,n,t,u){return r.fun(e,n,t,u)},JIe=function r(e,n,t){return r.fun(e,n,t)};FB(VIe,(function(r,e,n,t){BI(wwe(n),cmr),TI(wwe(n),omr,fmr);var u=t[1];OI(WIe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),smr),BI(wwe(n),vmr),TI(wwe(n),Dmr,lmr);var a=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),bmr),BI(wwe(n),pmr),TI(wwe(n),mmr,Emr);var i=t[3];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),Fmr),BI(wwe(n),kmr),TI(wwe(n),hmr,dmr);var c=t[4];TI(wwe(n),ymr,c),BI(wwe(n),_mr),BI(wwe(n),Amr),TI(wwe(n),wmr,Cmr);var f=t[5];if(f){fwe(n,Smr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,imr)}),n,o),fwe(n,gmr)}else fwe(n,Bmr);return BI(wwe(n),Tmr),BI(wwe(n),Imr)})),FB(KIe,(function(r,e,n){var t=TI(VIe,r,e);return TI(Swe(amr),t,n)})),FB(WIe,(function(r,e,n,t){if(0===t[0]){var u=t[1];BI(wwe(n),QEr),BI(wwe(n),ZEr),TI(r,n,u[1]),BI(wwe(n),rmr);var a=u[2];return OI(gIe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),emr),BI(wwe(n),nmr)}BI(wwe(n),tmr);var i=t[1];return OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),umr)})),FB(JIe,(function(r,e,n){var t=TI(WIe,r,e);return TI(Swe($Er),t,n)}));var qIe=[0,VIe,KIe,WIe,JIe],zIe=function r(e,n,t){return r.fun(e,n,t)},$Ie=function r(e,n){return r.fun(e,n)},QIe=function r(e,n,t){return r.fun(e,n,t)},ZIe=function r(e,n){return r.fun(e,n)};FB(zIe,(function(r,e,n){BI(wwe(e),JEr),TI(r,e,n[1]),BI(wwe(e),qEr);var t=n[2];return II(QIe,(function(e){return BI(r,e)}),e,t),BI(wwe(e),zEr)})),FB($Ie,(function(r,e){var n=BI(zIe,r);return TI(Swe(WEr),n,e)})),FB(QIe,(function(r,e,n){BI(wwe(e),HEr),TI(wwe(e),YEr,XEr);var t=n[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,t),BI(wwe(e),VEr),BI(wwe(e),KEr)})),FB(ZIe,(function(r,e){var n=BI(QIe,r);return TI(Swe(jEr),n,e)}));var rOe=[0,zIe,$Ie,QIe,ZIe],eOe=function r(e,n,t,u){return r.fun(e,n,t,u)},nOe=function r(e,n,t){return r.fun(e,n,t)},tOe=function r(e,n,t,u){return r.fun(e,n,t,u)},uOe=function r(e,n,t){return r.fun(e,n,t)};FB(eOe,(function(r,e,n,t){BI(wwe(n),MEr),TI(e,n,t[1]),BI(wwe(n),GEr);var u=t[2];return OI(tOe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),UEr)})),FB(nOe,(function(r,e,n){var t=TI(eOe,r,e);return TI(Swe(REr),t,n)})),FB(tOe,(function(r,e,n,t){BI(wwe(n),CEr),TI(wwe(n),SEr,wEr);var u=t[1];OI(fSe[1],(function(r){return BI(e,r)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),gEr),BI(wwe(n),BEr),TI(wwe(n),IEr,TEr);var a=t[2];return BI(wwe(n),OEr),TI(e,n,a[1]),BI(wwe(n),NEr),TI(r,n,a[2]),BI(wwe(n),xEr),BI(wwe(n),LEr),BI(wwe(n),PEr)})),FB(uOe,(function(r,e,n){var t=TI(tOe,r,e);return TI(Swe(AEr),t,n)}));var aOe=[0,eOe,nOe,tOe,uOe],iOe=function r(e,n,t){return r.fun(e,n,t)},cOe=function r(e,n){return r.fun(e,n)};FB(iOe,(function(r,e,n){BI(wwe(e),rEr),TI(wwe(e),nEr,eEr);var t=n[1];BI(wwe(e),tEr),dAe((function(n,t){return n&&BI(wwe(e),Zpr),OI(aOe[1],(function(e){return TI(bSe[1],(function(e){return BI(r,e)}),e)}),(function(e){return BI(r,e)}),e,t),1}),0,t),BI(wwe(e),uEr),BI(wwe(e),aEr),BI(wwe(e),iEr),TI(wwe(e),fEr,cEr);var u=n[2];TI(wwe(e),oEr,u),BI(wwe(e),sEr),BI(wwe(e),vEr),TI(wwe(e),DEr,lEr);var a=n[3];TI(wwe(e),bEr,a),BI(wwe(e),pEr),BI(wwe(e),EEr),TI(wwe(e),FEr,mEr);var i=n[4];if(i){fwe(e,kEr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),$pr),dAe((function(n,t){return n&&BI(wwe(e),zpr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),Qpr)}),e,c),fwe(e,dEr)}else fwe(e,hEr);return BI(wwe(e),yEr),BI(wwe(e),_Er)})),FB(cOe,(function(r,e){var n=BI(iOe,r);return TI(Swe(qpr),n,e)}));var fOe=[0,iOe,cOe],oOe=function r(e,n,t){return r.fun(e,n,t)},sOe=function r(e,n){return r.fun(e,n)};FB(oOe,(function(r,e,n){BI(wwe(e),Cpr),TI(wwe(e),Spr,wpr);var t=n[1];BI(wwe(e),gpr),dAe((function(n,t){return n&&BI(wwe(e),Apr),OI(aOe[1],(function(e){return TI(lSe[1],(function(e){return BI(r,e)}),e)}),(function(e){return BI(r,e)}),e,t),1}),0,t),BI(wwe(e),Bpr),BI(wwe(e),Tpr),BI(wwe(e),Ipr),TI(wwe(e),Npr,Opr);var u=n[2];TI(wwe(e),xpr,u),BI(wwe(e),Lpr),BI(wwe(e),Ppr),TI(wwe(e),Mpr,Rpr);var a=n[3];TI(wwe(e),Gpr,a),BI(wwe(e),Upr),BI(wwe(e),jpr),TI(wwe(e),Xpr,Hpr);var i=n[4];if(i){fwe(e,Ypr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),ypr),dAe((function(n,t){return n&&BI(wwe(e),hpr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),_pr)}),e,c),fwe(e,Vpr)}else fwe(e,Kpr);return BI(wwe(e),Wpr),BI(wwe(e),Jpr)})),FB(sOe,(function(r,e){var n=BI(oOe,r);return TI(Swe(dpr),n,e)}));var vOe=[0,oOe,sOe],lOe=function r(e,n,t){return r.fun(e,n,t)},DOe=function r(e,n){return r.fun(e,n)},bOe=function r(e,n,t,u){return r.fun(e,n,t,u)},pOe=function r(e,n,t){return r.fun(e,n,t)};FB(lOe,(function(r,e,n){BI(wwe(e),Qbr),TI(wwe(e),rpr,Zbr);var t=n[1];OI(bOe,(function(e){return TI(vSe[1],(function(e){return BI(r,e)}),e)}),(function(e){return BI(r,e)}),e,t),BI(wwe(e),epr),BI(wwe(e),npr),TI(wwe(e),upr,tpr);var u=n[2];TI(wwe(e),apr,u),BI(wwe(e),ipr),BI(wwe(e),cpr),TI(wwe(e),opr,fpr);var a=n[3];TI(wwe(e),spr,a),BI(wwe(e),vpr),BI(wwe(e),lpr),TI(wwe(e),bpr,Dpr);var i=n[4];if(i){fwe(e,ppr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),zbr),dAe((function(n,t){return n&&BI(wwe(e),qbr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),$br)}),e,c),fwe(e,Epr)}else fwe(e,mpr);return BI(wwe(e),Fpr),BI(wwe(e),kpr)})),FB(DOe,(function(r,e){var n=BI(lOe,r);return TI(Swe(Jbr),n,e)})),FB(bOe,(function(r,e,n,t){return 0===t[0]?(BI(wwe(n),Ubr),BI(wwe(n),jbr),dAe((function(r,t){return r&&BI(wwe(n),Gbr),II(rOe[1],(function(r){return BI(e,r)}),n,t),1}),0,t[1]),BI(wwe(n),Hbr),BI(wwe(n),Xbr)):(BI(wwe(n),Ybr),BI(wwe(n),Vbr),dAe((function(t,u){return t&&BI(wwe(n),Mbr),OI(aOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,t[1]),BI(wwe(n),Kbr),BI(wwe(n),Wbr))})),FB(pOe,(function(r,e,n){var t=TI(bOe,r,e);return TI(Swe(Rbr),t,n)}));var EOe=[0,lOe,DOe,bOe,pOe],mOe=function r(e,n,t){return r.fun(e,n,t)},FOe=function r(e,n){return r.fun(e,n)};FB(mOe,(function(r,e,n){BI(wwe(e),Fbr),TI(wwe(e),dbr,kbr);var t=n[1];BI(wwe(e),hbr),dAe((function(n,t){return n&&BI(wwe(e),mbr),II(rOe[1],(function(e){return BI(r,e)}),e,t),1}),0,t),BI(wwe(e),ybr),BI(wwe(e),_br),BI(wwe(e),Abr),TI(wwe(e),wbr,Cbr);var u=n[2];TI(wwe(e),Sbr,u),BI(wwe(e),gbr),BI(wwe(e),Bbr),TI(wwe(e),Ibr,Tbr);var a=n[3];if(a){fwe(e,Obr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),pbr),dAe((function(n,t){return n&&BI(wwe(e),bbr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),Ebr)}),e,i),fwe(e,Nbr)}else fwe(e,xbr);return BI(wwe(e),Lbr),BI(wwe(e),Pbr)})),FB(FOe,(function(r,e){var n=BI(mOe,r);return TI(Swe(Dbr),n,e)}));var kOe=[0,mOe,FOe],dOe=function r(e,n,t,u){return r.fun(e,n,t,u)},hOe=function r(e,n,t){return r.fun(e,n,t)},yOe=function r(e,n,t){return r.fun(e,n,t)},_Oe=function r(e,n){return r.fun(e,n)},AOe=function r(e,n,t){return r.fun(e,n,t)},COe=function r(e,n){return r.fun(e,n)};FB(dOe,(function(r,e,n,t){BI(wwe(n),$Dr),TI(wwe(n),ZDr,QDr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),rbr),BI(wwe(n),ebr),TI(wwe(n),tbr,nbr);var a=t[2];II(yOe,(function(e){return BI(r,e)}),n,a),BI(wwe(n),ubr),BI(wwe(n),abr),TI(wwe(n),cbr,ibr);var i=t[3];if(i){fwe(n,fbr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,zDr)}),n,c),fwe(n,obr)}else fwe(n,sbr);return BI(wwe(n),vbr),BI(wwe(n),lbr)})),FB(hOe,(function(r,e,n){var t=TI(dOe,r,e);return TI(Swe(qDr),t,n)})),FB(yOe,(function(r,e,n){BI(wwe(e),KDr),TI(r,e,n[1]),BI(wwe(e),WDr);var t=n[2];return II(AOe,(function(e){return BI(r,e)}),e,t),BI(wwe(e),JDr)})),FB(_Oe,(function(r,e){var n=BI(yOe,r);return TI(Swe(VDr),n,e)})),FB(AOe,(function(r,e,n){switch(n[0]){case 0:BI(wwe(e),RDr);var t=n[1];return II(fOe[1],(function(e){return BI(r,e)}),e,t),BI(wwe(e),MDr);case 1:BI(wwe(e),GDr);var u=n[1];return II(vOe[1],(function(e){return BI(r,e)}),e,u),BI(wwe(e),UDr);case 2:BI(wwe(e),jDr);var a=n[1];return II(EOe[1],(function(e){return BI(r,e)}),e,a),BI(wwe(e),HDr);default:BI(wwe(e),XDr);var i=n[1];return II(kOe[1],(function(e){return BI(r,e)}),e,i),BI(wwe(e),YDr)}})),FB(COe,(function(r,e){var n=BI(AOe,r);return TI(Swe(PDr),n,e)}));var wOe=[0,rOe,aOe,fOe,vOe,EOe,kOe,dOe,hOe,yOe,_Oe,AOe,COe],SOe=function r(e,n,t,u){return r.fun(e,n,t,u)},gOe=function r(e,n,t){return r.fun(e,n,t)};FB(SOe,(function(r,e,n,t){BI(wwe(n),uDr),TI(wwe(n),iDr,aDr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),cDr),BI(wwe(n),fDr),TI(wwe(n),sDr,oDr);var a=t[2];if(a){fwe(n,vDr);var i=a[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,lDr)}else fwe(n,DDr);BI(wwe(n),bDr),BI(wwe(n),pDr),TI(wwe(n),mDr,EDr);var c=t[3];BI(wwe(n),FDr),dAe((function(t,u){t&&BI(wwe(n),rDr),BI(wwe(n),eDr),TI(r,n,u[1]),BI(wwe(n),nDr);var a=u[2];return OI(mSe[2][2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),tDr),1}),0,c),BI(wwe(n),kDr),BI(wwe(n),dDr),BI(wwe(n),hDr),TI(wwe(n),_Dr,yDr);var f=t[4];BI(wwe(n),ADr),TI(r,n,f[1]),BI(wwe(n),CDr);var o=f[2];OI(mSe[5][6],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),BI(wwe(n),wDr),BI(wwe(n),SDr),BI(wwe(n),gDr),TI(wwe(n),TDr,BDr);var s=t[5];if(s){fwe(n,IDr);var v=s[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Zlr)}),n,v),fwe(n,ODr)}else fwe(n,NDr);return BI(wwe(n),xDr),BI(wwe(n),LDr)})),FB(gOe,(function(r,e,n){var t=TI(SOe,r,e);return TI(Swe(Qlr),t,n)}));var BOe=[0,SOe,gOe],TOe=function r(e,n,t,u){return r.fun(e,n,t,u)},IOe=function r(e,n,t){return r.fun(e,n,t)};FB(TOe,(function(r,e,n,t){BI(wwe(n),tlr),TI(wwe(n),alr,ulr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),ilr),BI(wwe(n),clr),TI(wwe(n),olr,flr);var a=t[2];if(a){fwe(n,slr);var i=a[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,vlr)}else fwe(n,llr);BI(wwe(n),Dlr),BI(wwe(n),blr),TI(wwe(n),Elr,plr);var c=t[3];BI(wwe(n),mlr),TI(r,n,c[1]),BI(wwe(n),Flr);var f=c[2];OI(mSe[5][6],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),BI(wwe(n),klr),BI(wwe(n),dlr),BI(wwe(n),hlr),TI(wwe(n),_lr,ylr);var o=t[4];if(o){var s=o[1];fwe(n,Alr),BI(wwe(n),Clr),TI(r,n,s[1]),BI(wwe(n),wlr);var v=s[2];OI(mSe[2][2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,v),BI(wwe(n),Slr),fwe(n,glr)}else fwe(n,Blr);BI(wwe(n),Tlr),BI(wwe(n),Ilr),TI(wwe(n),Nlr,Olr);var l=t[5];BI(wwe(n),xlr),dAe((function(t,u){t&&BI(wwe(n),Zvr),BI(wwe(n),rlr),TI(r,n,u[1]),BI(wwe(n),elr);var a=u[2];return OI(mSe[2][2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),nlr),1}),0,l),BI(wwe(n),Llr),BI(wwe(n),Plr),BI(wwe(n),Rlr),TI(wwe(n),Glr,Mlr);var D=t[6];if(D){fwe(n,Ulr);var b=D[1];OI(_Se[5][2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,b),fwe(n,jlr)}else fwe(n,Hlr);BI(wwe(n),Xlr),BI(wwe(n),Ylr),TI(wwe(n),Klr,Vlr);var p=t[7];if(p){fwe(n,Wlr);var E=p[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Qvr)}),n,E),fwe(n,Jlr)}else fwe(n,qlr);return BI(wwe(n),zlr),BI(wwe(n),$lr)})),FB(IOe,(function(r,e,n){var t=TI(TOe,r,e);return TI(Swe($vr),t,n)}));var OOe=[0,TOe,IOe],NOe=function r(e,n,t,u){return r.fun(e,n,t,u)},xOe=function r(e,n,t){return r.fun(e,n,t)};FB(NOe,(function(r,e,n,t){BI(wwe(n),Lvr),TI(wwe(n),Rvr,Pvr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Mvr),BI(wwe(n),Gvr),TI(wwe(n),jvr,Uvr);var a=t[2];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Hvr),BI(wwe(n),Xvr),TI(wwe(n),Vvr,Yvr);var i=t[3];if(i){fwe(n,Kvr);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,xvr)}),n,c),fwe(n,Wvr)}else fwe(n,Jvr);return BI(wwe(n),qvr),BI(wwe(n),zvr)})),FB(xOe,(function(r,e,n){var t=TI(NOe,r,e);return TI(Swe(Nvr),t,n)}));var LOe=[0,NOe,xOe],POe=function r(e,n,t,u){return r.fun(e,n,t,u)},ROe=function r(e,n,t){return r.fun(e,n,t)};FB(POe,(function(r,e,n,t){BI(wwe(n),svr),TI(wwe(n),lvr,vvr);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Dvr),BI(wwe(n),bvr),TI(wwe(n),Evr,pvr);var a=t[2];OI(mSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),mvr),BI(wwe(n),Fvr),TI(wwe(n),dvr,kvr);var i=t[3];if(i){fwe(n,hvr);var c=i[1];OI(mSe[24][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),fwe(n,yvr)}else fwe(n,_vr);BI(wwe(n),Avr),BI(wwe(n),Cvr),TI(wwe(n),Svr,wvr);var f=t[4];if(f){fwe(n,gvr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,ovr)}),n,o),fwe(n,Bvr)}else fwe(n,Tvr);return BI(wwe(n),Ivr),BI(wwe(n),Ovr)})),FB(ROe,(function(r,e,n){var t=TI(POe,r,e);return TI(Swe(fvr),t,n)}));var MOe=[0,POe,ROe],GOe=function r(e,n,t,u){return r.fun(e,n,t,u)},UOe=function r(e,n,t){return r.fun(e,n,t)},jOe=function r(e,n,t){return r.fun(e,n,t)},HOe=function r(e,n){return r.fun(e,n)},XOe=function r(e,n,t,u){return r.fun(e,n,t,u)},YOe=function r(e,n,t){return r.fun(e,n,t)};FB(GOe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),evr);var u=t[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),nvr)}var a=t[1];BI(wwe(n),tvr),BI(wwe(n),uvr),TI(e,n,a[1]),BI(wwe(n),avr);var i=a[2];return II(vSe[1],(function(e){return BI(r,e)}),n,i),BI(wwe(n),ivr),BI(wwe(n),cvr)})),FB(UOe,(function(r,e,n){var t=TI(GOe,r,e);return TI(Swe(rvr),t,n)})),FB(jOe,(function(r,e,n){return 0===n[0]?(BI(wwe(e),zsr),TI(r,e,n[1]),BI(wwe(e),$sr)):(BI(wwe(e),Qsr),TI(r,e,n[1]),BI(wwe(e),Zsr))})),FB(HOe,(function(r,e){var n=BI(jOe,r);return TI(Swe(qsr),n,e)})),FB(XOe,(function(r,e,n,t){BI(wwe(n),wsr),TI(wwe(n),gsr,Ssr);var u=t[1];OI(GOe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Bsr),BI(wwe(n),Tsr),TI(wwe(n),Osr,Isr);var a=t[2];BI(wwe(n),Nsr),TI(r,n,a[1]),BI(wwe(n),xsr);var i=a[2];OI(hTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),Lsr),BI(wwe(n),Psr),BI(wwe(n),Rsr),TI(wwe(n),Gsr,Msr);var c=t[3];II(jOe,(function(e){return BI(r,e)}),n,c),BI(wwe(n),Usr),BI(wwe(n),jsr),TI(wwe(n),Xsr,Hsr);var f=t[4];if(f){fwe(n,Ysr);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Csr)}),n,o),fwe(n,Vsr)}else fwe(n,Ksr);return BI(wwe(n),Wsr),BI(wwe(n),Jsr)})),FB(YOe,(function(r,e,n){var t=TI(XOe,r,e);return TI(Swe(Asr),t,n)}));var VOe=[0,GOe,UOe,jOe,HOe,XOe,YOe],KOe=function r(e,n,t,u){return r.fun(e,n,t,u)},WOe=function r(e,n,t){return r.fun(e,n,t)};FB(KOe,(function(r,e,n,t){BI(wwe(n),lsr),TI(wwe(n),bsr,Dsr);var u=t[1];OI(mSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),psr),BI(wwe(n),Esr),TI(wwe(n),Fsr,msr);var a=t[2];if(a){fwe(n,ksr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,vsr)}),n,i),fwe(n,dsr)}else fwe(n,hsr);return BI(wwe(n),ysr),BI(wwe(n),_sr)})),FB(WOe,(function(r,e,n){var t=TI(KOe,r,e);return TI(Swe(ssr),t,n)}));var JOe=[0,KOe,WOe],qOe=function r(e,n,t){return r.fun(e,n,t)},zOe=function r(e,n){return r.fun(e,n)},$Oe=function r(e,n,t){return r.fun(e,n,t)},QOe=function r(e,n){return r.fun(e,n)};FB(qOe,(function(r,e,n){BI(wwe(e),csr),TI(r,e,n[1]),BI(wwe(e),fsr);var t=n[2];return II($Oe,(function(e){return BI(r,e)}),e,t),BI(wwe(e),osr)})),FB(zOe,(function(r,e){var n=BI(qOe,r);return TI(Swe(isr),n,e)})),FB($Oe,(function(r,e,n){BI(wwe(e),Jor),TI(wwe(e),zor,qor);var t=n[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,t),BI(wwe(e),$or),BI(wwe(e),Qor),TI(wwe(e),rsr,Zor);var u=n[2];if(u){fwe(e,esr);var a=u[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,a),fwe(e,nsr)}else fwe(e,tsr);return BI(wwe(e),usr),BI(wwe(e),asr)})),FB(QOe,(function(r,e){var n=BI($Oe,r);return TI(Swe(Wor),n,e)}));var ZOe=[0,qOe,zOe,$Oe,QOe],rNe=function r(e,n,t){return r.fun(e,n,t)},eNe=function r(e,n){return r.fun(e,n)};FB(rNe,(function(r,e,n){var t=n[2];if(BI(wwe(e),jor),TI(r,e,n[1]),BI(wwe(e),Hor),t){fwe(e,Xor);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,u),fwe(e,Yor)}else fwe(e,Vor);return BI(wwe(e),Kor)})),FB(eNe,(function(r,e){var n=BI(rNe,r);return TI(Swe(Uor),n,e)}));var nNe=[0,rNe,eNe],tNe=function r(e,n,t,u){return r.fun(e,n,t,u)},uNe=function r(e,n,t){return r.fun(e,n,t)},aNe=function r(e,n,t){return r.fun(e,n,t)},iNe=function r(e,n){return r.fun(e,n)};FB(tNe,(function(r,e,n,t){BI(wwe(n),tor),TI(wwe(n),aor,uor);var u=t[1];if(u){fwe(n,ior);var a=u[1];OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,cor)}else fwe(n,oor);BI(wwe(n),sor),BI(wwe(n),vor),TI(wwe(n),Dor,lor);var i=t[2];if(i){fwe(n,bor);var c=i[1];II(aNe,(function(e){return BI(r,e)}),n,c),fwe(n,por)}else fwe(n,Eor);BI(wwe(n),mor),BI(wwe(n),For),TI(wwe(n),dor,kor);var f=t[3];if(f){var o=f[1];fwe(n,hor),BI(wwe(n),yor),TI(r,n,o[1]),BI(wwe(n),_or);var s=o[2];II(vSe[1],(function(e){return BI(r,e)}),n,s),BI(wwe(n),Aor),fwe(n,Cor)}else fwe(n,wor);BI(wwe(n),Sor),BI(wwe(n),gor),TI(wwe(n),Tor,Bor),TI(FSe[33],n,t[4]),BI(wwe(n),Ior),BI(wwe(n),Oor),TI(wwe(n),xor,Nor);var v=t[5];if(v){fwe(n,Lor);var l=v[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,nor)}),n,l),fwe(n,Por)}else fwe(n,Ror);return BI(wwe(n),Mor),BI(wwe(n),Gor)})),FB(uNe,(function(r,e,n){var t=TI(tNe,r,e);return TI(Swe(eor),t,n)})),FB(aNe,(function(r,e,n){if(0===n[0])return BI(wwe(e),qfr),BI(wwe(e),zfr),dAe((function(n,t){return n&&BI(wwe(e),Jfr),II(ZOe[1],(function(e){return BI(r,e)}),e,t),1}),0,n[1]),BI(wwe(e),$fr),BI(wwe(e),Qfr);BI(wwe(e),Zfr);var t=n[1];return II(nNe[1],(function(e){return BI(r,e)}),e,t),BI(wwe(e),ror)})),FB(iNe,(function(r,e){var n=BI(aNe,r);return TI(Swe(Wfr),n,e)}));var cNe=[0,ZOe,nNe,tNe,uNe,aNe,iNe],fNe=function r(e,n,t,u){return r.fun(e,n,t,u)},oNe=function r(e,n,t){return r.fun(e,n,t)},sNe=function r(e,n,t,u){return r.fun(e,n,t,u)},vNe=function r(e,n,t){return r.fun(e,n,t)};FB(fNe,(function(r,e,n,t){BI(wwe(n),Ifr),TI(wwe(n),Nfr,Ofr),TI(r,n,t[1]),BI(wwe(n),xfr),BI(wwe(n),Lfr),TI(wwe(n),Rfr,Pfr);var u=t[2];OI(sNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Mfr),BI(wwe(n),Gfr),TI(wwe(n),jfr,Ufr);var a=t[3];if(a){fwe(n,Hfr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Tfr)}),n,i),fwe(n,Xfr)}else fwe(n,Yfr);return BI(wwe(n),Vfr),BI(wwe(n),Kfr)})),FB(oNe,(function(r,e,n){var t=TI(fNe,r,e);return TI(Swe(Bfr),t,n)})),FB(sNe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),Cfr);var u=t[1];return OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),wfr)}BI(wwe(n),Sfr);var a=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),gfr)})),FB(vNe,(function(r,e,n){var t=TI(sNe,r,e);return TI(Swe(Afr),t,n)}));var lNe=[0,fNe,oNe,sNe,vNe],DNe=function r(e,n,t,u){return r.fun(e,n,t,u)},bNe=function r(e,n,t){return r.fun(e,n,t)},pNe=function r(e,n,t,u){return r.fun(e,n,t,u)},ENe=function r(e,n,t){return r.fun(e,n,t)};FB(DNe,(function(r,e,n,t){switch(t[0]){case 0:var u=t[1];BI(wwe(n),Kcr),BI(wwe(n),Wcr),TI(r,n,u[1]),BI(wwe(n),Jcr);var a=u[2];return OI(LOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),qcr),BI(wwe(n),zcr);case 1:var i=t[1];BI(wwe(n),$cr),BI(wwe(n),Qcr),TI(r,n,i[1]),BI(wwe(n),Zcr);var c=i[2];return OI(MOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),rfr),BI(wwe(n),efr);case 2:var f=t[1];BI(wwe(n),nfr),BI(wwe(n),tfr),TI(r,n,f[1]),BI(wwe(n),ufr);var o=f[2];return OI(OOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),BI(wwe(n),afr),BI(wwe(n),ifr);case 3:BI(wwe(n),cfr);var s=t[1];return OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),BI(wwe(n),ffr);case 4:var v=t[1];BI(wwe(n),ofr),BI(wwe(n),sfr),TI(r,n,v[1]),BI(wwe(n),vfr);var l=v[2];return OI(WTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,l),BI(wwe(n),lfr),BI(wwe(n),Dfr);case 5:var D=t[1];BI(wwe(n),bfr),BI(wwe(n),pfr),TI(r,n,D[1]),BI(wwe(n),Efr);var b=D[2];return OI(zTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,b),BI(wwe(n),mfr),BI(wwe(n),Ffr);default:var p=t[1];BI(wwe(n),kfr),BI(wwe(n),dfr),TI(r,n,p[1]),BI(wwe(n),hfr);var E=p[2];return OI(BOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,E),BI(wwe(n),yfr),BI(wwe(n),_fr)}})),FB(bNe,(function(r,e,n){var t=TI(DNe,r,e);return TI(Swe(Vcr),t,n)})),FB(pNe,(function(r,e,n,t){BI(wwe(n),icr),TI(wwe(n),fcr,ccr);var u=t[1];u?(fwe(n,ocr),TI(r,n,u[1]),fwe(n,scr)):fwe(n,vcr),BI(wwe(n),lcr),BI(wwe(n),Dcr),TI(wwe(n),pcr,bcr);var a=t[2];if(a){fwe(n,Ecr);var i=a[1];OI(DNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,mcr)}else fwe(n,Fcr);BI(wwe(n),kcr),BI(wwe(n),dcr),TI(wwe(n),ycr,hcr);var c=t[3];if(c){fwe(n,_cr);var f=c[1];II(cNe[5],(function(e){return BI(r,e)}),n,f),fwe(n,Acr)}else fwe(n,Ccr);BI(wwe(n),wcr),BI(wwe(n),Scr),TI(wwe(n),Bcr,gcr);var o=t[4];if(o){var s=o[1];fwe(n,Tcr),BI(wwe(n),Icr),TI(r,n,s[1]),BI(wwe(n),Ocr);var v=s[2];II(vSe[1],(function(e){return BI(r,e)}),n,v),BI(wwe(n),Ncr),fwe(n,xcr)}else fwe(n,Lcr);BI(wwe(n),Pcr),BI(wwe(n),Rcr),TI(wwe(n),Gcr,Mcr);var l=t[5];if(l){fwe(n,Ucr);var D=l[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,acr)}),n,D),fwe(n,jcr)}else fwe(n,Hcr);return BI(wwe(n),Xcr),BI(wwe(n),Ycr)})),FB(ENe,(function(r,e,n){var t=TI(pNe,r,e);return TI(Swe(ucr),t,n)}));var mNe=[0,DNe,bNe,pNe,ENe],FNe=function r(e,n){return r.fun(e,n)},kNe=function r(e){return r.fun(e)},dNe=function r(e,n,t,u){return r.fun(e,n,t,u)},hNe=function r(e,n,t){return r.fun(e,n,t)},yNe=function r(e,n,t,u){return r.fun(e,n,t,u)},_Ne=function r(e,n,t){return r.fun(e,n,t)},ANe=function r(e,n,t,u){return r.fun(e,n,t,u)},CNe=function r(e,n,t){return r.fun(e,n,t)};FB(FNe,(function(r,e){switch(e){case 0:return fwe(r,ecr);case 1:return fwe(r,ncr);default:return fwe(r,tcr)}})),FB(kNe,(function(r){return TI(Swe(rcr),FNe,r)})),FB(dNe,(function(r,e,n,t){if(0===t[0])return BI(wwe(n),Vir),BI(wwe(n),Kir),dAe((function(t,u){return t&&BI(wwe(n),Yir),OI(yNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,t[1]),BI(wwe(n),Wir),BI(wwe(n),Jir);var u=t[1];BI(wwe(n),qir),BI(wwe(n),zir),TI(r,n,u[1]),BI(wwe(n),$ir);var a=u[2];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Qir),BI(wwe(n),Zir)})),FB(hNe,(function(r,e,n){var t=TI(dNe,r,e);return TI(Swe(Xir),t,n)})),FB(yNe,(function(r,e,n,t){BI(wwe(n),Air),TI(wwe(n),wir,Cir);var u=t[1];u?(fwe(n,Sir),TI(FNe,n,u[1]),fwe(n,gir)):fwe(n,Bir),BI(wwe(n),Tir),BI(wwe(n),Iir),TI(wwe(n),Nir,Oir);var a=t[2];if(a){fwe(n,xir);var i=a[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,Lir)}else fwe(n,Pir);BI(wwe(n),Rir),BI(wwe(n),Mir),TI(wwe(n),Uir,Gir);var c=t[3];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),jir),BI(wwe(n),Hir)})),FB(_Ne,(function(r,e,n){var t=TI(yNe,r,e);return TI(Swe(_ir),t,n)})),FB(ANe,(function(r,e,n,t){BI(wwe(n),Yar),TI(wwe(n),Kar,Var),TI(FNe,n,t[1]),BI(wwe(n),War),BI(wwe(n),Jar),TI(wwe(n),zar,qar);var u=t[2];BI(wwe(n),$ar),TI(r,n,u[1]),BI(wwe(n),Qar);var a=u[2];II(vSe[1],(function(e){return BI(r,e)}),n,a),BI(wwe(n),Zar),BI(wwe(n),rir),BI(wwe(n),eir),TI(wwe(n),tir,nir);var i=t[3];if(i){fwe(n,uir);var c=i[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),fwe(n,air)}else fwe(n,iir);BI(wwe(n),cir),BI(wwe(n),fir),TI(wwe(n),sir,oir);var f=t[4];if(f){fwe(n,vir);var o=f[1];OI(dNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),fwe(n,lir)}else fwe(n,Dir);BI(wwe(n),bir),BI(wwe(n),pir),TI(wwe(n),mir,Eir);var s=t[5];if(s){fwe(n,Fir);var v=s[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Xar)}),n,v),fwe(n,kir)}else fwe(n,dir);return BI(wwe(n),hir),BI(wwe(n),yir)})),FB(CNe,(function(r,e,n){var t=TI(ANe,r,e);return TI(Swe(Har),t,n)}));var wNe=[0,FNe,kNe,dNe,hNe,yNe,_Ne,ANe,CNe],SNe=function r(e,n,t,u){return r.fun(e,n,t,u)},gNe=function r(e,n,t){return r.fun(e,n,t)};FB(SNe,(function(r,e,n,t){BI(wwe(n),yar),TI(wwe(n),Aar,_ar);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Car),BI(wwe(n),war),TI(wwe(n),gar,Sar);var a=t[2];if(a){fwe(n,Bar);var i=a[1];TI(wwe(n),Tar,i),fwe(n,Iar)}else fwe(n,Oar);BI(wwe(n),Nar),BI(wwe(n),xar),TI(wwe(n),Par,Lar);var c=t[3];if(c){fwe(n,Rar);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,har)}),n,f),fwe(n,Mar)}else fwe(n,Gar);return BI(wwe(n),Uar),BI(wwe(n),jar)})),FB(gNe,(function(r,e,n){var t=TI(SNe,r,e);return TI(Swe(dar),t,n)}));var BNe=[0,SNe,gNe],TNe=function r(e,n,t){return r.fun(e,n,t)},INe=function r(e,n){return r.fun(e,n)};FB(TNe,(function(r,e,n){BI(wwe(e),lar),TI(wwe(e),bar,Dar);var t=n[1];if(t){fwe(e,par);var u=t[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,sar)}),e,u),fwe(e,Ear)}else fwe(e,mar);return BI(wwe(e),Far),BI(wwe(e),kar)})),FB(INe,(function(r,e){var n=BI(TNe,r);return TI(Swe(oar),n,e)}));var ONe=[0,TNe,INe],NNe=function r(e,n){return r.fun(e,n)},xNe=function r(e){return r.fun(e)},LNe=function r(e,n,t,u){return r.fun(e,n,t,u)},PNe=function r(e,n,t){return r.fun(e,n,t)},RNe=function r(e,n,t,u){return r.fun(e,n,t,u)},MNe=function r(e,n,t){return r.fun(e,n,t)};FB(NNe,(function(r,e){return fwe(r,e?car:far)})),FB(xNe,(function(r){return TI(Swe(iar),NNe,r)})),FB(LNe,(function(r,e,n,t){BI(wwe(n),tar),TI(r,n,t[1]),BI(wwe(n),uar);var u=t[2];return OI(RNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),aar)})),FB(PNe,(function(r,e,n){var t=TI(LNe,r,e);return TI(Swe(nar),t,n)})),FB(RNe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),Ptr);var u=t[1];return OI(hTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Rtr);case 1:BI(wwe(n),Mtr);var a=t[1];return II(LTe[1],(function(e){return BI(r,e)}),n,a),BI(wwe(n),Gtr);case 2:BI(wwe(n),Utr);var i=t[1];return OI(_Se[8],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),jtr);case 3:BI(wwe(n),Htr);var c=t[1];return II(MTe[1],(function(e){return BI(r,e)}),n,c),BI(wwe(n),Xtr);case 4:BI(wwe(n),Ytr);var f=t[1];return II(jTe[1],(function(e){return BI(r,e)}),n,f),BI(wwe(n),Vtr);case 5:BI(wwe(n),Ktr);var o=t[1];return OI(OOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),BI(wwe(n),Wtr);case 6:BI(wwe(n),Jtr);var s=t[1];return OI(mNe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),BI(wwe(n),qtr);case 7:BI(wwe(n),ztr);var v=t[1];return OI(MOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,v),BI(wwe(n),$tr);case 8:BI(wwe(n),Qtr);var l=t[1];return OI(BOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,l),BI(wwe(n),Ztr);case 9:BI(wwe(n),rur);var D=t[1];return OI(VOe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,D),BI(wwe(n),eur);case 10:BI(wwe(n),nur);var b=t[1];return OI(JOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,b),BI(wwe(n),tur);case 11:BI(wwe(n),uur);var p=t[1];return OI(WTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,p),BI(wwe(n),aur);case 12:BI(wwe(n),iur);var E=t[1];return OI(zTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,E),BI(wwe(n),cur);case 13:BI(wwe(n),fur);var m=t[1];return OI(LOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,m),BI(wwe(n),our);case 14:BI(wwe(n),sur);var F=t[1];return OI(xIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,F),BI(wwe(n),vur);case 15:BI(wwe(n),lur);var k=t[1];return II(ONe[1],(function(e){return BI(r,e)}),n,k),BI(wwe(n),Dur);case 16:BI(wwe(n),bur);var d=t[1];return OI(wOe[7],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,d),BI(wwe(n),pur);case 17:BI(wwe(n),Eur);var h=t[1];return OI(lNe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,h),BI(wwe(n),mur);case 18:BI(wwe(n),Fur);var y=t[1];return OI(cNe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,y),BI(wwe(n),kur);case 19:BI(wwe(n),dur);var _=t[1];return OI(BNe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,_),BI(wwe(n),hur);case 20:BI(wwe(n),yur);var A=t[1];return OI(GIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,A),BI(wwe(n),_ur);case 21:BI(wwe(n),Aur);var C=t[1];return OI(YIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,C),BI(wwe(n),Cur);case 22:BI(wwe(n),wur);var w=t[1];return OI(qIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,w),BI(wwe(n),Sur);case 23:BI(wwe(n),gur);var S=t[1];return OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,S),BI(wwe(n),Bur);case 24:BI(wwe(n),Tur);var g=t[1];return OI(BTe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,g),BI(wwe(n),Iur);case 25:BI(wwe(n),Our);var B=t[1];return OI(wNe[7],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,B),BI(wwe(n),Nur);case 26:BI(wwe(n),xur);var T=t[1];return OI(BOe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,T),BI(wwe(n),Lur);case 27:BI(wwe(n),Pur);var I=t[1];return OI(OTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,I),BI(wwe(n),Rur);case 28:BI(wwe(n),Mur);var O=t[1];return OI(cIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,O),BI(wwe(n),Gur);case 29:BI(wwe(n),Uur);var N=t[1];return OI(uIe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,N),BI(wwe(n),jur);case 30:BI(wwe(n),Hur);var x=t[1];return OI(sIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,x),BI(wwe(n),Xur);case 31:BI(wwe(n),Yur);var L=t[1];return OI(FIe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,L),BI(wwe(n),Vur);case 32:BI(wwe(n),Kur);var P=t[1];return OI(WTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,P),BI(wwe(n),Wur);case 33:BI(wwe(n),Jur);var R=t[1];return OI(zTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,R),BI(wwe(n),qur);case 34:BI(wwe(n),zur);var M=t[1];return OI(gIe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,M),BI(wwe(n),$ur);case 35:BI(wwe(n),Qur);var G=t[1];return OI(IIe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,G),BI(wwe(n),Zur);default:BI(wwe(n),rar);var U=t[1];return OI(YTe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,U),BI(wwe(n),ear)}})),FB(MNe,(function(r,e,n){var t=TI(RNe,r,e);return TI(Swe(Ltr),t,n)})),II(zwe,[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],FSe,[0,hTe,BTe,OTe,LTe,MTe,jTe,YTe,WTe,zTe,uIe,cIe,sIe,FIe,gIe,IIe,xIe,GIe,YIe,qIe,wOe,BOe,OOe,LOe,MOe,VOe,JOe,cNe,lNe,mNe,wNe,BNe,ONe,NNe,xNe,LNe,PNe,RNe,MNe]);var GNe=function r(e,n,t,u){return r.fun(e,n,t,u)},UNe=function r(e,n,t){return r.fun(e,n,t)},jNe=function r(e,n,t){return r.fun(e,n,t)},HNe=function r(e,n){return r.fun(e,n)};FB(GNe,(function(r,e,n,t){BI(wwe(n),Otr),TI(e,n,t[1]),BI(wwe(n),Ntr);var u=t[2];return II(jNe,(function(e){return BI(r,e)}),n,u),BI(wwe(n),xtr)})),FB(UNe,(function(r,e,n){var t=TI(GNe,r,e);return TI(Swe(Itr),t,n)})),FB(jNe,(function(r,e,n){BI(wwe(e),_tr),TI(wwe(e),Ctr,Atr);var t=n[1];if(t){fwe(e,wtr);var u=t[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,ytr)}),e,u),fwe(e,Str)}else fwe(e,gtr);return BI(wwe(e),Btr),BI(wwe(e),Ttr)})),FB(HNe,(function(r,e){var n=BI(jNe,r);return TI(Swe(htr),n,e)}));var XNe=[0,GNe,UNe,jNe,HNe],YNe=function r(e,n,t,u){return r.fun(e,n,t,u)},VNe=function r(e,n,t){return r.fun(e,n,t)};FB(YNe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),mtr);var u=t[1];return OI(mSe[13],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Ftr)}BI(wwe(n),ktr);var a=t[1];return OI(XNe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),dtr)})),FB(VNe,(function(r,e,n){var t=TI(YNe,r,e);return TI(Swe(Etr),t,n)}));var KNe=[0,XNe,YNe,VNe],WNe=function r(e,n,t,u){return r.fun(e,n,t,u)},JNe=function r(e,n,t){return r.fun(e,n,t)},qNe=function r(e,n,t,u){return r.fun(e,n,t,u)},zNe=function r(e,n,t){return r.fun(e,n,t)};FB(WNe,(function(r,e,n,t){BI(wwe(n),Dtr),TI(r,n,t[1]),BI(wwe(n),btr);var u=t[2];return OI(qNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),ptr)})),FB(JNe,(function(r,e,n){var t=TI(WNe,r,e);return TI(Swe(ltr),t,n)})),FB(qNe,(function(r,e,n,t){BI(wwe(n),Qnr),TI(wwe(n),rtr,Znr);var u=t[1];BI(wwe(n),etr),dAe((function(t,u){return t&&BI(wwe(n),$nr),OI(KNe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),ntr),BI(wwe(n),ttr),BI(wwe(n),utr),TI(wwe(n),itr,atr);var a=t[2];if(a){fwe(n,ctr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),qnr),dAe((function(n,t){return n&&BI(wwe(e),Jnr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),znr)}),n,i),fwe(n,ftr)}else fwe(n,otr);return BI(wwe(n),str),BI(wwe(n),vtr)})),FB(zNe,(function(r,e,n){var t=TI(qNe,r,e);return TI(Swe(Wnr),t,n)}));var $Ne=function r(e,n,t,u){return r.fun(e,n,t,u)},QNe=function r(e,n,t){return r.fun(e,n,t)},ZNe=function r(e,n,t,u){return r.fun(e,n,t,u)},rxe=function r(e,n,t){return r.fun(e,n,t)},exe=[0,WNe,JNe,qNe,zNe];FB($Ne,(function(r,e,n,t){BI(wwe(n),Ynr),TI(r,n,t[1]),BI(wwe(n),Vnr);var u=t[2];return OI(ZNe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Knr)})),FB(QNe,(function(r,e,n){var t=TI($Ne,r,e);return TI(Swe(Xnr),t,n)})),FB(ZNe,(function(r,e,n,t){BI(wwe(n),Inr),TI(wwe(n),Nnr,Onr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),xnr),BI(wwe(n),Lnr),TI(wwe(n),Rnr,Pnr);var a=t[2];if(a){fwe(n,Mnr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Tnr)}),n,i),fwe(n,Gnr)}else fwe(n,Unr);return BI(wwe(n),jnr),BI(wwe(n),Hnr)})),FB(rxe,(function(r,e,n){var t=TI(ZNe,r,e);return TI(Swe(Bnr),t,n)}));var nxe=[0,$Ne,QNe,ZNe,rxe],txe=function r(e,n,t,u){return r.fun(e,n,t,u)},uxe=function r(e,n,t){return r.fun(e,n,t)};FB(txe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),_nr);var u=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Anr);case 1:BI(wwe(n),Cnr);var a=t[1];return OI(nxe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),wnr);default:return BI(wwe(n),Snr),TI(r,n,t[1]),BI(wwe(n),gnr)}})),FB(uxe,(function(r,e,n){var t=TI(txe,r,e);return TI(Swe(ynr),t,n)}));var axe=function r(e,n,t,u){return r.fun(e,n,t,u)},ixe=function r(e,n,t){return r.fun(e,n,t)};FB(axe,(function(r,e,n,t){BI(wwe(n),fnr),TI(wwe(n),snr,onr);var u=t[1];BI(wwe(n),vnr),dAe((function(t,u){return t&&BI(wwe(n),cnr),OI(txe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),lnr),BI(wwe(n),Dnr),BI(wwe(n),bnr),TI(wwe(n),Enr,pnr);var a=t[2];if(a){fwe(n,mnr);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),anr),dAe((function(n,t){return n&&BI(wwe(e),unr),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),inr)}),n,i),fwe(n,Fnr)}else fwe(n,knr);return BI(wwe(n),dnr),BI(wwe(n),hnr)})),FB(ixe,(function(r,e,n){var t=TI(axe,r,e);return TI(Swe(tnr),t,n)}));var cxe=[0,txe,uxe,axe,ixe],fxe=function r(e,n){return r.fun(e,n)},oxe=function r(e){return r.fun(e)},sxe=function r(e,n,t){return r.fun(e,n,t)},vxe=function r(e,n){return r.fun(e,n)},lxe=function r(e,n){return r.fun(e,n)},Dxe=function r(e){return r.fun(e)};FB(fxe,(function(r,e){BI(wwe(r),Ker),TI(wwe(r),Jer,Wer);var n=e[1];TI(wwe(r),qer,n),BI(wwe(r),zer),BI(wwe(r),$er),TI(wwe(r),Zer,Qer);var t=e[2];return TI(wwe(r),rnr,t),BI(wwe(r),enr),BI(wwe(r),nnr)})),FB(oxe,(function(r){return TI(Swe(Ver),fxe,r)})),FB(sxe,(function(r,e,n){return BI(wwe(e),Her),TI(r,e,n[1]),BI(wwe(e),Xer),TI(lxe,e,n[2]),BI(wwe(e),Yer)})),FB(vxe,(function(r,e){var n=BI(sxe,r);return TI(Swe(jer),n,e)})),FB(lxe,(function(r,e){BI(wwe(r),Ier),TI(wwe(r),Ner,Oer),TI(fxe,r,e[1]),BI(wwe(r),xer),BI(wwe(r),Ler),TI(wwe(r),Rer,Per);var n=e[2];return TI(wwe(r),Mer,n),BI(wwe(r),Ger),BI(wwe(r),Uer)})),FB(Dxe,(function(r){return TI(Swe(Ter),lxe,r)}));var bxe=[0,fxe,oxe,sxe,vxe,lxe,Dxe],pxe=function r(e,n,t,u){return r.fun(e,n,t,u)},Exe=function r(e,n,t){return r.fun(e,n,t)};FB(pxe,(function(r,e,n,t){BI(wwe(n),ser),TI(wwe(n),ler,ver);var u=t[1];BI(wwe(n),Der),dAe((function(e,t){return e&&BI(wwe(n),oer),II(bxe[3],(function(e){return BI(r,e)}),n,t),1}),0,u),BI(wwe(n),ber),BI(wwe(n),per),BI(wwe(n),Eer),TI(wwe(n),Fer,mer);var a=t[2];BI(wwe(n),ker),dAe((function(t,u){return t&&BI(wwe(n),fer),OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,a),BI(wwe(n),der),BI(wwe(n),her),BI(wwe(n),yer),TI(wwe(n),Aer,_er);var i=t[3];if(i){fwe(n,Cer);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,cer)}),n,c),fwe(n,wer)}else fwe(n,Ser);return BI(wwe(n),ger),BI(wwe(n),Ber)})),FB(Exe,(function(r,e,n){var t=TI(pxe,r,e);return TI(Swe(ier),t,n)}));var mxe=[0,bxe,pxe,Exe],Fxe=function r(e,n,t,u){return r.fun(e,n,t,u)},kxe=function r(e,n,t){return r.fun(e,n,t)};FB(Fxe,(function(r,e,n,t){BI(wwe(n),jrr),TI(wwe(n),Xrr,Hrr);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Yrr),BI(wwe(n),Vrr),TI(wwe(n),Wrr,Krr);var a=t[2];BI(wwe(n),Jrr),TI(r,n,a[1]),BI(wwe(n),qrr);var i=a[2];OI(mxe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),zrr),BI(wwe(n),$rr),BI(wwe(n),Qrr),TI(wwe(n),rer,Zrr);var c=t[3];if(c){fwe(n,eer);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Urr)}),n,f),fwe(n,ner)}else fwe(n,ter);return BI(wwe(n),uer),BI(wwe(n),aer)})),FB(kxe,(function(r,e,n){var t=TI(Fxe,r,e);return TI(Swe(Grr),t,n)}));var dxe=[0,Fxe,kxe],hxe=function r(e,n,t,u){return r.fun(e,n,t,u)},yxe=function r(e,n,t){return r.fun(e,n,t)},_xe=function r(e,n,t,u){return r.fun(e,n,t,u)},Axe=function r(e,n,t){return r.fun(e,n,t)},Cxe=function r(e,n,t,u){return r.fun(e,n,t,u)},wxe=function r(e,n,t){return r.fun(e,n,t)};FB(hxe,(function(r,e,n,t){switch(t[0]){case 0:var u=t[1];BI(wwe(n),grr),BI(wwe(n),Brr),TI(e,n,u[1]),BI(wwe(n),Trr);var a=u[2];return II(sSe[2],(function(e){return BI(r,e)}),n,a),BI(wwe(n),Irr),BI(wwe(n),Orr);case 1:BI(wwe(n),Nrr);var i=t[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),xrr);case 2:BI(wwe(n),Lrr);var c=t[1];return II(oSe[1],(function(e){return BI(r,e)}),n,c),BI(wwe(n),Prr);default:BI(wwe(n),Rrr);var f=t[1];return OI(ESe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),BI(wwe(n),Mrr)}})),FB(yxe,(function(r,e,n){var t=TI(hxe,r,e);return TI(Swe(Srr),t,n)})),FB(_xe,(function(r,e,n,t){BI(wwe(n),Arr),TI(r,n,t[1]),BI(wwe(n),Crr);var u=t[2];return OI(Cxe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),wrr)})),FB(Axe,(function(r,e,n){var t=TI(_xe,r,e);return TI(Swe(_rr),t,n)})),FB(Cxe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),D9),TI(wwe(n),p9,b9);var u=t[1];OI(hxe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),E9),BI(wwe(n),m9),TI(wwe(n),k9,F9);var a=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),d9),BI(wwe(n),h9),TI(wwe(n),_9,y9);var i=t[3];return TI(wwe(n),A9,i),BI(wwe(n),C9),BI(wwe(n),w9);case 1:var c=t[2];BI(wwe(n),S9),TI(wwe(n),B9,g9);var f=t[1];OI(hxe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),BI(wwe(n),T9),BI(wwe(n),I9),TI(wwe(n),N9,O9),BI(wwe(n),x9),TI(r,n,c[1]),BI(wwe(n),L9);var o=c[2];return OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),BI(wwe(n),P9),BI(wwe(n),R9),BI(wwe(n),M9);case 2:var s=t[3],v=t[2];BI(wwe(n),G9),TI(wwe(n),j9,U9);var l=t[1];OI(hxe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,l),BI(wwe(n),H9),BI(wwe(n),X9),TI(wwe(n),V9,Y9),BI(wwe(n),K9),TI(r,n,v[1]),BI(wwe(n),W9);var D=v[2];if(OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,D),BI(wwe(n),J9),BI(wwe(n),q9),BI(wwe(n),z9),TI(wwe(n),Q9,$9),s){fwe(n,Z9);var b=s[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,l9)}),n,b),fwe(n,rrr)}else fwe(n,err);return BI(wwe(n),nrr),BI(wwe(n),trr);default:var p=t[3],E=t[2];BI(wwe(n),urr),TI(wwe(n),irr,arr);var m=t[1];OI(hxe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,m),BI(wwe(n),crr),BI(wwe(n),frr),TI(wwe(n),srr,orr),BI(wwe(n),vrr),TI(r,n,E[1]),BI(wwe(n),lrr);var F=E[2];if(OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,F),BI(wwe(n),Drr),BI(wwe(n),brr),BI(wwe(n),prr),TI(wwe(n),mrr,Err),p){fwe(n,Frr);var k=p[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,v9)}),n,k),fwe(n,krr)}else fwe(n,drr);return BI(wwe(n),hrr),BI(wwe(n),yrr)}})),FB(wxe,(function(r,e,n){var t=TI(Cxe,r,e);return TI(Swe(s9),t,n)}));var Sxe=[0,hxe,yxe,_xe,Axe,Cxe,wxe],gxe=function r(e,n,t,u){return r.fun(e,n,t,u)},Bxe=function r(e,n,t){return r.fun(e,n,t)},Txe=function r(e,n,t,u){return r.fun(e,n,t,u)},Ixe=function r(e,n,t){return r.fun(e,n,t)};FB(gxe,(function(r,e,n,t){BI(wwe(n),c9),TI(r,n,t[1]),BI(wwe(n),f9);var u=t[2];return OI(Txe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),o9)})),FB(Bxe,(function(r,e,n){var t=TI(gxe,r,e);return TI(Swe(i9),t,n)})),FB(Txe,(function(r,e,n,t){BI(wwe(n),J8),TI(wwe(n),z8,q8);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),$8),BI(wwe(n),Q8),TI(wwe(n),r9,Z8);var a=t[2];if(a){fwe(n,e9);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,W8)}),n,i),fwe(n,n9)}else fwe(n,t9);return BI(wwe(n),u9),BI(wwe(n),a9)})),FB(Ixe,(function(r,e,n){var t=TI(Txe,r,e);return TI(Swe(K8),t,n)}));var Oxe=[0,gxe,Bxe,Txe,Ixe],Nxe=function r(e,n,t,u){return r.fun(e,n,t,u)},xxe=function r(e,n,t){return r.fun(e,n,t)},Lxe=function r(e,n,t,u){return r.fun(e,n,t,u)},Pxe=function r(e,n,t){return r.fun(e,n,t)};FB(Nxe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),H8);var u=t[1];return OI(Sxe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),X8)}BI(wwe(n),Y8);var a=t[1];return OI(Oxe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),V8)})),FB(xxe,(function(r,e,n){var t=TI(Nxe,r,e);return TI(Swe(j8),t,n)})),FB(Lxe,(function(r,e,n,t){BI(wwe(n),S8),TI(wwe(n),B8,g8);var u=t[1];BI(wwe(n),T8),dAe((function(t,u){return t&&BI(wwe(n),w8),OI(Nxe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),I8),BI(wwe(n),O8),BI(wwe(n),N8),TI(wwe(n),L8,x8);var a=t[2];if(a){fwe(n,P8);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),A8),dAe((function(n,t){return n&&BI(wwe(e),_8),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),C8)}),n,i),fwe(n,R8)}else fwe(n,M8);return BI(wwe(n),G8),BI(wwe(n),U8)})),FB(Pxe,(function(r,e,n){var t=TI(Lxe,r,e);return TI(Swe(y8),t,n)}));var Rxe=[0,Sxe,Oxe,Nxe,xxe,Lxe,Pxe],Mxe=function r(e,n,t,u){return r.fun(e,n,t,u)},Gxe=function r(e,n,t){return r.fun(e,n,t)};FB(Mxe,(function(r,e,n,t){BI(wwe(n),f8),TI(wwe(n),s8,o8);var u=t[1];BI(wwe(n),v8),dAe((function(t,u){return t&&BI(wwe(n),c8),OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),l8),BI(wwe(n),D8),BI(wwe(n),b8),TI(wwe(n),E8,p8);var a=t[2];if(a){fwe(n,m8);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,i8)}),n,i),fwe(n,F8)}else fwe(n,k8);return BI(wwe(n),d8),BI(wwe(n),h8)})),FB(Gxe,(function(r,e,n){var t=TI(Mxe,r,e);return TI(Swe(a8),t,n)}));var Uxe=[0,Mxe,Gxe],jxe=function r(e,n){return r.fun(e,n)},Hxe=function r(e){return r.fun(e)},Xxe=function r(e,n,t,u){return r.fun(e,n,t,u)},Yxe=function r(e,n,t){return r.fun(e,n,t)};FB(jxe,(function(r,e){switch(e){case 0:return fwe(r,$6);case 1:return fwe(r,Q6);case 2:return fwe(r,Z6);case 3:return fwe(r,r8);case 4:return fwe(r,e8);case 5:return fwe(r,n8);case 6:return fwe(r,t8);default:return fwe(r,u8)}})),FB(Hxe,(function(r){return TI(Swe(z6),jxe,r)})),FB(Xxe,(function(r,e,n,t){BI(wwe(n),x6),TI(wwe(n),P6,L6),TI(jxe,n,t[1]),BI(wwe(n),R6),BI(wwe(n),M6),TI(wwe(n),U6,G6);var u=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),j6),BI(wwe(n),H6),TI(wwe(n),Y6,X6);var a=t[3];if(a){fwe(n,V6);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,N6)}),n,i),fwe(n,K6)}else fwe(n,W6);return BI(wwe(n),J6),BI(wwe(n),q6)})),FB(Yxe,(function(r,e,n){var t=TI(Xxe,r,e);return TI(Swe(O6),t,n)}));var Vxe=[0,jxe,Hxe,Xxe,Yxe],Kxe=function r(e,n){return r.fun(e,n)},Wxe=function r(e){return r.fun(e)},Jxe=function r(e,n,t,u){return r.fun(e,n,t,u)},qxe=function r(e,n,t){return r.fun(e,n,t)};FB(Kxe,(function(r,e){switch(e){case 0:return fwe(r,s6);case 1:return fwe(r,v6);case 2:return fwe(r,l6);case 3:return fwe(r,D6);case 4:return fwe(r,b6);case 5:return fwe(r,p6);case 6:return fwe(r,E6);case 7:return fwe(r,m6);case 8:return fwe(r,F6);case 9:return fwe(r,k6);case 10:return fwe(r,d6);case 11:return fwe(r,h6);case 12:return fwe(r,y6);case 13:return fwe(r,_6);case 14:return fwe(r,A6);case 15:return fwe(r,C6);case 16:return fwe(r,w6);case 17:return fwe(r,S6);case 18:return fwe(r,g6);case 19:return fwe(r,B6);case 20:return fwe(r,T6);default:return fwe(r,I6)}})),FB(Wxe,(function(r){return TI(Swe(o6),Kxe,r)})),FB(Jxe,(function(r,e,n,t){BI(wwe(n),X5),TI(wwe(n),V5,Y5),TI(Kxe,n,t[1]),BI(wwe(n),K5),BI(wwe(n),W5),TI(wwe(n),q5,J5);var u=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),z5),BI(wwe(n),$5),TI(wwe(n),Z5,Q5);var a=t[3];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),r6),BI(wwe(n),e6),TI(wwe(n),t6,n6);var i=t[4];if(i){fwe(n,u6);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,H5)}),n,c),fwe(n,a6)}else fwe(n,i6);return BI(wwe(n),c6),BI(wwe(n),f6)})),FB(qxe,(function(r,e,n){var t=TI(Jxe,r,e);return TI(Swe(j5),t,n)}));var zxe=[0,Kxe,Wxe,Jxe,qxe],$xe=function r(e,n){return r.fun(e,n)},Qxe=function r(e){return r.fun(e)},Zxe=function r(e,n,t,u){return r.fun(e,n,t,u)},rLe=function r(e,n,t){return r.fun(e,n,t)};FB($xe,(function(r,e){switch(e){case 0:return fwe(r,B5);case 1:return fwe(r,T5);case 2:return fwe(r,I5);case 3:return fwe(r,O5);case 4:return fwe(r,N5);case 5:return fwe(r,x5);case 6:return fwe(r,L5);case 7:return fwe(r,P5);case 8:return fwe(r,R5);case 9:return fwe(r,M5);case 10:return fwe(r,G5);default:return fwe(r,U5)}})),FB(Qxe,(function(r){return TI(Swe(g5),$xe,r)})),FB(Zxe,(function(r,e,n,t){BI(wwe(n),a5),TI(wwe(n),c5,i5);var u=t[1];u?(fwe(n,f5),TI($xe,n,u[1]),fwe(n,o5)):fwe(n,s5),BI(wwe(n),v5),BI(wwe(n),l5),TI(wwe(n),b5,D5);var a=t[2];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),p5),BI(wwe(n),E5),TI(wwe(n),F5,m5);var i=t[3];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),k5),BI(wwe(n),d5),TI(wwe(n),y5,h5);var c=t[4];if(c){fwe(n,_5);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,u5)}),n,f),fwe(n,A5)}else fwe(n,C5);return BI(wwe(n),w5),BI(wwe(n),S5)})),FB(rLe,(function(r,e,n){var t=TI(Zxe,r,e);return TI(Swe(t5),t,n)}));var eLe=[0,$xe,Qxe,Zxe,rLe],nLe=function r(e,n){return r.fun(e,n)},tLe=function r(e){return r.fun(e)},uLe=function r(e,n,t,u){return r.fun(e,n,t,u)},aLe=function r(e,n,t){return r.fun(e,n,t)};FB(nLe,(function(r,e){return fwe(r,e?e5:n5)})),FB(tLe,(function(r){return TI(Swe(r5),nLe,r)})),FB(uLe,(function(r,e,n,t){BI(wwe(n),N2),TI(wwe(n),L2,x2),TI(nLe,n,t[1]),BI(wwe(n),P2),BI(wwe(n),R2),TI(wwe(n),G2,M2);var u=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),U2),BI(wwe(n),j2),TI(wwe(n),X2,H2);var a=t[3];TI(wwe(n),Y2,a),BI(wwe(n),V2),BI(wwe(n),K2),TI(wwe(n),J2,W2);var i=t[4];if(i){fwe(n,q2);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,O2)}),n,c),fwe(n,z2)}else fwe(n,$2);return BI(wwe(n),Q2),BI(wwe(n),Z2)})),FB(aLe,(function(r,e,n){var t=TI(uLe,r,e);return TI(Swe(I2),t,n)}));var iLe=[0,nLe,tLe,uLe,aLe],cLe=function r(e,n){return r.fun(e,n)},fLe=function r(e){return r.fun(e)},oLe=function r(e,n,t,u){return r.fun(e,n,t,u)},sLe=function r(e,n,t){return r.fun(e,n,t)};FB(cLe,(function(r,e){switch(e){case 0:return fwe(r,g2);case 1:return fwe(r,B2);default:return fwe(r,T2)}})),FB(fLe,(function(r){return TI(Swe(S2),cLe,r)})),FB(oLe,(function(r,e,n,t){BI(wwe(n),c2),TI(wwe(n),o2,f2),TI(cLe,n,t[1]),BI(wwe(n),s2),BI(wwe(n),v2),TI(wwe(n),D2,l2);var u=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),b2),BI(wwe(n),p2),TI(wwe(n),m2,E2);var a=t[3];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),F2),BI(wwe(n),k2),TI(wwe(n),h2,d2);var i=t[4];if(i){fwe(n,y2);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,i2)}),n,c),fwe(n,_2)}else fwe(n,A2);return BI(wwe(n),C2),BI(wwe(n),w2)})),FB(sLe,(function(r,e,n){var t=TI(oLe,r,e);return TI(Swe(a2),t,n)}));var vLe=[0,cLe,fLe,oLe,sLe],lLe=function r(e,n,t,u){return r.fun(e,n,t,u)},DLe=function r(e,n,t){return r.fun(e,n,t)};FB(lLe,(function(r,e,n,t){BI(wwe(n),G7),TI(wwe(n),j7,U7);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),H7),BI(wwe(n),X7),TI(wwe(n),V7,Y7);var a=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),K7),BI(wwe(n),W7),TI(wwe(n),q7,J7);var i=t[3];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),z7),BI(wwe(n),$7),TI(wwe(n),Z7,Q7);var c=t[4];if(c){fwe(n,r2);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,M7)}),n,f),fwe(n,e2)}else fwe(n,n2);return BI(wwe(n),t2),BI(wwe(n),u2)})),FB(DLe,(function(r,e,n){var t=TI(lLe,r,e);return TI(Swe(R7),t,n)}));var bLe=[0,lLe,DLe],pLe=function r(e,n,t,u){return r.fun(e,n,t,u)},ELe=function r(e,n,t){return r.fun(e,n,t)};FB(pLe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),N7);var u=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),x7)}BI(wwe(n),L7);var a=t[1];return OI(nxe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),P7)})),FB(ELe,(function(r,e,n){var t=TI(pLe,r,e);return TI(Swe(O7),t,n)}));var mLe=function r(e,n,t,u){return r.fun(e,n,t,u)},FLe=function r(e,n,t){return r.fun(e,n,t)},kLe=function r(e,n,t,u){return r.fun(e,n,t,u)},dLe=function r(e,n,t){return r.fun(e,n,t)};FB(mLe,(function(r,e,n,t){BI(wwe(n),B7),TI(r,n,t[1]),BI(wwe(n),T7);var u=t[2];return OI(kLe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),I7)})),FB(FLe,(function(r,e,n){var t=TI(mLe,r,e);return TI(Swe(g7),t,n)})),FB(kLe,(function(r,e,n,t){BI(wwe(n),b7),TI(wwe(n),E7,p7);var u=t[1];BI(wwe(n),m7),dAe((function(t,u){return t&&BI(wwe(n),D7),OI(pLe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),F7),BI(wwe(n),k7),BI(wwe(n),d7),TI(wwe(n),y7,h7);var a=t[2];if(a){fwe(n,_7);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),v7),dAe((function(n,t){return n&&BI(wwe(e),s7),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),l7)}),n,i),fwe(n,A7)}else fwe(n,C7);return BI(wwe(n),w7),BI(wwe(n),S7)})),FB(dLe,(function(r,e,n){var t=TI(kLe,r,e);return TI(Swe(o7),t,n)}));var hLe=[0,mLe,FLe,kLe,dLe],yLe=function r(e,n,t,u){return r.fun(e,n,t,u)},_Le=function r(e,n,t){return r.fun(e,n,t)};FB(yLe,(function(r,e,n,t){BI(wwe(n),R4),TI(wwe(n),G4,M4);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),U4),BI(wwe(n),j4),TI(wwe(n),X4,H4);var a=t[2];if(a){fwe(n,Y4);var i=a[1];OI(kSe[2][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,V4)}else fwe(n,K4);BI(wwe(n),W4),BI(wwe(n),J4),TI(wwe(n),z4,q4);var c=t[3];if(c){fwe(n,$4);var f=c[1];OI(hLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),fwe(n,Q4)}else fwe(n,Z4);BI(wwe(n),r7),BI(wwe(n),e7),TI(wwe(n),t7,n7);var o=t[4];if(o){fwe(n,u7);var s=o[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,P4)}),n,s),fwe(n,a7)}else fwe(n,i7);return BI(wwe(n),c7),BI(wwe(n),f7)})),FB(_Le,(function(r,e,n){var t=TI(yLe,r,e);return TI(Swe(L4),t,n)}));var ALe=[0,yLe,_Le],CLe=function r(e,n,t,u){return r.fun(e,n,t,u)},wLe=function r(e,n,t){return r.fun(e,n,t)};FB(CLe,(function(r,e,n,t){BI(wwe(n),l4),TI(wwe(n),b4,D4);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),p4),BI(wwe(n),E4),TI(wwe(n),F4,m4);var a=t[2];if(a){fwe(n,k4);var i=a[1];OI(kSe[2][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,d4)}else fwe(n,h4);BI(wwe(n),y4),BI(wwe(n),_4),TI(wwe(n),C4,A4);var c=t[3];OI(hLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),w4),BI(wwe(n),S4),TI(wwe(n),B4,g4);var f=t[4];if(f){fwe(n,T4);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,v4)}),n,o),fwe(n,I4)}else fwe(n,O4);return BI(wwe(n),N4),BI(wwe(n),x4)})),FB(wLe,(function(r,e,n){var t=TI(CLe,r,e);return TI(Swe(s4),t,n)}));var SLe=[0,CLe,wLe],gLe=function r(e,n,t,u){return r.fun(e,n,t,u)},BLe=function r(e,n,t){return r.fun(e,n,t)};FB(gLe,(function(r,e,n,t){BI(wwe(n),r4),TI(wwe(n),n4,e4);var u=t[1];OI(SLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),t4),BI(wwe(n),u4),TI(wwe(n),i4,a4);var a=t[2];return TI(wwe(n),c4,a),BI(wwe(n),f4),BI(wwe(n),o4)})),FB(BLe,(function(r,e,n){var t=TI(gLe,r,e);return TI(Swe(Z3),t,n)}));var TLe=[0,gLe,BLe],ILe=function r(e,n,t,u){return r.fun(e,n,t,u)},OLe=function r(e,n,t){return r.fun(e,n,t)},NLe=function r(e,n,t,u){return r.fun(e,n,t,u)},xLe=function r(e,n,t){return r.fun(e,n,t)};FB(ILe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),W3);var u=t[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),J3);case 1:BI(wwe(n),q3);var a=t[1];return II(oSe[1],(function(e){return BI(r,e)}),n,a),BI(wwe(n),z3);default:BI(wwe(n),$3);var i=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),Q3)}})),FB(OLe,(function(r,e,n){var t=TI(ILe,r,e);return TI(Swe(K3),t,n)})),FB(NLe,(function(r,e,n,t){BI(wwe(n),T3),TI(wwe(n),O3,I3);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),N3),BI(wwe(n),x3),TI(wwe(n),P3,L3);var a=t[2];OI(ILe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),R3),BI(wwe(n),M3),TI(wwe(n),U3,G3);var i=t[3];if(i){fwe(n,j3);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,B3)}),n,c),fwe(n,H3)}else fwe(n,X3);return BI(wwe(n),Y3),BI(wwe(n),V3)})),FB(xLe,(function(r,e,n){var t=TI(NLe,r,e);return TI(Swe(g3),t,n)}));var LLe=[0,ILe,OLe,NLe,xLe],PLe=function r(e,n,t,u){return r.fun(e,n,t,u)},RLe=function r(e,n,t){return r.fun(e,n,t)};FB(PLe,(function(r,e,n,t){BI(wwe(n),F3),TI(wwe(n),d3,k3);var u=t[1];OI(LLe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),h3),BI(wwe(n),y3),TI(wwe(n),A3,_3);var a=t[2];return TI(wwe(n),C3,a),BI(wwe(n),w3),BI(wwe(n),S3)})),FB(RLe,(function(r,e,n){var t=TI(PLe,r,e);return TI(Swe(m3),t,n)}));var MLe=[0,PLe,RLe],GLe=function r(e,n,t,u){return r.fun(e,n,t,u)},ULe=function r(e,n,t){return r.fun(e,n,t)};FB(GLe,(function(r,e,n,t){BI(wwe(n),$1),TI(wwe(n),Z1,Q1);var u=t[1];if(u){fwe(n,r3);var a=u[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,e3)}else fwe(n,n3);BI(wwe(n),t3),BI(wwe(n),u3),TI(wwe(n),i3,a3);var i=t[2];if(i){fwe(n,c3);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,z1)}),n,c),fwe(n,f3)}else fwe(n,o3);BI(wwe(n),s3),BI(wwe(n),v3),TI(wwe(n),D3,l3);var f=t[3];return TI(wwe(n),b3,f),BI(wwe(n),p3),BI(wwe(n),E3)})),FB(ULe,(function(r,e,n){var t=TI(GLe,r,e);return TI(Swe(q1),t,n)}));var jLe=[0,GLe,ULe],HLe=function r(e,n,t,u){return r.fun(e,n,t,u)},XLe=function r(e,n,t){return r.fun(e,n,t)},YLe=function r(e,n,t,u){return r.fun(e,n,t,u)},VLe=function r(e,n,t){return r.fun(e,n,t)};FB(HLe,(function(r,e,n,t){BI(wwe(n),K1),TI(r,n,t[1]),BI(wwe(n),W1);var u=t[2];return OI(YLe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),J1)})),FB(XLe,(function(r,e,n){var t=TI(HLe,r,e);return TI(Swe(V1),t,n)})),FB(YLe,(function(r,e,n,t){BI(wwe(n),I1),TI(wwe(n),N1,O1);var u=t[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),x1),BI(wwe(n),L1),TI(wwe(n),R1,P1);var a=t[2];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),M1),BI(wwe(n),G1),TI(wwe(n),j1,U1);var i=t[3];return TI(wwe(n),H1,i),BI(wwe(n),X1),BI(wwe(n),Y1)})),FB(VLe,(function(r,e,n){var t=TI(YLe,r,e);return TI(Swe(T1),t,n)}));var KLe=[0,HLe,XLe,YLe,VLe],WLe=function r(e,n,t,u){return r.fun(e,n,t,u)},JLe=function r(e,n,t){return r.fun(e,n,t)};FB(WLe,(function(r,e,n,t){BI(wwe(n),E1),TI(wwe(n),F1,m1);var u=t[1];BI(wwe(n),k1),dAe((function(t,u){return t&&BI(wwe(n),p1),OI(KLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),d1),BI(wwe(n),h1),BI(wwe(n),y1),TI(wwe(n),A1,_1);var a=t[2];if(a){fwe(n,C1);var i=a[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,w1)}else fwe(n,S1);return BI(wwe(n),g1),BI(wwe(n),B1)})),FB(JLe,(function(r,e,n){var t=TI(WLe,r,e);return TI(Swe(b1),t,n)}));var qLe=[0,KLe,WLe,JLe],zLe=function r(e,n,t,u){return r.fun(e,n,t,u)},$Le=function r(e,n,t){return r.fun(e,n,t)};FB(zLe,(function(r,e,n,t){BI(wwe(n),r1),TI(wwe(n),n1,e1);var u=t[1];BI(wwe(n),t1),dAe((function(t,u){return t&&BI(wwe(n),Z0),OI(qLe[1][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),u1),BI(wwe(n),a1),BI(wwe(n),i1),TI(wwe(n),f1,c1);var a=t[2];if(a){fwe(n,o1);var i=a[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,s1)}else fwe(n,v1);return BI(wwe(n),l1),BI(wwe(n),D1)})),FB($Le,(function(r,e,n){var t=TI(zLe,r,e);return TI(Swe(Q0),t,n)}));var QLe=[0,zLe,$Le],ZLe=function r(e,n,t,u){return r.fun(e,n,t,u)},rPe=function r(e,n,t){return r.fun(e,n,t)};FB(ZLe,(function(r,e,n,t){BI(wwe(n),P0),TI(wwe(n),M0,R0);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),G0),BI(wwe(n),U0),TI(wwe(n),H0,j0);var a=t[2];OI(mSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),X0),BI(wwe(n),Y0),TI(wwe(n),K0,V0);var i=t[3];if(i){fwe(n,W0);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,L0)}),n,c),fwe(n,J0)}else fwe(n,q0);return BI(wwe(n),z0),BI(wwe(n),$0)})),FB(rPe,(function(r,e,n){var t=TI(ZLe,r,e);return TI(Swe(x0),t,n)}));var ePe=[0,ZLe,rPe],nPe=function r(e,n,t){return r.fun(e,n,t)},tPe=function r(e,n){return r.fun(e,n)};FB(nPe,(function(r,e,n){BI(wwe(e),F0),TI(wwe(e),d0,k0);var t=n[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,t),BI(wwe(e),h0),BI(wwe(e),y0),TI(wwe(e),A0,_0);var u=n[2];OI(fSe[1],(function(e){return BI(r,e)}),(function(e){return BI(r,e)}),e,u),BI(wwe(e),C0),BI(wwe(e),w0),TI(wwe(e),g0,S0);var a=n[3];if(a){fwe(e,B0);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,m0)}),e,i),fwe(e,T0)}else fwe(e,I0);return BI(wwe(e),O0),BI(wwe(e),N0)})),FB(tPe,(function(r,e){var n=BI(nPe,r);return TI(Swe(E0),n,e)}));var uPe=[0,nPe,tPe],aPe=function r(e,n,t){return r.fun(e,n,t)},iPe=function r(e,n){return r.fun(e,n)};FB(aPe,(function(r,e,n){BI(wwe(e),f0),TI(wwe(e),s0,o0);var t=n[1];if(t){fwe(e,v0);var u=t[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,c0)}),e,u),fwe(e,l0)}else fwe(e,D0);return BI(wwe(e),b0),BI(wwe(e),p0)})),FB(iPe,(function(r,e){var n=BI(aPe,r);return TI(Swe(i0),n,e)}));var cPe=[0,aPe,iPe],fPe=function r(e,n,t){return r.fun(e,n,t)},oPe=function r(e,n){return r.fun(e,n)};FB(fPe,(function(r,e,n){BI(wwe(e),QZ),TI(wwe(e),r0,ZZ);var t=n[1];if(t){fwe(e,e0);var u=t[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,$Z)}),e,u),fwe(e,n0)}else fwe(e,t0);return BI(wwe(e),u0),BI(wwe(e),a0)})),FB(oPe,(function(r,e){var n=BI(fPe,r);return TI(Swe(zZ),n,e)}));var sPe=[0,fPe,oPe],vPe=function r(e,n,t,u){return r.fun(e,n,t,u)},lPe=function r(e,n,t){return r.fun(e,n,t)};FB(vPe,(function(r,e,n,t){BI(wwe(n),MZ),TI(wwe(n),UZ,GZ);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),jZ),BI(wwe(n),HZ),TI(wwe(n),YZ,XZ);var a=t[2];if(a){fwe(n,VZ);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,RZ)}),n,i),fwe(n,KZ)}else fwe(n,WZ);return BI(wwe(n),JZ),BI(wwe(n),qZ)})),FB(lPe,(function(r,e,n){var t=TI(vPe,r,e);return TI(Swe(PZ),t,n)}));var DPe=[0,vPe,lPe],bPe=function r(e,n,t,u){return r.fun(e,n,t,u)},pPe=function r(e,n,t){return r.fun(e,n,t)},EPe=function r(e,n,t,u){return r.fun(e,n,t,u)},mPe=function r(e,n,t){return r.fun(e,n,t)};FB(bPe,(function(r,e,n,t){BI(wwe(n),NZ),TI(e,n,t[1]),BI(wwe(n),xZ);var u=t[2];return OI(EPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),LZ)})),FB(pPe,(function(r,e,n){var t=TI(bPe,r,e);return TI(Swe(OZ),t,n)})),FB(EPe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),AQ);var u=t[1];return OI(cxe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),CQ);case 1:BI(wwe(n),wQ);var a=t[1];return OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),SQ);case 2:BI(wwe(n),gQ);var i=t[1];return OI(eLe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),BQ);case 3:BI(wwe(n),TQ);var c=t[1];return OI(zxe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),IQ);case 4:BI(wwe(n),OQ);var f=t[1];return OI(SLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),BI(wwe(n),NQ);case 5:BI(wwe(n),xQ);var o=t[1];return OI(_Se[8],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,o),BI(wwe(n),LQ);case 6:BI(wwe(n),PQ);var s=t[1];return OI(qLe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),BI(wwe(n),RQ);case 7:BI(wwe(n),MQ);var v=t[1];return OI(bLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,v),BI(wwe(n),GQ);case 8:BI(wwe(n),UQ);var l=t[1];return OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,l),BI(wwe(n),jQ);case 9:BI(wwe(n),HQ);var D=t[1];return OI(QLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,D),BI(wwe(n),XQ);case 10:BI(wwe(n),YQ);var b=t[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,b),BI(wwe(n),VQ);case 11:BI(wwe(n),KQ);var p=t[1];return OI(DPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,p),BI(wwe(n),WQ);case 12:BI(wwe(n),JQ);var E=t[1];return OI(dSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,E),BI(wwe(n),qQ);case 13:BI(wwe(n),zQ);var m=t[1];return OI(dSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,m),BI(wwe(n),$Q);case 14:BI(wwe(n),QQ);var F=t[1];return II(sSe[2],(function(e){return BI(r,e)}),n,F),BI(wwe(n),ZQ);case 15:BI(wwe(n),rZ);var k=t[1];return OI(vLe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,k),BI(wwe(n),eZ);case 16:BI(wwe(n),nZ);var d=t[1];return OI(LLe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,d),BI(wwe(n),tZ);case 17:BI(wwe(n),uZ);var h=t[1];return II(uPe[1],(function(e){return BI(r,e)}),n,h),BI(wwe(n),aZ);case 18:BI(wwe(n),iZ);var y=t[1];return OI(ALe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,y),BI(wwe(n),cZ);case 19:BI(wwe(n),fZ);var _=t[1];return OI(Rxe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,_),BI(wwe(n),oZ);case 20:BI(wwe(n),sZ);var A=t[1];return OI(TLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,A),BI(wwe(n),vZ);case 21:BI(wwe(n),lZ);var C=t[1];return OI(MLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,C),BI(wwe(n),DZ);case 22:BI(wwe(n),bZ);var w=t[1];return OI(Uxe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,w),BI(wwe(n),pZ);case 23:BI(wwe(n),EZ);var S=t[1];return II(sPe[1],(function(e){return BI(r,e)}),n,S),BI(wwe(n),mZ);case 24:BI(wwe(n),FZ);var g=t[1];return OI(dxe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,g),BI(wwe(n),kZ);case 25:BI(wwe(n),dZ);var B=t[1];return OI(mxe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,B),BI(wwe(n),hZ);case 26:BI(wwe(n),yZ);var T=t[1];return II(cPe[1],(function(e){return BI(r,e)}),n,T),BI(wwe(n),_Z);case 27:BI(wwe(n),AZ);var I=t[1];return OI(ePe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,I),BI(wwe(n),CZ);case 28:BI(wwe(n),wZ);var O=t[1];return OI(Vxe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,O),BI(wwe(n),SZ);case 29:BI(wwe(n),gZ);var N=t[1];return OI(iLe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,N),BI(wwe(n),BZ);default:BI(wwe(n),TZ);var x=t[1];return OI(jLe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,x),BI(wwe(n),IZ)}})),FB(mPe,(function(r,e,n){var t=TI(EPe,r,e);return TI(Swe(_Q),t,n)})),II(zwe,[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],kSe,[0,KNe,exe,nxe,cxe,mxe,dxe,Rxe,Uxe,Vxe,zxe,eLe,iLe,vLe,bLe,pLe,ELe,hLe,ALe,SLe,TLe,LLe,MLe,jLe,qLe,QLe,ePe,uPe,cPe,sPe,DPe,bPe,pPe,EPe,mPe]);var FPe=function r(e,n,t,u){return r.fun(e,n,t,u)},kPe=function r(e,n,t){return r.fun(e,n,t)},dPe=function r(e,n,t){return r.fun(e,n,t)},hPe=function r(e,n){return r.fun(e,n)};FB(FPe,(function(r,e,n,t){BI(wwe(n),dQ),TI(e,n,t[1]),BI(wwe(n),hQ);var u=t[2];return II(dPe,(function(e){return BI(r,e)}),n,u),BI(wwe(n),yQ)})),FB(kPe,(function(r,e,n){var t=TI(FPe,r,e);return TI(Swe(kQ),t,n)})),FB(dPe,(function(r,e,n){BI(wwe(e),iQ),TI(wwe(e),fQ,cQ);var t=n[1];TI(wwe(e),oQ,t),BI(wwe(e),sQ),BI(wwe(e),vQ),TI(wwe(e),DQ,lQ);var u=n[2];if(u){fwe(e,bQ);var a=u[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,aQ)}),e,a),fwe(e,pQ)}else fwe(e,EQ);return BI(wwe(e),mQ),BI(wwe(e),FQ)})),FB(hPe,(function(r,e){var n=BI(dPe,r);return TI(Swe(uQ),n,e)}));var yPe=[0,FPe,kPe,dPe,hPe],_Pe=function r(e,n,t,u){return r.fun(e,n,t,u)},APe=function r(e,n,t){return r.fun(e,n,t)},CPe=function r(e,n,t,u){return r.fun(e,n,t,u)},wPe=function r(e,n,t){return r.fun(e,n,t)};FB(_Pe,(function(r,e,n,t){BI(wwe(n),eQ),TI(r,n,t[1]),BI(wwe(n),nQ);var u=t[2];return OI(CPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),tQ)})),FB(APe,(function(r,e,n){var t=TI(_Pe,r,e);return TI(Swe(rQ),t,n)})),FB(CPe,(function(r,e,n,t){BI(wwe(n),V$),TI(wwe(n),W$,K$);var u=t[1];OI(yPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),J$),BI(wwe(n),q$),TI(wwe(n),$$,z$);var a=t[2];return OI(yPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Q$),BI(wwe(n),Z$)})),FB(wPe,(function(r,e,n){var t=TI(CPe,r,e);return TI(Swe(Y$),t,n)}));var SPe=[0,_Pe,APe,CPe,wPe],gPe=function r(e,n,t,u){return r.fun(e,n,t,u)},BPe=function r(e,n,t){return r.fun(e,n,t)},TPe=function r(e,n,t,u){return r.fun(e,n,t,u)},IPe=function r(e,n,t){return r.fun(e,n,t)};FB(gPe,(function(r,e,n,t){BI(wwe(n),O$),TI(wwe(n),x$,N$);var u=t[1];OI(TPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),L$),BI(wwe(n),P$),TI(wwe(n),M$,R$);var a=t[2];if(a){fwe(n,G$);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),T$),dAe((function(n,t){return n&&BI(wwe(e),B$),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),I$)}),n,i),fwe(n,U$)}else fwe(n,j$);return BI(wwe(n),H$),BI(wwe(n),X$)})),FB(BPe,(function(r,e,n){var t=TI(gPe,r,e);return TI(Swe(g$),t,n)})),FB(TPe,(function(r,e,n,t){if(t){BI(wwe(n),C$);var u=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),w$)}return fwe(n,S$)})),FB(IPe,(function(r,e,n){var t=TI(TPe,r,e);return TI(Swe(A$),t,n)}));var OPe=[0,gPe,BPe,TPe,IPe];function NPe(r,e){BI(wwe(r),l$),TI(wwe(r),b$,D$);var n=e[1];TI(wwe(r),p$,n),BI(wwe(r),E$),BI(wwe(r),m$),TI(wwe(r),k$,F$);var t=e[2];return TI(wwe(r),d$,t),BI(wwe(r),h$),BI(wwe(r),y$)}var xPe=[0,NPe,function(r){return TI(Swe(_$),NPe,r)}],LPe=function r(e,n,t,u){return r.fun(e,n,t,u)},PPe=function r(e,n,t){return r.fun(e,n,t)},RPe=function r(e,n,t,u){return r.fun(e,n,t,u)},MPe=function r(e,n,t){return r.fun(e,n,t)},GPe=function r(e,n,t,u){return r.fun(e,n,t,u)},UPe=function r(e,n,t){return r.fun(e,n,t)},jPe=function r(e,n,t,u){return r.fun(e,n,t,u)},HPe=function r(e,n,t){return r.fun(e,n,t)};FB(LPe,(function(r,e,n,t){BI(wwe(n),o$),TI(r,n,t[1]),BI(wwe(n),s$);var u=t[2];return OI(jPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),v$)})),FB(PPe,(function(r,e,n){var t=TI(LPe,r,e);return TI(Swe(f$),t,n)})),FB(RPe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),u$);var u=t[1];return OI(yPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),a$)}BI(wwe(n),i$);var a=t[1];return OI(SPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),c$)})),FB(MPe,(function(r,e,n){var t=TI(RPe,r,e);return TI(Swe(t$),t,n)})),FB(GPe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),$z),TI(e,n,t[1]),BI(wwe(n),Qz);var u=t[2];return II(sSe[2],(function(e){return BI(r,e)}),n,u),BI(wwe(n),Zz)}BI(wwe(n),r$),TI(e,n,t[1]),BI(wwe(n),e$);var a=t[2];return OI(OPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),n$)})),FB(UPe,(function(r,e,n){var t=TI(GPe,r,e);return TI(Swe(zz),t,n)})),FB(jPe,(function(r,e,n,t){BI(wwe(n),Mz),TI(wwe(n),Uz,Gz);var u=t[1];OI(RPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),jz),BI(wwe(n),Hz),TI(wwe(n),Yz,Xz);var a=t[2];if(a){fwe(n,Vz);var i=a[1];OI(GPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,Kz)}else fwe(n,Wz);return BI(wwe(n),Jz),BI(wwe(n),qz)})),FB(HPe,(function(r,e,n){var t=TI(jPe,r,e);return TI(Swe(Rz),t,n)}));var XPe=[0,LPe,PPe,RPe,MPe,GPe,UPe,jPe,HPe],YPe=function r(e,n,t,u){return r.fun(e,n,t,u)},VPe=function r(e,n,t){return r.fun(e,n,t)},KPe=function r(e,n,t,u){return r.fun(e,n,t,u)},WPe=function r(e,n,t){return r.fun(e,n,t)};FB(YPe,(function(r,e,n,t){BI(wwe(n),xz),TI(r,n,t[1]),BI(wwe(n),Lz);var u=t[2];return OI(KPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Pz)})),FB(VPe,(function(r,e,n){var t=TI(YPe,r,e);return TI(Swe(Nz),t,n)})),FB(KPe,(function(r,e,n,t){BI(wwe(n),hz),TI(wwe(n),_z,yz);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Az),BI(wwe(n),Cz),TI(wwe(n),Sz,wz);var a=t[2];if(a){fwe(n,gz);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,dz)}),n,i),fwe(n,Bz)}else fwe(n,Tz);return BI(wwe(n),Iz),BI(wwe(n),Oz)})),FB(WPe,(function(r,e,n){var t=TI(KPe,r,e);return TI(Swe(kz),t,n)}));var JPe=[0,YPe,VPe,KPe,WPe],qPe=function r(e,n,t,u){return r.fun(e,n,t,u)},zPe=function r(e,n,t){return r.fun(e,n,t)},$Pe=function r(e,n,t,u){return r.fun(e,n,t,u)},QPe=function r(e,n,t){return r.fun(e,n,t)},ZPe=function r(e,n,t,u){return r.fun(e,n,t,u)},rRe=function r(e,n,t){return r.fun(e,n,t)};FB(qPe,(function(r,e,n,t){BI(wwe(n),Ez),TI(r,n,t[1]),BI(wwe(n),mz);var u=t[2];return OI(ZPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Fz)})),FB(zPe,(function(r,e,n){var t=TI(qPe,r,e);return TI(Swe(pz),t,n)})),FB($Pe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),vz);var u=t[1];return OI(yPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),lz)}BI(wwe(n),Dz);var a=t[1];return OI(qPe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),bz)})),FB(QPe,(function(r,e,n){var t=TI($Pe,r,e);return TI(Swe(sz),t,n)})),FB(ZPe,(function(r,e,n,t){BI(wwe(n),ez),TI(wwe(n),tz,nz);var u=t[1];OI($Pe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),uz),BI(wwe(n),az),TI(wwe(n),cz,iz);var a=t[2];return OI(yPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),fz),BI(wwe(n),oz)})),FB(rRe,(function(r,e,n){var t=TI(ZPe,r,e);return TI(Swe(rz),t,n)}));var eRe=[0,qPe,zPe,$Pe,QPe,ZPe,rRe],nRe=function r(e,n,t,u){return r.fun(e,n,t,u)},tRe=function r(e,n,t){return r.fun(e,n,t)};FB(nRe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),Jq);var u=t[1];return OI(yPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),qq);case 1:BI(wwe(n),zq);var a=t[1];return OI(SPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),$q);default:BI(wwe(n),Qq);var i=t[1];return OI(eRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),Zq)}})),FB(tRe,(function(r,e,n){var t=TI(nRe,r,e);return TI(Swe(Wq),t,n)}));var uRe=function r(e,n,t,u){return r.fun(e,n,t,u)},aRe=function r(e,n,t){return r.fun(e,n,t)},iRe=function r(e,n,t,u){return r.fun(e,n,t,u)},cRe=function r(e,n,t){return r.fun(e,n,t)},fRe=function r(e,n,t,u){return r.fun(e,n,t,u)},oRe=function r(e,n,t){return r.fun(e,n,t)};FB(uRe,(function(r,e,n,t){BI(wwe(n),Yq),TI(r,n,t[1]),BI(wwe(n),Vq);var u=t[2];return OI(fRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Kq)})),FB(aRe,(function(r,e,n){var t=TI(uRe,r,e);return TI(Swe(Xq),t,n)})),FB(iRe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),Gq);var u=t[1];return OI(XPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Uq)}BI(wwe(n),jq);var a=t[1];return OI(JPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),Hq)})),FB(cRe,(function(r,e,n){var t=TI(iRe,r,e);return TI(Swe(Mq),t,n)})),FB(fRe,(function(r,e,n,t){BI(wwe(n),yq),TI(wwe(n),Aq,_q);var u=t[1];OI(nRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Cq),BI(wwe(n),wq),TI(wwe(n),gq,Sq);var a=t[2];TI(wwe(n),Bq,a),BI(wwe(n),Tq),BI(wwe(n),Iq),TI(wwe(n),Nq,Oq);var i=t[3];return BI(wwe(n),xq),dAe((function(t,u){return t&&BI(wwe(n),hq),OI(iRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,i),BI(wwe(n),Lq),BI(wwe(n),Pq),BI(wwe(n),Rq)})),FB(oRe,(function(r,e,n){var t=TI(fRe,r,e);return TI(Swe(dq),t,n)}));var sRe=[0,uRe,aRe,iRe,cRe,fRe,oRe],vRe=function r(e,n,t,u){return r.fun(e,n,t,u)},lRe=function r(e,n,t){return r.fun(e,n,t)},DRe=function r(e,n,t,u){return r.fun(e,n,t,u)},bRe=function r(e,n,t){return r.fun(e,n,t)};FB(vRe,(function(r,e,n,t){BI(wwe(n),mq),TI(r,n,t[1]),BI(wwe(n),Fq);var u=t[2];return OI(DRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),kq)})),FB(lRe,(function(r,e,n){var t=TI(vRe,r,e);return TI(Swe(Eq),t,n)})),FB(DRe,(function(r,e,n,t){BI(wwe(n),vq),TI(wwe(n),Dq,lq);var u=t[1];return OI(nRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),bq),BI(wwe(n),pq)})),FB(bRe,(function(r,e,n){var t=TI(DRe,r,e);return TI(Swe(sq),t,n)}));var pRe=[0,vRe,lRe,DRe,bRe],ERe=function r(e,n,t,u){return r.fun(e,n,t,u)},mRe=function r(e,n,t){return r.fun(e,n,t)};FB(ERe,(function(r,e,n,t){BI(wwe(n),QJ),TI(wwe(n),rq,ZJ);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),eq),BI(wwe(n),nq),TI(wwe(n),uq,tq);var a=t[2];if(a){fwe(n,aq);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,$J)}),n,i),fwe(n,iq)}else fwe(n,cq);return BI(wwe(n),fq),BI(wwe(n),oq)})),FB(mRe,(function(r,e,n){var t=TI(ERe,r,e);return TI(Swe(zJ),t,n)}));var FRe=[0,ERe,mRe],kRe=function r(e,n,t,u){return r.fun(e,n,t,u)},dRe=function r(e,n,t){return r.fun(e,n,t)},hRe=function r(e,n,t,u){return r.fun(e,n,t,u)},yRe=function r(e,n,t){return r.fun(e,n,t)},_Re=function r(e,n,t,u){return r.fun(e,n,t,u)},ARe=function r(e,n,t){return r.fun(e,n,t)},CRe=function r(e,n,t,u){return r.fun(e,n,t,u)},wRe=function r(e,n,t){return r.fun(e,n,t)};FB(kRe,(function(r,e,n,t){BI(wwe(n),WJ),TI(r,n,t[1]),BI(wwe(n),JJ);var u=t[2];return OI(hRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),qJ)})),FB(dRe,(function(r,e,n){var t=TI(kRe,r,e);return TI(Swe(KJ),t,n)})),FB(hRe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),PJ);var u=t[1];return OI(_Re,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),RJ);case 1:BI(wwe(n),MJ);var a=t[1];return OI(CRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),GJ);case 2:BI(wwe(n),UJ);var i=t[1];return OI(OPe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),jJ);case 3:BI(wwe(n),HJ);var c=t[1];return OI(FRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),XJ);default:return BI(wwe(n),YJ),TI(xPe[1],n,t[1]),BI(wwe(n),VJ)}})),FB(yRe,(function(r,e,n){var t=TI(hRe,r,e);return TI(Swe(LJ),t,n)})),FB(_Re,(function(r,e,n,t){BI(wwe(n),cJ),TI(wwe(n),oJ,fJ);var u=t[1];OI(sRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),sJ),BI(wwe(n),vJ),TI(wwe(n),DJ,lJ);var a=t[2];if(a){fwe(n,bJ);var i=a[1];OI(pRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,pJ)}else fwe(n,EJ);BI(wwe(n),mJ),BI(wwe(n),FJ),TI(wwe(n),dJ,kJ);var c=t[3];BI(wwe(n),hJ),TI(r,n,c[1]),BI(wwe(n),yJ),BI(wwe(n),_J),dAe((function(t,u){return t&&BI(wwe(n),iJ),OI(kRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,c[2]),BI(wwe(n),AJ),BI(wwe(n),CJ),BI(wwe(n),wJ),BI(wwe(n),SJ),TI(wwe(n),BJ,gJ);var f=t[4];if(f){fwe(n,TJ);var o=f[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,aJ)}),n,o),fwe(n,IJ)}else fwe(n,OJ);return BI(wwe(n),NJ),BI(wwe(n),xJ)})),FB(ARe,(function(r,e,n){var t=TI(_Re,r,e);return TI(Swe(uJ),t,n)})),FB(CRe,(function(r,e,n,t){BI(wwe(n),NW),TI(wwe(n),LW,xW),TI(r,n,t[1]),BI(wwe(n),PW),BI(wwe(n),RW),TI(wwe(n),GW,MW),TI(r,n,t[2]),BI(wwe(n),UW),BI(wwe(n),jW),TI(wwe(n),XW,HW);var u=t[3];BI(wwe(n),YW),TI(r,n,u[1]),BI(wwe(n),VW),BI(wwe(n),KW),dAe((function(t,u){return t&&BI(wwe(n),OW),OI(kRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u[2]),BI(wwe(n),WW),BI(wwe(n),JW),BI(wwe(n),qW),BI(wwe(n),zW),TI(wwe(n),QW,$W);var a=t[4];if(a){fwe(n,ZW);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,IW)}),n,i),fwe(n,rJ)}else fwe(n,eJ);return BI(wwe(n),nJ),BI(wwe(n),tJ)})),FB(wRe,(function(r,e,n){var t=TI(CRe,r,e);return TI(Swe(TW),t,n)})),II(zwe,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],dSe,[0,yPe,SPe,OPe,xPe,XPe,JPe,eRe,nRe,tRe,sRe,pRe,FRe,kRe,dRe,hRe,yRe,_Re,ARe,CRe,wRe]);var SRe=function r(e,n,t,u){return r.fun(e,n,t,u)},gRe=function r(e,n,t){return r.fun(e,n,t)},BRe=function r(e,n,t,u){return r.fun(e,n,t,u)},TRe=function r(e,n,t){return r.fun(e,n,t)};FB(SRe,(function(r,e,n,t){BI(wwe(n),SW),TI(r,n,t[1]),BI(wwe(n),gW);var u=t[2];return OI(BRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),BW)})),FB(gRe,(function(r,e,n){var t=TI(SRe,r,e);return TI(Swe(wW),t,n)})),FB(BRe,(function(r,e,n,t){BI(wwe(n),bW),TI(wwe(n),EW,pW);var u=t[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),mW),BI(wwe(n),FW),TI(wwe(n),dW,kW);var a=t[2];if(a){fwe(n,hW);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,DW)}),n,i),fwe(n,yW)}else fwe(n,_W);return BI(wwe(n),AW),BI(wwe(n),CW)})),FB(TRe,(function(r,e,n){var t=TI(BRe,r,e);return TI(Swe(lW),t,n)}));var IRe=[0,SRe,gRe,BRe,TRe],ORe=function r(e,n,t,u){return r.fun(e,n,t,u)},NRe=function r(e,n,t){return r.fun(e,n,t)},xRe=function r(e,n,t,u){return r.fun(e,n,t,u)},LRe=function r(e,n,t){return r.fun(e,n,t)},PRe=function r(e,n,t,u){return r.fun(e,n,t,u)},RRe=function r(e,n,t){return r.fun(e,n,t)};FB(ORe,(function(r,e,n,t){switch(t[0]){case 0:var u=t[1];BI(wwe(n),tW),BI(wwe(n),uW),TI(r,n,u[1]),BI(wwe(n),aW);var a=u[2];return II(sSe[2],(function(e){return BI(r,e)}),n,a),BI(wwe(n),iW),BI(wwe(n),cW);case 1:BI(wwe(n),fW);var i=t[1];return OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),oW);default:BI(wwe(n),sW);var c=t[1];return OI(ESe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),vW)}})),FB(NRe,(function(r,e,n){var t=TI(ORe,r,e);return TI(Swe(nW),t,n)})),FB(xRe,(function(r,e,n,t){BI(wwe(n),ZK),TI(r,n,t[1]),BI(wwe(n),rW);var u=t[2];return OI(PRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),eW)})),FB(LRe,(function(r,e,n){var t=TI(xRe,r,e);return TI(Swe(QK),t,n)})),FB(PRe,(function(r,e,n,t){BI(wwe(n),IK),TI(wwe(n),NK,OK);var u=t[1];OI(ORe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),xK),BI(wwe(n),LK),TI(wwe(n),RK,PK);var a=t[2];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),MK),BI(wwe(n),GK),TI(wwe(n),jK,UK);var i=t[3];if(i){fwe(n,HK);var c=i[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),fwe(n,XK)}else fwe(n,YK);BI(wwe(n),VK),BI(wwe(n),KK),TI(wwe(n),JK,WK);var f=t[4];return TI(wwe(n),qK,f),BI(wwe(n),zK),BI(wwe(n),$K)})),FB(RRe,(function(r,e,n){var t=TI(PRe,r,e);return TI(Swe(TK),t,n)}));var MRe=[0,ORe,NRe,xRe,LRe,PRe,RRe],GRe=function r(e,n,t,u){return r.fun(e,n,t,u)},URe=function r(e,n,t){return r.fun(e,n,t)},jRe=function r(e,n,t,u){return r.fun(e,n,t,u)},HRe=function r(e,n,t){return r.fun(e,n,t)};FB(GRe,(function(r,e,n,t){if(0===t[0]){BI(wwe(n),wK);var u=t[1];return OI(MRe[3],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),SK)}BI(wwe(n),gK);var a=t[1];return OI(IRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),BK)})),FB(URe,(function(r,e,n){var t=TI(GRe,r,e);return TI(Swe(CK),t,n)})),FB(jRe,(function(r,e,n,t){BI(wwe(n),cK),TI(wwe(n),oK,fK);var u=t[1];BI(wwe(n),sK),dAe((function(t,u){return t&&BI(wwe(n),iK),OI(GRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),vK),BI(wwe(n),lK),BI(wwe(n),DK),TI(wwe(n),pK,bK);var a=t[2];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),EK),BI(wwe(n),mK),TI(wwe(n),kK,FK);var i=t[3];if(i){fwe(n,dK);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),uK),dAe((function(n,t){return n&&BI(wwe(e),tK),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),aK)}),n,c),fwe(n,hK)}else fwe(n,yK);return BI(wwe(n),_K),BI(wwe(n),AK)})),FB(HRe,(function(r,e,n){var t=TI(jRe,r,e);return TI(Swe(nK),t,n)}));var XRe=[0,MRe,GRe,URe,jRe,HRe],YRe=function r(e,n,t,u){return r.fun(e,n,t,u)},VRe=function r(e,n,t){return r.fun(e,n,t)},KRe=function r(e,n,t,u){return r.fun(e,n,t,u)},WRe=function r(e,n,t){return r.fun(e,n,t)};FB(YRe,(function(r,e,n,t){BI(wwe(n),ZV),TI(r,n,t[1]),BI(wwe(n),rK);var u=t[2];return OI(KRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),eK)})),FB(VRe,(function(r,e,n){var t=TI(YRe,r,e);return TI(Swe(QV),t,n)})),FB(KRe,(function(r,e,n,t){BI(wwe(n),UV),TI(wwe(n),HV,jV);var u=t[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),XV),BI(wwe(n),YV),TI(wwe(n),KV,VV);var a=t[2];if(a){fwe(n,WV);var i=a[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,JV)}else fwe(n,qV);return BI(wwe(n),zV),BI(wwe(n),$V)})),FB(WRe,(function(r,e,n){var t=TI(KRe,r,e);return TI(Swe(GV),t,n)}));var JRe=[0,YRe,VRe,KRe,WRe],qRe=function r(e,n,t,u){return r.fun(e,n,t,u)},zRe=function r(e,n,t){return r.fun(e,n,t)},$Re=function r(e,n,t,u){return r.fun(e,n,t,u)},QRe=function r(e,n,t){return r.fun(e,n,t)};FB(qRe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),NV);var u=t[1];return OI(JRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),xV);case 1:BI(wwe(n),LV);var a=t[1];return OI(IRe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),PV);default:return BI(wwe(n),RV),TI(r,n,t[1]),BI(wwe(n),MV)}})),FB(zRe,(function(r,e,n){var t=TI(qRe,r,e);return TI(Swe(OV),t,n)})),FB($Re,(function(r,e,n,t){BI(wwe(n),bV),TI(wwe(n),EV,pV);var u=t[1];BI(wwe(n),mV),dAe((function(t,u){return t&&BI(wwe(n),DV),OI(qRe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),FV),BI(wwe(n),kV),BI(wwe(n),dV),TI(wwe(n),yV,hV);var a=t[2];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),_V),BI(wwe(n),AV),TI(wwe(n),wV,CV);var i=t[3];if(i){fwe(n,SV);var c=i[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),vV),dAe((function(n,t){return n&&BI(wwe(e),sV),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),lV)}),n,c),fwe(n,gV)}else fwe(n,BV);return BI(wwe(n),TV),BI(wwe(n),IV)})),FB(QRe,(function(r,e,n){var t=TI($Re,r,e);return TI(Swe(oV),t,n)}));var ZRe=[0,JRe,qRe,zRe,$Re,QRe],rMe=function r(e,n,t,u){return r.fun(e,n,t,u)},eMe=function r(e,n,t){return r.fun(e,n,t)};FB(rMe,(function(r,e,n,t){BI(wwe(n),qY),TI(wwe(n),$Y,zY);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),QY),BI(wwe(n),ZY),TI(wwe(n),eV,rV);var a=t[2];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),nV),BI(wwe(n),tV),TI(wwe(n),aV,uV);var i=t[3];return TI(wwe(n),iV,i),BI(wwe(n),cV),BI(wwe(n),fV)})),FB(eMe,(function(r,e,n){var t=TI(rMe,r,e);return TI(Swe(JY),t,n)}));var nMe=[0,rMe,eMe],tMe=function r(e,n,t,u){return r.fun(e,n,t,u)},uMe=function r(e,n,t){return r.fun(e,n,t)},aMe=function r(e,n,t,u){return r.fun(e,n,t,u)},iMe=function r(e,n,t){return r.fun(e,n,t)};FB(tMe,(function(r,e,n,t){BI(wwe(n),VY),TI(e,n,t[1]),BI(wwe(n),KY);var u=t[2];return OI(aMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),WY)})),FB(uMe,(function(r,e,n){var t=TI(tMe,r,e);return TI(Swe(YY),t,n)})),FB(aMe,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),PY);var u=t[1];return OI(XRe[4],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),RY);case 1:BI(wwe(n),MY);var a=t[1];return OI(ZRe[4],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),GY);case 2:BI(wwe(n),UY);var i=t[1];return OI(nMe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),jY);default:BI(wwe(n),HY);var c=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),XY)}})),FB(iMe,(function(r,e,n){var t=TI(aMe,r,e);return TI(Swe(LY),t,n)})),II(zwe,[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],hSe,[0,IRe,XRe,ZRe,nMe,tMe,uMe,aMe,iMe]);var cMe=function r(e,n,t){return r.fun(e,n,t)},fMe=function r(e,n){return r.fun(e,n)},oMe=function r(e,n){return r.fun(e,n)},sMe=function r(e){return r.fun(e)},vMe=function r(e,n){return r.fun(e,n)},lMe=function r(e){return r.fun(e)};FB(cMe,(function(r,e,n){return BI(wwe(e),OY),TI(r,e,n[1]),BI(wwe(e),NY),TI(vMe,e,n[2]),BI(wwe(e),xY)})),FB(fMe,(function(r,e){var n=BI(cMe,r);return TI(Swe(IY),n,e)})),FB(oMe,(function(r,e){return fwe(r,e?BY:TY)})),FB(sMe,(function(r){return TI(Swe(gY),oMe,r)})),FB(vMe,(function(r,e){BI(wwe(r),DY),TI(wwe(r),pY,bY),TI(oMe,r,e[1]),BI(wwe(r),EY),BI(wwe(r),mY),TI(wwe(r),kY,FY);var n=e[2];TI(wwe(r),dY,n),BI(wwe(r),hY),BI(wwe(r),yY),TI(wwe(r),AY,_Y);var t=e[3];return TI(wwe(r),CY,t),BI(wwe(r),wY),BI(wwe(r),SY)})),FB(lMe,(function(r){return TI(Swe(lY),vMe,r)})),II(zwe,[0,[0,0,0,0,0,0,0]],ySe,[0,cMe,fMe,oMe,sMe,vMe,lMe]);var DMe=function r(e,n,t,u){return r.fun(e,n,t,u)},bMe=function r(e,n,t){return r.fun(e,n,t)},pMe=function r(e,n){return r.fun(e,n)},EMe=function r(e){return r.fun(e)},mMe=function r(e,n,t,u){return r.fun(e,n,t,u)},FMe=function r(e,n,t){return r.fun(e,n,t)};FB(DMe,(function(r,e,n,t){BI(wwe(n),oY),TI(e,n,t[1]),BI(wwe(n),sY);var u=t[2];return OI(mMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),vY)})),FB(bMe,(function(r,e,n){var t=TI(DMe,r,e);return TI(Swe(fY),t,n)})),FB(pMe,(function(r,e){switch(e){case 0:return fwe(r,uY);case 1:return fwe(r,aY);case 2:return fwe(r,iY);default:return fwe(r,cY)}})),FB(EMe,(function(r){return TI(Swe(tY),pMe,r)})),FB(mMe,(function(r,e,n,t){BI(wwe(n),_X),TI(wwe(n),CX,AX),TI(pMe,n,t[1]),BI(wwe(n),wX),BI(wwe(n),SX),TI(wwe(n),BX,gX);var u=t[2];OI(kSe[7][1][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),TX),BI(wwe(n),IX),TI(wwe(n),NX,OX);var a=t[3];BI(wwe(n),xX),TI(r,n,a[1]),BI(wwe(n),LX);var i=a[2];OI(ASe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),PX),BI(wwe(n),RX),BI(wwe(n),MX),TI(wwe(n),UX,GX);var c=t[4];TI(wwe(n),jX,c),BI(wwe(n),HX),BI(wwe(n),XX),TI(wwe(n),VX,YX);var f=t[5];BI(wwe(n),KX),dAe((function(t,u){return t&&BI(wwe(n),yX),OI(_Se[7][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,f),BI(wwe(n),WX),BI(wwe(n),JX),BI(wwe(n),qX),TI(wwe(n),$X,zX);var o=t[6];if(o){fwe(n,QX);var s=o[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,hX)}),n,s),fwe(n,ZX)}else fwe(n,rY);return BI(wwe(n),eY),BI(wwe(n),nY)})),FB(FMe,(function(r,e,n){var t=TI(mMe,r,e);return TI(Swe(dX),t,n)}));var kMe=[0,DMe,bMe,pMe,EMe,mMe,FMe],dMe=function r(e,n,t,u){return r.fun(e,n,t,u)},hMe=function r(e,n,t){return r.fun(e,n,t)},yMe=function r(e,n,t,u){return r.fun(e,n,t,u)},_Me=function r(e,n,t){return r.fun(e,n,t)},AMe=function r(e,n,t,u){return r.fun(e,n,t,u)},CMe=function r(e,n,t){return r.fun(e,n,t)};FB(dMe,(function(r,e,n,t){BI(wwe(n),mX),TI(e,n,t[1]),BI(wwe(n),FX);var u=t[2];return OI(yMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),kX)})),FB(hMe,(function(r,e,n){var t=TI(dMe,r,e);return TI(Swe(EX),t,n)})),FB(yMe,(function(r,e,n,t){BI(wwe(n),MH),TI(wwe(n),UH,GH);var u=t[1];OI(kSe[7][1][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),jH),BI(wwe(n),HH),TI(wwe(n),YH,XH);var a=t[2];OI(AMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),VH),BI(wwe(n),KH),TI(wwe(n),JH,WH);var i=t[3];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),qH),BI(wwe(n),zH),TI(wwe(n),QH,$H);var c=t[4];TI(wwe(n),ZH,c),BI(wwe(n),rX),BI(wwe(n),eX),TI(wwe(n),tX,nX);var f=t[5];if(f){fwe(n,uX);var o=f[1];II(pSe[1],(function(e){return BI(r,e)}),n,o),fwe(n,aX)}else fwe(n,iX);BI(wwe(n),cX),BI(wwe(n),fX),TI(wwe(n),sX,oX);var s=t[6];if(s){fwe(n,vX);var v=s[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,RH)}),n,v),fwe(n,lX)}else fwe(n,DX);return BI(wwe(n),bX),BI(wwe(n),pX)})),FB(_Me,(function(r,e,n){var t=TI(yMe,r,e);return TI(Swe(PH),t,n)})),FB(AMe,(function(r,e,n,t){if("number"==typeof t)return fwe(n,t?OH:NH);BI(wwe(n),xH);var u=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),LH)})),FB(CMe,(function(r,e,n){var t=TI(AMe,r,e);return TI(Swe(IH),t,n)}));var wMe=[0,dMe,hMe,yMe,_Me,AMe,CMe],SMe=function r(e,n,t,u){return r.fun(e,n,t,u)},gMe=function r(e,n,t){return r.fun(e,n,t)},BMe=function r(e,n,t,u){return r.fun(e,n,t,u)},TMe=function r(e,n,t){return r.fun(e,n,t)};FB(SMe,(function(r,e,n,t){BI(wwe(n),gH),TI(e,n,t[1]),BI(wwe(n),BH);var u=t[2];return OI(BMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),TH)})),FB(gMe,(function(r,e,n){var t=TI(SMe,r,e);return TI(Swe(SH),t,n)})),FB(BMe,(function(r,e,n,t){BI(wwe(n),qj),TI(wwe(n),$j,zj);var u=t[1];II(oSe[1],(function(e){return BI(r,e)}),n,u),BI(wwe(n),Qj),BI(wwe(n),Zj),TI(wwe(n),eH,rH);var a=t[2];OI(_Se[2][5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),nH),BI(wwe(n),tH),TI(wwe(n),aH,uH);var i=t[3];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),iH),BI(wwe(n),cH),TI(wwe(n),oH,fH);var c=t[4];TI(wwe(n),sH,c),BI(wwe(n),vH),BI(wwe(n),lH),TI(wwe(n),bH,DH);var f=t[5];if(f){fwe(n,pH);var o=f[1];II(pSe[1],(function(e){return BI(r,e)}),n,o),fwe(n,EH)}else fwe(n,mH);BI(wwe(n),FH),BI(wwe(n),kH),TI(wwe(n),hH,dH);var s=t[6];if(s){fwe(n,yH);var v=s[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,Jj)}),n,v),fwe(n,_H)}else fwe(n,AH);return BI(wwe(n),CH),BI(wwe(n),wH)})),FB(TMe,(function(r,e,n){var t=TI(BMe,r,e);return TI(Swe(Wj),t,n)}));var IMe=[0,SMe,gMe,BMe,TMe],OMe=function r(e,n,t,u){return r.fun(e,n,t,u)},NMe=function r(e,n,t){return r.fun(e,n,t)},xMe=function r(e,n,t,u){return r.fun(e,n,t,u)},LMe=function r(e,n,t){return r.fun(e,n,t)};FB(OMe,(function(r,e,n,t){BI(wwe(n),Yj),TI(r,n,t[1]),BI(wwe(n),Vj);var u=t[2];return OI(xMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Kj)})),FB(NMe,(function(r,e,n){var t=TI(OMe,r,e);return TI(Swe(Xj),t,n)})),FB(xMe,(function(r,e,n,t){BI(wwe(n),Aj),TI(wwe(n),wj,Cj);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),Sj),BI(wwe(n),gj),TI(wwe(n),Tj,Bj);var a=t[2];if(a){fwe(n,Ij);var i=a[1];OI(mSe[23][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,Oj)}else fwe(n,Nj);BI(wwe(n),xj),BI(wwe(n),Lj),TI(wwe(n),Rj,Pj);var c=t[3];if(c){fwe(n,Mj);var f=c[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,_j)}),n,f),fwe(n,Gj)}else fwe(n,Uj);return BI(wwe(n),jj),BI(wwe(n),Hj)})),FB(LMe,(function(r,e,n){var t=TI(xMe,r,e);return TI(Swe(yj),t,n)}));var PMe=[0,OMe,NMe,xMe,LMe],RMe=function r(e,n,t,u){return r.fun(e,n,t,u)},MMe=function r(e,n,t){return r.fun(e,n,t)},GMe=function r(e,n,t,u){return r.fun(e,n,t,u)},UMe=function r(e,n,t){return r.fun(e,n,t)};FB(RMe,(function(r,e,n,t){BI(wwe(n),kj),TI(r,n,t[1]),BI(wwe(n),dj);var u=t[2];return OI(GMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),hj)})),FB(MMe,(function(r,e,n){var t=TI(RMe,r,e);return TI(Swe(Fj),t,n)})),FB(GMe,(function(r,e,n,t){BI(wwe(n),ij),TI(wwe(n),fj,cj);var u=t[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),oj),BI(wwe(n),sj),TI(wwe(n),lj,vj);var a=t[2];if(a){fwe(n,Dj);var i=a[1];OI(mSe[23][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,bj)}else fwe(n,pj);return BI(wwe(n),Ej),BI(wwe(n),mj)})),FB(UMe,(function(r,e,n){var t=TI(GMe,r,e);return TI(Swe(aj),t,n)}));var jMe=[0,RMe,MMe,GMe,UMe],HMe=function r(e,n,t,u){return r.fun(e,n,t,u)},XMe=function r(e,n,t){return r.fun(e,n,t)},YMe=function r(e,n,t,u){return r.fun(e,n,t,u)},VMe=function r(e,n,t){return r.fun(e,n,t)};FB(HMe,(function(r,e,n,t){BI(wwe(n),nj),TI(r,n,t[1]),BI(wwe(n),tj);var u=t[2];return OI(YMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),uj)})),FB(XMe,(function(r,e,n){var t=TI(HMe,r,e);return TI(Swe(ej),t,n)})),FB(YMe,(function(r,e,n,t){BI(wwe(n),jU),TI(wwe(n),XU,HU);var u=t[1];BI(wwe(n),YU),dAe((function(t,u){return t&&BI(wwe(n),UU),OI(jMe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),VU),BI(wwe(n),KU),BI(wwe(n),WU),TI(wwe(n),qU,JU);var a=t[2];if(a){fwe(n,zU);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,GU)}),n,i),fwe(n,$U)}else fwe(n,QU);return BI(wwe(n),ZU),BI(wwe(n),rj)})),FB(VMe,(function(r,e,n){var t=TI(YMe,r,e);return TI(Swe(MU),t,n)}));var KMe=[0,jMe,HMe,XMe,YMe,VMe],WMe=function r(e,n,t,u){return r.fun(e,n,t,u)},JMe=function r(e,n,t){return r.fun(e,n,t)},qMe=function r(e,n,t,u){return r.fun(e,n,t,u)},zMe=function r(e,n,t){return r.fun(e,n,t)},$Me=function r(e,n,t,u){return r.fun(e,n,t,u)},QMe=function r(e,n,t){return r.fun(e,n,t)};FB(WMe,(function(r,e,n,t){BI(wwe(n),LU),TI(r,n,t[1]),BI(wwe(n),PU);var u=t[2];return OI(qMe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),RU)})),FB(JMe,(function(r,e,n){var t=TI(WMe,r,e);return TI(Swe(xU),t,n)})),FB(qMe,(function(r,e,n,t){BI(wwe(n),dU),TI(wwe(n),yU,hU);var u=t[1];BI(wwe(n),_U),dAe((function(t,u){return t&&BI(wwe(n),kU),OI($Me,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),AU),BI(wwe(n),CU),BI(wwe(n),wU),TI(wwe(n),gU,SU);var a=t[2];if(a){fwe(n,BU);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,FU)}),n,i),fwe(n,TU)}else fwe(n,IU);return BI(wwe(n),OU),BI(wwe(n),NU)})),FB(zMe,(function(r,e,n){var t=TI(qMe,r,e);return TI(Swe(mU),t,n)})),FB($Me,(function(r,e,n,t){switch(t[0]){case 0:BI(wwe(n),vU);var u=t[1];return OI(kMe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),lU);case 1:BI(wwe(n),DU);var a=t[1];return OI(wMe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),bU);default:BI(wwe(n),pU);var i=t[1];return OI(IMe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),EU)}})),FB(QMe,(function(r,e,n){var t=TI($Me,r,e);return TI(Swe(sU),t,n)}));var ZMe=function r(e,n,t,u){return r.fun(e,n,t,u)},rGe=function r(e,n,t){return r.fun(e,n,t)},eGe=function r(e,n,t,u){return r.fun(e,n,t,u)},nGe=function r(e,n,t){return r.fun(e,n,t)},tGe=[0,WMe,JMe,qMe,zMe,$Me,QMe];FB(ZMe,(function(r,e,n,t){BI(wwe(n),cU),TI(r,n,t[1]),BI(wwe(n),fU);var u=t[2];return OI(eGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),oU)})),FB(rGe,(function(r,e,n){var t=TI(ZMe,r,e);return TI(Swe(iU),t,n)})),FB(eGe,(function(r,e,n,t){BI(wwe(n),JG),TI(wwe(n),zG,qG);var u=t[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),$G),BI(wwe(n),QG),TI(wwe(n),rU,ZG);var a=t[2];if(a){fwe(n,eU);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,WG)}),n,i),fwe(n,nU)}else fwe(n,tU);return BI(wwe(n),uU),BI(wwe(n),aU)})),FB(nGe,(function(r,e,n){var t=TI(eGe,r,e);return TI(Swe(KG),t,n)}));var uGe=[0,ZMe,rGe,eGe,nGe],aGe=function r(e,n,t,u){return r.fun(e,n,t,u)},iGe=function r(e,n,t){return r.fun(e,n,t)};FB(aGe,(function(r,e,n,t){BI(wwe(n),rG),TI(wwe(n),nG,eG);var u=t[1];if(u){fwe(n,tG);var a=u[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,uG)}else fwe(n,aG);BI(wwe(n),iG),BI(wwe(n),cG),TI(wwe(n),oG,fG);var i=t[2];OI(_Se[6][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),sG),BI(wwe(n),vG),TI(wwe(n),DG,lG);var c=t[3];if(c){fwe(n,bG);var f=c[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),fwe(n,pG)}else fwe(n,EG);BI(wwe(n),mG),BI(wwe(n),FG),TI(wwe(n),dG,kG);var o=t[4];if(o){fwe(n,hG);var s=o[1];OI(PMe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,s),fwe(n,yG)}else fwe(n,_G);BI(wwe(n),AG),BI(wwe(n),CG),TI(wwe(n),SG,wG);var v=t[5];if(v){fwe(n,gG);var l=v[1];OI(KMe[2],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,l),fwe(n,BG)}else fwe(n,TG);BI(wwe(n),IG),BI(wwe(n),OG),TI(wwe(n),xG,NG);var D=t[6];BI(wwe(n),LG),dAe((function(t,u){return t&&BI(wwe(n),ZM),OI(uGe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,D),BI(wwe(n),PG),BI(wwe(n),RG),BI(wwe(n),MG),TI(wwe(n),UG,GG);var b=t[7];if(b){fwe(n,jG);var p=b[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,QM)}),n,p),fwe(n,HG)}else fwe(n,XG);return BI(wwe(n),YG),BI(wwe(n),VG)})),FB(iGe,(function(r,e,n){var t=TI(aGe,r,e);return TI(Swe($M),t,n)})),II(zwe,[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],_Se,[0,kMe,wMe,IMe,PMe,KMe,tGe,uGe,aGe,iGe]);var cGe=function r(e,n,t,u){return r.fun(e,n,t,u)},fGe=function r(e,n,t){return r.fun(e,n,t)},oGe=function r(e,n,t,u){return r.fun(e,n,t,u)},sGe=function r(e,n,t){return r.fun(e,n,t)};FB(cGe,(function(r,e,n,t){BI(wwe(n),JM),TI(r,n,t[1]),BI(wwe(n),qM);var u=t[2];return OI(oGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),zM)})),FB(fGe,(function(r,e,n){var t=TI(cGe,r,e);return TI(Swe(WM),t,n)})),FB(oGe,(function(r,e,n,t){BI(wwe(n),LM),TI(wwe(n),RM,PM);var u=t[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),MM),BI(wwe(n),GM),TI(wwe(n),jM,UM);var a=t[2];if(a){fwe(n,HM);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,xM)}),n,i),fwe(n,XM)}else fwe(n,YM);return BI(wwe(n),VM),BI(wwe(n),KM)})),FB(sGe,(function(r,e,n){var t=TI(oGe,r,e);return TI(Swe(NM),t,n)}));var vGe=[0,cGe,fGe,oGe,sGe],lGe=function r(e,n,t,u){return r.fun(e,n,t,u)},DGe=function r(e,n,t){return r.fun(e,n,t)},bGe=function r(e,n,t,u){return r.fun(e,n,t,u)},pGe=function r(e,n,t){return r.fun(e,n,t)};FB(lGe,(function(r,e,n,t){BI(wwe(n),TM),TI(r,n,t[1]),BI(wwe(n),IM);var u=t[2];return OI(bGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),OM)})),FB(DGe,(function(r,e,n){var t=TI(lGe,r,e);return TI(Swe(BM),t,n)})),FB(bGe,(function(r,e,n,t){BI(wwe(n),mM),TI(wwe(n),kM,FM);var u=t[1];OI(hSe[5],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),dM),BI(wwe(n),hM),TI(wwe(n),_M,yM);var a=t[2];if(a){fwe(n,AM);var i=a[1];OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),fwe(n,CM)}else fwe(n,wM);return BI(wwe(n),SM),BI(wwe(n),gM)})),FB(pGe,(function(r,e,n){var t=TI(bGe,r,e);return TI(Swe(EM),t,n)}));var EGe=[0,lGe,DGe,bGe,pGe],mGe=function r(e,n,t,u){return r.fun(e,n,t,u)},FGe=function r(e,n,t){return r.fun(e,n,t)},kGe=function r(e,n,t,u){return r.fun(e,n,t,u)},dGe=function r(e,n,t){return r.fun(e,n,t)};FB(mGe,(function(r,e,n,t){BI(wwe(n),DM),TI(r,n,t[1]),BI(wwe(n),bM);var u=t[2];return OI(kGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),pM)})),FB(FGe,(function(r,e,n){var t=TI(mGe,r,e);return TI(Swe(lM),t,n)})),FB(kGe,(function(r,e,n,t){BI(wwe(n),rM),TI(wwe(n),nM,eM);var u=t[1];OI(mSe[17],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),tM),BI(wwe(n),uM),TI(wwe(n),iM,aM);var a=t[2];if(a){fwe(n,cM);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,ZR)}),n,i),fwe(n,fM)}else fwe(n,oM);return BI(wwe(n),sM),BI(wwe(n),vM)})),FB(dGe,(function(r,e,n){var t=TI(kGe,r,e);return TI(Swe(QR),t,n)}));var hGe=[0,mGe,FGe,kGe,dGe],yGe=function r(e,n,t,u){return r.fun(e,n,t,u)},_Ge=function r(e,n,t){return r.fun(e,n,t)},AGe=function r(e,n,t,u){return r.fun(e,n,t,u)},CGe=function r(e,n,t){return r.fun(e,n,t)};FB(yGe,(function(r,e,n,t){BI(wwe(n),qR),TI(r,n,t[1]),BI(wwe(n),zR);var u=t[2];return OI(AGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),$R)})),FB(_Ge,(function(r,e,n){var t=TI(yGe,r,e);return TI(Swe(JR),t,n)})),FB(AGe,(function(r,e,n,t){BI(wwe(n),dR),TI(wwe(n),yR,hR);var u=t[1];if(u){fwe(n,_R);var a=u[1];OI(hGe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,AR)}else fwe(n,CR);BI(wwe(n),wR),BI(wwe(n),SR),TI(wwe(n),BR,gR);var i=t[2];BI(wwe(n),TR),dAe((function(t,u){return t&&BI(wwe(n),kR),OI(EGe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,i),BI(wwe(n),IR),BI(wwe(n),OR),BI(wwe(n),NR),TI(wwe(n),LR,xR);var c=t[3];if(c){fwe(n,PR);var f=c[1];OI(vGe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,f),fwe(n,RR)}else fwe(n,MR);BI(wwe(n),GR),BI(wwe(n),UR),TI(wwe(n),HR,jR);var o=t[4];if(o){fwe(n,XR);var s=o[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(e,n){return BI(wwe(e),mR),dAe((function(n,t){return n&&BI(wwe(e),ER),II(ySe[1],(function(e){return BI(r,e)}),e,t),1}),0,n),BI(wwe(e),FR)}),n,s),fwe(n,YR)}else fwe(n,VR);return BI(wwe(n),KR),BI(wwe(n),WR)})),FB(CGe,(function(r,e,n){var t=TI(AGe,r,e);return TI(Swe(pR),t,n)}));var wGe=[0,yGe,_Ge,AGe,CGe],SGe=function r(e,n,t,u){return r.fun(e,n,t,u)},gGe=function r(e,n,t){return r.fun(e,n,t)},BGe=function r(e,n,t,u){return r.fun(e,n,t,u)},TGe=function r(e,n,t){return r.fun(e,n,t)};FB(SGe,(function(r,e,n,t){BI(wwe(n),bP),TI(wwe(n),EP,pP);var u=t[1];if(u){fwe(n,mP);var a=u[1];OI(fSe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),fwe(n,FP)}else fwe(n,kP);BI(wwe(n),dP),BI(wwe(n),hP),TI(wwe(n),_P,yP);var i=t[2];OI(wGe[1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),AP),BI(wwe(n),CP),TI(wwe(n),SP,wP);var c=t[3];OI(BGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,c),BI(wwe(n),gP),BI(wwe(n),BP),TI(wwe(n),IP,TP);var f=t[4];TI(wwe(n),OP,f),BI(wwe(n),NP),BI(wwe(n),xP),TI(wwe(n),PP,LP);var o=t[5];TI(wwe(n),RP,o),BI(wwe(n),MP),BI(wwe(n),GP),TI(wwe(n),jP,UP);var s=t[6];if(s){fwe(n,HP);var v=s[1];OI(mSe[24][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,v),fwe(n,XP)}else fwe(n,YP);BI(wwe(n),VP),BI(wwe(n),KP),TI(wwe(n),JP,WP);var l=t[7];OI(mSe[19],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,l),BI(wwe(n),qP),BI(wwe(n),zP),TI(wwe(n),QP,$P);var D=t[8];if(D){fwe(n,ZP);var b=D[1];OI(mSe[22][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,b),fwe(n,rR)}else fwe(n,eR);BI(wwe(n),nR),BI(wwe(n),tR),TI(wwe(n),aR,uR);var p=t[9];if(p){fwe(n,iR);var E=p[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,DP)}),n,E),fwe(n,cR)}else fwe(n,fR);return BI(wwe(n),oR),BI(wwe(n),sR),TI(wwe(n),lR,vR),TI(r,n,t[10]),BI(wwe(n),DR),BI(wwe(n),bR)})),FB(gGe,(function(r,e,n){var t=TI(SGe,r,e);return TI(Swe(lP),t,n)})),FB(BGe,(function(r,e,n,t){if(0===t[0]){var u=t[1];BI(wwe(n),aP),BI(wwe(n),iP),TI(r,n,u[1]),BI(wwe(n),cP);var a=u[2];return OI(FSe[1][1],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,a),BI(wwe(n),fP),BI(wwe(n),oP)}BI(wwe(n),sP);var i=t[1];return OI(kSe[31],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,i),BI(wwe(n),vP)})),FB(TGe,(function(r,e,n){var t=TI(BGe,r,e);return TI(Swe(uP),t,n)})),II(zwe,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],ASe,[0,vGe,EGe,hGe,wGe,SGe,gGe,BGe,TGe]);var IGe=function r(e,n,t,u){return r.fun(e,n,t,u)},OGe=function r(e,n,t){return r.fun(e,n,t)},NGe=function r(e,n,t,u){return r.fun(e,n,t,u)},xGe=function r(e,n,t){return r.fun(e,n,t)};function LGe(r,e){if(e){var n=e[1],t=BI(r,n);return n===t?e:[0,t]}return e}function PGe(r,e,n,t,u){var a=TI(r,e,n);return n===a?t:BI(u,a)}function RGe(r,e,n,t){var u=BI(r,e);return e===u?n:BI(t,u)}function MGe(r,e){var n=e[1];return PGe(r,n,e[2],e,(function(r){return[0,n,r]}))}function GGe(r,e){var n=dAe((function(e,n){var t=BI(r,n),u=e[2]||(t!==n?1:0);return[0,[0,t,e[1]],u]}),EVr,e);return n[2]?pAe(n[1]):e}FB(IGe,(function(r,e,n,t){BI(wwe(n),eP),TI(r,n,t[1]),BI(wwe(n),nP);var u=t[2];return OI(NGe,(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),BI(wwe(n),tP)})),FB(OGe,(function(r,e,n){var t=TI(IGe,r,e);return TI(Swe(rP),t,n)})),FB(NGe,(function(r,e,n,t){BI(wwe(n),xL),TI(wwe(n),PL,LL);var u=t[1];BI(wwe(n),RL),dAe((function(t,u){return t&&BI(wwe(n),NL),OI(FSe[35],(function(e){return BI(r,e)}),(function(r){return BI(e,r)}),n,u),1}),0,u),BI(wwe(n),ML),BI(wwe(n),GL),BI(wwe(n),UL),TI(wwe(n),HL,jL);var a=t[2];if(a){fwe(n,XL);var i=a[1];OI(cSe[1],(function(e){return BI(r,e)}),(function(r,e){return fwe(r,OL)}),n,i),fwe(n,YL)}else fwe(n,VL);BI(wwe(n),KL),BI(wwe(n),WL),TI(wwe(n),qL,JL);var c=t[3];return BI(wwe(n),zL),dAe((function(e,t){return e&&BI(wwe(n),IL),II(ySe[1],(function(e){return BI(r,e)}),n,t),1}),0,c),BI(wwe(n),$L),BI(wwe(n),QL),BI(wwe(n),ZL)})),FB(xGe,(function(r,e,n){var t=TI(NGe,r,e);return TI(Swe(TL),t,n)})),II(zwe,[0,[0,0,0,0,0]],SSe,[0,IGe,OGe,NGe,xGe]);var UGe=Vwe(FVr,(function(r){var e=Gwe(r,mVr),n=e[1],t=e[2],u=e[3],a=e[4],i=e[5],c=e[6],f=e[7],o=e[8],v=e[9],l=e[10],D=e[11],b=e[12],p=e[13],E=e[14],m=e[15],F=e[16],k=e[17],d=e[18],h=e[19],y=e[20],_=e[21],A=e[22],C=e[23],w=e[24],g=e[25],T=e[26],I=e[27],O=e[28],N=e[29],x=e[30],L=e[31],P=e[32],R=e[33],M=e[34],G=e[35],U=e[36],j=e[37],H=e[38],X=e[39],Y=e[40],V=e[41],K=e[42],W=e[44],J=e[45],q=e[46],z=e[47],$=e[48],Q=e[49],Z=e[50],rr=e[51],er=e[52],nr=e[53],tr=e[54],ur=e[55],ar=e[56],ir=e[57],cr=e[58],fr=e[60],or=e[61],sr=e[62],vr=e[63],lr=e[64],Dr=e[65],br=e[66],pr=e[67],Er=e[68],mr=e[69],Fr=e[70],kr=e[71],dr=e[72],hr=e[73],yr=e[74],_r=e[75],Ar=e[76],Cr=e[77],wr=e[78],Sr=e[79],gr=e[80],Br=e[81],Tr=e[82],Ir=e[83],Or=e[84],Nr=e[85],xr=e[86],Lr=e[87],Pr=e[88],Rr=e[89],Mr=e[90],Gr=e[91],Ur=e[92],jr=e[93],Hr=e[94],Xr=e[95],Yr=e[96],Kr=e[97],Wr=e[98],Jr=e[99],qr=e[pu],zr=e[Ik],$r=e[wk],Qr=e[Zv],Zr=e[mk],re=e[yS],ee=e[Ra],ne=e[Mu],te=e[xp],ue=e[bd],ae=e[Je],ie=e[Vr],ce=e[Te],fe=e[Qt],oe=e[li],se=e[AC],ve=e[bm],le=e[An],De=e[ik],be=e[bk],pe=e[Kw],Ee=e[Mw],me=e[S],Fe=e[Lb],de=e[VE],he=e[PF],ye=e[126],_e=e[r_],Ae=e[B],Ce=e[129],we=e[130],Se=e[131],ge=e[132],Be=e[133],Ie=e[sB],Oe=e[135],Ne=e[136],xe=e[137],Le=e[ns],Pe=e[139],Re=e[140],Me=e[141],Ge=e[142],Ue=e[143],je=e[144],He=e[145],Xe=e[146],Ye=e[147],Ve=e[_w],Ke=e[149],We=e[150],qe=e[151],ze=e[152],$e=e[153],Qe=e[154],Ze=e[155],rn=e[156],en=e[157],nn=e[158],tn=e[159],un=e[160],an=e[161],cn=e[162],fn=e[163],on=e[164],sn=e[165],vn=e[166],ln=e[167],Dn=e[168],bn=e[169],pn=e[170],En=e[171],mn=e[172],Fn=e[173],kn=e[174],dn=e[175],hn=e[176],yn=e[177],_n=e[178],Cn=e[179],wn=e[180],Sn=e[181],gn=e[182],Bn=e[183],Tn=e[184],In=e[185],On=e[186],Nn=e[187],xn=e[188],Ln=e[189],Pn=e[190],Rn=e[191],Mn=e[s],Gn=e[193],Un=e[194],jn=e[195],Hn=e[196],Xn=e[197],Yn=e[198],Vn=e[199],Kn=e[200],Wn=e[201],Jn=e[202],qn=e[203],zn=e[204],$n=e[205],Qn=e[206],Zn=e[207],rt=e[208],et=e[209],nt=e[210],tt=e[ke],ut=e[212],at=e[213],it=e[214],ct=e[215],ft=e[216],ot=e[217],st=e[218],vt=e[219],lt=e[220],Dt=e[221],bt=e[222],pt=e[co],Et=e[eo],mt=e[225],Ft=e[226],kt=e[227],dt=e[228],ht=e[229],yt=e[230],_t=e[231],At=e[232],Ct=e[233],wt=e[234],St=e[la],gt=e[236],Bt=e[237],Tt=e[238],It=e[ey],Ot=e[43],Nt=e[59];return qwe(r,[0,Ot,function(r,e){var n=e[2],t=n[3],u=n[2],a=n[1],i=TI(r[1][1+w],r,a),c=TI(r[1][1+x],r,u),f=GGe(BI(r[1][1+Qn],r),t);return a===i&&u===c&&t===f?e:[0,e[1],[0,i,c,f]]},H,function(r,e){var n=e[2],a=e[1];switch(n[0]){case 0:var i=n[1];return PGe(BI(r[1][1+yt],r),a,i,e,(function(r){return[0,a,[0,r]]}));case 1:var c=n[1];return PGe(BI(r[1][1+dt],r),a,c,e,(function(r){return[0,a,[1,r]]}));case 2:var f=n[1];return PGe(BI(r[1][1+st],r),a,f,e,(function(r){return[0,a,[2,r]]}));case 3:var s=n[1];return PGe(BI(r[1][1+Jn],r),a,s,e,(function(r){return[0,a,[3,r]]}));case 4:var v=n[1];return PGe(BI(r[1][1+Wn],r),a,v,e,(function(r){return[0,a,[4,r]]}));case 5:var l=n[1];return PGe(BI(r[1][1+Kn],r),a,l,e,(function(r){return[0,a,[5,r]]}));case 6:var D=n[1];return PGe(BI(r[1][1+Vn],r),a,D,e,(function(r){return[0,a,[6,r]]}));case 7:var b=n[1];return PGe(BI(r[1][1+Xn],r),a,b,e,(function(r){return[0,a,[7,r]]}));case 8:var p=n[1];return PGe(BI(r[1][1+Hn],r),a,p,e,(function(r){return[0,a,[8,r]]}));case 9:var E=n[1];return PGe(BI(r[1][1+jn],r),a,E,e,(function(r){return[0,a,[9,r]]}));case 10:var m=n[1];return PGe(BI(r[1][1+Un],r),a,m,e,(function(r){return[0,a,[10,r]]}));case 11:var F=n[1];return PGe(BI(r[1][1+Gn],r),a,F,e,(function(r){return[0,a,[11,r]]}));case 12:var k=n[1];return PGe(BI(r[1][1+mr],r),a,k,e,(function(r){return[0,a,[33,r]]}));case 13:var d=n[1];return PGe(BI(r[1][1+Mn],r),a,d,e,(function(r){return[0,a,[13,r]]}));case 14:var h=n[1];return PGe(BI(r[1][1+Rn],r),a,h,e,(function(r){return[0,a,[14,r]]}));case 15:var _=n[1];return PGe(BI(r[1][1+Pn],r),a,_,e,(function(r){return[0,a,[15,r]]}));case 16:var A=n[1];return PGe(BI(r[1][1+On],r),a,A,e,(function(r){return[0,a,[16,r]]}));case 17:var w=n[1];return PGe(BI(r[1][1+yn],r),a,w,e,(function(r){return[0,a,[17,r]]}));case 18:var S=n[1];return PGe(BI(r[1][1+dn],r),a,S,e,(function(r){return[0,a,[18,r]]}));case 19:var B=n[1];return PGe(BI(r[1][1+pn],r),a,B,e,(function(r){return[0,a,[19,r]]}));case 20:var T=n[1];return PGe(BI(r[1][1+un],r),a,T,e,(function(r){return[0,a,[20,r]]}));case 21:var I=n[1];return PGe(BI(r[1][1+ln],r),a,I,e,(function(r){return[0,a,[21,r]]}));case 22:var O=n[1];return PGe(BI(r[1][1+cn],r),a,O,e,(function(r){return[0,a,[22,r]]}));case 23:var N=n[1];return PGe(BI(r[1][1+Ze],r),a,N,e,(function(r){return[0,a,[23,r]]}));case 24:var x=n[1];return PGe(BI(r[1][1+Oe],r),a,x,e,(function(r){return[0,a,[24,r]]}));case 25:var L=n[1];return PGe(BI(r[1][1+Be],r),a,L,e,(function(r){return[0,a,[25,r]]}));case 26:var P=n[1];return PGe(BI(r[1][1+ye],r),a,P,e,(function(r){return[0,a,[26,r]]}));case 27:var M=n[1];return PGe(BI(r[1][1+Yr],r),a,M,e,(function(r){return[0,a,[27,r]]}));case 28:var G=n[1];return PGe(BI(r[1][1+K],r),a,G,e,(function(r){return[0,a,[28,r]]}));case 29:var U=n[1];return PGe(BI(r[1][1+R],r),a,U,e,(function(r){return[0,a,[29,r]]}));case 30:var j=n[1];return PGe(BI(r[1][1+g],r),a,j,e,(function(r){return[0,a,[30,r]]}));case 31:var H=n[1];return PGe(BI(r[1][1+C],r),a,H,e,(function(r){return[0,a,[31,r]]}));case 32:var X=n[1];return PGe(BI(r[1][1+y],r),a,X,e,(function(r){return[0,a,[32,r]]}));case 33:var Y=n[1];return PGe(BI(r[1][1+mr],r),a,Y,e,(function(r){return[0,a,[33,r]]}));case 34:var V=n[1];return PGe(BI(r[1][1+o],r),a,V,e,(function(r){return[0,a,[34,r]]}));case 35:var W=n[1];return PGe(BI(r[1][1+u],r),a,W,e,(function(r){return[0,a,[35,r]]}));default:var J=n[1];return PGe(BI(r[1][1+t],r),a,J,e,(function(r){return[0,a,[36,r]]}))}},Qn,function(r,e){return e},x,8,LGe,L,L,function(r,e){var n=e[2],t=e[1],u=GGe(BI(r[1][1+Qn],r),t),a=GGe(BI(r[1][1+Qn],r),n);return t===u&&n===a?e:[0,u,a,e[3]]},mn,function(r,e){var t=e[2],u=e[1];switch(t[0]){case 0:var a=t[1];return PGe(BI(r[1][1+It],r),u,a,e,(function(r){return[0,u,[0,r]]}));case 1:var i=t[1];return PGe(BI(r[1][1+gt],r),u,i,e,(function(r){return[0,u,[1,r]]}));case 2:var c=t[1];return PGe(BI(r[1][1+St],r),u,c,e,(function(r){return[0,u,[2,r]]}));case 3:var f=t[1];return PGe(BI(r[1][1+At],r),u,f,e,(function(r){return[0,u,[3,r]]}));case 4:var o=t[1];return PGe(BI(r[1][1+kt],r),u,o,e,(function(r){return[0,u,[4,r]]}));case 5:var s=t[1];return PGe(BI(r[1][1+ct],r),u,s,e,(function(r){return[0,u,[5,r]]}));case 6:var l=t[1];return PGe(BI(r[1][1+$n],r),u,l,e,(function(r){return[0,u,[6,r]]}));case 7:var b=t[1];return PGe(BI(r[1][1+qn],r),u,b,e,(function(r){return[0,u,[7,r]]}));case 8:var p=t[1];return PGe(BI(r[1][1+Qe],r),u,p,e,(function(r){return[0,u,[8,r]]}));case 9:var E=t[1];return PGe(BI(r[1][1+Ge],r),u,E,e,(function(r){return[0,u,[9,r]]}));case 10:var m=t[1];return RGe(BI(r[1][1+Le],r),m,e,(function(r){return[0,u,[10,r]]}));case 11:var k=t[1];return RGe(TI(r[1][1+Ie],r,u),k,e,(function(r){return[0,u,[11,r]]}));case 12:var d=t[1];return PGe(BI(r[1][1+fe],r),u,d,e,(function(r){return[0,u,[12,r]]}));case 13:var h=t[1];return PGe(BI(r[1][1+ne],r),u,h,e,(function(r){return[0,u,[13,r]]}));case 14:var y=t[1];return PGe(BI(r[1][1+Xr],r),u,y,e,(function(r){return[0,u,[14,r]]}));case 15:var _=t[1];return PGe(BI(r[1][1+Hr],r),u,_,e,(function(r){return[0,u,[15,r]]}));case 16:var A=t[1];return PGe(BI(r[1][1+jr],r),u,A,e,(function(r){return[0,u,[16,r]]}));case 17:var C=t[1];return PGe(BI(r[1][1+Pr],r),u,C,e,(function(r){return[0,u,[17,r]]}));case 18:var w=t[1];return PGe(BI(r[1][1+Lr],r),u,w,e,(function(r){return[0,u,[18,r]]}));case 19:var S=t[1];return PGe(BI(r[1][1+Or],r),u,S,e,(function(r){return[0,u,[19,r]]}));case 20:var g=t[1];return RGe(TI(r[1][1+Er],r,u),g,e,(function(r){return[0,u,[20,r]]}));case 21:var B=t[1];return PGe(BI(r[1][1+br],r),u,B,e,(function(r){return[0,u,[21,r]]}));case 22:var I=t[1];return PGe(BI(r[1][1+V],r),u,I,e,(function(r){return[0,u,[22,r]]}));case 23:var x=t[1];return PGe(BI(r[1][1+M],r),u,x,e,(function(r){return[0,u,[23,r]]}));case 24:var L=t[1];return PGe(BI(r[1][1+N],r),u,L,e,(function(r){return[0,u,[24,r]]}));case 25:var P=t[1];return PGe(BI(r[1][1+O],r),u,P,e,(function(r){return[0,u,[25,r]]}));case 26:var R=t[1];return PGe(BI(r[1][1+T],r),u,R,e,(function(r){return[0,u,[26,r]]}));case 27:var G=t[1];return PGe(BI(r[1][1+F],r),u,G,e,(function(r){return[0,u,[27,r]]}));case 28:var U=t[1];return PGe(BI(r[1][1+D],r),u,U,e,(function(r){return[0,u,[28,r]]}));case 29:var j=t[1];return PGe(BI(r[1][1+v],r),u,j,e,(function(r){return[0,u,[29,r]]}));default:var H=t[1];return PGe(BI(r[1][1+n],r),u,H,e,(function(r){return[0,u,[30,r]]}))}},It,function(r,e,n){var t=n[2],u=n[1],a=GGe(BI(r[1][1+Tt],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Tt,function(r,e){switch(e[0]){case 0:var n=e[1];return RGe(BI(r[1][1+mn],r),n,e,(function(r){return[0,r]}));case 1:var t=e[1];return RGe(BI(r[1][1+Y],r),t,e,(function(r){return[1,r]}));default:return e}},gt,function(r,e,n){return II(r[1][1+nn],r,e,n)},St,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=TI(r[1][1+wt],r,a),c=TI(r[1][1+mn],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,n[1],i,c,f]},At,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=TI(r[1][1+mn],r,a),c=TI(r[1][1+mn],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,n[1],i,c,f]},yt,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+U],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},dt,function(r,e,n){var t=n[2],u=n[1],a=LGe(BI(r[1][1+Kr],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},kt,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+mn],r,i),f=LGe(BI(r[1][1+Et],r),a),o=TI(r[1][1+Ft],r,u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,c,f,o,s]},Ft,function(r,e){var n=e[2],t=n[2],u=n[1],a=GGe(BI(r[1][1+En],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},Er,function(r,e,n){var t=n[1],u=II(r[1][1+kt],r,e,t);return t===u?n:[0,u,n[2]]},Et,function(r,e){var n=e[2],t=n[2],u=n[1],a=GGe(BI(r[1][1+mt],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},mt,function(r,e){if(0===e[0]){var n=e[1],t=TI(r[1][1+_],r,n);return t===n?e:[0,t]}var u=e[1],a=u[2][1],i=TI(r[1][1+x],r,a);return a===i?e:[1,[0,u[1],[0,i]]]},pt,function(r,e){return MGe(BI(r[1][1+yt],r),e)},bt,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=LGe(BI(r[1][1+Dt],r),a),c=TI(r[1][1+pt],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},st,function(r,e,n){return II(r[1][1+lt],r,e,n)},ct,function(r,e,n){return II(r[1][1+lt],r,e,n)},lt,function(r,e,n){var t=n[7],u=n[6],a=n[5],i=n[4],c=n[2],f=n[1],o=LGe(BI(r[1][1+at],r),f),s=TI(r[1][1+vt],r,c),v=BI(r[1][1+it],r),l=LGe((function(r){return MGe(v,r)}),i),D=LGe(BI(r[1][1+ut],r),a),b=GGe(BI(r[1][1+ot],r),u),p=TI(r[1][1+x],r,t);return f===o&&c===s&&i===l&&a===D&&u===b&&t===p?n:[0,o,s,n[3],l,D,b,p]},it,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+mn],r,a),c=LGe(BI(r[1][1+k],r),u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},at,function(r,e){return II(r[1][1+ir],r,iVr,e)},vt,function(r,e){var n=e[2],t=n[2],u=n[1],a=GGe(BI(r[1][1+ft],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},ot,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},ft,function(r,e){switch(e[0]){case 0:var n=e[1],t=n[1],u=n[2];return PGe(BI(r[1][1+nt],r),t,u,e,(function(r){return[0,[0,t,r]]}));case 1:var a=e[1],i=a[1],c=a[2];return PGe(BI(r[1][1+rt],r),i,c,e,(function(r){return[1,[0,i,r]]}));default:var f=e[1],o=f[1],s=f[2];return PGe(BI(r[1][1+et],r),o,s,e,(function(r){return[2,[0,o,r]]}))}},ut,function(r,e){var n=e[2],t=n[2],u=n[1],a=GGe(BI(r[1][1+tt],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},tt,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+m],r,u),i=LGe(BI(r[1][1+k],r),t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},nt,function(r,e,n){var t=n[6],u=n[5],a=n[3],i=n[2],c=TI(r[1][1+gr],r,i),f=MGe(BI(r[1][1+$e],r),a),o=GGe(BI(r[1][1+ot],r),u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,n[1],c,f,n[4],o,s]},rt,function(r,e,n){var t=n[6],u=n[5],i=n[3],c=n[2],f=n[1],o=TI(r[1][1+gr],r,f),s=TI(r[1][1+Zn],r,c),v=TI(r[1][1+d],r,i),l=TI(r[1][1+a],r,u),D=TI(r[1][1+x],r,t);return f===o&&c===s&&v===i&&l===u&&D===t?n:[0,o,s,v,n[4],l,D]},Zn,function(r,e){if("number"==typeof e)return e;var n=e[1],t=TI(r[1][1+mn],r,n);return n===t?e:[0,t]},et,function(r,e,n){var t=n[6],u=n[5],i=n[3],c=n[2],f=n[1],o=TI(r[1][1+W],r,f),s=TI(r[1][1+Zn],r,c),v=TI(r[1][1+d],r,i),l=TI(r[1][1+a],r,u),D=TI(r[1][1+x],r,t);return f===o&&c===s&&v===i&&l===u&&D===t?n:[0,o,s,v,n[4],l,D]},$n,function(r,e,n){return n},qn,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+J],r,i),f=TI(r[1][1+mn],r,a),o=TI(r[1][1+mn],r,u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,c,f,o,s]},Jn,function(r,e,n){var t=n[2],u=n[1],a=LGe(BI(r[1][1+Kr],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Wn,function(r,e,n){var t=n[1],u=TI(r[1][1+x],r,t);return t===u?n:[0,u]},Kn,function(r,e,n){var t=n[7],u=n[6],a=n[5],i=n[4],c=n[3],f=n[2],o=n[1],s=TI(r[1][1+at],r,o),v=LGe(BI(r[1][1+p],r),f),l=MGe(BI(r[1][1+dr],r),c),D=BI(r[1][1+Pe],r),b=LGe((function(r){return MGe(D,r)}),i),E=BI(r[1][1+Pe],r),m=GGe((function(r){return MGe(E,r)}),a),F=LGe(BI(r[1][1+ut],r),u),k=TI(r[1][1+x],r,t);return s===o&&v===f&&l===c&&b===i&&m===a&&F===u&&k===t?n:[0,s,v,l,b,m,F,k]},Vn,function(r,e,n){var t=n[5],u=n[3],a=n[2],i=LGe(BI(r[1][1+Fn],r),u),c=LGe(BI(r[1][1+Yn],r),a),f=TI(r[1][1+x],r,t);return u===i&&a===c&&t===f?n:[0,n[1],c,i,n[4],f]},Yn,function(r,e){switch(e[0]){case 0:var n=e[1],t=n[2],u=n[1],a=II(r[1][1+Mn],r,u,t);return a===t?e:[0,[0,u,a]];case 1:var i=e[1],c=i[2],f=i[1],o=II(r[1][1+Xn],r,f,c);return o===c?e:[1,[0,f,o]];case 2:var s=e[1],v=s[2],l=s[1],D=II(r[1][1+Kn],r,l,v);return D===v?e:[2,[0,l,D]];case 3:var b=e[1],p=TI(r[1][1+_],r,b);return p===b?e:[3,p];case 4:var E=e[1],m=E[2],F=E[1],k=II(r[1][1+y],r,F,m);return k===m?e:[4,[0,F,k]];case 5:var d=e[1],h=d[2],A=d[1],C=II(r[1][1+mr],r,A,h);return C===h?e:[5,[0,A,C]];default:var w=e[1],S=w[2],g=w[1],B=II(r[1][1+_e],r,g,S);return B===S?e:[6,[0,g,B]]}},Xn,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+ze],r,i),f=TI(r[1][1+h],r,a),o=LGe(BI(r[1][1+q],r),u),s=TI(r[1][1+x],r,t);return c===i&&f===a&&o===u&&s===t?n:[0,c,f,o,s]},Hn,function(r,e,n){return II(r[1][1+_e],r,e,n)},jn,function(r,e,n){var t=n[4],u=n[2],a=MGe(BI(r[1][1+yt],r),u),i=TI(r[1][1+x],r,t);return a===u&&t===i?n:[0,n[1],a,n[3],i]},Un,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+h],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Gn,function(r,e,n){return II(r[1][1+y],r,e,n)},Mn,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=II(r[1][1+ir],r,cVr,a),c=TI(r[1][1+d],r,u),f=TI(r[1][1+x],r,t);return i===a&&c===u&&f===t?n:[0,i,c,f]},Rn,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+H],r,a),c=TI(r[1][1+J],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},Pn,function(r,e,n){var t=n[1],u=TI(r[1][1+x],r,t);return t===u?n:[0,u]},On,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=II(r[1][1+ir],r,fVr,a),c=TI(r[1][1+Ln],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},Ln,function(r,e){var n=e[2],t=e[1];switch(n[0]){case 0:var u=n[1];return RGe(BI(r[1][1+xn],r),u,e,(function(r){return[0,t,[0,r]]}));case 1:var a=n[1];return RGe(BI(r[1][1+Bn],r),a,e,(function(r){return[0,t,[1,r]]}));case 2:var i=n[1];return RGe(BI(r[1][1+Sn],r),i,e,(function(r){return[0,t,[2,r]]}));default:var c=n[1];return RGe(BI(r[1][1+Cn],r),c,e,(function(r){return[0,t,[3,r]]}))}},xn,function(r,e){var n=e[4],t=e[1],u=GGe(BI(r[1][1+Nn],r),t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,e[2],e[3],a]},Bn,function(r,e){var n=e[4],t=e[1],u=GGe(BI(r[1][1+gn],r),t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,e[2],e[3],a]},Sn,function(r,e){var n=e[4],t=e[1];if(0===t[0])var u=t[1],a=[0,GGe(BI(r[1][1+In],r),u)];else{var i=t[1];a=[1,GGe(BI(r[1][1+wn],r),i)]}var c=TI(r[1][1+x],r,n);return t===a&&n===c?e:[0,a,e[2],e[3],c]},Cn,function(r,e){var n=e[3],t=e[1],u=GGe(BI(r[1][1+In],r),t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,e[2],a]},In,function(r,e){var n=e[2][1],t=TI(r[1][1+Tn],r,n);return n===t?e:[0,e[1],[0,t]]},Nn,function(r,e){var n=e[2],t=n[1],u=TI(r[1][1+Tn],r,t);return t===u?e:[0,e[1],[0,u,n[2]]]},gn,function(r,e){var n=e[2],t=n[1],u=TI(r[1][1+Tn],r,t);return t===u?e:[0,e[1],[0,u,n[2]]]},wn,function(r,e){var n=e[2],t=n[1],u=TI(r[1][1+Tn],r,t);return t===u?e:[0,e[1],[0,u,n[2]]]},Tn,function(r,e){return TI(r[1][1+Le],r,e)},yn,function(r,e,n){var t=n[3],u=n[2],a=TI(r[1][1+hn],r,u),i=TI(r[1][1+x],r,t);return a===u&&i===t?n:[0,n[1],a,i]},hn,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+H],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+mn],r),t,e,(function(r){return[1,r]}))},dn,function(r,e,n){var t=n[5],u=n[2],a=n[1],i=LGe(BI(r[1][1+Fn],r),u),c=LGe(BI(r[1][1+H],r),a),f=TI(r[1][1+x],r,t);return u===i&&a===c&&t===f?n:[0,c,i,n[3],n[4],f]},kn,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+Le],r,u),i=LGe(BI(r[1][1+Le],r),t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},_n,function(r,e){var n=e[2],t=LGe(BI(r[1][1+Le],r),n);return n===t?e:[0,e[1],t]},Fn,function(r,e){if(0===e[0]){var n=e[1],t=GGe(BI(r[1][1+kn],r),n);return n===t?e:[0,t]}var u=e[1],a=TI(r[1][1+_n],r,u);return u===a?e:[1,a]},pn,function(r,e,n){var t=n[3],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,n[2],i]},En,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+mn],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+Y],r),t,e,(function(r){return[1,r]}))},ln,function(r,e,n){var t=n[5],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+vn],r,i),f=TI(r[1][1+mn],r,a),o=TI(r[1][1+H],r,u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,c,f,o,n[4],s]},vn,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+Dn],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+bn],r),t,e,(function(r){return[1,r]}))},Dn,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+o],r),n,t,e,(function(r){return[0,n,r]}))},cn,function(r,e,n){var t=n[5],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+an],r,i),f=TI(r[1][1+mn],r,a),o=TI(r[1][1+H],r,u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,c,f,o,n[4],s]},an,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+fn],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+on],r),t,e,(function(r){return[1,r]}))},fn,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+o],r),n,t,e,(function(r){return[0,n,r]}))},un,function(r,e,n){var t=n[5],u=n[4],a=n[3],i=n[2],c=n[1],f=LGe(BI(r[1][1+tn],r),c),o=LGe(BI(r[1][1+J],r),i),s=LGe(BI(r[1][1+mn],r),a),v=TI(r[1][1+H],r,u),l=TI(r[1][1+x],r,t);return c===f&&i===o&&a===s&&u===v&&t===l?n:[0,f,o,s,v,l]},tn,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+sn],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+mn],r),t,e,(function(r){return[1,r]}))},sn,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+o],r),n,t,e,(function(r){return[0,n,r]}))},Ke,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+_],r,t),i=LGe(BI(r[1][1+Le],r),u);return a===t&&i===u?e:[0,e[1],[0,i,a,n[3]]]},Xe,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+Ke],r,u),i=TI(r[1][1+x],r,t);return a===u&&i===t?e:[0,e[1],[0,a,i]]},je,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+h],r,u),i=TI(r[1][1+x],r,t);return a===u&&i===t?e:[0,e[1],[0,a,i]]},Ue,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=a[2],c=i[4],f=i[3],o=i[2],s=i[1],v=n[1],l=LGe(BI(r[1][1+je],r),s),D=GGe(BI(r[1][1+Ke],r),o),b=LGe(BI(r[1][1+Xe],r),f),E=TI(r[1][1+_],r,u),m=LGe(BI(r[1][1+p],r),v),F=TI(r[1][1+x],r,t),k=TI(r[1][1+x],r,c);return D===o&&b===f&&E===u&&m===v&&F===t&&k===c&&l===s?n:[0,m,[0,a[1],[0,l,D,b,k]],E,F]},Kr,function(r,e){return TI(r[1][1+Le],r,e)},yr,function(r,e){switch(e[0]){case 0:var n=e[1];return RGe(BI(r[1][1+_],r),n,e,(function(r){return[0,r]}));case 1:var t=e[1];return RGe(BI(r[1][1+kr],r),t,e,(function(r){return[1,r]}));default:var u=e[1];return RGe(BI(r[1][1+Fr],r),u,e,(function(r){return[2,r]}))}},kr,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+Ue],r),n,t,e,(function(r){return[0,n,r]}))},Fr,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+Ue],r),n,t,e,(function(r){return[0,n,r]}))},_r,function(r,e){var n=e[2],t=n[8],u=n[7],i=n[2],c=n[1],f=TI(r[1][1+gr],r,c),o=TI(r[1][1+yr],r,i),s=TI(r[1][1+a],r,u),v=TI(r[1][1+x],r,t);return f===c&&o===i&&s===u&&v===t?e:[0,e[1],[0,f,o,n[3],n[4],n[5],n[6],s,v]]},hr,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+_],r,u),i=TI(r[1][1+x],r,t);return a===u&&t===i?e:[0,e[1],[0,a,i]]},Tr,function(r,e){var n=e[2],t=n[6],u=n[5],i=n[3],c=n[2],f=TI(r[1][1+_],r,c),o=TI(r[1][1+_],r,i),s=TI(r[1][1+a],r,u),v=TI(r[1][1+x],r,t);return f===c&&o===i&&s===u&&v===t?e:[0,e[1],[0,n[1],f,o,n[4],s,v]]},Br,function(r,e){var n=e[2],t=n[6],u=n[2],a=n[1],i=TI(r[1][1+Le],r,a),c=TI(r[1][1+_],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?e:[0,e[1],[0,i,c,n[3],n[4],n[5],f]]},Ir,function(r,e){var n=e[2],t=n[3],u=n[1],a=u[2],i=u[1],c=II(r[1][1+Ue],r,i,a),f=TI(r[1][1+x],r,t);return a===c&&t===f?e:[0,e[1],[0,[0,i,c],n[2],f]]},dr,function(r,e,n){var t=n[4],u=n[3],a=GGe((function(e){switch(e[0]){case 0:var n=e[1];return RGe(BI(r[1][1+_r],r),n,e,(function(r){return[0,r]}));case 1:var t=e[1];return RGe(BI(r[1][1+hr],r),t,e,(function(r){return[1,r]}));case 2:var u=e[1];return RGe(BI(r[1][1+Tr],r),u,e,(function(r){return[2,r]}));case 3:var a=e[1];return RGe(BI(r[1][1+Ir],r),a,e,(function(r){return[3,r]}));default:var i=e[1];return RGe(BI(r[1][1+Br],r),i,e,(function(r){return[4,r]}))}}),u),i=TI(r[1][1+x],r,t);return a===u&&t===i?n:[0,n[1],n[2],a,i]},he,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=BI(r[1][1+Pe],r),c=GGe((function(r){return MGe(i,r)}),u),f=MGe(BI(r[1][1+dr],r),a),o=TI(r[1][1+x],r,t);return c===u&&f===a&&t===o?n:[0,f,c,o]},Me,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+m],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+Re],r),t,e,(function(r){return[1,r]}))},Re,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+Me],r,u),i=TI(r[1][1+m],r,t);return a===u&&i===t?e:[0,e[1],[0,a,i]]},i,function(r,e){var n=e[2],t=n[2],u=TI(r[1][1+x],r,t);return t===u?e:[0,e[1],[0,n[1],u]]},a,function(r,e){return LGe(BI(r[1][1+i],r),e)},k,function(r,e){var n=e[2],t=n[2],u=n[1],a=GGe(BI(r[1][1+_],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},p,function(r,e){var n=e[2],t=n[2],u=n[1],a=GGe(BI(r[1][1+E],r),u),i=TI(r[1][1+x],r,t);return a===u&&i===t?e:[0,e[1],[0,a,i]]},E,function(r,e){var n=e[2],t=n[4],u=n[3],i=n[2],c=n[1],f=TI(r[1][1+m],r,c),o=TI(r[1][1+d],r,i),s=TI(r[1][1+a],r,u),v=LGe(BI(r[1][1+_],r),t);return f===c&&o===i&&s===u&&v===t?e:[0,e[1],[0,f,o,s,v]]},Pe,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+Me],r,a),c=LGe(BI(r[1][1+k],r),u),f=TI(r[1][1+x],r,t);return i===a&&c===u&&f===t?n:[0,i,c,f]},Ae,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+_],r,a),c=TI(r[1][1+_],r,u),f=TI(r[1][1+x],r,t);return i===a&&c===u&&f===t?n:[0,i,c,f]},pr,function(r,e,n){var t=n[1],u=II(r[1][1+Ae],r,e,t);return u===t?n:[0,u,n[2]]},G,function(r,e,n){var t=n[3],u=TI(r[1][1+x],r,t);return t===u?n:[0,n[1],n[2],u]},Nr,function(r,e,n){var t=n[3],u=TI(r[1][1+x],r,t);return t===u?n:[0,n[1],n[2],u]},Ct,function(r,e,n){var t=n[3],u=TI(r[1][1+x],r,t);return t===u?n:[0,n[1],n[2],u]},ht,function(r,e,n){var t=n[2],u=TI(r[1][1+x],r,t);return t===u?n:[0,n[1],u]},xr,function(r,e){var n=e[2],t=e[1],u=TI(r[1][1+_],r,t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,a]},b,function(r,e){var n=e[2],t=e[1],u=TI(r[1][1+_],r,t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,a]},A,function(r,e){var n=e[2],t=e[1],u=GGe(BI(r[1][1+_],r),t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,a]},Bt,function(r,e){var n=e[2],t=e[1],u=TI(r[1][1+_],r,t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,a]},l,function(r,e,n){var t=n[2],u=n[1],a=u[3],i=u[2],c=u[1],f=TI(r[1][1+_],r,c),o=TI(r[1][1+_],r,i),s=GGe(BI(r[1][1+_],r),a),v=TI(r[1][1+x],r,t);return f===c&&o===i&&s===a&&v===t?n:[0,[0,f,o,s],v]},de,function(r,e,n){var t=n[2],u=n[1],a=u[3],i=u[2],c=u[1],f=TI(r[1][1+_],r,c),o=TI(r[1][1+_],r,i),s=GGe(BI(r[1][1+_],r),a),v=TI(r[1][1+x],r,t);return f===c&&o===i&&s===a&&v===t?n:[0,[0,f,o,s],v]},_,function(r,e){var n=e[2],t=e[1];switch(n[0]){case 0:var u=n[1];return RGe(BI(r[1][1+x],r),u,e,(function(r){return[0,t,[0,r]]}));case 1:var a=n[1];return RGe(BI(r[1][1+x],r),a,e,(function(r){return[0,t,[1,r]]}));case 2:var i=n[1];return RGe(BI(r[1][1+x],r),i,e,(function(r){return[0,t,[2,r]]}));case 3:var c=n[1];return RGe(BI(r[1][1+x],r),c,e,(function(r){return[0,t,[3,r]]}));case 4:var f=n[1];return RGe(BI(r[1][1+x],r),f,e,(function(r){return[0,t,[4,r]]}));case 5:var o=n[1];return RGe(BI(r[1][1+x],r),o,e,(function(r){return[0,t,[5,r]]}));case 6:var s=n[1];return RGe(BI(r[1][1+x],r),s,e,(function(r){return[0,t,[6,r]]}));case 7:var v=n[1];return RGe(BI(r[1][1+x],r),v,e,(function(r){return[0,t,[7,r]]}));case 8:var D=n[1];return RGe(BI(r[1][1+x],r),D,e,(function(r){return[0,t,[8,r]]}));case 9:var p=n[1];return RGe(BI(r[1][1+x],r),p,e,(function(r){return[0,t,[9,r]]}));case 10:var E=n[1];return RGe(BI(r[1][1+x],r),E,e,(function(r){return[0,t,[10,r]]}));case 11:var m=n[1];return RGe(BI(r[1][1+xr],r),m,e,(function(r){return[0,t,[11,r]]}));case 12:var F=n[1];return PGe(BI(r[1][1+Ue],r),t,F,e,(function(r){return[0,t,[12,r]]}));case 13:var k=n[1];return PGe(BI(r[1][1+dr],r),t,k,e,(function(r){return[0,t,[13,r]]}));case 14:var d=n[1];return PGe(BI(r[1][1+he],r),t,d,e,(function(r){return[0,t,[14,r]]}));case 15:var h=n[1];return RGe(BI(r[1][1+Bt],r),h,e,(function(r){return[0,t,[15,r]]}));case 16:var y=n[1];return PGe(BI(r[1][1+Pe],r),t,y,e,(function(r){return[0,t,[16,r]]}));case 17:var _=n[1];return PGe(BI(r[1][1+Ae],r),t,_,e,(function(r){return[0,t,[17,r]]}));case 18:var C=n[1];return PGe(BI(r[1][1+pr],r),t,C,e,(function(r){return[0,t,[18,r]]}));case 19:var w=n[1];return PGe(BI(r[1][1+l],r),t,w,e,(function(r){return[0,t,[19,r]]}));case 20:var S=n[1];return PGe(BI(r[1][1+de],r),t,S,e,(function(r){return[0,t,[20,r]]}));case 21:var g=n[1];return RGe(BI(r[1][1+b],r),g,e,(function(r){return[0,t,[21,r]]}));case 22:var B=n[1];return RGe(BI(r[1][1+A],r),B,e,(function(r){return[0,t,[22,r]]}));case 23:var T=n[1];return PGe(BI(r[1][1+G],r),t,T,e,(function(r){return[0,t,[23,r]]}));case 24:var I=n[1];return PGe(BI(r[1][1+Nr],r),t,I,e,(function(r){return[0,t,[24,r]]}));case 25:var O=n[1];return PGe(BI(r[1][1+Ct],r),t,O,e,(function(r){return[0,t,[25,r]]}));default:var N=n[1];return PGe(BI(r[1][1+ht],r),t,N,e,(function(r){return[0,t,[26,r]]}))}},h,function(r,e){var n=e[1],t=e[2];return RGe(BI(r[1][1+_],r),t,e,(function(r){return[0,n,r]}))},d,function(r,e){if(0===e[0])return e;var n=e[1],t=TI(r[1][1+h],r,n);return t===n?e:[1,t]},Ze,function(r,e,n){return II(r[1][1+nn],r,e,n)},Qe,function(r,e,n){return II(r[1][1+$e],r,e,n)},$e,function(r,e,n){return II(r[1][1+nn],r,e,n)},nn,function(r,e,n){var t=n[9],u=n[8],a=n[7],i=n[6],c=n[3],f=n[2],o=n[1],s=LGe(BI(r[1][1+ze],r),o),v=TI(r[1][1+Ve],r,f),l=TI(r[1][1+d],r,a),D=TI(r[1][1+rn],r,c),b=LGe(BI(r[1][1+q],r),i),E=LGe(BI(r[1][1+p],r),u),m=TI(r[1][1+x],r,t);return o===s&&f===v&&c===D&&i===b&&a===l&&u===E&&t===m?n:[0,s,v,D,n[4],n[5],b,l,E,m,n[10]]},Ve,function(r,e){var n=e[2],t=n[4],u=n[3],a=n[2],i=n[1],c=GGe(BI(r[1][1+qe],r),a),f=LGe(BI(r[1][1+Ye],r),u),o=LGe(BI(r[1][1+He],r),i),s=TI(r[1][1+x],r,t);return a===c&&u===f&&t===s&&i===o?e:[0,e[1],[0,o,c,f,s]]},He,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+h],r,u),i=TI(r[1][1+x],r,t);return a===u&&i===t?e:[0,e[1],[0,a,i]]},qe,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+We],r,u),i=LGe(BI(r[1][1+mn],r),t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},rn,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+en],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+mn],r),t,e,(function(r){return[1,r]}))},en,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+yt],r),n,t,e,(function(r){return[0,n,r]}))},ze,function(r,e){return II(r[1][1+ir],r,oVr,e)},Ge,function(r,e,n){return n},Le,function(r,e){var n=e[2],t=n[2],u=TI(r[1][1+x],r,t);return t===u?e:[0,e[1],[0,n[1],u]]},m,function(r,e){return TI(r[1][1+Le],r,e)},_e,function(r,e,n){var t=n[5],u=n[4],a=n[3],i=n[2],c=n[1],f=TI(r[1][1+at],r,c),o=LGe(BI(r[1][1+p],r),i),s=BI(r[1][1+Pe],r),v=GGe((function(r){return MGe(s,r)}),a),l=MGe(BI(r[1][1+dr],r),u),D=TI(r[1][1+x],r,t);return f===c&&o===i&&v===a&&l===u&&D===t?n:[0,f,o,v,l,D]},ye,function(r,e,n){return II(r[1][1+_e],r,e,n)},W,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+Le],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},zn,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},Ie,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Ne,function(r,e,n){return TI(r[1][1+H],r,n)},xe,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+H],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Oe,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+J],r,i),f=II(r[1][1+Ne],r,0!==u?1:0,a),o=BI(r[1][1+xe],r),s=LGe((function(r){return MGe(o,r)}),u),v=TI(r[1][1+x],r,t);return i===c&&a===f&&u===s&&t===v?n:[0,c,f,s,v]},Be,function(r,e,n){var t=n[5],u=n[4],a=n[3],i=n[1],c=LGe(TI(r[1][1+Ce],r,i),u),f=LGe(BI(r[1][1+ge],r),a),o=TI(r[1][1+x],r,t);return u===c&&a===f&&t===o?n:[0,i,n[2],f,c,o]},Ce,function(r,e,n){if(0===n[0]){var t=n[1],u=GGe(TI(r[1][1+Se],r,e),t);return t===u?n:[0,u]}var a=n[1],i=a[1],c=a[2];return PGe(BI(r[1][1+we],r),i,c,n,(function(r){return[1,[0,i,r]]}))},Se,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=0;if(e){var c=0;if(a&&!a[1]&&(c=1),!c){var f=0;i=1}}i||(f=1);var o=TI(f?r[1][1+m]:r[1][1+Le],r,t);if(u)var s=RGe(f?BI(r[1][1+m],r):TI(r[1][1+ir],r,sVr),u[1],u,(function(r){return[0,r]}));else s=u;return u===s&&t===o?n:[0,a,s,o]},ge,function(r,e){return II(r[1][1+ir],r,vVr,e)},we,function(r,e,n){return II(r[1][1+ir],r,lVr,n)},fe,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+qr],r,i),f=LGe(BI(r[1][1+oe],r),a),o=TI(r[1][1+se],r,u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,c,f,o,s]},ne,function(r,e,n){var t=n[4],u=n[3],a=TI(r[1][1+se],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,n[1],n[2],a,i]},qr,function(r,e){var n=e[2],t=n[3],u=n[1],a=TI(r[1][1+ce],r,u),i=GGe(BI(r[1][1+zr],r),t);return u===a&&t===i?e:[0,e[1],[0,a,n[2],i]]},oe,function(r,e){var n=e[2][1],t=TI(r[1][1+ce],r,n);return n===t?e:[0,e[1],[0,t]]},zr,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+Fe],r),n,e,(function(r){return[0,r]}))}var t=e[1],u=t[1],a=t[2];return PGe(BI(r[1][1+Jr],r),u,a,e,(function(r){return[1,[0,u,r]]}))},Jr,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Fe,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+me],r,u),i=LGe(BI(r[1][1+be],r),t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},me,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+Ee],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+pe],r),t,e,(function(r){return[1,r]}))},Ee,function(r,e){return TI(r[1][1+ee],r,e)},pe,function(r,e){return TI(r[1][1+$r],r,e)},be,function(r,e){if(0===e[0]){var n=e[1],t=e[2];return PGe(BI(r[1][1+le],r),n,t,e,(function(r){return[0,n,r]}))}var u=e[1],a=e[2];return PGe(BI(r[1][1+De],r),u,a,e,(function(r){return[1,u,r]}))},De,function(r,e,n){return II(r[1][1+te],r,e,n)},le,function(r,e,n){return II(r[1][1+Xr],r,e,n)},se,function(r,e){var n=e[2],t=GGe(BI(r[1][1+ve],r),n);return n===t?e:[0,e[1],t]},ve,function(r,e){var n=e[2],t=e[1];switch(n[0]){case 0:var u=n[1];return PGe(BI(r[1][1+fe],r),t,u,e,(function(r){return[0,t,[0,r]]}));case 1:var a=n[1];return PGe(BI(r[1][1+ne],r),t,a,e,(function(r){return[0,t,[1,r]]}));case 2:var i=n[1];return PGe(BI(r[1][1+te],r),t,i,e,(function(r){return[0,t,[2,r]]}));case 3:var c=n[1];return RGe(BI(r[1][1+Wr],r),c,e,(function(r){return[0,t,[3,r]]}));default:return e}},te,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+x],r,t);if(u){var i=u[1],c=TI(r[1][1+mn],r,i);return i===c&&t===a?n:[0,[0,c],a]}return t===a?n:[0,0,a]},Wr,function(r,e){var n=e[2],t=e[1],u=TI(r[1][1+mn],r,t),a=TI(r[1][1+x],r,n);return t===u&&n===a?e:[0,u,a]},ce,function(r,e){switch(e[0]){case 0:var n=e[1];return RGe(BI(r[1][1+ie],r),n,e,(function(r){return[0,r]}));case 1:var t=e[1];return RGe(BI(r[1][1+ue],r),t,e,(function(r){return[1,r]}));default:var u=e[1];return RGe(BI(r[1][1+ae],r),u,e,(function(r){return[2,r]}))}},ie,function(r,e){return TI(r[1][1+ee],r,e)},ue,function(r,e){return TI(r[1][1+$r],r,e)},ae,function(r,e){return TI(r[1][1+re],r,e)},$r,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+ee],r,u),i=TI(r[1][1+ee],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},re,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+Qr],r,u),i=TI(r[1][1+ee],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},Qr,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+Zr],r),n,e,(function(r){return[0,r]}))}var t=e[1];return RGe(BI(r[1][1+re],r),t,e,(function(r){return[1,r]}))},Zr,function(r,e){return TI(r[1][1+ie],r,e)},ee,function(r,e){var n=e[2],t=n[2],u=TI(r[1][1+x],r,t);return t===u?e:[0,e[1],[0,n[1],u]]},Yr,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+Kr],r,a),c=TI(r[1][1+H],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},Xr,function(r,e,n){var t=n[3],u=TI(r[1][1+x],r,t);return t===u?n:[0,n[1],n[2],u]},Hr,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=TI(r[1][1+mn],r,a),c=TI(r[1][1+mn],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,n[1],i,c,f]},jr,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+mn],r,a),c=TI(r[1][1+Gr],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},br,function(r,e,n){var t=n[1],u=II(r[1][1+jr],r,e,t);return t===u?n:[0,u,n[2]]},Gr,function(r,e){switch(e[0]){case 0:var n=e[1];return RGe(BI(r[1][1+Rr],r),n,e,(function(r){return[0,r]}));case 1:var t=e[1];return RGe(BI(r[1][1+Ur],r),t,e,(function(r){return[1,r]}));default:var u=e[1];return RGe(BI(r[1][1+Mr],r),u,e,(function(r){return[2,r]}))}},Rr,function(r,e){return TI(r[1][1+Le],r,e)},Ur,function(r,e){return TI(r[1][1+W],r,e)},Mr,function(r,e){return TI(r[1][1+mn],r,e)},Pr,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+Le],r,a),c=TI(r[1][1+Le],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},Lr,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+mn],r,i),f=LGe(BI(r[1][1+Et],r),a),o=LGe(BI(r[1][1+Ft],r),u),s=TI(r[1][1+x],r,t);return i===c&&a===f&&u===o&&t===s?n:[0,c,f,o,s]},Or,function(r,e,n){var t=n[2],u=n[1],a=GGe((function(e){if(0===e[0]){var n=e[1],t=TI(r[1][1+Ar],r,n);return n===t?e:[0,t]}var u=e[1],a=TI(r[1][1+X],r,u);return u===a?e:[1,a]}),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},Ar,function(r,e){var n=e[2],t=e[1];switch(n[0]){case 0:var u=n[2],a=n[1],i=TI(r[1][1+gr],r,a),c=TI(r[1][1+mn],r,u);return a===i&&u===c?e:[0,t,[0,i,c,n[3]]];case 1:var f=n[2],o=n[1],s=TI(r[1][1+gr],r,o),v=MGe(BI(r[1][1+$e],r),f);return o===s&&f===v?e:[0,t,[1,s,v]];case 2:var l=n[3],D=n[2],b=n[1],p=TI(r[1][1+gr],r,b),E=MGe(BI(r[1][1+$e],r),D),m=TI(r[1][1+x],r,l);return b===p&&D===E&&l===m?e:[0,t,[2,p,E,m]];default:var F=n[3],k=n[2],d=n[1],h=TI(r[1][1+gr],r,d),y=MGe(BI(r[1][1+$e],r),k),_=TI(r[1][1+x],r,F);return d===h&&k===y&&F===_?e:[0,t,[3,h,y,_]]}},gr,function(r,e){switch(e[0]){case 0:var n=e[1];return RGe(BI(r[1][1+Cr],r),n,e,(function(r){return[0,r]}));case 1:var t=e[1];return RGe(BI(r[1][1+wr],r),t,e,(function(r){return[1,r]}));case 2:var u=e[1];return RGe(BI(r[1][1+W],r),u,e,(function(r){return[2,r]}));default:var a=e[1];return RGe(BI(r[1][1+Sr],r),a,e,(function(r){return[3,r]}))}},Cr,function(r,e){var n=e[1],t=e[2];return PGe(BI(r[1][1+Xr],r),n,t,e,(function(r){return[0,n,r]}))},wr,function(r,e){return TI(r[1][1+Le],r,e)},Sr,function(r,e){return TI(r[1][1+zn],r,e)},mr,function(r,e,n){var t=n[5],u=n[4],a=n[3],i=n[2],c=n[1],f=TI(r[1][1+m],r,c),o=LGe(BI(r[1][1+p],r),i),s=LGe(BI(r[1][1+_],r),a),v=LGe(BI(r[1][1+_],r),u),l=TI(r[1][1+x],r,t);return c===f&&a===s&&i===o&&a===s&&u===v&&t===l?n:[0,f,o,s,v,l]},We,function(r,e){return II(r[1][1+_t],r,DVr,e)},c,function(r,e,n){return II(r[1][1+_t],r,[0,e],n)},Dt,function(r,e){return II(r[1][1+_t],r,bVr,e)},bn,function(r,e){return TI(r[1][1+wt],r,e)},on,function(r,e){return TI(r[1][1+wt],r,e)},_t,function(r,e,n){var t=e?e[1]:e;return II(r[1][1+Dr],r,[0,t],n)},wt,function(r,e){return II(r[1][1+Dr],r,0,e)},Dr,function(r,e,n){var t=n[2];switch(t[0]){case 0:var u=t[1],a=u[3],i=u[2],c=u[1],f=GGe(TI(r[1][1+ur],r,e),c),o=TI(r[1][1+d],r,i),s=TI(r[1][1+x],r,a),v=0;if(f===c&&o===i&&s===a){var l=t;v=1}v||(l=[0,[0,f,o,s]]);var D=l;break;case 1:var b=t[1],p=b[3],E=b[2],m=b[1],F=GGe(TI(r[1][1+lr],r,e),m),k=TI(r[1][1+d],r,E),h=TI(r[1][1+x],r,p),y=0;if(p===h&&F===m&&k===E){var _=t;y=1}y||(_=[1,[0,F,k,h]]),D=_;break;case 2:var A=t[1],C=A[2],w=A[1],S=II(r[1][1+ir],r,e,w),g=TI(r[1][1+d],r,C),B=0;if(w===S&&C===g){var T=t;B=1}B||(T=[2,[0,S,g,A[3]]]),D=T;break;default:var I=t[1];D=RGe(BI(r[1][1+cr],r),I,t,(function(r){return[3,r]}))}return t===D?n:[0,n[1],D]},ir,function(r,e,n){return TI(r[1][1+Le],r,n)},ar,function(r,e,n,t){return II(r[1][1+Xr],r,n,t)},ur,function(r,e,n){if(0===n[0]){var t=n[1];return RGe(TI(r[1][1+tr],r,e),t,n,(function(r){return[0,r]}))}var u=n[1];return RGe(TI(r[1][1+$],r,e),u,n,(function(r){return[1,r]}))},tr,function(r,e,n){var t=n[2],u=t[3],a=t[2],i=t[1],c=II(r[1][1+rr],r,e,i),f=II(r[1][1+Q],r,e,a),o=LGe(BI(r[1][1+mn],r),u);return c===i&&f===a&&o===u?n:[0,n[1],[0,c,f,o,0]]},rr,function(r,e,n){switch(n[0]){case 0:var t=n[1];return RGe(TI(r[1][1+Z],r,e),t,n,(function(r){return[0,r]}));case 1:var u=n[1];return RGe(TI(r[1][1+er],r,e),u,n,(function(r){return[1,r]}));default:var a=n[1];return RGe(TI(r[1][1+nr],r,e),a,n,(function(r){return[2,r]}))}},Z,function(r,e,n){var t=n[1],u=n[2];return PGe(TI(r[1][1+ar],r,e),t,u,n,(function(r){return[0,t,r]}))},er,function(r,e,n){return II(r[1][1+ir],r,e,n)},nr,function(r,e,n){return TI(r[1][1+zn],r,n)},$,function(r,e,n){var t=n[2],u=t[2],a=t[1],i=II(r[1][1+z],r,e,a),c=TI(r[1][1+x],r,u);return i===a&&u===c?n:[0,n[1],[0,i,c]]},Q,function(r,e,n){return II(r[1][1+Dr],r,e,n)},z,function(r,e,n){return II(r[1][1+Dr],r,e,n)},lr,function(r,e,n){switch(n[0]){case 0:var t=n[1];return RGe(TI(r[1][1+vr],r,e),t,n,(function(r){return[0,r]}));case 1:var u=n[1];return RGe(TI(r[1][1+or],r,e),u,n,(function(r){return[1,r]}));default:return n}},vr,function(r,e,n){var t=n[2],u=t[2],a=t[1],i=II(r[1][1+sr],r,e,a),c=LGe(BI(r[1][1+mn],r),u);return a===i&&u===c?n:[0,n[1],[0,i,c]]},sr,function(r,e,n){return II(r[1][1+Dr],r,e,n)},or,function(r,e,n){var t=n[2],u=t[2],a=t[1],i=II(r[1][1+fr],r,e,a),c=TI(r[1][1+x],r,u);return i===a&&u===c?n:[0,n[1],[0,i,c]]},fr,function(r,e,n){return II(r[1][1+Dr],r,e,n)},Nt,function(r,e,n){return II(r[1][1+Dr],r,e,n)},cr,function(r,e){return TI(r[1][1+mn],r,e)},q,function(r,e){var n=e[2],t=n[2],u=n[1];if(u)var a=u[1],i=RGe(BI(r[1][1+mn],r),a,u,(function(r){return[0,r]}));else i=u;var c=TI(r[1][1+x],r,t);return u===i&&t===c?e:[0,e[1],[0,i,c]]},J,function(r,e){return TI(r[1][1+mn],r,e)},Ye,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+We],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},K,function(r,e,n){var t=n[2],u=n[1],a=LGe(BI(r[1][1+mn],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},V,function(r,e,n){var t=n[2],u=n[1],a=GGe(BI(r[1][1+mn],r),u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},w,function(r,e){return TI(r[1][1+U],r,e)},U,function(r,e){var n=BI(r[1][1+j],r),t=dAe((function(r,e){var t=r[1],u=BI(n,e);if(u){if(u[2])return[0,bAe(u,t),1];var a=u[1];return[0,[0,a,t],r[2]||(e!==a?1:0)]}return[0,t,1]}),pVr,e);return t[2]?pAe(t[1]):e},j,function(r,e){return[0,TI(r[1][1+H],r,e),0]},Y,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},X,function(r,e){var n=e[2],t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?e:[0,e[1],[0,a,i]]},M,function(r,e,n){var t=n[1],u=TI(r[1][1+x],r,t);return t===u?n:[0,u]},R,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+mn],r,a),c=GGe(BI(r[1][1+P],r),u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},P,function(r,e){var n=e[2],t=n[3],u=n[2],a=n[1],i=LGe(BI(r[1][1+mn],r),a),c=TI(r[1][1+U],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?e:[0,e[1],[0,i,c,f]]},N,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+mn],r,a),c=MGe(BI(r[1][1+O],r),u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},O,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=GGe(BI(r[1][1+I],r),a),c=GGe(BI(r[1][1+mn],r),u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},I,function(r,e){return e},T,function(r,e,n){var t=n[1],u=TI(r[1][1+x],r,t);return t===u?n:[0,u]},g,function(r,e,n){var t=n[2],u=n[1],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,a,i]},C,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=MGe(BI(r[1][1+yt],r),i);if(a)var f=a[1],o=f[1],s=f[2],v=PGe(BI(r[1][1+bt],r),o,s,a,(function(r){return[0,[0,o,r]]}));else v=a;if(u)var l=u[1],D=l[1],b=l[2],p=PGe(BI(r[1][1+yt],r),D,b,u,(function(r){return[0,[0,D,r]]}));else p=u;var E=TI(r[1][1+x],r,t);return i===c&&a===v&&u===p&&t===E?n:[0,c,v,p,E]},F,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+mn],r,a),c=TI(r[1][1+h],r,u),f=TI(r[1][1+x],r,t);return i===a&&c===u&&f===t?n:[0,i,c,f]},D,function(r,e,n){var t=n[3],u=n[2],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,n[1],a,i]},v,function(r,e,n){var t=n[4],u=n[2],a=TI(r[1][1+mn],r,u),i=TI(r[1][1+x],r,t);return u===a&&t===i?n:[0,n[1],a,n[3],i]},o,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=GGe(TI(r[1][1+f],r,u),a),c=TI(r[1][1+x],r,t);return a===i&&t===c?n:[0,i,u,c]},f,function(r,e,n){var t=n[2],u=t[2],a=t[1],i=II(r[1][1+c],r,e,a),f=LGe(BI(r[1][1+mn],r),u);return a===i&&u===f?n:[0,n[1],[0,i,f]]},u,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+J],r,a),c=TI(r[1][1+H],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},t,function(r,e,n){var t=n[3],u=n[2],a=n[1],i=TI(r[1][1+mn],r,a),c=TI(r[1][1+H],r,u),f=TI(r[1][1+x],r,t);return a===i&&u===c&&t===f?n:[0,i,c,f]},y,function(r,e,n){var t=n[4],u=n[3],a=n[2],i=n[1],c=TI(r[1][1+m],r,i),f=LGe(BI(r[1][1+p],r),a),o=TI(r[1][1+_],r,u),s=TI(r[1][1+x],r,t);return i===c&&u===o&&a===f&&t===s?n:[0,c,f,o,s]},n,function(r,e,n){var t=n[2],u=n[1],a=LGe(BI(r[1][1+mn],r),u),i=TI(r[1][1+x],r,t);return t===i&&u===a?n:[0,a,i,n[3]]}]),function(e,n){return Kwe(n,r)}}));function jGe(r){return"number"==typeof r?OVr:r[1]}function HGe(r){if("number"==typeof r)return 1;switch(r[0]){case 0:return 2;case 3:return 4;default:return 3}}function XGe(r,e){BI(wwe(r),NVr),TI(wwe(r),LVr,xVr);var n=e[1];TI(wwe(r),PVr,n),BI(wwe(r),RVr),BI(wwe(r),MVr),TI(wwe(r),UVr,GVr);var t=e[2];return TI(wwe(r),jVr,t),BI(wwe(r),HVr),BI(wwe(r),XVr)}var YGe=function r(e,n){return r.fun(e,n)};function VGe(r,e){return[0,r[1],r[2],e[3]]}function KGe(r,e){var n=r[1]-e[1]|0;return 0===n?r[2]-e[2]|0:n}function WGe(r,e){var n=e[1],t=r[1];if(t)if(n){var u=n[1],a=t[1],i=HGe(u),c=HGe(a)-i|0;if(0===c)var f=jGe(u),o=hT(jGe(a),f);else o=c}else o=-1;else o=n?1:0;if(0===o){var s=KGe(r[2],e[2]);return 0===s?KGe(r[3],e[3]):s}return o}function JGe(r,e){return 0===WGe(r,e)?1:0}FB(YGe,(function(r,e){BI(wwe(r),VVr),TI(wwe(r),WVr,KVr);var n=e[1];if(n){fwe(r,JVr);var t=n[1];if("number"==typeof t)fwe(r,kVr);else switch(t[0]){case 0:BI(wwe(r),dVr);var u=t[1];TI(wwe(r),hVr,u),BI(wwe(r),yVr);break;case 1:BI(wwe(r),_Vr);var a=t[1];TI(wwe(r),AVr,a),BI(wwe(r),CVr);break;case 2:BI(wwe(r),wVr);var i=t[1];TI(wwe(r),SVr,i),BI(wwe(r),gVr);break;default:BI(wwe(r),BVr);var c=t[1];TI(wwe(r),TVr,c),BI(wwe(r),IVr)}fwe(r,qVr)}else fwe(r,zVr);return BI(wwe(r),$Vr),BI(wwe(r),QVr),TI(wwe(r),rKr,ZVr),XGe(r,e[2]),BI(wwe(r),eKr),BI(wwe(r),nKr),TI(wwe(r),uKr,tKr),XGe(r,e[3]),BI(wwe(r),aKr),BI(wwe(r),iKr)})),FB((function r(e){return r.fun(e)}),(function(r){return TI(Swe(YVr),YGe,r)}));var qGe=function r(e,n,t){return r.fun(e,n,t)};function zGe(r){return r[2][1]}function $Ge(r,e){return[0,e[1],[0,e[2],r]]}function QGe(r,e,n){return[0,r?r[1]:r,e?e[1]:e,n]}function ZGe(r,e,n){var t=r?r[1]:r,u=e?e[1]:e;return t||u?[0,QGe([0,t],[0,u],0)]:u}function rUe(r,e,n,t){var u=r?r[1]:r,a=e?e[1]:e;return u||a||n?[0,QGe([0,u],[0,a],n)]:n}function eUe(r,e){if(r){if(e){var n=e[1],t=r[1],u=[0,uAe(t[2],n[2])];return ZGe([0,uAe(n[1],t[1])],u)}var a=r}else a=e;return a}function nUe(r,e){if(e){if(r){var n=e[1],t=r[1],u=t[3],a=[0,uAe(t[2],n[2])];return rUe([0,uAe(n[1],t[1])],a,u)}var i=e[1];return rUe([0,i[1]],[0,i[2]],0)}return r}function tUe(r,e){for(var n=r,t=e;;){if("number"==typeof n)return t;if(0===n[0])return[0,n[1],0,t];var u=[0,n[2],n[4],t];n=n[3],t=u}}function uUe(r,e){if(r)var n=tUe(r[2],r[3]),t=[0,r[1],function(r){return uUe(n)}];else t=r;return t}function aUe(r){var e=tUe(r,0);return function(r){return uUe(e)}}function iUe(r){return"number"==typeof r?0:0===r[0]?1:r[1]}function cUe(r){return[0,r]}function fUe(r,e,n){var t=0;if("number"==typeof r){if("number"==typeof n)return[0,e];1===n[0]&&(t=1)}else if(0===r[0])"number"!=typeof n&&1===n[0]&&(t=1);else{var u=r[1];if("number"!=typeof n&&1===n[0]){var a=n[1];return[1,a<=u?u+1|0:a+1|0,e,r,n]}var i=u;t=2}switch(t){case 1:i=n[1];break;case 0:return[1,2,e,r,n]}return[1,i+1|0,e,r,n]}function oUe(r,e,n){var t=iUe(r),u=iUe(n);return[1,u<=t?t+1|0:u+1|0,e,r,n]}function sUe(r,e,n){var t=iUe(r),u=iUe(n);if((u+2|0)>1,C=D(A,e),w=C[1],S=D(r-A|0,C[2]),g=w,B=S[1],T=0,I=S[2];;){if(g){if(B){var O=B[2],N=B[1],x=g[2],L=g[1],P=TI(v,L,N);if(0===P){g=x,B=O,T=[0,L,T];continue}if(0<=P){B=O,T=[0,N,T];continue}g=x,T=[0,L,T];continue}var R=bAe(g,T)}else R=bAe(B,T);return[0,R,I]}},D=function(r,e){if(2===r){if(e){var n=e[2];if(n){var t=n[1],u=e[1],a=n[2],i=TI(v,u,t);return[0,0===i?[0,u,0]:0<=i?[0,t,[0,u,0]]:[0,u,[0,t,0]],a]}}}else if(3===r&&e){var c=e[2];if(c){var f=c[2];if(f){var o=f[1],s=c[1],D=e[1],b=f[2],p=TI(v,D,s);if(0===p)var E=TI(v,s,o),m=0===E?[0,s,0]:0<=E?[0,o,[0,s,0]]:[0,s,[0,o,0]];else if(0<=p){var F=TI(v,D,o);if(0===F)var k=[0,s,[0,D,0]];else if(0<=F){var d=TI(v,s,o);k=0===d?[0,s,[0,D,0]]:0<=d?[0,o,[0,s,[0,D,0]]]:[0,s,[0,o,[0,D,0]]]}else k=[0,s,[0,D,[0,o,0]]];m=k}else{var h=TI(v,s,o);if(0===h)var y=[0,D,[0,s,0]];else if(0<=h){var _=TI(v,D,o);y=0===_?[0,D,[0,s,0]]:0<=_?[0,o,[0,D,[0,s,0]]]:[0,D,[0,o,[0,s,0]]]}else y=[0,D,[0,s,[0,o,0]]];m=y}return[0,m,b]}}}for(var A=r>>1,C=l(A,e),w=C[1],S=l(r-A|0,C[2]),g=w,B=S[1],T=0,I=S[2];;){if(g){if(B){var O=B[2],N=B[1],x=g[2],L=g[1],P=TI(v,L,N);if(0===P){g=x,B=O,T=[0,L,T];continue}if(0>>0))switch(r){case 0:return[0,0,e];case 1:if(e)return[0,[0,e[1]],e[2]];break;case 2:if(e){var n=e[2];if(n)return[0,[1,2,n[1],[0,e[1]],0],n[2]]}break;default:if(e){var t=e[2];if(t){var u=t[2];if(u)return[0,[1,2,t[1],[0,e[1]],[0,u[1]]],u[2]]}}}var a=r/2|0,i=E(a,e),c=i[2];if(c){var f=E((r-a|0)-1|0,c[2]),o=f[2];return[0,oUe(i[1],c[1],f[1]),o]}throw[0,jI,WKr]};return E(vAe(p),p)[1]}var m=e(s,e(f,e(i,[0,u])));return e(o[1],m)}return e(s,e(f,e(i,[0,u])))}return e(f,e(i,[0,u]))}return e(i,[0,u])}return[0,u]}return 0},function(r,e,n){BI(wwe(e),XKr);var t=yUe(n);return t&&BI(wwe(e),YKr),dAe((function(n,t){return n&&BI(wwe(e),HKr),TI(r,e,t),1}),0,t),t&&BI(wwe(e),VKr),BI(wwe(e),KKr)}]}FB(qGe,(function(r,e,n){var t=n[2];switch(t[0]){case 0:return dAe((function(e,n){var t=0===n[0]?n[1][2][2]:n[1][2][1];return II(qGe,r,e,t)}),e,t[1][1]);case 1:return dAe((function(e,n){return 2===n[0]?e:II(qGe,r,e,n[1][2][1])}),e,t[1][1]);case 2:var u=t[1];return II(r,e,u[1],u[2]);default:return e}}));var CUe=function r(e,n){return r.fun(e,n)};FB(CUe,(function(r,e){if("number"==typeof r){var n=r;if(56<=n)switch(n){case 56:if("number"==typeof e&&56===e)return 0;break;case 57:if("number"==typeof e&&57===e)return 0;break;case 58:if("number"==typeof e&&58===e)return 0;break;case 59:if("number"==typeof e&&59===e)return 0;break;case 60:if("number"==typeof e&&60===e)return 0;break;case 61:if("number"==typeof e&&61===e)return 0;break;case 62:if("number"==typeof e&&62===e)return 0;break;case 63:if("number"==typeof e&&63===e)return 0;break;case 64:if("number"==typeof e&&64===e)return 0;break;case 65:if("number"==typeof e&&65===e)return 0;break;case 66:if("number"==typeof e&&66===e)return 0;break;case 67:if("number"==typeof e&&67===e)return 0;break;case 68:if("number"==typeof e&&68===e)return 0;break;case 69:if("number"==typeof e&&69===e)return 0;break;case 70:if("number"==typeof e&&70===e)return 0;break;case 71:if("number"==typeof e&&71===e)return 0;break;case 72:if("number"==typeof e&&72===e)return 0;break;case 73:if("number"==typeof e&&73===e)return 0;break;case 74:if("number"==typeof e&&74===e)return 0;break;case 75:if("number"==typeof e&&75===e)return 0;break;case 76:if("number"==typeof e&&76===e)return 0;break;case 77:if("number"==typeof e&&77===e)return 0;break;case 78:if("number"==typeof e&&78===e)return 0;break;case 79:if("number"==typeof e&&79===e)return 0;break;case 80:if("number"==typeof e&&80===e)return 0;break;case 81:if("number"==typeof e&&81===e)return 0;break;case 82:if("number"==typeof e&&82===e)return 0;break;case 83:if("number"==typeof e&&83===e)return 0;break;case 84:if("number"==typeof e&&84===e)return 0;break;case 85:if("number"==typeof e&&85===e)return 0;break;case 86:if("number"==typeof e&&86===e)return 0;break;case 87:if("number"==typeof e&&87===e)return 0;break;case 88:if("number"==typeof e&&88===e)return 0;break;case 89:if("number"==typeof e&&89===e)return 0;break;case 90:if("number"==typeof e&&90===e)return 0;break;case 91:if("number"==typeof e&&91===e)return 0;break;case 92:if("number"==typeof e&&92===e)return 0;break;case 93:if("number"==typeof e&&93===e)return 0;break;case 94:if("number"==typeof e&&94===e)return 0;break;case 95:if("number"==typeof e&&95===e)return 0;break;case 96:if("number"==typeof e&&96===e)return 0;break;case 97:if("number"==typeof e&&97===e)return 0;break;case 98:if("number"==typeof e&&98===e)return 0;break;case 99:if("number"==typeof e&&99===e)return 0;break;case 100:if("number"==typeof e&&pu===e)return 0;break;case 101:if("number"==typeof e&&Ik===e)return 0;break;case 102:if("number"==typeof e&&wk===e)return 0;break;case 103:if("number"==typeof e&&Zv===e)return 0;break;case 104:if("number"==typeof e&&mk===e)return 0;break;case 105:if("number"==typeof e&&yS===e)return 0;break;case 106:if("number"==typeof e&&Ra===e)return 0;break;case 107:if("number"==typeof e&&Mu===e)return 0;break;case 108:if("number"==typeof e&&xp===e)return 0;break;case 109:if("number"==typeof e&&bd===e)return 0;break;default:if("number"==typeof e&&Je<=e)return 0}else switch(n){case 0:if("number"==typeof e&&!e)return 0;break;case 1:if("number"==typeof e&&1===e)return 0;break;case 2:if("number"==typeof e&&2===e)return 0;break;case 3:if("number"==typeof e&&3===e)return 0;break;case 4:if("number"==typeof e&&4===e)return 0;break;case 5:if("number"==typeof e&&5===e)return 0;break;case 6:if("number"==typeof e&&6===e)return 0;break;case 7:if("number"==typeof e&&7===e)return 0;break;case 8:if("number"==typeof e&&8===e)return 0;break;case 9:if("number"==typeof e&&9===e)return 0;break;case 10:if("number"==typeof e&&10===e)return 0;break;case 11:if("number"==typeof e&&11===e)return 0;break;case 12:if("number"==typeof e&&12===e)return 0;break;case 13:if("number"==typeof e&&13===e)return 0;break;case 14:if("number"==typeof e&&14===e)return 0;break;case 15:if("number"==typeof e&&15===e)return 0;break;case 16:if("number"==typeof e&&16===e)return 0;break;case 17:if("number"==typeof e&&17===e)return 0;break;case 18:if("number"==typeof e&&18===e)return 0;break;case 19:if("number"==typeof e&&19===e)return 0;break;case 20:if("number"==typeof e&&20===e)return 0;break;case 21:if("number"==typeof e&&21===e)return 0;break;case 22:if("number"==typeof e&&22===e)return 0;break;case 23:if("number"==typeof e&&23===e)return 0;break;case 24:if("number"==typeof e&&24===e)return 0;break;case 25:if("number"==typeof e&&25===e)return 0;break;case 26:if("number"==typeof e&&26===e)return 0;break;case 27:if("number"==typeof e&&27===e)return 0;break;case 28:if("number"==typeof e&&28===e)return 0;break;case 29:if("number"==typeof e&&29===e)return 0;break;case 30:if("number"==typeof e&&30===e)return 0;break;case 31:if("number"==typeof e&&31===e)return 0;break;case 32:if("number"==typeof e&&32===e)return 0;break;case 33:if("number"==typeof e&&33===e)return 0;break;case 34:if("number"==typeof e&&34===e)return 0;break;case 35:if("number"==typeof e&&35===e)return 0;break;case 36:if("number"==typeof e&&36===e)return 0;break;case 37:if("number"==typeof e&&37===e)return 0;break;case 38:if("number"==typeof e&&38===e)return 0;break;case 39:if("number"==typeof e&&39===e)return 0;break;case 40:if("number"==typeof e&&40===e)return 0;break;case 41:if("number"==typeof e&&41===e)return 0;break;case 42:if("number"==typeof e&&42===e)return 0;break;case 43:if("number"==typeof e&&43===e)return 0;break;case 44:if("number"==typeof e&&44===e)return 0;break;case 45:if("number"==typeof e&&45===e)return 0;break;case 46:if("number"==typeof e&&46===e)return 0;break;case 47:if("number"==typeof e&&47===e)return 0;break;case 48:if("number"==typeof e&&48===e)return 0;break;case 49:if("number"==typeof e&&49===e)return 0;break;case 50:if("number"==typeof e&&50===e)return 0;break;case 51:if("number"==typeof e&&51===e)return 0;break;case 52:if("number"==typeof e&&52===e)return 0;break;case 53:if("number"==typeof e&&53===e)return 0;break;case 54:if("number"==typeof e&&54===e)return 0;break;default:if("number"==typeof e&&55===e)return 0}}else switch(r[0]){case 0:if("number"!=typeof e&&0===e[0])return hT(r[1],e[1]);break;case 1:if("number"!=typeof e&&1===e[0]){var t=hT(r[1],e[1]);return 0===t?hT(r[2],e[2]):t}break;case 2:if("number"!=typeof e&&2===e[0]){var u=hT(r[1],e[1]);return 0===u?hT(r[2],e[2]):u}break;case 3:if("number"!=typeof e&&3===e[0])return hT(r[1],e[1]);break;case 4:if("number"!=typeof e&&4===e[0]){var a=e[2],i=r[2],c=hT(r[1],e[1]);return 0===c?i?a?hT(i[1],a[1]):1:a?-1:0:c}break;case 5:if("number"!=typeof e&&5===e[0])return hT(r[1],e[1]);break;case 6:if("number"!=typeof e&&6===e[0]){var f=e[2],o=r[2],s=hT(r[1],e[1]);if(0===s){if(o)if(f){var v=f[1],l=o[1],D=0;switch(l){case 0:if(v)D=1;else var b=0;break;case 1:1===v?b=0:D=1;break;case 2:2===v?b=0:D=1;break;default:3<=v?b=0:D=1}if(D){var p=function(r){switch(r){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},E=p(v);b=kT(p(l),E)}var m=b}else m=1;else m=f?-1:0;return 0===m?hT(r[3],e[3]):m}return s}break;case 7:if("number"!=typeof e&&7===e[0]){var F=hT(r[1],e[1]);return 0===F?hT(r[2],e[2]):F}break;case 8:if("number"!=typeof e&&8===e[0])return kT(r[1],e[1]);break;case 9:if("number"!=typeof e&&9===e[0]){var k=hT(r[1],e[1]);return 0===k?hT(r[2],e[2]):k}break;case 10:if("number"!=typeof e&&10===e[0])return hT(r[1],e[1]);break;case 11:if("number"!=typeof e&&11===e[0])return hT(r[1],e[1]);break;case 12:if("number"!=typeof e&&12===e[0]){var d=hT(r[1],e[1]);return 0===d?hT(r[2],e[2]):d}break;case 13:if("number"!=typeof e&&13===e[0]){var h=hT(r[1],e[1]);return 0===h?hT(r[2],e[2]):h}break;case 14:if("number"!=typeof e&&14===e[0])return hT(r[1],e[1]);break;case 15:if("number"!=typeof e&&15===e[0])return kT(r[1],e[1]);break;case 16:if("number"!=typeof e&&16===e[0])return hT(r[1],e[1]);break;case 17:if("number"!=typeof e&&17===e[0]){var y=hT(r[1],e[1]);return 0===y?hT(r[2],e[2]):y}break;case 18:if("number"!=typeof e&&18===e[0])return hT(r[1],e[1]);break;case 19:if("number"!=typeof e&&19===e[0])return kT(r[1],e[1]);break;case 20:if("number"!=typeof e&&20===e[0])return hT(r[1],e[1]);break;case 21:if("number"!=typeof e&&21===e[0])return hT(r[1],e[1]);break;case 22:if("number"!=typeof e&&22===e[0]){var _=hT(r[1],e[1]);if(0===_){var A=kT(r[2],e[2]);if(0===A){var C=kT(r[3],e[3]);return 0===C?kT(r[4],e[4]):C}return A}return _}break;case 23:if("number"!=typeof e&&23===e[0])return hT(r[1],e[1]);break;default:if("number"!=typeof e&&24===e[0])return hT(r[1],e[1])}function w(r){if("number"==typeof r){var e=r;if(56<=e)switch(e){case 56:return 75;case 57:return 76;case 58:return 77;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 82;case 63:return 83;case 64:return 84;case 65:return 85;case 66:return 86;case 67:return 87;case 68:return 88;case 69:return 89;case 70:return 90;case 71:return 91;case 72:return 92;case 73:return 93;case 74:return 95;case 75:return 96;case 76:return 97;case 77:return 98;case 78:return 99;case 79:return pu;case 80:return Ik;case 81:return wk;case 82:return Zv;case 83:return mk;case 84:return yS;case 85:return Ra;case 86:return Mu;case 87:return xp;case 88:return Vr;case 89:return Qt;case 90:return li;case 91:return AC;case 92:return bm;case 93:return An;case 94:return ik;case 95:return bk;case 96:return Kw;case 97:return Mw;case 98:return S;case 99:return Lb;case 100:return VE;case 101:return PF;case 102:return 126;case 103:return B;case 104:return 129;case 105:return 130;case 106:return 131;case 107:return 132;case 108:return 133;case 109:return sB;default:return 135}switch(e){case 0:return 5;case 1:return 9;case 2:return 16;case 3:return 17;case 4:return 18;case 5:return 19;case 6:return 20;case 7:return 21;case 8:return 22;case 9:return 23;case 10:return 24;case 11:return 25;case 12:return 26;case 13:return 27;case 14:return 28;case 15:return 29;case 16:return 30;case 17:return 31;case 18:return 32;case 19:return 33;case 20:return 34;case 21:return 35;case 22:return 36;case 23:return 37;case 24:return 38;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 46;case 31:return 47;case 32:return 48;case 33:return 49;case 34:return 52;case 35:return 53;case 36:return 54;case 37:return 55;case 38:return 56;case 39:return 57;case 40:return 58;case 41:return 59;case 42:return 60;case 43:return 61;case 44:return 62;case 45:return 63;case 46:return 64;case 47:return 65;case 48:return 66;case 49:return 67;case 50:return 68;case 51:return 69;case 52:return 70;case 53:return 71;case 54:return 72;default:return 73}}else switch(r[0]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 6;case 6:return 7;case 7:return 8;case 8:return 10;case 9:return 11;case 10:return 12;case 11:return 13;case 12:return 14;case 13:return 15;case 14:return 39;case 15:return 45;case 16:return 50;case 17:return 51;case 18:return 74;case 19:return 78;case 20:return 94;case 21:return bd;case 22:return Je;case 23:return Te;default:return r_}}var g=w(e);return kT(w(r),g)}));var wUe=[Dc,rzr,OT()];OT();var SUe=[Dc,nzr,OT()];function gUe(r){return[0,r,r.length-1,0,0,0,0,0,0,0,0,0,0,0]}function BUe(r){if(r[4]===r[2])return-1;var e=r[1][1+r[4]];return r[4]=r[4]+1|0,10===e&&(0!==r[6]&&(r[6]=r[6]+1|0),r[5]=r[4]+r[3]|0),e}function TUe(r,e){return r[10]=r[4],r[11]=r[5],r[12]=r[6],r[13]=e,0}function IUe(r){return r[7]=r[4],r[8]=r[5],r[9]=r[6],TUe(r,-1)}function OUe(r){return r[4]=r[10],r[5]=r[11],r[6]=r[12],r[13]}function NUe(r){return r[4]=r[7],r[5]=r[8],r[6]=r[9],0}function xUe(r){return r[7]+r[3]|0}function LUe(r){return r[4]+r[3]|0}function PUe(r){return r[4]-r[7]|0}function RUe(r){var e=r[4]-r[7]|0,n=r[7],t=r[1];return 0<=n&&0<=e&&!((t.length-1-e|0)>>18|0),NB(t,u+1|0,B|63&(c>>>12|0)),NB(t,u+2|0,B|63&(c>>>6|0)),NB(t,u+3|0,B|63&c);var f=u+4|0}else NB(t,u,eo|c>>>12|0),NB(t,u+1|0,B|63&(c>>>6|0)),NB(t,u+2|0,B|63&c),f=u+3|0;else NB(t,u,s|c>>>6|0),NB(t,u+1|0,B|63&c),f=u+2|0;else NB(t,u,c),f=u+1|0;u=f,a=a-1|0,i=i+1|0;continue}throw SUe}return u}}function GUe(r){for(var e=XT(r),n=eI(e,0),t=0,u=0;;){if(!(u>>6|0)?1:0;if(v)var l=v;else l=(2!=(f>>>6|0)?1:0)||(2!=(o>>>6|0)?1:0);if(l)throw SUe;n[1+t]=(7&a)<<18|(63&c)<<12|(63&f)<<6|63&o;var D=u+4|0}else if(eo<=a){var b=YT(r,u+1|0),p=YT(r,u+2|0),E=(15&a)<<12|(63&b)<<6|63&p,m=(2!=(b>>>6|0)?1:0)||(2!=(p>>>6|0)?1:0);if(m)var F=m;else{var k=55296<=E?1:0;F=k?E<=57088?1:0:k}if(F)throw SUe;n[1+t]=E,D=u+3|0}else{var d=YT(r,u+1|0);if(2!=(d>>>6|0))throw SUe;n[1+t]=(31&a)<<6|63&d,D=u+2|0}else B<=a?i=1:(n[1+t]=a,D=u+1|0);if(i)throw SUe;t=t+1|0,u=D}}function UUe(r,e,n){var t=r[7]+e|0,u=AT(4*n|0),a=r[1];if((t+n|0)<=a.length-1)return gAe(u,0,MUe(a,t,n,u));throw[0,jI,ezr]}function jUe(r){var e=r[7],n=r[4]-e|0,t=AT(4*n|0);return gAe(t,0,MUe(r[1],e,n,t))}function HUe(r,e){var n=r[7],t=r[4]-n|0,u=AT(4*t|0);return zAe(e,u,0,MUe(r[1],n,t,u))}function XUe(r){var e=r[2];return[0,r[1],[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13]],r[3],r[4],r[5],r[6],r[7]]}function YUe(r){return r[3][1]}function VUe(r,e){return r!==e[4]?[0,e[1],e[2],e[3],r,e[5],e[6],e[7]]:e}var KUe=function r(e,n){return r.fun(e,n)},WUe=function r(e,n){return r.fun(e,n)},JUe=function r(e,n){return r.fun(e,n)},qUe=function r(e,n){return r.fun(e,n)},zUe=function r(e,n){return r.fun(e,n)};function $Ue(r){if("number"==typeof r){var e=r;if(60<=e)switch(e){case 60:return UZr;case 61:return jZr;case 62:return HZr;case 63:return XZr;case 64:return YZr;case 65:return VZr;case 66:return KZr;case 67:return WZr;case 68:return JZr;case 69:return qZr;case 70:return zZr;case 71:return $Zr;case 72:return QZr;case 73:return ZZr;case 74:return r0r;case 75:return e0r;case 76:return n0r;case 77:return t0r;case 78:return u0r;case 79:return a0r;case 80:return i0r;case 81:return c0r;case 82:return f0r;case 83:return o0r;case 84:return s0r;case 85:return v0r;case 86:return l0r;case 87:return D0r;case 88:return b0r;case 89:return p0r;case 90:return E0r;case 91:return m0r;case 92:return F0r;case 93:return k0r;case 94:return d0r;case 95:return h0r;case 96:return y0r;case 97:return _0r;case 98:return A0r;case 99:return C0r;case 100:return w0r;case 101:return S0r;case 102:return g0r;case 103:return B0r;case 104:return T0r;case 105:return I0r;case 106:return O0r;case 107:return N0r;case 108:return x0r;case 109:return L0r;case 110:return P0r;case 111:return R0r;case 112:return M0r;case 113:return G0r;case 114:return U0r;case 115:return j0r;case 116:return H0r;case 117:return X0r;default:return Y0r}switch(e){case 0:return xQr;case 1:return LQr;case 2:return PQr;case 3:return RQr;case 4:return MQr;case 5:return GQr;case 6:return UQr;case 7:return jQr;case 8:return HQr;case 9:return XQr;case 10:return YQr;case 11:return VQr;case 12:return KQr;case 13:return WQr;case 14:return JQr;case 15:return qQr;case 16:return zQr;case 17:return $Qr;case 18:return QQr;case 19:return ZQr;case 20:return rZr;case 21:return eZr;case 22:return nZr;case 23:return tZr;case 24:return uZr;case 25:return aZr;case 26:return iZr;case 27:return cZr;case 28:return fZr;case 29:return oZr;case 30:return sZr;case 31:return vZr;case 32:return lZr;case 33:return DZr;case 34:return bZr;case 35:return pZr;case 36:return EZr;case 37:return mZr;case 38:return FZr;case 39:return kZr;case 40:return dZr;case 41:return hZr;case 42:return yZr;case 43:return _Zr;case 44:return AZr;case 45:return CZr;case 46:return wZr;case 47:return SZr;case 48:return gZr;case 49:return BZr;case 50:return TZr;case 51:return IZr;case 52:return OZr;case 53:return NZr;case 54:return xZr;case 55:return LZr;case 56:return PZr;case 57:return RZr;case 58:return MZr;default:return GZr}}else switch(r[0]){case 0:return V0r;case 1:return K0r;case 2:return W0r;case 3:return J0r;case 4:return q0r;case 5:return z0r;case 6:return $0r;case 7:return Q0r;case 8:return Z0r;case 9:return r1r;case 10:return e1r;default:return n1r}}function QUe(r){if("number"==typeof r){var e=r;if(60<=e)switch(e){case 60:return C$r;case 61:return w$r;case 62:return S$r;case 63:return g$r;case 64:return B$r;case 65:return T$r;case 66:return I$r;case 67:return O$r;case 68:return N$r;case 69:return x$r;case 70:return L$r;case 71:return P$r;case 72:return R$r;case 73:return M$r;case 74:return G$r;case 75:return U$r;case 76:return j$r;case 77:return H$r;case 78:return X$r;case 79:return Y$r;case 80:return V$r;case 81:return K$r;case 82:return W$r;case 83:return J$r;case 84:return q$r;case 85:return z$r;case 86:return $$r;case 87:return Q$r;case 88:return Z$r;case 89:return rQr;case 90:return eQr;case 91:return nQr;case 92:return tQr;case 93:return uQr;case 94:return aQr;case 95:return iQr;case 96:return cQr;case 97:return fQr;case 98:return oQr;case 99:return sQr;case 100:return vQr;case 101:return lQr;case 102:return DQr;case 103:return bQr;case 104:return pQr;case 105:return EQr;case 106:return mQr;case 107:return FQr;case 108:return kQr;case 109:return dQr;case 110:return hQr;case 111:return yQr;case 112:return _Qr;case 113:return AQr;case 114:return CQr;case 115:return wQr;case 116:return SQr;case 117:return gQr;default:return BQr}switch(e){case 0:return kzr;case 1:return dzr;case 2:return hzr;case 3:return yzr;case 4:return _zr;case 5:return Azr;case 6:return Czr;case 7:return wzr;case 8:return Szr;case 9:return gzr;case 10:return Bzr;case 11:return Tzr;case 12:return Izr;case 13:return Ozr;case 14:return Nzr;case 15:return xzr;case 16:return Lzr;case 17:return Pzr;case 18:return Rzr;case 19:return Mzr;case 20:return Gzr;case 21:return Uzr;case 22:return jzr;case 23:return Hzr;case 24:return Xzr;case 25:return Yzr;case 26:return Vzr;case 27:return Kzr;case 28:return Wzr;case 29:return Jzr;case 30:return qzr;case 31:return zzr;case 32:return $zr;case 33:return Qzr;case 34:return Zzr;case 35:return r$r;case 36:return e$r;case 37:return n$r;case 38:return t$r;case 39:return u$r;case 40:return a$r;case 41:return i$r;case 42:return c$r;case 43:return f$r;case 44:return o$r;case 45:return s$r;case 46:return v$r;case 47:return l$r;case 48:return D$r;case 49:return b$r;case 50:return p$r;case 51:return E$r;case 52:return m$r;case 53:return F$r;case 54:return k$r;case 55:return d$r;case 56:return h$r;case 57:return y$r;case 58:return _$r;default:return A$r}}else switch(r[0]){case 2:return r[1][3];case 3:return r[1][2][3];case 5:var n=nAe(TQr,r[3]);return nAe(IQr,nAe(r[2],n));case 9:return r[1]?OQr:NQr;case 0:case 1:return r[2];case 6:case 7:return r[1];default:return r[3]}}function ZUe(r){return BI(xCe(Fzr),r)}function rje(r,e){var n=r?r[1]:r,t=0;if("number"==typeof e)if(Je===e){var u=azr;t=1}else t=2;else switch(e[0]){case 3:u=izr,t=1;break;case 5:u=czr,t=1;break;case 6:case 9:t=2;break;case 0:case 10:var a=ozr,i=szr;break;case 1:case 11:a=vzr,i=lzr;break;case 2:case 8:a=Dzr,i=bzr;break;default:a=pzr,i=Ezr}switch(t){case 1:a=u[2],i=u[1];break;case 2:a=fzr,i=ZUe(QUe(e))}return n?nAe(a,nAe(mzr,i)):i}function eje(r){return 45>>0)var s=OUe(a);else switch(c){case 0:s=2;break;case 2:s=1;break;case 3:if(TUe(a,2),0===JHe(BUe(a))){var E=FHe(BUe(a));if(0===E)s=0===uje(BUe(a))&&0===uje(BUe(a))&&0===uje(BUe(a))?0:OUe(a);else if(1===E&&0===uje(BUe(a)))for(;;){var k=lje(BUe(a));if(0!==k){s=1===k?0:OUe(a);break}}else s=OUe(a)}else s=OUe(a);break;default:s=0}if(2<=s){if(!(3<=s))return uXe(r,e,37)}else if(0<=s)return r;return Z_e(fne)}function bXe(r,e,n,t,u){return[0,ZHe(r,e+xUe(n)|0,e+LUe(n)|0),UUe(n,t,(PUe(n)-t|0)-u|0)]}function pXe(r,e){for(var n=xUe(r[2]),t=gUe(e),u=VAe(e.length-1),a=r;;){IUe(t);var i=BUe(t),c=92>>0)var f=OUe(t);else switch(c){case 0:f=2;break;case 1:for(;;){TUe(t,3);var o=BUe(t);if(0!=(-1>>0)return Z_e(ane);switch(f){case 0:var l=bXe(a,n,t,2,0),D=l[1],b=QT(nAe(ine,l[2])),p=0<=b?1:0,E=p?b<=55295?1:0:p;if(E)var m=E;else{var F=57344<=b?1:0;m=F?b<=Cw?1:0:F}var k=m?DXe(a,D,b):uXe(a,D,37);Qwe(u,b),a=k;continue;case 1:var d=bXe(a,n,t,3,1),h=QT(nAe(cne,d[2])),y=DXe(a,d[1],h);Qwe(u,h),a=y;continue;case 2:return[0,a,KAe(u)];default:HUe(t,u);continue}}}function EXe(r,e,n){var t=cXe(r,nXe(r,e));return NUe(e),TI(n,t,e)}function mXe(r,e,n){for(var t=r;;){IUe(n);var u=BUe(n),a=-1>>0)var i=OUe(n);else switch(a){case 0:for(;;){TUe(n,3);var c=BUe(n);if(0!=(-1>>0){var s=cXe(t,nXe(t,n));return[0,s,eXe(s,n)]}switch(i){case 0:var v=fXe(t,n);HUe(n,e),t=v;continue;case 1:var l=t[4]?iXe(t,nXe(t,n),u1r,t1r):t;return[0,l,eXe(l,n)];case 2:if(t[4])return[0,t,eXe(t,n)];$Ae(e,a1r);continue;default:HUe(n,e);continue}}}function FXe(r,e,n){for(;;){IUe(n);var t=BUe(n),u=13>>0)var a=OUe(n);else switch(u){case 0:a=0;break;case 1:for(;;){TUe(n,2);var i=BUe(n);if(0!=(-1>>0)return Z_e(i1r);switch(a){case 0:return[0,r,eXe(r,n)];case 1:var c=eXe(r,n),f=fXe(r,n),o=PUe(n);return[0,f,[0,c[1],c[2]-o|0]];default:HUe(n,e);continue}}}function kXe(r,e){function n(r){return TUe(r,3),0===Yje(BUe(r))?2:OUe(r)}IUe(e);var t=BUe(e),u=Kw>>0)var a=OUe(e);else switch(u){case 1:a=16;break;case 2:a=15;break;case 3:TUe(e,15),a=0===AHe(BUe(e))?15:OUe(e);break;case 4:TUe(e,4),a=0===Yje(BUe(e))?n(e):OUe(e);break;case 5:TUe(e,11),a=0===Yje(BUe(e))?n(e):OUe(e);break;case 7:a=5;break;case 8:a=6;break;case 9:a=7;break;case 10:a=8;break;case 11:a=9;break;case 12:TUe(e,14);var i=FHe(BUe(e));if(0===i)a=0===uje(BUe(e))&&0===uje(BUe(e))&&0===uje(BUe(e))?12:OUe(e);else if(1===i&&0===uje(BUe(e)))for(;;){var c=lje(BUe(e));if(0!==c){a=1===c?13:OUe(e);break}}else a=OUe(e);break;case 13:a=10;break;case 14:TUe(e,14),a=0===uje(BUe(e))&&0===uje(BUe(e))?1:OUe(e);break;default:a=0}if(16>>0)return Z_e(Vee);switch(a){case 1:var f=jUe(e);return[0,r,f,[0,QT(nAe(Kee,f))],0];case 2:var o=jUe(e),s=QT(nAe(Wee,o));return $n<=s?[0,r,o,[0,s>>>3|0,48+(7&s)|0],1]:[0,r,o,[0,s],1];case 3:var v=jUe(e);return[0,r,v,[0,QT(nAe(Jee,v))],1];case 4:return[0,r,qee,[0,0],0];case 5:return[0,r,zee,[0,8],0];case 6:return[0,r,$ee,[0,12],0];case 7:return[0,r,Qee,[0,10],0];case 8:return[0,r,Zee,[0,13],0];case 9:return[0,r,rne,[0,9],0];case 10:return[0,r,ene,[0,11],0];case 11:var l=jUe(e);return[0,r,l,[0,QT(nAe(nne,l))],1];case 12:var D=jUe(e);return[0,r,D,[0,QT(nAe(tne,OAe(D,1,XT(D)-1|0)))],0];case 13:var b=jUe(e),p=QT(nAe(une,OAe(b,2,XT(b)-3|0)));return[0,Cw>>0)var s=OUe(a);else switch(o){case 0:s=3;break;case 1:for(;;){TUe(a,4);var v=BUe(a);if(0!=(-1>>0)return Z_e(c1r);switch(s){case 0:var l=jUe(a);if($Ae(t,l),hI(e,l))return[0,i,eXe(i,a),c];$Ae(n,l);continue;case 1:$Ae(t,f1r);var D=kXe(i,a),b=D[4]||c;$Ae(t,D[2]),xAe((function(r){return Qwe(n,r)}),D[3]),i=D[1],c=b;continue;case 2:var p=jUe(a);$Ae(t,p);var E=fXe(cXe(i,nXe(i,a)),a);return $Ae(n,p),[0,E,eXe(E,a),c];case 3:var m=jUe(a);$Ae(t,m);var F=cXe(i,nXe(i,a));return $Ae(n,m),[0,F,eXe(F,a),c];default:var k=a[7],d=a[4]-k|0,h=AT(4*d|0),y=MUe(a[1],k,d,h);zAe(t,h,0,y),zAe(n,h,0,y);continue}}}function hXe(r,e,n,t,u){for(var a=r;;){IUe(u);var i=BUe(u),c=96>>0)var f=OUe(u);else switch(c){case 0:f=0;break;case 1:for(;;){TUe(u,6);var o=BUe(u);if(0!=(-1>>0)return Z_e(o1r);switch(f){case 0:return[0,cXe(a,nXe(a,u)),1];case 1:return JAe(t,96),[0,a,1];case 2:return $Ae(t,s1r),[0,a,0];case 3:JAe(n,92),JAe(t,92);var v=kXe(a,u),l=v[2];$Ae(n,l),$Ae(t,l),xAe((function(r){return Qwe(e,r)}),v[3]),a=v[1];continue;case 4:$Ae(n,v1r),$Ae(t,l1r),$Ae(e,D1r),a=fXe(a,u);continue;case 5:var D=jUe(u);$Ae(n,D),$Ae(t,D),JAe(e,10),a=fXe(a,u);continue;default:var b=jUe(u);$Ae(n,b),$Ae(t,b),$Ae(e,b);continue}}}function yXe(r,e,n,t,u){for(var a=r;;){var i=function(r){for(;;)if(TUe(r,6),0!==xje(BUe(r)))return OUe(r)};IUe(u);var c=BUe(u),f=PF>>0)var o=OUe(u);else switch(f){case 0:o=1;break;case 1:o=i(u);break;case 2:o=2;break;case 3:TUe(u,2),o=0===AHe(BUe(u))?2:OUe(u);break;case 4:o=0;break;case 5:TUe(u,6);var s=BUe(u),v=34>>0)return Z_e(h1r);switch(o){case 0:var C=jUe(u),w=0;switch(e){case 0:_I(C,y1r)||(w=1);break;case 1:_I(C,_1r)||(w=1);break;default:var g=0;if(_I(C,A1r)){if(!_I(C,C1r))return iXe(a,nXe(a,u),I1r,T1r);if(_I(C,w1r)){if(!_I(C,S1r))return iXe(a,nXe(a,u),B1r,g1r);g=1}}if(!g)return NUe(u),a}if(w)return a;$Ae(t,C),$Ae(n,C);continue;case 1:return cXe(a,nXe(a,u));case 2:var B=jUe(u);$Ae(t,B),$Ae(n,B),a=fXe(a,u);continue;case 3:var T=jUe(u),I=OAe(T,3,XT(T)-4|0);$Ae(t,T),Qwe(n,QT(nAe(O1r,I)));continue;case 4:var O=jUe(u),N=OAe(O,2,XT(O)-3|0);$Ae(t,O),Qwe(n,QT(N));continue;case 5:var x=jUe(u),L=OAe(x,1,XT(x)-2|0);$Ae(t,x);var P=hT(L,N1r),R=0;if(0<=P)if(0>>0)var u=OUe(e);else switch(t){case 0:u=0;break;case 1:u=6;break;case 2:if(TUe(e,2),0===nje(BUe(e))){for(;;)if(TUe(e,2),0!==nje(BUe(e))){u=OUe(e);break}}else u=OUe(e);break;case 3:u=1;break;case 4:TUe(e,1),u=0===AHe(BUe(e))?1:OUe(e);break;default:TUe(e,5);var a=MHe(BUe(e));u=0===a?4:1===a?3:OUe(e)}if(6>>0)return Z_e(Cee);switch(u){case 0:return[0,r,Je];case 1:return[2,fXe(r,e)];case 2:return[2,r];case 3:var i=rXe(r,e),c=VAe(r_),f=FXe(r,c,e),o=f[1];return[1,o,sXe(o,i,f[2],c,0)];case 4:var s=rXe(r,e),v=VAe(r_),l=mXe(r,v,e),D=l[1];return[1,D,sXe(D,s,l[2],v,1)];case 5:var b=rXe(r,e),p=VAe(r_),E=r;r:for(;;){IUe(e);var m=BUe(e),F=92>>0)var k=OUe(e);else switch(F){case 0:k=0;break;case 1:for(;;){TUe(e,7);var d=BUe(e);if(0!=(-1>>0)k=OUe(e);else switch(y){case 0:k=2;break;case 1:k=1;break;default:TUe(e,1),k=0===AHe(BUe(e))?1:OUe(e)}}if(7>>0)var _=Z_e(E1r);else switch(k){case 0:_=[0,uXe(E,nXe(E,e),25),m1r];break;case 1:_=[0,fXe(uXe(E,nXe(E,e),25),e),F1r];break;case 3:var A=jUe(e);_=[0,E,OAe(A,1,XT(A)-1|0)];break;case 4:_=[0,E,k1r];break;case 5:for(JAe(p,91);;){IUe(e);var C=BUe(e),w=93>>0)var S=OUe(e);else switch(w){case 0:S=0;break;case 1:for(;;){TUe(e,4);var g=BUe(e);if(0!=(-1>>0)var I=Z_e(b1r);else switch(S){case 0:I=E;break;case 1:$Ae(p,p1r);continue;case 2:JAe(p,92),JAe(p,93);continue;case 3:JAe(p,93),I=E;break;default:$Ae(p,jUe(e));continue}E=I;continue r}case 6:_=[0,fXe(uXe(E,nXe(E,e),25),e),d1r];break;default:$Ae(p,jUe(e));continue}var O=_[1],N=eXe(O,e),x=[0,O[1],b,N],L=_[2];return[0,O,[5,x,KAe(p),L]]}default:return[0,cXe(r,nXe(r,e)),[6,jUe(e)]]}})),CXe=_Xe((function(r,e){function u(r,e){for(;;){TUe(e,12);var n=Xje(BUe(e));if(0!==n)return 1===n?r<50?a(r+1|0,e):wI(a,[0,e]):OUe(e)}}function a(r,e){if(0===JHe(BUe(e))){var n=FHe(BUe(e));if(0===n)return 0===uje(BUe(e))&&0===uje(BUe(e))&&0===uje(BUe(e))?r<50?u(r+1|0,e):wI(u,[0,e]):OUe(e);if(1===n){if(0===uje(BUe(e)))for(;;){var t=lje(BUe(e));if(0!==t)return 1===t?r<50?u(r+1|0,e):wI(u,[0,e]):OUe(e)}return OUe(e)}return OUe(e)}return OUe(e)}function i(r){return CI(u(0,r))}IUe(e);var c=BUe(e),f=er>>0)var s=OUe(e);else switch(f){case 0:s=0;break;case 1:s=14;break;case 2:if(TUe(e,2),0===nje(BUe(e))){for(;;)if(TUe(e,2),0!==nje(BUe(e))){s=OUe(e);break}}else s=OUe(e);break;case 3:s=1;break;case 4:TUe(e,1),s=0===AHe(BUe(e))?1:OUe(e);break;case 5:s=13;break;case 6:TUe(e,12);var v=Xje(BUe(e));s=0===v?i(e):1===v?function(r){return CI(a(0,r))}(e):OUe(e);break;case 7:s=10;break;case 8:TUe(e,6);var D=MHe(BUe(e));s=0===D?4:1===D?3:OUe(e);break;case 9:s=9;break;case 10:s=5;break;case 11:s=11;break;case 12:s=7;break;case 13:if(TUe(e,14),0===JHe(BUe(e))){var E=FHe(BUe(e));if(0===E)s=0===uje(BUe(e))&&0===uje(BUe(e))&&0===uje(BUe(e))?i(e):OUe(e);else if(1===E&&0===uje(BUe(e)))for(;;){var m=lje(BUe(e));if(0!==m){s=1===m?i(e):OUe(e);break}}else s=OUe(e)}else s=OUe(e);break;default:s=8}if(14>>0)return Z_e(_ee);switch(s){case 0:return[0,r,Je];case 1:return[2,fXe(r,e)];case 2:return[2,r];case 3:var F=rXe(r,e),k=VAe(r_),h=FXe(r,k,e),A=h[1];return[1,A,sXe(A,F,h[2],k,0)];case 4:var S=rXe(r,e),g=VAe(r_),B=mXe(r,g,e),T=B[1];return[1,T,sXe(T,S,B[2],g,1)];case 5:return[0,r,95];case 6:return[0,r,wk];case 7:return[0,r,96];case 8:return[0,r,0];case 9:return[0,r,83];case 10:return[0,r,10];case 11:return[0,r,79];case 12:return[0,r,[7,jUe(e)]];case 13:var I=jUe(e),N=rXe(r,e),L=VAe(r_),P=VAe(r_);$Ae(P,I);var M=yXe(r,hI(I,Aee)?0:1,L,P,e),U=eXe(M,e);$Ae(P,I);var H=KAe(L),X=KAe(P);return[0,M,[8,[0,M[1],N,U],H,X]];default:return[0,r,[6,jUe(e)]]}})),wXe=_Xe((function(r,e){IUe(e);var n=BUe(e),t=-1>>0)var u=OUe(e);else switch(t){case 0:u=5;break;case 1:if(TUe(e,1),0===nje(BUe(e))){for(;;)if(TUe(e,1),0!==nje(BUe(e))){u=OUe(e);break}}else u=OUe(e);break;case 2:u=0;break;case 3:TUe(e,0),u=0===AHe(BUe(e))?0:OUe(e);break;case 4:TUe(e,5);var a=MHe(BUe(e));u=0===a?3:1===a?2:OUe(e);break;default:u=4}if(5>>0)return Z_e(dee);switch(u){case 0:return[2,fXe(r,e)];case 1:return[2,r];case 2:var i=rXe(r,e),c=VAe(r_),f=FXe(r,c,e),o=f[1];return[1,o,sXe(o,i,f[2],c,0)];case 3:var s=rXe(r,e),v=VAe(r_),l=mXe(r,v,e),D=l[1];return[1,D,sXe(D,s,l[2],v,1)];case 4:var b=rXe(r,e),p=VAe(r_),E=VAe(r_),m=VAe(r_);$Ae(m,hee);var F=hXe(r,p,E,m,e),k=F[1],d=eXe(k,e),h=[0,k[1],b,d],y=F[2],_=KAe(m),A=KAe(E);return[0,k,[3,[0,h,[0,KAe(p),A,_],y]]];default:var C=cXe(r,nXe(r,e));return[0,C,[3,[0,nXe(C,e),yee,1]]]}})),SXe=_Xe((function(r,e){function u(r,e){if(0===JHe(BUe(e))){var n=FHe(BUe(e));if(0===n)return 0===uje(BUe(e))&&0===uje(BUe(e))&&0===uje(BUe(e))?r<50?a(r+1|0,e):wI(a,[0,e]):OUe(e);if(1===n){if(0===uje(BUe(e)))for(;;){var t=lje(BUe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wI(a,[0,e]):OUe(e)}return OUe(e)}return OUe(e)}return OUe(e)}function a(r,e){for(;;){TUe(e,49);var n=vje(BUe(e));if(0!==n)return 1===n?r<50?u(r+1|0,e):wI(u,[0,e]):OUe(e)}}function i(r){return CI(u(0,r))}function c(r){return CI(a(0,r))}function s(r){for(;;){TUe(r,48);var e=jHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:return i(r);default:return c(r)}}}function E(r){for(;;)if(TUe(r,29),0!==$He(BUe(r)))return OUe(r)}function h(r){TUe(r,27);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,25),0!==$He(BUe(r)))return OUe(r);return 1===e?E(r):OUe(r)}function A(r){for(;;)if(TUe(r,23),0!==$He(BUe(r)))return OUe(r)}function S(r){TUe(r,22);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,21),0!==$He(BUe(r)))return OUe(r);return 1===e?A(r):OUe(r)}function g(r){for(;;)if(TUe(r,23),0!==$He(BUe(r)))return OUe(r)}function B(r){TUe(r,22);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,21),0!==$He(BUe(r)))return OUe(r);return 1===e?g(r):OUe(r)}function I(r){r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,24);var e=BHe(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return g(r);case 1:continue;case 2:continue r;default:return B(r)}}return OUe(r)}}function N(r){TUe(r,29);var e=RHe(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return E(r);case 1:var n=Tje(BUe(r));if(0===n)for(;;){TUe(r,24);var t=Dje(BUe(r));if(2>>0)return OUe(r);switch(t){case 0:return g(r);case 1:continue;default:return B(r)}}if(1===n)for(;;){TUe(r,24);var u=BHe(BUe(r));if(3>>0)return OUe(r);switch(u){case 0:return g(r);case 1:continue;case 2:return I(r);default:return B(r)}}return OUe(r);case 2:for(;;){TUe(r,24);var a=Dje(BUe(r));if(2>>0)return OUe(r);switch(a){case 0:return A(r);case 1:continue;default:return S(r)}}default:for(;;){TUe(r,24);var i=BHe(BUe(r));if(3>>0)return OUe(r);switch(i){case 0:return A(r);case 1:continue;case 2:return I(r);default:return S(r)}}}}function L(r){for(;;){TUe(r,30);var e=aHe(BUe(r));if(4>>0)return OUe(r);switch(e){case 0:return E(r);case 1:continue;case 2:return N(r);case 3:r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,30);var n=aHe(BUe(r));if(4>>0)return OUe(r);switch(n){case 0:return E(r);case 1:continue;case 2:return N(r);case 3:continue r;default:return h(r)}}return OUe(r)}default:return h(r)}}}function P(r){return 0===tje(BUe(r))?L(r):OUe(r)}function M(r){for(;;)if(TUe(r,19),0!==$He(BUe(r)))return OUe(r)}function U(r){for(;;)if(TUe(r,19),0!==$He(BUe(r)))return OUe(r)}function X(r){TUe(r,29);var e=sje(BUe(r));if(0===e)return E(r);if(1===e)for(;;){TUe(r,20);var n=XHe(BUe(r));if(3>>0)return OUe(r);switch(n){case 0:return U(r);case 1:continue;case 2:r:for(;;){if(0===uje(BUe(r)))for(;;){TUe(r,20);var t=XHe(BUe(r));if(3>>0)return OUe(r);switch(t){case 0:return M(r);case 1:continue;case 2:continue r;default:TUe(r,18);var u=jje(BUe(r));if(0===u)for(;;)if(TUe(r,17),0!==$He(BUe(r)))return OUe(r);return 1===u?M(r):OUe(r)}}return OUe(r)}default:TUe(r,18);var a=jje(BUe(r));if(0===a)for(;;)if(TUe(r,17),0!==$He(BUe(r)))return OUe(r);return 1===a?U(r):OUe(r)}}return OUe(r)}function W(r){for(;;)if(TUe(r,13),0!==$He(BUe(r)))return OUe(r)}function rr(r){for(;;)if(TUe(r,13),0!==$He(BUe(r)))return OUe(r)}function nr(r){TUe(r,29);var e=CHe(BUe(r));if(0===e)return E(r);if(1===e)for(;;){TUe(r,14);var n=OHe(BUe(r));if(3>>0)return OUe(r);switch(n){case 0:return rr(r);case 1:continue;case 2:r:for(;;){if(0===Yje(BUe(r)))for(;;){TUe(r,14);var t=OHe(BUe(r));if(3>>0)return OUe(r);switch(t){case 0:return W(r);case 1:continue;case 2:continue r;default:TUe(r,12);var u=jje(BUe(r));if(0===u)for(;;)if(TUe(r,11),0!==$He(BUe(r)))return OUe(r);return 1===u?W(r):OUe(r)}}return OUe(r)}default:TUe(r,12);var a=jje(BUe(r));if(0===a)for(;;)if(TUe(r,11),0!==$He(BUe(r)))return OUe(r);return 1===a?rr(r):OUe(r)}}return OUe(r)}function ur(r){for(;;)if(TUe(r,9),0!==$He(BUe(r)))return OUe(r)}function ar(r){for(;;)if(TUe(r,9),0!==$He(BUe(r)))return OUe(r)}function fr(r){TUe(r,29);var e=EHe(BUe(r));if(0===e)return E(r);if(1===e)for(;;){TUe(r,10);var n=GHe(BUe(r));if(3>>0)return OUe(r);switch(n){case 0:return ar(r);case 1:continue;case 2:r:for(;;){if(0===gje(BUe(r)))for(;;){TUe(r,10);var t=GHe(BUe(r));if(3>>0)return OUe(r);switch(t){case 0:return ur(r);case 1:continue;case 2:continue r;default:TUe(r,8);var u=jje(BUe(r));if(0===u)for(;;)if(TUe(r,7),0!==$He(BUe(r)))return OUe(r);return 1===u?ur(r):OUe(r)}}return OUe(r)}default:TUe(r,8);var a=jje(BUe(r));if(0===a)for(;;)if(TUe(r,7),0!==$He(BUe(r)))return OUe(r);return 1===a?ar(r):OUe(r)}}return OUe(r)}function sr(r){TUe(r,28);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,26),0!==$He(BUe(r)))return OUe(r);return 1===e?E(r):OUe(r)}function br(r){TUe(r,30);var e=Dje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:return E(r);case 1:for(;;){TUe(r,30);var n=BHe(BUe(r));if(3>>0)return OUe(r);switch(n){case 0:return E(r);case 1:continue;case 2:r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,30);var t=BHe(BUe(r));if(3>>0)return OUe(r);switch(t){case 0:return E(r);case 1:continue;case 2:continue r;default:return h(r)}}return OUe(r)}default:return h(r)}}default:return h(r)}}function Ar(r){for(;;){TUe(r,30);var e=Cje(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return E(r);case 1:return br(r);case 2:continue;default:return sr(r)}}}function Br(r){for(;;)if(TUe(r,15),0!==$He(BUe(r)))return OUe(r)}function xr(r){TUe(r,15);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,15),0!==$He(BUe(r)))return OUe(r);return 1===e?Br(r):OUe(r)}function Pr(r){for(;;){TUe(r,16);var e=UHe(BUe(r));if(4>>0)return OUe(r);switch(e){case 0:return Br(r);case 1:return br(r);case 2:continue;case 3:for(;;){TUe(r,15);var n=Cje(BUe(r));if(3>>0)return OUe(r);switch(n){case 0:return Br(r);case 1:return br(r);case 2:continue;default:return xr(r)}}default:return xr(r)}}}function Rr(r){TUe(r,30);var e=eHe(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return E(r);case 1:for(;;){TUe(r,30);var n=aHe(BUe(r));if(4>>0)return OUe(r);switch(n){case 0:return E(r);case 1:continue;case 2:return N(r);case 3:r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,30);var t=aHe(BUe(r));if(4>>0)return OUe(r);switch(t){case 0:return E(r);case 1:continue;case 2:return N(r);case 3:continue r;default:return h(r)}}return OUe(r)}default:return h(r)}}case 2:return N(r);default:return h(r)}}function Ur(r){TUe(r,30);var e=dHe(BUe(r));if(8>>0)return OUe(r);switch(e){case 0:return E(r);case 1:return Rr(r);case 2:return Pr(r);case 3:return Ar(r);case 4:return fr(r);case 5:return N(r);case 6:return nr(r);case 7:return X(r);default:return sr(r)}}function Hr(r){r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,30);var e=xHe(BUe(r));if(4>>0)return OUe(r);switch(e){case 0:return E(r);case 1:return br(r);case 2:continue;case 3:continue r;default:return sr(r)}}return OUe(r)}}function Yr(r){for(;;){TUe(r,30);var e=Ije(BUe(r));if(5>>0)return OUe(r);switch(e){case 0:return E(r);case 1:return Rr(r);case 2:continue;case 3:return N(r);case 4:return Hr(r);default:return sr(r)}}}function zr(r){return TUe(r,3),0===zHe(BUe(r))?3:OUe(r)}function Zr(r){return 0===vHe(BUe(r))&&0===Kje(BUe(r))&&0===HHe(BUe(r))&&0===fHe(BUe(r))&&0===oHe(BUe(r))&&0===Vje(BUe(r))&&0===Wje(BUe(r))&&0===vHe(BUe(r))&&0===JHe(BUe(r))&&0===lHe(BUe(r))&&0===LHe(BUe(r))?3:OUe(r)}IUe(e);var ne=BUe(e),te=er>>0)var ue=OUe(e);else switch(te){case 0:ue=81;break;case 1:ue=82;break;case 2:if(TUe(e,1),0===nje(BUe(e))){for(;;)if(TUe(e,1),0!==nje(BUe(e))){ue=OUe(e);break}}else ue=OUe(e);break;case 3:ue=0;break;case 4:TUe(e,0),ue=0===AHe(BUe(e))?0:OUe(e);break;case 5:ue=6;break;case 6:TUe(e,48);var fe=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(fe){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;case 7:if(TUe(e,82),0===Wje(BUe(e))){var oe=BUe(e);if(0==(Zv>>0)ue=OUe(e);else switch(ve){case 0:for(;;){var De=qje(BUe(e));if(3>>0)ue=OUe(e);else switch(De){case 0:continue;case 1:ue=P(e);break;case 2:ue=Ur(e);break;default:ue=Yr(e)}break}break;case 1:ue=P(e);break;case 2:ue=Ur(e);break;default:ue=Yr(e)}break;case 15:TUe(e,60);var be=pHe(BUe(e));ue=0===be?0===eje(BUe(e))?59:OUe(e):1===be?L(e):OUe(e);break;case 16:TUe(e,82);var pe=MHe(BUe(e));if(0===pe){TUe(e,2);var me=wje(BUe(e));if(2>>0)ue=OUe(e);else switch(me){case 0:for(;;){var ke=wje(BUe(e));if(2>>0)ue=OUe(e);else switch(ke){case 0:continue;case 1:ue=zr(e);break;default:ue=Zr(e)}break}break;case 1:ue=zr(e);break;default:ue=Zr(e)}}else ue=1===pe?5:OUe(e);break;case 17:TUe(e,30);var de=dHe(BUe(e));if(8>>0)ue=OUe(e);else switch(de){case 0:ue=E(e);break;case 1:ue=Rr(e);break;case 2:ue=Pr(e);break;case 3:ue=Ar(e);break;case 4:ue=fr(e);break;case 5:ue=N(e);break;case 6:ue=nr(e);break;case 7:ue=X(e);break;default:ue=sr(e)}break;case 18:TUe(e,30);var ye=Ije(BUe(e));if(5>>0)ue=OUe(e);else switch(ye){case 0:ue=E(e);break;case 1:ue=Rr(e);break;case 2:ue=Yr(e);break;case 3:ue=N(e);break;case 4:ue=Hr(e);break;default:ue=sr(e)}break;case 19:ue=63;break;case 20:ue=61;break;case 21:ue=68;break;case 22:TUe(e,70);var Be=BUe(e);ue=0==(61>>0)ue=OUe(e);else switch(xe){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Ge=oje(BUe(e));if(3>>0)ue=OUe(e);else switch(Ge){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,31);var je=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(je){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 29:TUe(e,48);var Xe=nHe(BUe(e));if(4>>0)ue=OUe(e);else switch(Xe){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Ye=Qje(BUe(e));if(3>>0)ue=OUe(e);else switch(Ye){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Qe=hje(BUe(e));if(3>>0)ue=OUe(e);else switch(Qe){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var en=Lje(BUe(e));if(3>>0)ue=OUe(e);else switch(en){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var an=THe(BUe(e));if(3>>0)ue=OUe(e);else switch(an){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,41);var cn=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(cn){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 3:TUe(e,48);var sn=hHe(BUe(e));if(3>>0)ue=OUe(e);else switch(sn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var vn=mje(BUe(e));if(3>>0)ue=OUe(e);else switch(vn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,32);var ln=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(ln){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var pn=bje(BUe(e));if(3>>0)ue=OUe(e);else switch(pn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var En=Lje(BUe(e));if(3>>0)ue=OUe(e);else switch(En){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,33);var mn=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(mn){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 30:TUe(e,48);var kn=BUe(e),dn=35>>0)ue=OUe(e);else switch(dn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var gn=kHe(BUe(e));if(3>>0)ue=OUe(e);else switch(gn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var In=THe(BUe(e));if(3>>0)ue=OUe(e);else switch(In){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var On=oje(BUe(e));if(3>>0)ue=OUe(e);else switch(On){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,34);var Ln=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Ln){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 3:TUe(e,48);var Pn=THe(BUe(e));if(3>>0)ue=OUe(e);else switch(Pn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Mn=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Mn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Gn=Lje(BUe(e));if(3>>0)ue=OUe(e);else switch(Gn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Xn=WHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Xn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Kn=pje(BUe(e));if(3>>0)ue=OUe(e);else switch(Kn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,35);var Jn=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Jn){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 31:TUe(e,48);var zn=bje(BUe(e));if(3>>0)ue=OUe(e);else switch(zn){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var $n=mje(BUe(e));if(3<$n>>>0)ue=OUe(e);else switch($n){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var rt=pje(BUe(e));if(3>>0)ue=OUe(e);else switch(rt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var et=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(et){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,36);var nt=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(nt){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 32:TUe(e,48);var tt=Lje(BUe(e));if(3>>0)ue=OUe(e);else switch(tt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var at=THe(BUe(e));if(3>>0)ue=OUe(e);else switch(at){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var ct=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(ct){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var ft=Gje(BUe(e));if(3>>0)ue=OUe(e);else switch(ft){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var st=_He(BUe(e));if(3>>0)ue=OUe(e);else switch(st){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var pt=bje(BUe(e));if(3>>0)ue=OUe(e);else switch(pt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Ft=yHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Ft){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var kt=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(kt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,37);var St=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(St){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 33:TUe(e,48);var Tt=hje(BUe(e));if(3>>0)ue=OUe(e);else switch(Tt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var It=BUe(e),Nt=35>>0)ue=OUe(e);else switch(Nt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var xt=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(xt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Mt=WHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Mt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,38);var Gt=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Gt){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 34:TUe(e,48);var jt=IHe(BUe(e));if(3>>0)ue=OUe(e);else switch(jt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Yt=BUe(e),Kt=35>>0)ue=OUe(e);else switch(Kt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Wt=mje(BUe(e));if(3>>0)ue=OUe(e);else switch(Wt){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,39);var Jt=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Jt){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;case 3:TUe(e,48);var ru=tHe(BUe(e));if(3>>0)ue=OUe(e);else switch(ru){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var eu=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(eu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var nu=Gje(BUe(e));if(3>>0)ue=OUe(e);else switch(nu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,40);var uu=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(uu){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 35:TUe(e,48);var iu=BUe(e),ou=35>>0)ue=OUe(e);else switch(ou){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Eu=BUe(e),mu=35>>0)ue=OUe(e);else switch(mu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var yu=THe(BUe(e));if(3>>0)ue=OUe(e);else switch(yu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Cu=hje(BUe(e));if(3>>0)ue=OUe(e);else switch(Cu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Su=yHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Su){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,42);var Ou=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Ou){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 3:TUe(e,48);var Lu=hje(BUe(e));if(3>>0)ue=OUe(e);else switch(Lu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Gu=Lje(BUe(e));if(3>>0)ue=OUe(e);else switch(Gu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Uu=Qje(BUe(e));if(3>>0)ue=OUe(e);else switch(Uu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,43);var Hu=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Hu){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 3:TUe(e,48);var Xu=kje(BUe(e));if(3>>0)ue=OUe(e);else switch(Xu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Yu=tHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Yu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Vu=hHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Vu){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var $u=mje(BUe(e));if(3<$u>>>0)ue=OUe(e);else switch($u){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,47);var aa=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(aa){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 36:TUe(e,48);var ca=BUe(e),oa=35>>0)ue=OUe(e);else switch(oa){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var va=IHe(BUe(e));if(3>>0)ue=OUe(e);else switch(va){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var la=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(la){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,44);var Ea=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Ea){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 3:TUe(e,48);var ma=kHe(BUe(e));if(3>>0)ue=OUe(e);else switch(ma){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Fa=gHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Fa){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var ka=hHe(BUe(e));if(3>>0)ue=OUe(e);else switch(ka){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var ha=_He(BUe(e));if(3>>0)ue=OUe(e);else switch(ha){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,45);var Ca=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(Ca){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 37:TUe(e,48);var Sa=hHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Sa){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Ta=hje(BUe(e));if(3>>0)ue=OUe(e);else switch(Ta){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,48);var Ia=WHe(BUe(e));if(3>>0)ue=OUe(e);else switch(Ia){case 0:ue=s(e);break;case 1:ue=i(e);break;case 2:TUe(e,46);var La=jHe(BUe(e));if(2>>0)ue=OUe(e);else switch(La){case 0:ue=s(e);break;case 1:ue=i(e);break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;default:ue=c(e)}break;case 38:TUe(e,53);var Ga=BUe(e);ue=0==(Lb>>0)return Z_e(bee);var ri=ue;if(42<=ri)switch(ri){case 42:return[0,r,42];case 43:return[0,r,bm];case 44:return[0,r,31];case 46:return[0,r,An];case 47:return[0,r,ik];case 48:var ti=nXe(r,e),ai=jUe(e);return[0,r,[4,ti,ai,ai]];case 49:var ii=nXe(r,e),ci=jUe(e),oi=pXe(r,RUe(e));return[0,oi[1],[4,ii,oi[2],ci]];case 50:return[0,r,66];case 53:return[0,r,0];case 54:return[0,r,1];case 55:return[0,r,2];case 56:return[0,r,3];case 57:return[0,r,4];case 58:return[0,r,5];case 59:return[0,r,12];case 60:return[0,r,10];case 61:return[0,r,8];case 62:return[0,r,9];case 64:return[0,r,80];case 68:return[0,r,95];case 69:return[0,r,96];case 72:return[0,r,Zv];case 74:return[0,r,86];case 75:return[0,r,88];case 77:return[0,r,11];case 79:return[0,r,pu];case 80:return[0,r,Ik];case 81:return[0,r[4]?uXe(r,nXe(r,e),6):r,Je];case 82:return[0,r,[6,jUe(e)]];case 45:case 76:return[0,r,46];case 51:case 66:return[0,r,6];case 52:case 67:return[0,r,7];case 63:case 73:return[0,r,83];case 65:case 71:return[0,r,82];default:return[0,r,79]}switch(ri){case 0:return[2,fXe(r,e)];case 1:return[2,r];case 2:var si=rXe(r,e),Di=VAe(r_),bi=mXe(r,Di,e),Fi=bi[1];return[1,Fi,sXe(Fi,si,bi[2],Di,1)];case 3:var hi=jUe(e);if(r[5]){var Ai=VUe(1,r[4]?aXe(r,nXe(r,e),hi):r),Bi=PUe(e);return hI(UUe(e,Bi-1|0,1),pee)&&_I(UUe(e,Bi-2|0,1),Eee)?[0,Ai,83]:[2,Ai]}var Oi=rXe(r,e),Pi=VAe(r_);$Ae(Pi,hi);var Ri=mXe(r,Pi,e),Mi=Ri[1];return[1,Mi,sXe(Mi,Oi,Ri[2],Pi,1)];case 4:return r[4]?[2,VUe(0,r)]:(NUe(e),IUe(e),0===(0===Zje(BUe(e))?0:OUe(e))?[0,r,Zv]:Z_e(mee));case 5:var Gi=rXe(r,e),Yi=VAe(r_),Ki=FXe(r,Yi,e),qi=Ki[1];return[1,qi,sXe(qi,Gi,Ki[2],Yi,0)];case 6:var $i=jUe(e),nc=rXe(r,e),fc=VAe(r_),oc=VAe(r_);$Ae(oc,$i);var Dc=dXe(r,$i,fc,oc,0,e),bc=Dc[1],pc=[0,bc[1],nc,Dc[2]],mc=Dc[3],Fc=KAe(oc);return[0,bc,[2,[0,pc,KAe(fc),Fc,mc]]];case 7:return EXe(r,e,(function(r,e){function n(r){if(0===Uje(BUe(r))){if(0===gje(BUe(r)))for(;;){var e=_je(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===gje(BUe(r)))for(;;){var n=_je(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}return OUe(r)}return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,lXe(0,jUe(e))]:Z_e(Dee)}));case 8:return[0,r,lXe(0,jUe(e))];case 9:return EXe(r,e,(function(r,e){function n(r){if(0===Uje(BUe(r))){if(0===gje(BUe(r)))for(;;){TUe(r,0);var e=yje(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===gje(BUe(r)))for(;;){TUe(r,0);var n=yje(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}return OUe(r)}return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,vXe(0,jUe(e))]:Z_e(lee)}));case 10:return[0,r,vXe(0,jUe(e))];case 11:return EXe(r,e,(function(r,e){function n(r){if(0===$je(BUe(r))){if(0===Yje(BUe(r)))for(;;){var e=Rje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===Yje(BUe(r)))for(;;){var n=Rje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}return OUe(r)}return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,lXe(1,jUe(e))]:Z_e(vee)}));case 12:return[0,r,lXe(1,jUe(e))];case 13:return EXe(r,e,(function(r,e){function n(r){if(0===$je(BUe(r))){if(0===Yje(BUe(r)))for(;;){TUe(r,0);var e=Bje(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===Yje(BUe(r)))for(;;){TUe(r,0);var n=Bje(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}return OUe(r)}return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,vXe(3,jUe(e))]:Z_e(see)}));case 14:return[0,r,vXe(3,jUe(e))];case 15:return EXe(r,e,(function(r,e){function n(r){if(0===Yje(BUe(r)))for(;;)if(TUe(r,0),0!==Yje(BUe(r)))return OUe(r);return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,vXe(1,jUe(e))]:Z_e(oee)}));case 16:return[0,r,vXe(1,jUe(e))];case 17:return EXe(r,e,(function(r,e){function n(r){if(0===cje(BUe(r))){if(0===uje(BUe(r)))for(;;){var e=Aje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===uje(BUe(r)))for(;;){var n=Aje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}return OUe(r)}return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,lXe(2,jUe(e))]:Z_e(fee)}));case 19:return EXe(r,e,(function(r,e){function n(r){if(0===cje(BUe(r))){if(0===uje(BUe(r)))for(;;){TUe(r,0);var e=DHe(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===uje(BUe(r)))for(;;){TUe(r,0);var n=DHe(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}return OUe(r)}return OUe(r)}IUe(e);var t=cHe(BUe(e));if(0===t)for(;;){var u=Eje(BUe(e));if(0!==u){var a=1===u?n(e):OUe(e);break}}else a=1===t?n(e):OUe(e);return 0===a?[0,r,vXe(4,jUe(e))]:Z_e(cee)}));case 21:return EXe(r,e,(function(r,e){function n(r){for(;;){var e=aje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=aje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}}function t(r){for(;;){var e=Pje(BUe(r));if(0!==e)return 1===e?0:OUe(r)}}function u(r){var e=VHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:var u=Tje(BUe(r));return 0===u?t(r):1===u?n(r):OUe(r);case 1:return t(r);default:return n(r)}}function a(r){if(0===tje(BUe(r)))for(;;){var e=YHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=YHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return OUe(r)}}}return OUe(r)}function i(r){var e=uHe(BUe(r));if(0===e)for(;;){var n=YHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===tje(BUe(r)))for(;;){var t=YHe(BUe(r));if(2>>0)return OUe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return OUe(r)}}}return 1===e?u(r):OUe(r)}function c(r){var e=Fje(BUe(r));return 0===e?i(r):1===e?u(r):OUe(r)}function f(r){for(;;){var e=zje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}IUe(e);var o=Sje(BUe(e));if(3>>0)var s=OUe(e);else switch(o){case 0:for(;;){var v=qje(BUe(e));if(3>>0)s=OUe(e);else switch(v){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}if(0===s){var l=jUe(e);return[0,uXe(r,nXe(r,e),23),lXe(2,l)]}return Z_e(iee)}));case 22:var Oc=jUe(e);return[0,uXe(r,nXe(r,e),23),lXe(2,Oc)];case 23:return EXe(r,e,(function(r,e){function n(r){for(;;){TUe(r,0);var e=NHe(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,0);var n=NHe(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}}function t(r){for(;;)if(TUe(r,0),0!==tje(BUe(r)))return OUe(r)}function u(r){var e=VHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:var u=Tje(BUe(r));return 0===u?t(r):1===u?n(r):OUe(r);case 1:return t(r);default:return n(r)}}function a(r){if(0===tje(BUe(r)))for(;;){var e=YHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=YHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return OUe(r)}}}return OUe(r)}function i(r){var e=uHe(BUe(r));if(0===e)for(;;){var n=YHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===tje(BUe(r)))for(;;){var t=YHe(BUe(r));if(2>>0)return OUe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return OUe(r)}}}return 1===e?u(r):OUe(r)}function c(r){var e=Fje(BUe(r));return 0===e?i(r):1===e?u(r):OUe(r)}function f(r){for(;;){var e=zje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}IUe(e);var o=Sje(BUe(e));if(3>>0)var s=OUe(e);else switch(o){case 0:for(;;){var v=qje(BUe(e));if(3>>0)s=OUe(e);else switch(v){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}return 0===s?[0,r,vXe(4,jUe(e))]:Z_e(aee)}));case 25:return EXe(r,e,(function(r,e){function n(r){for(;;){var e=aje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=aje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}}function t(r){return 0===tje(BUe(r))?n(r):OUe(r)}function u(r){var e=Pje(BUe(r));return 0===e?n(r):1===e?0:OUe(r)}function a(r){for(;;){var e=pHe(BUe(r));if(0===e)return u(r);if(1!==e)return OUe(r)}}function i(r){for(;;){var e=KHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:return u(r);case 1:continue;default:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=KHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:return u(r);case 1:continue;default:continue r}}return OUe(r)}}}}IUe(e);var c=Sje(BUe(e));if(3>>0)var f=OUe(e);else switch(c){case 0:for(;;){var o=qje(BUe(e));if(3>>0)f=OUe(e);else switch(o){case 0:continue;case 1:f=t(e);break;case 2:f=a(e);break;default:f=i(e)}break}break;case 1:f=t(e);break;case 2:f=a(e);break;default:f=i(e)}if(0===f){var s=jUe(e);return[0,uXe(r,nXe(r,e),22),lXe(2,s)]}return Z_e(uee)}));case 26:return EXe(r,e,(function(r,e){function n(r){for(;;){var e=Pje(BUe(r));if(0!==e)return 1===e?0:OUe(r)}}function t(r){for(;;){var e=aje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=aje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}}IUe(e);var u=BUe(e),a=44>>0)var i=OUe(e);else switch(a){case 0:for(;;){var c=PHe(BUe(e));if(2>>0)i=OUe(e);else switch(c){case 0:continue;case 1:i=n(e);break;default:i=t(e)}break}break;case 1:i=n(e);break;default:i=t(e)}return 0===i?[0,r,lXe(2,jUe(e))]:Z_e(tee)}));case 27:var Nc=jUe(e);return[0,uXe(r,nXe(r,e),22),lXe(2,Nc)];case 29:return EXe(r,e,(function(r,e){function n(r){for(;;){TUe(r,0);var e=NHe(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,0);var n=NHe(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}}function t(r){return TUe(r,0),0===tje(BUe(r))?n(r):OUe(r)}IUe(e);var u=Sje(BUe(e));if(3>>0)var a=OUe(e);else switch(u){case 0:for(;;){var i=PHe(BUe(e));if(2>>0)a=OUe(e);else switch(i){case 0:continue;case 1:for(;;){TUe(e,0);var c=pHe(BUe(e));if(0===c)a=0;else{if(1===c)continue;a=OUe(e)}break}break;default:for(;;){TUe(e,0);var f=KHe(BUe(e));if(2>>0)a=OUe(e);else switch(f){case 0:a=0;break;case 1:continue;default:r:for(;;){if(0===tje(BUe(e)))for(;;){TUe(e,0);var o=KHe(BUe(e));if(2>>0)var s=OUe(e);else switch(o){case 0:s=0;break;case 1:continue;default:continue r}break}else s=OUe(e);a=s;break}}break}}break}break;case 1:a=0===tje(BUe(e))?n(e):OUe(e);break;case 2:for(;;){TUe(e,0);var v=pHe(BUe(e));if(0===v)a=t(e);else{if(1===v)continue;a=OUe(e)}break}break;default:for(;;){TUe(e,0);var l=KHe(BUe(e));if(2>>0)a=OUe(e);else switch(l){case 0:a=t(e);break;case 1:continue;default:r:for(;;){if(0===tje(BUe(e)))for(;;){TUe(e,0);var D=KHe(BUe(e));if(2>>0)var b=OUe(e);else switch(D){case 0:b=t(e);break;case 1:continue;default:continue r}break}else b=OUe(e);a=b;break}}break}}return 0===a?[0,r,vXe(4,jUe(e))]:Z_e(nee)}));case 31:return[0,r,Vr];case 32:return[0,r,Fee];case 33:return[0,r,kee];case 34:return[0,r,Qt];case 35:return[0,r,41];case 36:return[0,r,30];case 37:return[0,r,53];case 38:return[0,r,Te];case 39:return[0,r,29];case 40:return[0,r,li];case 41:return[0,r,AC];case 18:case 28:return[0,r,lXe(2,jUe(e))];default:return[0,r,vXe(4,jUe(e))]}})),gXe=_Xe((function(r,e){function u(r,e){if(0===JHe(BUe(e))){var n=FHe(BUe(e));if(0===n)return 0===uje(BUe(e))&&0===uje(BUe(e))&&0===uje(BUe(e))?r<50?a(r+1|0,e):wI(a,[0,e]):OUe(e);if(1===n){if(0===uje(BUe(e)))for(;;){var t=lje(BUe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wI(a,[0,e]):OUe(e)}return OUe(e)}return OUe(e)}return OUe(e)}function a(r,e){for(;;){TUe(e,88);var n=vje(BUe(e));if(0!==n)return 1===n?r<50?u(r+1|0,e):wI(u,[0,e]):OUe(e)}}function i(r){return CI(u(0,r))}function c(r){return CI(a(0,r))}function s(r){for(;;){TUe(r,87);var e=jHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:return i(r);default:return c(r)}}}function E(r){for(;;)if(TUe(r,34),0!==$He(BUe(r)))return OUe(r)}function h(r){for(;;)if(TUe(r,28),0!==$He(BUe(r)))return OUe(r)}function A(r){TUe(r,27);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,26),0!==$He(BUe(r)))return OUe(r);return 1===e?h(r):OUe(r)}function g(r){for(;;)if(TUe(r,28),0!==$He(BUe(r)))return OUe(r)}function I(r){TUe(r,27);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,26),0!==$He(BUe(r)))return OUe(r);return 1===e?g(r):OUe(r)}function N(r){r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,29);var e=BHe(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return g(r);case 1:continue;case 2:continue r;default:return I(r)}}return OUe(r)}}function L(r){TUe(r,34);var e=RHe(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return E(r);case 1:var n=Tje(BUe(r));if(0===n)for(;;){TUe(r,29);var t=Dje(BUe(r));if(2>>0)return OUe(r);switch(t){case 0:return g(r);case 1:continue;default:return I(r)}}if(1===n)for(;;){TUe(r,29);var u=BHe(BUe(r));if(3>>0)return OUe(r);switch(u){case 0:return g(r);case 1:continue;case 2:return N(r);default:return I(r)}}return OUe(r);case 2:for(;;){TUe(r,29);var a=Dje(BUe(r));if(2>>0)return OUe(r);switch(a){case 0:return h(r);case 1:continue;default:return A(r)}}default:for(;;){TUe(r,29);var i=BHe(BUe(r));if(3>>0)return OUe(r);switch(i){case 0:return h(r);case 1:continue;case 2:return N(r);default:return A(r)}}}}function P(r){TUe(r,32);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,30),0!==$He(BUe(r)))return OUe(r);return 1===e?E(r):OUe(r)}function M(r){return TUe(r,4),0===zHe(BUe(r))?4:OUe(r)}function U(r){return 0===vHe(BUe(r))&&0===Kje(BUe(r))&&0===HHe(BUe(r))&&0===fHe(BUe(r))&&0===oHe(BUe(r))&&0===Vje(BUe(r))&&0===Wje(BUe(r))&&0===vHe(BUe(r))&&0===JHe(BUe(r))&&0===lHe(BUe(r))&&0===LHe(BUe(r))?4:OUe(r)}function X(r){TUe(r,35);var e=eHe(BUe(r));if(3>>0)return OUe(r);switch(e){case 0:return E(r);case 1:for(;;){TUe(r,35);var n=aHe(BUe(r));if(4>>0)return OUe(r);switch(n){case 0:return E(r);case 1:continue;case 2:return L(r);case 3:r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,35);var t=aHe(BUe(r));if(4>>0)return OUe(r);switch(t){case 0:return E(r);case 1:continue;case 2:return L(r);case 3:continue r;default:return P(r)}}return OUe(r)}default:return P(r)}}case 2:return L(r);default:return P(r)}}function W(r){for(;;)if(TUe(r,20),0!==$He(BUe(r)))return OUe(r)}function rr(r){TUe(r,35);var e=Dje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:return E(r);case 1:for(;;){TUe(r,35);var n=BHe(BUe(r));if(3>>0)return OUe(r);switch(n){case 0:return E(r);case 1:continue;case 2:r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,35);var t=BHe(BUe(r));if(3>>0)return OUe(r);switch(t){case 0:return E(r);case 1:continue;case 2:continue r;default:return P(r)}}return OUe(r)}default:return P(r)}}default:return P(r)}}function nr(r){for(;;)if(TUe(r,18),0!==$He(BUe(r)))return OUe(r)}function ur(r){for(;;)if(TUe(r,18),0!==$He(BUe(r)))return OUe(r)}function ar(r){for(;;)if(TUe(r,12),0!==$He(BUe(r)))return OUe(r)}function fr(r){for(;;)if(TUe(r,12),0!==$He(BUe(r)))return OUe(r)}function sr(r){for(;;)if(TUe(r,16),0!==$He(BUe(r)))return OUe(r)}function br(r){for(;;)if(TUe(r,16),0!==$He(BUe(r)))return OUe(r)}function Ar(r){for(;;)if(TUe(r,24),0!==$He(BUe(r)))return OUe(r)}function Br(r){for(;;)if(TUe(r,24),0!==$He(BUe(r)))return OUe(r)}function xr(r){TUe(r,33);var e=jje(BUe(r));if(0===e)for(;;)if(TUe(r,31),0!==$He(BUe(r)))return OUe(r);return 1===e?E(r):OUe(r)}function Pr(r){r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,35);var e=xHe(BUe(r));if(4>>0)return OUe(r);switch(e){case 0:return E(r);case 1:return rr(r);case 2:continue;case 3:continue r;default:return xr(r)}}return OUe(r)}}IUe(e);var Rr=BUe(e),Ur=er>>0)var Hr=OUe(e);else switch(Ur){case 0:Hr=147;break;case 1:Hr=_w;break;case 2:if(TUe(e,2),0===nje(BUe(e))){for(;;)if(TUe(e,2),0!==nje(BUe(e))){Hr=OUe(e);break}}else Hr=OUe(e);break;case 3:Hr=0;break;case 4:TUe(e,0),Hr=0===AHe(BUe(e))?0:OUe(e);break;case 5:TUe(e,139),Hr=0===Nje(BUe(e))?(TUe(e,Te),0===Nje(BUe(e))?xp:OUe(e)):OUe(e);break;case 6:Hr=8;break;case 7:TUe(e,146);var Yr=BUe(e);Hr=0==(32>>0)Hr=OUe(e);else switch(zr){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;case 9:TUe(e,135),Hr=0===Nje(BUe(e))?PF:OUe(e);break;case 10:TUe(e,137);var Zr=BUe(e),ne=37>>0)Hr=OUe(e);else switch(te){case 0:TUe(e,sB),Hr=0===Nje(BUe(e))?VE:OUe(e);break;case 1:Hr=5;break;default:Hr=Lb}break;case 14:TUe(e,131);var ue=BUe(e),fe=42>>0)Hr=OUe(e);else switch(De){case 0:Hr=E(e);break;case 1:continue;case 2:Hr=L(e);break;case 3:r:for(;;){if(0===tje(BUe(e)))for(;;){TUe(e,35);var be=aHe(BUe(e));if(4>>0)var pe=OUe(e);else switch(be){case 0:pe=E(e);break;case 1:continue;case 2:pe=L(e);break;case 3:continue r;default:pe=P(e)}break}else pe=OUe(e);Hr=pe;break}break;default:Hr=P(e)}break}else Hr=OUe(e);break;case 18:TUe(e,144);var me=iHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(me){case 0:TUe(e,3);var ke=wje(BUe(e));if(2>>0)Hr=OUe(e);else switch(ke){case 0:for(;;){var de=wje(BUe(e));if(2>>0)Hr=OUe(e);else switch(de){case 0:continue;case 1:Hr=M(e);break;default:Hr=U(e)}break}break;case 1:Hr=M(e);break;default:Hr=U(e)}break;case 1:Hr=6;break;default:Hr=143}break;case 19:TUe(e,35);var ye=dHe(BUe(e));if(8>>0)Hr=OUe(e);else switch(ye){case 0:Hr=E(e);break;case 1:Hr=X(e);break;case 2:for(;;){TUe(e,21);var Be=UHe(BUe(e));if(4>>0)Hr=OUe(e);else switch(Be){case 0:Hr=W(e);break;case 1:Hr=rr(e);break;case 2:continue;case 3:for(;;){TUe(e,19);var Ie=Cje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ie){case 0:Hr=nr(e);break;case 1:Hr=rr(e);break;case 2:continue;default:TUe(e,18);var Ne=jje(BUe(e));if(0===Ne){for(;;)if(TUe(e,18),0!==$He(BUe(e))){Hr=OUe(e);break}}else Hr=1===Ne?nr(e):OUe(e)}break}break;default:TUe(e,20);var xe=jje(BUe(e));if(0===xe){for(;;)if(TUe(e,20),0!==$He(BUe(e))){Hr=OUe(e);break}}else Hr=1===xe?W(e):OUe(e)}break}break;case 3:for(;;){TUe(e,19);var Ge=Cje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ge){case 0:Hr=ur(e);break;case 1:Hr=rr(e);break;case 2:continue;default:TUe(e,18);var je=jje(BUe(e));if(0===je){for(;;)if(TUe(e,18),0!==$He(BUe(e))){Hr=OUe(e);break}}else Hr=1===je?ur(e):OUe(e)}break}break;case 4:TUe(e,34);var Xe=EHe(BUe(e));if(0===Xe)Hr=E(e);else if(1===Xe)for(;;){TUe(e,13);var Ye=GHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ye){case 0:Hr=ar(e);break;case 1:continue;case 2:r:for(;;){if(0===gje(BUe(e)))for(;;){TUe(e,13);var Qe=GHe(BUe(e));if(3>>0)var en=OUe(e);else switch(Qe){case 0:en=fr(e);break;case 1:continue;case 2:continue r;default:TUe(e,11);var an=jje(BUe(e));if(0===an){for(;;)if(TUe(e,10),0!==$He(BUe(e))){en=OUe(e);break}}else en=1===an?fr(e):OUe(e)}break}else en=OUe(e);Hr=en;break}break;default:TUe(e,11);var cn=jje(BUe(e));if(0===cn){for(;;)if(TUe(e,10),0!==$He(BUe(e))){Hr=OUe(e);break}}else Hr=1===cn?ar(e):OUe(e)}break}else Hr=OUe(e);break;case 5:Hr=L(e);break;case 6:TUe(e,34);var sn=CHe(BUe(e));if(0===sn)Hr=E(e);else if(1===sn)for(;;){TUe(e,17);var vn=OHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(vn){case 0:Hr=sr(e);break;case 1:continue;case 2:r:for(;;){if(0===Yje(BUe(e)))for(;;){TUe(e,17);var ln=OHe(BUe(e));if(3>>0)var pn=OUe(e);else switch(ln){case 0:pn=br(e);break;case 1:continue;case 2:continue r;default:TUe(e,15);var En=jje(BUe(e));if(0===En){for(;;)if(TUe(e,14),0!==$He(BUe(e))){pn=OUe(e);break}}else pn=1===En?br(e):OUe(e)}break}else pn=OUe(e);Hr=pn;break}break;default:TUe(e,15);var mn=jje(BUe(e));if(0===mn){for(;;)if(TUe(e,14),0!==$He(BUe(e))){Hr=OUe(e);break}}else Hr=1===mn?sr(e):OUe(e)}break}else Hr=OUe(e);break;case 7:TUe(e,34);var kn=sje(BUe(e));if(0===kn)Hr=E(e);else if(1===kn)for(;;){TUe(e,25);var dn=XHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(dn){case 0:Hr=Ar(e);break;case 1:continue;case 2:r:for(;;){if(0===uje(BUe(e)))for(;;){TUe(e,25);var gn=XHe(BUe(e));if(3>>0)var In=OUe(e);else switch(gn){case 0:In=Br(e);break;case 1:continue;case 2:continue r;default:TUe(e,23);var On=jje(BUe(e));if(0===On){for(;;)if(TUe(e,22),0!==$He(BUe(e))){In=OUe(e);break}}else In=1===On?Br(e):OUe(e)}break}else In=OUe(e);Hr=In;break}break;default:TUe(e,23);var Ln=jje(BUe(e));if(0===Ln){for(;;)if(TUe(e,22),0!==$He(BUe(e))){Hr=OUe(e);break}}else Hr=1===Ln?Ar(e):OUe(e)}break}else Hr=OUe(e);break;default:Hr=xr(e)}break;case 20:TUe(e,35);var Pn=Ije(BUe(e));if(5>>0)Hr=OUe(e);else switch(Pn){case 0:Hr=E(e);break;case 1:Hr=X(e);break;case 2:for(;;){TUe(e,35);var Mn=Ije(BUe(e));if(5>>0)Hr=OUe(e);else switch(Mn){case 0:Hr=E(e);break;case 1:Hr=X(e);break;case 2:continue;case 3:Hr=L(e);break;case 4:Hr=Pr(e);break;default:Hr=xr(e)}break}break;case 3:Hr=L(e);break;case 4:Hr=Pr(e);break;default:Hr=xr(e)}break;case 21:Hr=pu;break;case 22:Hr=98;break;case 23:TUe(e,129);var Gn=BUe(e),Xn=59>>0)Hr=OUe(e);else switch(Ft){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var kt=oje(BUe(e));if(3>>0)Hr=OUe(e);else switch(kt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var St=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(St){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Tt=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Tt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,36);var It=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(It){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Nt=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Nt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var xt=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(xt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Mt=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Mt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,37);var Gt=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Gt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 34:TUe(e,87);var jt=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(jt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Yt=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Yt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Kt=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Kt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Wt=SHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Wt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,38);var Jt=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Jt){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 35:TUe(e,87);var ru=BUe(e),eu=35>>0)Hr=OUe(e);else switch(eu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var nu=rHe(BUe(e));if(4>>0)Hr=OUe(e);else switch(nu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var uu=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(uu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,39);var iu=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(iu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var ou=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ou){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Eu=sHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Eu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,40);var mu=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(mu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var yu=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(yu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Cu=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Cu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Su=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Su){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,41);var Ou=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ou){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var Lu=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Lu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Gu=rHe(BUe(e));if(4>>0)Hr=OUe(e);else switch(Gu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Uu=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Uu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,42);var Hu=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Hu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Xu=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Xu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Yu=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Yu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Vu=IHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Vu){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var $u=gHe(BUe(e));if(3<$u>>>0)Hr=OUe(e);else switch($u){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,43);var aa=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(aa){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 36:TUe(e,87);var ca=BUe(e),oa=35>>0)Hr=OUe(e);else switch(oa){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var va=BUe(e),la=35>>0)Hr=OUe(e);else switch(la){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ea=IHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ea){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ma=Qje(BUe(e));if(3>>0)Hr=OUe(e);else switch(ma){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Fa=Qje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Fa){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ka=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ka){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ha=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(ha){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,44);var Ca=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ca){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Sa=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Sa){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ta=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ta){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ia=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ia){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var La=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(La){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,45);var Ga=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ga){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var Qa=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Qa){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Za=IHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Za){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ri=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(ri){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ti=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ti){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,46);var ai=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(ai){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 5:TUe(e,87);var ii=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ii){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ci=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ci){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var oi=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(oi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,47);var si=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(si){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,48);var Di=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Di){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 37:TUe(e,87);var bi=BUe(e),Fi=35>>0)Hr=OUe(e);else switch(Fi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var hi=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(hi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ai=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ai){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,49);var Bi=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Bi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Oi=IHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Oi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Pi=kje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Pi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,50);var Ri=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ri){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var Mi=BUe(e),Gi=35>>0)Hr=OUe(e);else switch(Gi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Yi=hHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Yi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ki=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ki){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var qi=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(qi){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,51);var $i=jHe(BUe(e));if(2<$i>>>0)Hr=OUe(e);else switch($i){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var nc=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(nc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var fc=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(fc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var oc=WHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(oc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Dc=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Dc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,52);var bc=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(bc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 38:TUe(e,87);var pc=BUe(e),mc=35>>0)Hr=OUe(e);else switch(mc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Fc=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Fc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Oc=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Oc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Nc=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Nc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,53);var xc=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(xc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Xc=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Xc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var qc=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(qc){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var rf=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(rf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var nf=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(nf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var cf=oje(BUe(e));if(3>>0)Hr=OUe(e);else switch(cf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,54);var of=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(of){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var sf=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(sf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,55);var df=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(df){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 5:TUe(e,87);var hf=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(hf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var yf=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(yf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var _f=THe(BUe(e));if(3<_f>>>0)Hr=OUe(e);else switch(_f){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Cf=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Cf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Tf=hHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Tf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var If=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(If){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,56);var Lf=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Lf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 39:TUe(e,87);var Mf=BUe(e),Hf=35>>0)Hr=OUe(e);else switch(Hf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,57);var Wf=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Wf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;case 3:TUe(e,87);var zf=kHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(zf){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var eo=BUe(e),no=35>>0)Hr=OUe(e);else switch(no){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var to=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(to){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var io=kje(BUe(e));if(3>>0)Hr=OUe(e);else switch(io){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var co=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(co){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Eo=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Eo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ao=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ao){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var To=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(To){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,58);var Lo=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Lo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Po=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Po){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Go=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Go){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,59);var Ho=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ho){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,60);var Xo=rHe(BUe(e));if(4>>0)Hr=OUe(e);else switch(Xo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Wo=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Wo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Jo=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Jo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var zo=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(zo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Qo=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Qo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Zo=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Zo){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var es=hHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(es){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ts=_He(BUe(e));if(3>>0)Hr=OUe(e);else switch(ts){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,61);var cs=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(cs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var fs=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(fs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var vs=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(vs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ls=_He(BUe(e));if(3>>0)Hr=OUe(e);else switch(ls){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ms=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(ms){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ks=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ks){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Cs=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Cs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,62);var Ss=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ss){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 40:TUe(e,87);var Ps=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ps){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Us=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Us){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,63);var js=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(js){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 41:TUe(e,87);var Hs=BUe(e),Xs=35>>0)Hr=OUe(e);else switch(Xs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Vs=mHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Vs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,64);var Ws=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ws){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Js=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Js){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var zs=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(zs){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,65);var $s=jHe(BUe(e));if(2<$s>>>0)Hr=OUe(e);else switch($s){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 42:TUe(e,87);var cv=BUe(e),sv=35>>0)Hr=OUe(e);else switch(sv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,66);var mv=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(mv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;case 3:TUe(e,87);var Fv=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Fv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var kv=BUe(e),yv=35>>0)Hr=OUe(e);else switch(yv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var _v=IHe(BUe(e));if(3<_v>>>0)Hr=OUe(e);else switch(_v){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Sv=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Sv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,67);var gv=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(gv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 43:TUe(e,87);var Bv=BUe(e),xv=35>>0)Hr=OUe(e);else switch(xv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Lv=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Lv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Rv=SHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Rv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Gv=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Gv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Jv=Qje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Jv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var qv=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(qv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,68);var zv=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(zv){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var $v=nHe(BUe(e));if(4<$v>>>0)Hr=OUe(e);else switch($v){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var nl=BUe(e),cl=35>>0)Hr=OUe(e);else switch(cl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var vl=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(vl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ll=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ll){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Dl=gHe(BUe(e));if(3
>>0)Hr=OUe(e);else switch(Dl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,69);var kl=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(kl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var dl=THe(BUe(e));if(3
>>0)Hr=OUe(e);else switch(dl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var hl=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(hl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Cl=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Cl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Sl=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Sl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var gl=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(gl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ll=WHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ll){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,70);var jl=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(jl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var Xl=tHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Xl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Wl=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Wl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var zl=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(zl){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var $l=yHe(BUe(e));if(3<$l>>>0)Hr=OUe(e);else switch($l){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,71);var cD=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(cD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 44:TUe(e,87);var fD=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(fD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var oD=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(oD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var pD=IHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(pD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ED=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(ED){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var FD=Lje(BUe(e));if(3>>0)Hr=OUe(e);else switch(FD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,72);var BD=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(BD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 45:TUe(e,87);var ND=BUe(e),RD=35>>0)Hr=OUe(e);else switch(RD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var jD=bje(BUe(e));if(3>>0)Hr=OUe(e);else switch(jD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var JD=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(JD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var zD=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(zD){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var $D=yHe(BUe(e));if(3<$D>>>0)Hr=OUe(e);else switch($D){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,73);var eb=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(eb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var ib=kHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ib){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ob=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ob){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var lb=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(lb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,74);var Db=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Db){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var pb=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(pb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Eb=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Eb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Fb=yHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Fb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var kb=sHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(kb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,75);var Tb=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Tb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 46:TUe(e,87);var xb=BUe(e),Pb=35>>0)Hr=OUe(e);else switch(Pb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Mb=BUe(e),Hb=35>>0)Hr=OUe(e);else switch(Hb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Kb=pje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Kb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,76);var Wb=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Wb){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var rp=hHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(rp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var ep=mHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(ep){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,77);var tp=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(tp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var ap=BUe(e),cp=35>>0)Hr=OUe(e);else switch(cp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var sp=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(sp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,78);var vp=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(vp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,79);var Dp=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Dp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 4:TUe(e,87);var pp=kHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(pp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Ep=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Ep){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,80);var Cp=hHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(Cp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Sp=_He(BUe(e));if(3>>0)Hr=OUe(e);else switch(Sp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,81);var Ip=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Ip){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 47:TUe(e,87);var Pp=BUe(e),Xp=35>>0)Hr=OUe(e);else switch(Xp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var Kp=Gje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Kp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,82);var Jp=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(Jp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var Qp=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(Qp){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var uE=WHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(uE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,83);var cE=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(cE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 48:TUe(e,87);var fE=BUe(e),sE=35>>0)Hr=OUe(e);else switch(sE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var vE=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(vE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var DE=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(DE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var bE=gHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(bE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,84);var EE=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(EE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 3:TUe(e,87);var mE=THe(BUe(e));if(3>>0)Hr=OUe(e);else switch(mE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var FE=sHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(FE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,85);var kE=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(kE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 49:TUe(e,87);var yE=hje(BUe(e));if(3>>0)Hr=OUe(e);else switch(yE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var _E=gHe(BUe(e));if(3<_E>>>0)Hr=OUe(e);else switch(_E){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var SE=mje(BUe(e));if(3>>0)Hr=OUe(e);else switch(SE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,87);var NE=WHe(BUe(e));if(3>>0)Hr=OUe(e);else switch(NE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;case 2:TUe(e,86);var xE=jHe(BUe(e));if(2>>0)Hr=OUe(e);else switch(xE){case 0:Hr=s(e);break;case 1:Hr=i(e);break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;default:Hr=c(e)}break;case 50:Hr=90;break;case 51:TUe(e,136);var PE=BUe(e),HE=60>>0)return Z_e(Gee);var rm=Hr;if(75<=rm){if(Te<=rm)switch(rm){case 112:return[0,r,90];case 113:return[0,r,xp];case 114:return[0,r,bd];case 115:return[0,r,69];case 116:return[0,r,97];case 117:return[0,r,68];case 118:return[0,r,67];case 119:return[0,r,99];case 120:return[0,r,98];case 121:return[0,r,78];case 122:return[0,r,77];case 123:return[0,r,75];case 124:return[0,r,76];case 125:return[0,r,73];case 126:return[0,r,72];case 127:return[0,r,71];case 128:return[0,r,70];case 129:return[0,r,95];case 130:return[0,r,96];case 131:return[0,r,pu];case 132:return[0,r,Ik];case 133:return[0,r,Zv];case 134:return[0,r,mk];case 135:return[0,r,yS];case 136:return[0,r,86];case 137:return[0,r,88];case 138:return[0,r,87];case 139:return[0,r,Ra];case 140:return[0,r,Mu];case 141:return[0,r,79];case 142:return[0,r,11];case 143:return[0,r,74];case 144:return[0,r,wk];case 145:return[0,r,13];case 146:return[0,r,14];case 147:return[0,r[4]?uXe(r,nXe(r,e),6):r,Je];default:return[0,cXe(r,nXe(r,e)),[6,jUe(e)]]}switch(rm){case 75:return[0,r,20];case 76:return[0,r,21];case 77:return[0,r,22];case 78:return[0,r,31];case 79:return[0,r,23];case 80:return[0,r,61];case 81:return[0,r,46];case 82:return[0,r,24];case 83:return[0,r,47];case 84:return[0,r,25];case 85:return[0,r,26];case 86:return[0,r,58];case 88:var um=nXe(r,e),cm=jUe(e),fm=pXe(r,RUe(e));return[0,fm[1],[4,um,fm[2],cm]];case 90:return[0,r,0];case 91:return[0,r,1];case 92:return[0,r,4];case 93:return[0,r,5];case 94:return[0,r,6];case 95:return[0,r,7];case 96:return[0,r,12];case 97:return[0,r,10];case 98:return[0,r,8];case 99:return[0,r,9];case 100:return[0,r,83];case 101:NUe(e),IUe(e);var vm=BUe(e);return 0===(0==(62>>0)var t=OUe(e);else switch(n){case 0:continue;case 1:r:for(;;){if(0===gje(BUe(e)))for(;;){var u=_je(BUe(e));if(2>>0)var a=OUe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=OUe(e);t=a;break}break;default:t=0}break}else t=OUe(e);return 0===t?[0,r,[1,0,jUe(e)]]:Z_e(Mee)}));case 11:return[0,r,[1,0,jUe(e)]];case 12:return EXe(r,e,(function(r,e){if(IUe(e),0===Jje(BUe(e))&&0===Uje(BUe(e))&&0===gje(BUe(e)))for(;;){TUe(e,0);var n=yje(BUe(e));if(0!==n){if(1===n)r:for(;;){if(0===gje(BUe(e)))for(;;){TUe(e,0);var t=yje(BUe(e));if(0!==t){if(1===t)continue r;var u=OUe(e);break}}else u=OUe(e);var a=u;break}else a=OUe(e);break}}else a=OUe(e);return 0===a?[0,r,[0,0,jUe(e)]]:Z_e(Ree)}));case 13:return[0,r,[0,0,jUe(e)]];case 14:return EXe(r,e,(function(r,e){if(IUe(e),0===Jje(BUe(e))&&0===$je(BUe(e))&&0===Yje(BUe(e)))for(;;){var n=Rje(BUe(e));if(2>>0)var t=OUe(e);else switch(n){case 0:continue;case 1:r:for(;;){if(0===Yje(BUe(e)))for(;;){var u=Rje(BUe(e));if(2>>0)var a=OUe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=OUe(e);t=a;break}break;default:t=0}break}else t=OUe(e);return 0===t?[0,r,[1,1,jUe(e)]]:Z_e(Pee)}));case 15:return[0,r,[1,1,jUe(e)]];case 16:return EXe(r,e,(function(r,e){if(IUe(e),0===Jje(BUe(e))&&0===$je(BUe(e))&&0===Yje(BUe(e)))for(;;){TUe(e,0);var n=Bje(BUe(e));if(0!==n){if(1===n)r:for(;;){if(0===Yje(BUe(e)))for(;;){TUe(e,0);var t=Bje(BUe(e));if(0!==t){if(1===t)continue r;var u=OUe(e);break}}else u=OUe(e);var a=u;break}else a=OUe(e);break}}else a=OUe(e);return 0===a?[0,r,[0,3,jUe(e)]]:Z_e(Lee)}));case 17:return[0,r,[0,3,jUe(e)]];case 18:return EXe(r,e,(function(r,e){if(IUe(e),0===Jje(BUe(e)))for(;;){var n=BUe(e),t=47>>0)var t=OUe(e);else switch(n){case 0:continue;case 1:r:for(;;){if(0===uje(BUe(e)))for(;;){var u=Aje(BUe(e));if(2>>0)var a=OUe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=OUe(e);t=a;break}break;default:t=0}break}else t=OUe(e);return 0===t?[0,r,[1,2,jUe(e)]]:Z_e(Oee)}));case 24:return EXe(r,e,(function(r,e){if(IUe(e),0===Jje(BUe(e))&&0===cje(BUe(e))&&0===uje(BUe(e)))for(;;){TUe(e,0);var n=DHe(BUe(e));if(0!==n){if(1===n)r:for(;;){if(0===uje(BUe(e)))for(;;){TUe(e,0);var t=DHe(BUe(e));if(0!==t){if(1===t)continue r;var u=OUe(e);break}}else u=OUe(e);var a=u;break}else a=OUe(e);break}}else a=OUe(e);return 0===a?[0,r,[0,4,jUe(e)]]:Z_e(Iee)}));case 26:return EXe(r,e,(function(r,e){function n(r){for(;;){var e=aje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=aje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}}function t(r){for(;;){var e=Pje(BUe(r));if(0!==e)return 1===e?0:OUe(r)}}function u(r){var e=VHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:var u=Tje(BUe(r));return 0===u?t(r):1===u?n(r):OUe(r);case 1:return t(r);default:return n(r)}}function a(r){var e=uHe(BUe(r));if(0===e)for(;;){var n=YHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===tje(BUe(r)))for(;;){var t=YHe(BUe(r));if(2>>0)return OUe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return OUe(r)}}}return 1===e?u(r):OUe(r)}IUe(e);var i=fje(BUe(e));if(2>>0)var c=OUe(e);else switch(i){case 0:if(0===tje(BUe(e)))for(;;){var f=YHe(BUe(e));if(2>>0)c=OUe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===tje(BUe(e)))for(;;){var o=YHe(BUe(e));if(2>>0)var s=OUe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=OUe(e);c=s;break}}break}else c=OUe(e);break;case 1:var v=Fje(BUe(e));c=0===v?a(e):1===v?u(e):OUe(e);break;default:for(;;){var l=zje(BUe(e));if(2>>0)c=OUe(e);else switch(l){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,uXe(r,nXe(r,e),23),[1,2,jUe(e)]]:Z_e(Tee)}));case 27:return[0,uXe(r,nXe(r,e),23),[1,2,jUe(e)]];case 28:return EXe(r,e,(function(r,e){function n(r){for(;;){TUe(r,0);var e=NHe(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,0);var n=NHe(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}}function t(r){for(;;)if(TUe(r,0),0!==tje(BUe(r)))return OUe(r)}function u(r){var e=VHe(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:var u=Tje(BUe(r));return 0===u?t(r):1===u?n(r):OUe(r);case 1:return t(r);default:return n(r)}}function a(r){var e=uHe(BUe(r));if(0===e)for(;;){var n=YHe(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===tje(BUe(r)))for(;;){var t=YHe(BUe(r));if(2>>0)return OUe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return OUe(r)}}}return 1===e?u(r):OUe(r)}IUe(e);var i=fje(BUe(e));if(2>>0)var c=OUe(e);else switch(i){case 0:if(0===tje(BUe(e)))for(;;){var f=YHe(BUe(e));if(2>>0)c=OUe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===tje(BUe(e)))for(;;){var o=YHe(BUe(e));if(2>>0)var s=OUe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=OUe(e);c=s;break}}break}else c=OUe(e);break;case 1:var v=Fje(BUe(e));c=0===v?a(e):1===v?u(e):OUe(e);break;default:for(;;){var l=zje(BUe(e));if(2>>0)c=OUe(e);else switch(l){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,r,[0,4,jUe(e)]]:Z_e(Bee)}));case 30:return EXe(r,e,(function(r,e){function n(r){for(;;){var e=aje(BUe(r));if(2>>0)return OUe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===tje(BUe(r)))for(;;){var n=aje(BUe(r));if(2>>0)return OUe(r);switch(n){case 0:continue;case 1:continue r;default:return 0}}return OUe(r)}default:return 0}}}function t(r){var e=Pje(BUe(r));return 0===e?n(r):1===e?0:OUe(r)}IUe(e);var u=fje(BUe(e));if(2>>0)var a=OUe(e);else switch(u){case 0:a=0===tje(BUe(e))?n(e):OUe(e);break;case 1:for(;;){var i=pHe(BUe(e));if(0===i)a=t(e);else{if(1===i)continue;a=OUe(e)}break}break;default:for(;;){var c=KHe(BUe(e));if(2>>0)a=OUe(e);else switch(c){case 0:a=t(e);break;case 1:continue;default:r:for(;;){if(0===tje(BUe(e)))for(;;){var f=KHe(BUe(e));if(2>>0)var o=OUe(e);else switch(f){case 0:o=t(e);break;case 1:continue;default:continue r}break}else o=OUe(e);a=o;break}}break}}return 0===a?[0,uXe(r,nXe(r,e),22),[1,2,jUe(e)]]:Z_e(gee)}));case 31:return EXe(r,e,(function(r,e){IUe(e);var n=Tje(BUe(e));if(0===n)for(;;){var t=Pje(BUe(e));if(0!==t){var u=1===t?0:OUe(e);break}}else if(1===n)for(;;){var a=aje(BUe(e));if(2>>0)u=OUe(e);else switch(a){case 0:continue;case 1:r:for(;;){if(0===tje(BUe(e)))for(;;){var i=aje(BUe(e));if(2>>0)var c=OUe(e);else switch(i){case 0:continue;case 1:continue r;default:c=0}break}else c=OUe(e);u=c;break}break;default:u=0}break}else u=OUe(e);return 0===u?[0,r,[1,2,jUe(e)]]:Z_e(See)}));case 32:return[0,uXe(r,nXe(r,e),22),[1,2,jUe(e)]];case 34:return EXe(r,e,(function(r,e){function n(r){for(;;){TUe(r,0);var e=NHe(BUe(r));if(0!==e){if(1===e)r:for(;;){if(0===tje(BUe(r)))for(;;){TUe(r,0);var n=NHe(BUe(r));if(0!==n){if(1===n)continue r;return OUe(r)}}return OUe(r)}return OUe(r)}}}function t(r){return TUe(r,0),0===tje(BUe(r))?n(r):OUe(r)}IUe(e);var u=fje(BUe(e));if(2>>0)var a=OUe(e);else switch(u){case 0:a=0===tje(BUe(e))?n(e):OUe(e);break;case 1:for(;;){TUe(e,0);var i=pHe(BUe(e));if(0===i)a=t(e);else{if(1===i)continue;a=OUe(e)}break}break;default:for(;;){TUe(e,0);var c=KHe(BUe(e));if(2>>0)a=OUe(e);else switch(c){case 0:a=t(e);break;case 1:continue;default:r:for(;;){if(0===tje(BUe(e)))for(;;){TUe(e,0);var f=KHe(BUe(e));if(2>>0)var o=OUe(e);else switch(f){case 0:o=t(e);break;case 1:continue;default:continue r}break}else o=OUe(e);a=o;break}}break}}return 0===a?[0,r,[0,4,jUe(e)]]:Z_e(wee)}));case 36:return[0,r,64];case 37:return[0,r,65];case 23:case 33:return[0,r,[1,2,jUe(e)]];default:return[0,r,[0,4,jUe(e)]]}})),BXe=AUe([0,NAe]);function TXe(r,e){return[0,0,0,e,XUe(r)]}function IXe(r){var e=r[4];switch(r[3]){case 0:var n=BI(gXe,e);break;case 1:n=BI(SXe,e);break;case 2:n=BI(CXe,e);break;case 3:var t=eXe(e,e[2]),u=VAe(r_),a=VAe(r_),i=e[2];IUe(i);var c=BUe(i),f=Lb>>0)var o=OUe(i);else switch(f){case 0:o=1;break;case 1:o=4;break;case 2:o=0;break;case 3:TUe(i,0),o=0===AHe(BUe(i))?0:OUe(i);break;case 4:o=2;break;default:o=3}if(4>>0)var s=Z_e(eee);else switch(o){case 0:var v=jUe(i);$Ae(a,v),$Ae(u,v);var l=yXe(fXe(e,i),2,u,a,i),D=eXe(l,i),b=KAe(u),p=KAe(a);s=[0,l,[8,[0,l[1],t,D],b,p]];break;case 1:s=[0,e,Je];break;case 2:s=[0,e,95];break;case 3:s=[0,e,0];break;default:NUe(i);var E=yXe(e,2,u,a,i),m=eXe(E,i),F=KAe(u),k=KAe(a);s=[0,E,[8,[0,E[1],t,m],F,k]]}var d=s[2],h=s[1],y=tXe(h,d),_=h[6];if(0===_)var A=[0,h,[0,d,y,0,0]];else{var C=[0,d,y,pAe(_),0];A=[0,[0,h[1],h[2],h[3],h[4],h[5],0,h[7]],C]}n=A;break;case 4:n=BI(wXe,e);break;default:n=BI(AXe,e)}var w=n[1],S=[0,XUe(w),n[2]];return r[4]=w,r[1]?r[2]=[0,S]:r[1]=[0,S],S}function OXe(r){var e=r[1];return e?e[1][2]:IXe(r)[2]}function NXe(r,e,n,t){var u=r?r[1]:r,a=e?e[1]:e;try{var i=GUe(t),c=0,f=i}catch(e){if((e=gI(e))!==SUe)throw e;c=[0,[0,[0,n,VI[2],VI[3]],86],0],f=GUe(Eie)}var o=a?a[1]:JI,s=function(r,e,n){return[0,r,e,tzr,0,n,0,uzr]}(n,f,o[8]),v=[0,TXe(s,0)];return[0,[0,c],[0,0],BXe[1],[0,BXe[1]],[0,0],o[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[0,Fie],[0,s],v,[0,u],o,n,[0,0],[0,mie]]}function xXe(r){return lAe(r[22][1])}function LXe(r){return r[26][8]}function PXe(r,e){var n=e[2];r[1][1]=[0,[0,e[1],n],r[1][1]];var t=r[21];return t?TI(t[1],r,n):t}function RXe(r,e){var n=e[2][1];if(hI(n,pie))return 0;if(TI(BXe[3],n,r[4][1]))return PXe(r,[0,e[1],[20,n]]);var t=TI(BXe[4],n,r[4][1]);return r[4][1]=t,0}function MXe(r,e){return r[29][1]=e,0}function GXe(r,e){if(0===r)return OXe(e[24][1]);if(1===r){var n=e[24][1];n[1]||IXe(n);var t=n[2];return t?t[1][2]:IXe(n)[2]}throw[0,jI,lie]}function UXe(r,e){return r===e[6]?e:[0,e[1],e[2],e[3],e[4],e[5],r,e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function jXe(r,e){return r===e[17]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],r,e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function HXe(r,e){return r===e[18]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],r,e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function XXe(r,e){return r===e[19]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],r,e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function YXe(r,e){return r===e[20]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],r,e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function VXe(r,e){return r===e[14]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],r,e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function KXe(r,e){return r===e[8]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],r,e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function WXe(r,e){return r===e[12]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],r,e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function JXe(r,e){return r===e[15]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],r,e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function qXe(r,e){return r===e[7]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],r,e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function zXe(r,e){return r===e[13]?e:[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],r,e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function $Xe(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],[0,r],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]}function QXe(r){function e(e){return PXe(r,e)}return function(r){return kAe(e,r)}}function ZXe(r){var e=r[5][1];return e?[0,e[1][2]]:e}function rYe(r){var e=r[5][1];return e?[0,e[1][1]]:e}function eYe(r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],0,r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]}function nYe(r,e,n){return[0,r[1],r[2],BXe[1],r[4],r[5],r[6],0,0,0,0,1,r[12],r[13],r[14],r[15],r[16],n,e,r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]}function tYe(r){var e=hT(r,Oae),n=0;if(0<=e){if(0>>0){if(!(bd<(t+1|0)>>>0))return 1}else{var u=6!==t?1:0;if(!u)return u}}return dYe(r,e)}function _Ye(r){return yYe(0,r)}function AYe(r,e){var n=lYe(r,e);if(cYe(n))return 1;if(aYe(n))return 1;if(oYe(n))return 1;var t=0;if("number"==typeof n)switch(n){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:t=1}else 4===n[0]&&(t=1);return t?1:0}function CYe(r,e){var n=xXe(e);if(1===n){var t=lYe(r,e);return"number"!=typeof t&&4===t[0]?1:0}if(n)return 0;var u=lYe(r,e);if("number"==typeof u)switch(u){case 42:case 46:case 47:default:return 0;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:}else switch(u[0]){case 4:if(vYe(u[3]))return 0;break;case 9:case 10:case 11:break;default:return 0}return 1}function wYe(r){return AYe(0,r)}function SYe(r){var e=15===bYe(r)?1:0;if(e)var n=e;else{var t=64===bYe(r)?1:0;if(t){var u=15===lYe(1,r)?1:0;if(u){var a=DYe(1,r)[2][1];n=pYe(r)[3][1]===a?1:0}else n=u}else n=t}return n}function gYe(r){var e=bYe(r);if("number"==typeof e){var n=0;if(13!==e&&40!==e||(n=1),n)return 1}return 0}function BYe(r,e){return PXe(r,[0,pYe(r),e])}function TYe(r,e){var n=mYe(e);BI(QXe(e),n);var t=bYe(e);if(aYe(t))var u=2;else if(cYe(t))u=53;else{var a=rje(0,t);u=r?[12,a,r[1]]:[11,a]}return BYe(e,u)}function IYe(r){function e(e){return PXe(r,[0,e[1],76])}return function(r){return kAe(e,r)}}function OYe(r,e){var n=r[6];return n?BYe(r,e):n}function NYe(r,e){var n=r[6];return n?PXe(r,[0,e[1],e[2]]):n}function xYe(r,e){return PXe(r,[0,e,[19,r[6]]])}function LYe(r){var e=r[25][1];if(e){var n=xXe(r),t=bYe(r),u=[0,pYe(r),t,n];BI(e[1],u)}var a=r[24][1],i=a[1],c=i?i[1][1]:IXe(a)[1];r[23][1]=c;var f=mYe(r);BI(QXe(r),f);var o=r[2][1],s=bAe(GXe(0,r)[4],o);r[2][1]=s;var v=[0,GXe(0,r)];r[5][1]=v;var l=r[24][1];return l[2]?(l[1]=l[2],l[2]=0,0):(OXe(l),l[1]=0,0)}function PYe(r,e){var n=TI(KUe,bYe(r),e);return n?(LYe(r),1):n}function RYe(r,e){r[22][1]=[0,e,r[22][1]];var n=xXe(r),t=TXe(r[23][1],n);return r[24][1]=t,0}function MYe(r){var e=r[22][1],n=e?e[2]:Z_e(zue);r[22][1]=n;var t=xXe(r),u=TXe(r[23][1],t);return r[24][1]=u,0}function GYe(r){var e=pYe(r);if(9===bYe(r)&&dYe(1,r)){var n=FYe(r),t=GXe(1,r)[4],u=uAe(n,BI(AAe((function(r){return r[1][2][1]<=e[3][1]?1:0})),t));return MXe(r,[0,e[3][1]+1|0,0]),u}var a=FYe(r);return MXe(r,e[3]),a}function UYe(r){var e=r[5][1];if(e){var n=e[1][2],t=FYe(r),u=BI(AAe((function(r){return r[1][2][1]<=n[3][1]?1:0})),t);MXe(r,[0,n[3][1]+1|0,0]);var a=u}else a=e;return a}function jYe(r,e){return TYe([0,rje(Wue,e)],r)}function HYe(r,e){return 1-TI(KUe,bYe(r),e)&&jYe(r,e),LYe(r)}function XYe(r,e){var n=bYe(r),t=0;return"number"!=typeof n&&4===n[0]&&hI(n[3],e)&&(t=1),t||TYe([0,BI(xCe(Kue),e)],r),LYe(r)}var YYe=[Dc,kie,OT()];function VYe(r,e,n){if(n){var t=n[1],u=t[1];if(e[25][1]=[0,u],r)for(var a=t[2][2];;){if(!a)return 0;var i=a[2];BI(u,a[1]),a=i}var c=r}else c=n;return c}function KYe(r,e){var n=function(r){var e=r[25][1];if(e){var n=[0,0,0,0],t=[0,function(r){return YAe(r,n)}];r[25][1]=t;var u=[0,[0,e[1],n]]}else u=e;return[0,r[1][1],r[2][1],r[5][1],r[22][1],r[23][1],r[29][1],u]}(r);try{var t=function(r,e,n){return VYe(1,r,e[7]),[0,n]}(r,n,BI(e,r));return t}catch(e){if((e=gI(e))===YYe)return function(r,e){VYe(0,r,e[7]),r[1][1]=e[1],r[2][1]=e[2],r[5][1]=e[3],r[22][1]=e[4],r[23][1]=e[5],r[29][1]=e[6];var n=xXe(r),t=TXe(r[23][1],n);return r[24][1]=t,0}(r,n);throw e}}function WYe(r,e,n){var t=KYe(r,n);return t?t[1]:e}function JYe(r,e){var n=pAe(e);if(n){var t=n[1],u=BI(r,t);return t===u?e:pAe([0,u,n[2]])}return e}var qYe=Vwe(Aie,(function(r){var e=Hwe(r,hie),n=Gwe(r,yie),t=n[17],u=n[21],a=n[30],i=n[72],c=n[ns],f=n[172],o=n[ke],s=n[219],v=n[eo],l=n[226],D=n[6],b=n[7],p=n[10],E=n[13],m=n[16],F=n[22],k=n[28],d=n[31],h=n[41],y=n[46],_=n[84],A=n[87],C=n[91],w=n[93],S=n[94],g=n[Mu],B=n[Qt],T=n[VE],I=n[PF],O=n[sB],N=n[141],x=n[143],L=n[_w],P=n[156],R=n[158],M=n[203],G=n[204],U=n[212],j=n[214],H=n[220],X=n[227],Y=n[230],V=n[232],K=n[la],W=n[237],J=n[ey],q=Ywe(r,0,0,qI,UGe,1)[1];return qwe(r,[0,d,function(r,n){var t=n[2],u=BI(AAe((function(n){return KGe(n[1][2],r[1+e])<0?1:0})),t),a=vAe(u);return vAe(t)===a?n:[0,n[1],u,n[3]]},J,function(r,e,n){var t=n[2];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],r]}))},W,function(r,e){var n=e[2];return RGe(BI(r[1][1+a],r),n,e,(function(r){return[0,e[1],r]}))},K,function(r,e,n){var t=n[4],u=n[3],i=TI(r[1][1+f],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],n[2],i,c]},V,function(r,e,n){var t=n[4],u=n[3],i=TI(r[1][1+f],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],n[2],i,c]},Y,function(r,e,n){var t=n[2];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],r]}))},X,function(r,e,n){var t=n[4],u=n[3],i=TI(r[1][1+l],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],n[2],i,c]},l,function(r,e){var n=e[2],t=n[1],u=e[1],i=n[2];return RGe(BI(r[1][1+a],r),i,e,(function(r){return[0,u,[0,t,r]]}))},v,function(r,e){var n=e[2],t=n[1],u=e[1],i=n[2];return RGe(BI(r[1][1+a],r),i,e,(function(r){return[0,u,[0,t,r]]}))},H,function(r,e,n){var t=n[7],u=n[2],i=TI(r[1][1+s],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],i,n[3],n[4],n[5],n[6],c]},s,function(r,e){var n=e[2],t=n[1],u=e[1],i=n[2];return RGe(BI(r[1][1+a],r),i,e,(function(r){return[0,u,[0,t,r]]}))},j,function(r,e,n){var u=n[2];if(0===u){var a=n[1];return RGe(BI(r[1][1+f],r),a,n,(function(r){return[0,r,n[2],n[3]]}))}var i=BI(r[1][1+t],r);return RGe((function(r){return LGe(i,r)}),u,n,(function(r){return[0,n[1],r,n[3]]}))},U,function(r,e){var n=e[2],t=n[2],u=e[1],a=n[1],i=BI(r[1][1+o],r);return RGe((function(r){return JYe(i,r)}),a,e,(function(r){return[0,u,[0,r,t]]}))},o,function(r,e){var n=e[2],u=n[2],a=n[1],i=e[1];if(0===u)return RGe(BI(r[1][1+c],r),a,e,(function(r){return[0,i,[0,r,u]]}));var f=BI(r[1][1+t],r);return RGe((function(r){return LGe(f,r)}),u,e,(function(r){return[0,i,[0,a,r]]}))},G,function(r,e){var n=e[2],t=n[1],u=e[1],i=n[2];return RGe(BI(r[1][1+a],r),i,e,(function(r){return[0,u,[0,t,r]]}))},M,function(r,e,n){var t=n[4],u=n[3],i=TI(r[1][1+f],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],n[2],i,c]},R,function(r,e,n){var t=n[9],u=n[3],i=TI(r[1][1+P],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],n[2],i,n[4],n[5],n[6],n[7],n[8],c,n[10]]},L,function(r,e){var n=e[2],t=e[1],u=n[4];return RGe(BI(r[1][1+a],r),u,[0,t,n],(function(r){return[0,t,[0,n[1],n[2],n[3],r]]}))},x,function(r,e,n){var t=n[4],i=n[3],c=TI(r[1][1+u],r,i),f=TI(r[1][1+a],r,t);return i===c&&t===f?n:[0,n[1],n[2],c,f]},N,function(r,e){if(0===e[0]){var n=e[1];return RGe(BI(r[1][1+c],r),n,e,(function(r){return[0,r]}))}var t=e[1],u=t[2],a=u[2],i=TI(r[1][1+c],r,a);return a===i?e:[1,[0,t[1],[0,u[1],i]]]},O,function(r,e,n){var t=n[2];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],r]}))},I,function(r,e,n){var t=n[3],u=n[1],c=MGe(BI(r[1][1+i],r),u),f=TI(r[1][1+a],r,t);return u===c&&t===f?n:[0,c,n[2],f]},T,function(r,e,n){var t=n[2],i=n[1],c=i[3],f=i[2];if(c)var o=JYe(BI(r[1][1+u],r),c),s=f;else o=0,s=TI(r[1][1+u],r,f);var v=TI(r[1][1+a],r,t);return f===s&&c===o&&t===v?n:[0,[0,i[1],s,o],v]},B,function(r,e,n){var t=n[4];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],n[2],n[3],r]}))},g,function(r,e,n){var t=n[4];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],n[2],n[3],r]}))},S,function(r,e,n){var t=n[4],u=n[3],i=TI(r[1][1+f],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],n[2],i,c]},A,function(r,e,n){var t=n[4],u=n[3],i=n[2],c=n[1],o=TI(r[1][1+a],r,t);if(u){var s=LGe(BI(r[1][1+l],r),u);return u===s&&t===o?n:[0,n[1],n[2],s,o]}if(i){var D=LGe(BI(r[1][1+v],r),i);return i===D&&t===o?n:[0,n[1],D,n[3],o]}var b=TI(r[1][1+f],r,c);return c===b&&t===o?n:[0,b,n[2],n[3],o]},w,function(r,e,n){var t=n[3],u=n[2],i=TI(r[1][1+C],r,u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,n[1],i,c]},_,function(r,e,n){var t=n[2];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],r]}))},i,function(r,e,n){var t=n[4];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],n[2],n[3],r]}))},y,function(r,e){var n=e[2],t=n[1],u=e[1],i=n[2];return RGe(BI(r[1][1+a],r),i,e,(function(r){return[0,u,[0,t,r]]}))},h,function(r,e,n){var t=n[2],u=n[1],i=JYe(BI(r[1][1+f],r),u),c=TI(r[1][1+a],r,t);return u===i&&t===c?n:[0,i,c]},k,function(r,e,n){var t=n[3];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],n[2],r]}))},F,function(r,e){var n=e[2];return RGe(BI(r[1][1+a],r),n,e,(function(r){return[0,e[1],r]}))},m,function(r,e,n){var t=n[3];return RGe(BI(r[1][1+a],r),t,n,(function(r){return[0,n[1],n[2],r]}))},E,function(r,e){var n=e[2],t=n[1],u=e[1],i=n[2];return RGe(BI(r[1][1+a],r),i,e,(function(r){return[0,u,[0,t,r]]}))},p,function(r,e,n){var t=n[2],i=n[1],c=i[3],f=i[2];if(c)var o=JYe(BI(r[1][1+u],r),c),s=f;else o=0,s=TI(r[1][1+u],r,f);var v=TI(r[1][1+a],r,t);return f===s&&c===o&&t===v?n:[0,[0,i[1],s,o],v]},b,function(r,e,n){var t=n[2],u=t[2],a=t[1],i=n[1];if(u){var c=u[1];return RGe(BI(r[1][1+f],r),c,n,(function(r){return[0,i,[0,a,[0,r]]]}))}return RGe(TI(r[1][1+D],r,e),a,n,(function(r){return[0,i,[0,r,u]]}))}]),function(n,t,u){var a=Kwe(t,r);return a[1+e]=u,BI(q,a),Wwe(t,a,r)}}));function zYe(r){var e=ZXe(r);if(e)var n=e[1],t=kYe(r)?(MXe(r,n[3]),[0,TI(qYe[1],0,n[3])]):0;else t=e;return[0,0,function(r,e){return t?TI(e,t[1],r):r}]}function $Ye(r){var e=ZXe(r);if(e){var n=e[1];if(kYe(r)){MXe(r,n[3]);var t=UYe(r),u=[0,TI(qYe[1],0,[0,n[3][1]+1|0,0])],a=t}else u=0,a=UYe(r)}else u=0,a=0;return[0,a,function(r,e){return u?TI(e,u[1],r):r}]}function QYe(r){return hYe(r)?$Ye(r):zYe(r)}function ZYe(r,e){return TI(QYe(r)[2],e,(function(r,e){return TI(xT(r,Lg,25),r,e)}))}function rVe(r,e){if(e)var n=[0,TI(QYe(r)[2],e[1],(function(r,e){return TI(xT(r,Dk,28),r,e)}))];else n=e;return n}function eVe(r,e){return TI(QYe(r)[2],e,(function(r,e){return TI(xT(r,HE,30),r,e)}))}function nVe(r,e){return TI(QYe(r)[2],e,(function(r,e){return TI(xT(r,-455772979,31),r,e)}))}function tVe(r,e){if(e)var n=[0,TI(QYe(r)[2],e[1],(function(r,e){return TI(xT(r,Wo,32),r,e)}))];else n=e;return n}function uVe(r,e){return TI(QYe(r)[2],e,(function(r,e){return TI(xT(r,HA,33),r,e)}))}function aVe(r,e){return TI(QYe(r)[2],e,(function(r,e){var n=BI(xT(r,Ea,35),r);return JYe((function(r){return MGe(n,r)}),e)}))}function iVe(r,e){return TI(QYe(r)[2],e,(function(r,e){return TI(xT(r,-21476009,36),r,e)}))}function cVe(r){return 3===r?2:1}function fVe(r,e,n){if(n){var t=n[1],u=0;if(8232===t||Qh===t)u=1;else if(10===t)var a=6;else if(13===t)a=5;else if(65536<=t)a=3;else if(2048<=t)a=2;else{var i=B<=t?1:0;a=i?1:i}u&&(a=7);var c=a}else c=4;return[0,c,r]}Vwe(Cie,(function(r){var e=Hwe(r,die),n=Xwe(_ie),t=n.length-1,u=zI.length-1,a=eI(t+u|0,0),i=t-1|0;if(!(i<0))for(var c=0;;){var f=Mwe(r,MB(n,c)[1+c]);MB(a,c)[1+c]=f;var o=c+1|0;if(i===c)break;c=o}var s=u-1|0;if(!(s<0))for(var v=0;;){var l=v+t|0,D=Hwe(r,MB(zI,v)[1+v]);MB(a,l)[1+l]=D;var b=v+1|0;if(s===v)break;v=b}var p=a[4],E=a[5],m=a[210],F=a[ke],k=a[246],d=a[247],h=a[33],y=a[208],_=a[la],A=Ywe(r,0,0,qI,UGe,1)[1];return qwe(r,[0,y,function(r){return[0,r[1+k],r[1+d]]},F,function(r,e){var n=e[1];kAe(BI(r[1][1+E],r),n);var t=e[2];return kAe(BI(r[1][1+p],r),t)},m,function(r,e){return e?TI(r[1][1+F],r,e[1]):e},E,function(r,n){var t=n[1],u=r[1+k];if(u){var a=KGe(t[2],u[1][1][2])<0?1:0;return a?(r[1+k]=[0,n],0):a}var i=KGe(t[2],r[1+e][2])<0?1:0;return i?(r[1+k]=[0,n],0):i},p,function(r,n){var t=n[1],u=r[1+d];if(u){var a=KGe(u[1][1][2],t[2])<0?1:0;return a?(r[1+d]=[0,n],0):a}var i=0<=KGe(t[2],r[1+e][3])?1:0;return i?(r[1+d]=[0,n],0):i},h,function(r,e){return TI(r[1][1+F],r,e),e},_,function(r,e,n){return TI(r[1][1+m],r,n[2]),n}]),function(n,t,u){var a=Kwe(t,r);return a[1+e]=u,BI(A,a),a[1+k]=0,a[1+d]=0,Wwe(t,a,r)}}));var oVe=[Dc,Tie,OT()];function sVe(r,e,n,t){try{var u;return MB(r,e)[1+e]}catch(u){if((u=gI(u))[1]===RI)throw[0,oVe,n,II(xCe(gie),t,e,r.length-1)];throw u}}function vVe(r,e){if(0===e[1]&&0===e[2])return 0;var n=sVe(r,e[1]-1|0,e,wie);return sVe(n,e[2],e,Sie)}function lVe(r){var e=pYe(r),n=FYe(r),t=bYe(r),u=0;if("number"==typeof t)switch(t){case 15:var a=rFe;break;case 16:a=eFe;break;case 17:a=nFe;break;case 18:a=tFe;break;case 19:a=uFe;break;case 20:a=aFe;break;case 21:a=iFe;break;case 22:a=cFe;break;case 23:a=fFe;break;case 24:a=oFe;break;case 25:a=sFe;break;case 26:a=vFe;break;case 27:a=lFe;break;case 28:a=DFe;break;case 29:a=bFe;break;case 30:a=pFe;break;case 31:a=EFe;break;case 32:a=mFe;break;case 33:a=FFe;break;case 34:a=kFe;break;case 35:a=dFe;break;case 36:a=hFe;break;case 37:a=yFe;break;case 38:a=_Fe;break;case 39:a=AFe;break;case 40:a=CFe;break;case 41:a=wFe;break;case 42:a=SFe;break;case 43:a=gFe;break;case 44:a=BFe;break;case 45:a=TFe;break;case 46:a=IFe;break;case 47:a=OFe;break;case 48:a=NFe;break;case 49:a=xFe;break;case 50:a=LFe;break;case 51:a=PFe;break;case 52:a=RFe;break;case 53:a=MFe;break;case 54:a=GFe;break;case 55:a=UFe;break;case 56:a=jFe;break;case 57:a=HFe;break;case 58:a=XFe;break;case 59:a=YFe;break;case 60:a=VFe;break;case 61:a=KFe;break;case 62:a=WFe;break;case 63:a=JFe;break;case 64:a=qFe;break;case 65:a=zFe;break;case 111:a=$Fe;break;case 112:a=QFe;break;case 113:a=ZFe;break;case 114:a=rke;break;case 115:a=eke;break;case 116:a=nke;break;case 117:a=tke;break;case 118:a=uke;break;default:u=1}else switch(t[0]){case 4:a=t[2];break;case 9:a=t[1]?ake:ike;break;default:u=1}return u&&(TYe(cke,r),a=fke),LYe(r),[0,e,[0,a,ZGe([0,n],[0,GYe(r)])]]}function DVe(r){for(var e=r;;){var n=e[2];if(27!==n[0])return 0;var t=n[1][2];if(23===t[2][0])return 1;e=t}}function bVe(r,e,n){var t=r?r[1]:pYe(n),u=BI(e,n),a=ZXe(n);return[0,a?VGe(t,a[1]):t,u]}var pVe=AUe([0,NAe]),EVe=AUe([0,NAe]);function mVe(r){return"number"==typeof r?0:0===r[0]?1:r[1]}function FVe(r,e){return[0,r,e]}function kVe(r,e,n){return[1,2,e,n,r,0]}function dVe(r,e,n){return[1,2,r,e,0,n]}function hVe(r,e,n,t){var u=mVe(r),a=mVe(t),i=a<=u?u+1|0:a+1|0;return 1===i?[0,e,n]:[1,i,e,n,r,t]}function yVe(r,e,n,t){var u=mVe(r),a=mVe(t);return[1,a<=u?u+1|0:a+1|0,e,n,r,t]}function _Ve(r,e,n,t){var u=mVe(r),a=mVe(t);if((a+2|0)>>0?TI(F,r,BI(n,r)):BI(k,r)}function G(r,e,t){return bVe([0,e],(function(r){var e=BI(h,r);return HYe(r,83),[0,t,e,BI(n,r),0]}),r)}function U(r,e){var n=bYe(e);if("number"==typeof n&&!(10<=n))switch(n){case 1:if(!r)return 0;break;case 3:if(r)return 0;break;case 8:case 9:return LYe(e)}return TYe(0,e)}function j(r,e){return e?PXe(r,[0,e[1][1],7]):e}function H(r,e){return e?PXe(r,[0,e[1],9]):e}function X(e){var n=FYe(e);if(HYe(e,66),4===bYe(e)){var t=uAe(n,FYe(e));HYe(e,4),RYe(e,0);var u=BI(r[9],e);return MYe(e),HYe(e,5),[0,[0,u],ZGe([0,t],[0,GYe(e)])]}return[0,0,ZGe([0,n],[0,GYe(e)])]}function Y(r){var e=JXe(0,r),n=bYe(e);return"number"==typeof n&&66===n?[0,bVe(0,X,e)]:0}function V(r){var e=bYe(r),n=lYe(1,r);if("number"==typeof e&&83===e){if("number"==typeof n&&66===n){HYe(r,83);var t=Y(r);return[0,[0,EYe(r)],t]}var u=BI(P,r);return[0,66===bYe(r)?eVe(r,u):u,Y(r)]}return[0,[0,EYe(r)],0]}function K(r,e){var n=UXe(1,e);RYe(n,1);var t=BI(r,n);return MYe(n),t}return FB(n,(function(r){return BI(u,r)})),FB(t,(function(r){return 1-LXe(r)&&BYe(r,12),bVe(0,(function(r){return HYe(r,83),BI(n,r)}),r)})),FB(u,(function(r){var e=86===bYe(r)?1:0;if(e){var n=FYe(r);LYe(r);var t=n}else t=e;return II(a,r,[0,t],BI(i,r))})),FB(a,(function(r,e,n){var t=e?e[1]:e;if(86===bYe(r)){var u=[0,n,0];return bVe([0,n[1]],(function(r){for(var e=u;;){var n=bYe(r);if("number"!=typeof n||86!==n){var a=pAe(e);if(a){var c=a[2];if(c){var f=ZGe([0,t],0);return[19,[0,[0,a[1],c[1],c[2]],f]]}}throw[0,jI,Rke]}HYe(r,86),e=[0,BI(i,r),e]}}),r)}return n})),FB(i,(function(r){var e=88===bYe(r)?1:0;if(e){var n=FYe(r);LYe(r);var t=n}else t=e;return II(c,r,[0,t],BI(f,r))})),FB(c,(function(r,e,n){var t=e?e[1]:e;if(88===bYe(r)){var u=[0,n,0];return bVe([0,n[1]],(function(r){for(var e=u;;){var n=bYe(r);if("number"!=typeof n||88!==n){var a=pAe(e);if(a){var i=a[2];if(i){var c=ZGe([0,t],0);return[20,[0,[0,a[1],i[1],i[2]],c]]}}throw[0,jI,Pke]}HYe(r,88),e=[0,BI(f,r),e]}}),r)}return n})),FB(f,(function(r){return TI(o,r,BI(s,r))})),FB(o,(function(r,e){var n=bYe(r);if("number"==typeof n&&11===n&&!r[15]){var t=TI(F,r,e);return OI(w,r,t[1],0,[0,t[1],[0,0,[0,t,0],0,0]])}return e})),FB(s,(function(r){var e=bYe(r);return"number"==typeof e&&82===e?bVe(0,(function(r){var e=FYe(r);HYe(r,82);var n=ZGe([0,e],0);return[11,[0,BI(s,r),n]]}),r):BI(v,r)})),FB(v,(function(r){return II(l,0,r,BI(b,r))})),FB(l,(function(r,e,n){var t=r?r[1]:r;if(hYe(e))return n;var u=bYe(e);if("number"==typeof u){if(6===u)return LYe(e),OI(D,t,0,e,n);if(10===u){var a=lYe(1,e);return"number"==typeof a&&6===a?(BYe(e,xke),HYe(e,10),HYe(e,6),OI(D,t,0,e,n)):(BYe(e,Lke),n)}if(80===u)return LYe(e),6!==bYe(e)&&BYe(e,30),HYe(e,6),OI(D,1,1,e,n)}return n})),FB(D,(function(r,e,t,u){return II(l,[0,r],t,bVe([0,u[1]],(function(t){if(!e&&PYe(t,7))return[15,[0,u,ZGe(0,[0,GYe(t)])]];var a=BI(n,t);HYe(t,7);var i=[0,u,a,ZGe(0,[0,GYe(t)])];return r?[18,[0,i,e]]:[17,i]}),t))})),FB(b,(function(r){var e=pYe(r),n=bYe(r),t=0;if("number"==typeof n)switch(n){case 4:return BI(A,r);case 6:return BI(m,r);case 46:return bVe(0,(function(r){var e=FYe(r);HYe(r,46);var n=ZGe([0,e],0);return[21,[0,BI(b,r),n]]}),r);case 53:return bVe(0,(function(r){var e=FYe(r);HYe(r,53);var n=BI(g,r),t=ZGe([0,e],0);return[14,[0,n[2],n[1],t]]}),r);case 95:return BI(C,r);case 103:var u=FYe(r);return HYe(r,Zv),[0,e,[10,ZGe([0,u],[0,GYe(r)])]];case 42:t=1;break;case 0:case 2:var a=OI(S,0,1,1,r);return[0,a[1],[13,a[2]]];case 30:case 31:var i=FYe(r);return HYe(r,n),[0,e,[26,[0,31===n?1:0,ZGe([0,i],[0,GYe(r)])]]]}else switch(n[0]){case 2:var c=n[1],f=c[4],o=c[3],s=c[2],v=c[1];f&&OYe(r,44);var l=FYe(r);return HYe(r,[2,[0,v,s,o,f]]),[0,v,[23,[0,s,o,ZGe([0,l],[0,GYe(r)])]]];case 10:var D=n[3],p=n[2],F=n[1],k=FYe(r);HYe(r,[10,F,p,D]);var d=GYe(r);return 1===F&&OYe(r,44),[0,e,[24,[0,p,D,ZGe([0,k],[0,d])]]];case 11:var h=n[3],y=n[2],_=FYe(r);return HYe(r,[11,n[1],y,h]),[0,e,[25,[0,y,h,ZGe([0,_],[0,GYe(r)])]]];case 4:t=1}if(t){var w=BI(N,r);return[0,w[1],[16,w[2]]]}var B=BI(E,r);return B?[0,e,B[1]]:(TYe(0,r),[0,e,Nke])})),FB(p,(function(r){var e=0;if("number"==typeof r)switch(r){case 29:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:e=1}else 9===r[0]&&(e=1);return e?1:0})),FB(E,(function(r){var e=FYe(r),n=bYe(r);if("number"==typeof n)switch(n){case 29:return LYe(r),[0,[4,ZGe([0,e],[0,GYe(r)])]];case 111:return LYe(r),[0,[0,ZGe([0,e],[0,GYe(r)])]];case 112:return LYe(r),[0,[1,ZGe([0,e],[0,GYe(r)])]];case 113:return LYe(r),[0,[2,ZGe([0,e],[0,GYe(r)])]];case 114:return LYe(r),[0,[5,ZGe([0,e],[0,GYe(r)])]];case 115:return LYe(r),[0,[6,ZGe([0,e],[0,GYe(r)])]];case 116:return LYe(r),[0,[7,ZGe([0,e],[0,GYe(r)])]];case 117:return LYe(r),[0,[3,ZGe([0,e],[0,GYe(r)])]];case 118:return LYe(r),[0,[9,ZGe([0,e],[0,GYe(r)])]]}else if(9===n[0])return LYe(r),[0,[8,ZGe([0,e],[0,GYe(r)])]];return 0})),FB(m,(function(r){return bVe(0,(function(r){var e=FYe(r);HYe(r,6);for(var t=JXe(0,r),u=0;;){var a=bYe(t);if("number"==typeof a){var i=0;if(7!==a&&Je!==a||(i=1),i){var c=pAe(u);return HYe(r,7),[22,[0,c,ZGe([0,e],[0,GYe(r)])]]}}var f=[0,BI(n,t),u];7!==bYe(t)&&HYe(t,9),u=f}}),r)})),FB(F,(function(r,e){return[0,e[1],[0,0,e,0]]})),FB(k,(function(e){return bVe(0,(function(e){RYe(e,0);var t=TI(r[13],0,e);MYe(e),1-LXe(e)&&BYe(e,12);var u=PYe(e,82);return HYe(e,83),[0,[0,t],BI(n,e),u]}),e)})),FB(d,(function(r){return function(e){for(var n=0,u=e;;){var a=bYe(r);if("number"==typeof a)switch(a){case 5:case 12:case 110:var i=12===a?1:0,c=i?[0,bVe(0,(function(r){var e=FYe(r);HYe(r,12);var n=ZGe([0,e],0);return[0,M(r),n]}),r)]:i;return[0,n,pAe(u),c,0]}else if(4===a[0]&&!_I(a[3],Oke)){var f=0;if(83!==lYe(1,r)&&82!==lYe(1,r)||(f=1),f){(0!==n||0!==u)&&BYe(r,yS);var o=bVe(0,(function(r){var e=FYe(r);LYe(r),82===bYe(r)&&BYe(r,Ra);var n=ZGe([0,e],0);return[0,BI(t,r),n]}),r);5!==bYe(r)&&HYe(r,9),n=[0,o];continue}}var s=[0,M(r),u];5!==bYe(r)&&HYe(r,9),u=s}}})),FB(h,(function(r){return bVe(0,(function(r){var e=FYe(r);HYe(r,4);var n=TI(d,r,0),t=FYe(r);HYe(r,5);var u=rUe([0,e],[0,GYe(r)],t);return[0,n[1],n[2],n[3],u]}),r)})),FB(y,(function(r){var e=FYe(r);HYe(r,4);var t=JXe(0,r),u=bYe(t),a=0;if("number"==typeof u)switch(u){case 5:var i=Ike;break;case 42:a=2;break;case 12:case 110:i=[0,TI(d,t,0)];break;default:a=1}else a=4===u[0]?2:1;switch(a){case 1:if(BI(p,u)){var c=lYe(1,t),f=0;if("number"==typeof c&&!(1<(c+zf|0)>>>0)){var o=[0,TI(d,t,0)];f=1}f||(o=[1,BI(n,t)]),i=o}else i=[1,BI(n,t)];break;case 2:i=BI(_,t)}if(0===i[0])var s=i;else{var v=i[1];if(r[15])var l=i;else{var D=bYe(r),b=0;if("number"==typeof D)if(5===D)var E=11===lYe(1,r)?[0,TI(d,r,[0,TI(F,r,v),0])]:[1,v];else 9===D?(HYe(r,9),E=[0,TI(d,r,[0,TI(F,r,v),0])]):b=1;else b=1;b&&(E=i),l=E}s=l}var m=FYe(r);HYe(r,5);var k=GYe(r);if(0===s[0]){var h=s[1],y=rUe([0,e],[0,k],m);return[0,[0,h[1],h[2],h[3],y]]}return[1,II(R,s[1],e,k)]})),FB(_,(function(r){var e=lYe(1,r);if("number"==typeof e&&!(1<(e+zf|0)>>>0))return[0,TI(d,r,0)];var n=TI(o,r,II(l,0,r,TI(L,r,BI(B,r)))),t=TI(BI(c,r),0,n);return[1,TI(BI(a,r),0,t)]})),FB(A,(function(r){var e=pYe(r),n=bVe(0,y,r),t=n[2];return 0===t[0]?OI(w,r,e,0,[0,n[1],t[1]]):t[1]})),FB(C,(function(r){var e=pYe(r),n=rVe(r,BI(I,r));return OI(w,r,e,n,BI(h,r))})),FB(w,(function(r,e,t,u){return bVe([0,e],(function(r){return HYe(r,11),[12,[0,t,u,BI(n,r),0]]}),r)})),FB(S,(function(t,u,a,i){var c=u?2===bYe(i)?1:0:u,f=u?1-c:u;return bVe(0,(function(u){var i=FYe(u);HYe(u,c?2:c);var o=JXe(0,u),s=Tke;r:for(;;){var v=s[3],l=s[2],D=s[1];if(t&&a)throw[0,jI,mke];if(f&&!a)throw[0,jI,Fke];var b=pYe(o),p=bYe(o);if("number"==typeof p){var E=0;if(13<=p){if(Je===p){var m=[0,pAe(D),l,v];E=1}}else if(p)switch(p-1|0){case 0:c||(m=[0,pAe(D),l,v],E=1);break;case 2:c&&(m=[0,pAe(D),l,v],E=1);break;case 11:if(!a){LYe(o);var F=bYe(o);if("number"==typeof F&&!(10<=F))switch(F){case 1:case 3:case 8:case 9:PXe(o,[0,b,20]),U(c,o);continue}var k=mYe(o);BI(QXe(o),k),PXe(o,[0,b,17]),LYe(o),U(c,o);continue}var d=FYe(o);LYe(o);var h=bYe(o),y=0;if("number"==typeof h&&!(10<=h))switch(h){case 1:case 3:case 8:case 9:U(c,o);var _=bYe(o),A=0;if("number"==typeof _){var C=_-1|0;if(!(2>>0))switch(C){case 0:f&&(m=[0,pAe(D),1,d],E=1,y=1,A=1);break;case 1:break;default:PXe(o,[0,b,19]),m=[0,pAe(D),l,v],E=1,y=1,A=1}}if(!A){PXe(o,[0,b,18]);continue}}if(!y){var w=[1,bVe([0,b],function(r){return function(e){var t=ZGe([0,r],0);return[0,BI(n,e),t]}}(d),o)];U(c,o),s=[0,[0,w,D],l,v];continue}}if(E){var S=FYe(u),g=uAe(m[3],S);HYe(u,c?3:1);var B=rUe([0,i],[0,GYe(u)],g);return[0,c,m[2],m[1],B]}}for(var T=t,O=t,N=0,x=0,L=0,P=0;;){var R=bYe(o),M=0;if("number"==typeof R)switch(R){case 6:H(o,L);var X=lYe(1,o),Y=0;if("number"==typeof X&&6===X){j(o,N);var V=[4,bVe([0,b],function(r,e,t){return function(u){var a=uAe(e,FYe(u));HYe(u,6),HYe(u,6);var i=lVe(u);HYe(u,7),HYe(u,7);var c=bYe(u),f=0;if("number"==typeof c){var o=0;if(4!==c&&95!==c&&(o=1),!o){var s=G(u,r,rVe(u,BI(I,u))),v=0,l=[0,s[1],[12,s[2]]],D=1,b=0;f=1}}if(!f){var p=PYe(u,82),E=GYe(u);HYe(u,83),v=E,l=BI(n,u),D=0,b=p}return[0,i,l,b,0!==t?1:0,D,ZGe([0,a],[0,v])]}}(b,P,x),o)];Y=1}Y||(V=[2,bVe([0,b],function(r,e,t){return function(u){var a=uAe(r,FYe(u));HYe(u,6);var i=83===lYe(1,u)?1:0;if(i){var c=lVe(u);HYe(u,83);var f=[0,c]}else f=i;var o=BI(n,u);HYe(u,7);var s=GYe(u);return HYe(u,83),[0,f,o,BI(n,u),0!==e?1:0,t,ZGe([0,a],[0,s])]}}(P,x,N),o)]);break;case 42:if(T){if(0===N){var K=[0,pYe(o)],W=uAe(P,FYe(o));LYe(o),T=0,O=0,x=K,P=W;continue}throw[0,jI,kke]}M=1;break;case 100:case 101:if(0===N){T=0,O=0,N=e(o);continue}M=1;break;case 4:case 95:H(o,L),j(o,N),V=[3,bVe([0,b],function(r,e){return function(n){return[0,G(n,pYe(n),rVe(n,BI(I,n))),0!==e?1:0,ZGe([0,r],0)]}}(P,x),o)];break;default:M=1}else if(4!==R[0]||_I(R[3],dke))M=1;else{if(O){if(0===N){var J=[0,pYe(o)],q=uAe(P,FYe(o));LYe(o),T=0,O=0,L=J,P=q;continue}throw[0,jI,hke]}M=1}if(M){var z=0;if(x){if(L)V=Z_e(yke),z=1;else if("number"==typeof R&&!(1<(R+zf|0)>>>0)){var $=[0,x[1],_ke],Q=[1,$Ge(ZGe([0,P],0),$)],Z=0,rr=L,er=0;z=2}}else if(L&&"number"==typeof R&&!(1<(R+zf|0)>>>0)){var nr=[0,L[1],Ake];Q=[1,$Ge(ZGe([0,P],0),nr)],Z=0,rr=0,er=x,z=2}var tr=0;switch(z){case 0:var ur=function(e){RYe(e,0);var n=TI(r[20],0,e);return MYe(e),n},ar=FYe(o),ir=ur(o),cr=ir[2],fr=0;if(1===cr[0]){var or=cr[1][2][1],sr=0;if(_I(or,Cke)&&_I(or,wke)&&(sr=1),!sr){var vr=bYe(o),lr=0;if("number"==typeof vr){var Dr=vr-5|0;if(89>>0){if(!(91<(Dr+1|0)>>>0)){H(o,L),j(o,N);var br=cr;fr=1,lr=1}}else 1<(Dr-77|0)>>>0||(Q=cr,Z=P,rr=L,er=x,tr=1,fr=2,lr=1)}if(!lr){uVe(o,cr);var pr=ur(o),Er=hI(or,Ske),mr=uAe(P,ar);H(o,L),j(o,N),V=[0,bVe([0,b],function(r,e,n,t,u){return function(a){var i=n[1],c=uVe(a,n[2]),f=G(a,r,0),o=f[2][2];if(t){var s=o[2];if(s[1])PXe(a,[0,i,Mu]);else{var v=0;s[2]||s[3]||(v=1),v||PXe(a,[0,i,80])}}else{var l=o[2];if(l[1])PXe(a,[0,i,xp]);else{var D=l[2];if(l[3])PXe(a,[0,i,81]);else{var b=0;D&&!D[2]&&(b=1),b||PXe(a,[0,i,81])}}}var p=ZGe([0,u],0);return[0,c,t?[1,f]:[2,f],0,0!==e?1:0,0,0,0,p]}}(b,x,pr,Er,mr),o)],fr=2}}}var Fr=0;switch(fr){case 2:Fr=1;break;case 0:var kr=ir[2],dr=bYe(o),hr=0;if("number"==typeof dr){var yr=0;4!==dr&&95!==dr&&(yr=1),yr||(H(o,L),j(o,N),br=kr,hr=1)}if(!hr){var _r=0!==x?1:0;if(1===kr[0]){var Ar=kr[1],Cr=Ar[2][1];if(t){var wr=0;hI(gke,Cr)||_r&&hI(Bke,Cr)||(wr=1),wr||PXe(o,[0,Ar[1],[22,Cr,_r,0,0]])}}Q=kr,Z=P,rr=L,er=x,tr=1,Fr=1}}if(!Fr){var Sr=uVe(o,br),gr=G(o,b,rVe(o,BI(I,o))),Br=[0,gr[1],[12,gr[2]]],Tr=[0,Sr,[0,Br],0,0!==x?1:0,0,1,0,ZGe([0,P],0)];V=[0,[0,Br[1],Tr]]}break;case 2:tr=1}tr&&(1-LXe(o)&&BYe(o,12),V=[0,bVe([0,b],function(r,e,t,u,a){return function(i){var c=PYe(i,82);HYe(i,83);var f=BI(n,i);return[0,a,[0,f],c,0!==e?1:0,0!==t?1:0,0,r,ZGe([0,u],0)]}}(N,er,rr,Z,Q),o)])}U(c,o),s=[0,[0,V,D],l,v];continue r}}}),i)})),FB(g,(function(r){var e=41===bYe(r)?1:0;if(e){HYe(r,41);for(var n=0;;){var t=[0,BI(N,r),n],u=bYe(r);if("number"!=typeof u||9!==u){var a=aVe(r,pAe(t));break}HYe(r,9),n=t}}else a=e;return[0,a,OI(S,0,0,0,r)]})),FB(B,(function(r){var e=lVe(r),n=e[2],t=n[1],u=e[1];return vYe(t)&&PXe(r,[0,u,3]),[0,u,[0,t,n[2]]]})),FB(T,(function(r){return bVe(0,(function(r){return[0,BI(B,r),83===bYe(r)?[1,BI(t,r)]:[0,EYe(r)]]}),r)})),FB(I,(function(r){var t=95===bYe(r)?1:0;if(t){1-LXe(r)&&BYe(r,12);var u=[0,bVe(0,(function(r){var t=FYe(r);HYe(r,95);for(var u=0,a=0;;){var i=bVe(0,function(r){return function(t){var u=e(t),a=BI(T,t),i=a[2],c=bYe(t),f=0;if("number"==typeof c&&79===c){LYe(t);var o=1,s=[0,BI(n,t)];f=1}return f||(r&&PXe(t,[0,a[1],77]),o=r,s=0),[0,u,i[1],i[2],s,o]}}(u),r),c=i[2],f=[0,[0,i[1],[0,c[2],c[3],c[1],c[4]]],a],o=bYe(r),s=0;if("number"==typeof o){var v=0;if(96!==o&&Je!==o&&(v=1),!v){var l=pAe(f);s=1}}if(!s){if(HYe(r,9),96!==bYe(r)){u=c[5],a=f;continue}l=pAe(f)}var D=FYe(r);return HYe(r,96),[0,l,rUe([0,t],[0,GYe(r)],D)]}}),r)]}else u=t;return u})),FB(O,(function(r){var e=95===bYe(r)?1:0,t=e?[0,bVe(0,(function(r){var e=FYe(r);HYe(r,95);for(var t=JXe(0,r),u=0;;){var a=bYe(t);if("number"==typeof a){var i=0;if(96!==a&&Je!==a||(i=1),i){var c=pAe(u),f=FYe(t);return HYe(t,96),[0,c,rUe([0,e],[0,GYe(t)],f)]}}var o=[0,BI(n,t),u];96!==bYe(t)&&HYe(t,9),u=o}}),r)]:e;return t})),FB(N,(function(r){return TI(x,r,BI(B,r))})),FB(x,(function(r,e){return bVe([0,e[1]],(function(r){for(var n=[0,e[1],[0,e]];;){var t=n[2],u=n[1];if(10!==bYe(r)||!CYe(1,r)){if(95===bYe(r))var a=TI(QYe(r)[2],t,(function(r,e){return TI(xT(r,-860373976,75),r,e)}));else a=t;return[0,a,BI(O,r),0]}var i=bVe([0,u],function(r){return function(e){return HYe(e,10),[0,r,BI(B,e)]}}(t),r),c=i[1];n=[0,c,[1,[0,c,i[2]]]]}}),r)})),FB(L,(function(r,e){var n=TI(x,r,e);return[0,n[1],[16,n[2]]]})),FB(P,(function(r){var e=bYe(r);return"number"==typeof e&&83===e?[1,BI(t,r)]:[0,EYe(r)]})),FB(R,(function(r,e,n){var t=r[2];function u(r){return eUe(r,ZGe([0,e],[0,n]))}switch(t[0]){case 0:var a=[0,u(t[1])];break;case 1:a=[1,u(t[1])];break;case 2:a=[2,u(t[1])];break;case 3:a=[3,u(t[1])];break;case 4:a=[4,u(t[1])];break;case 5:a=[5,u(t[1])];break;case 6:a=[6,u(t[1])];break;case 7:a=[7,u(t[1])];break;case 8:a=[8,u(t[1])];break;case 9:a=[9,u(t[1])];break;case 10:a=[10,u(t[1])];break;case 11:var i=t[1],c=u(i[2]);a=[11,[0,i[1],c]];break;case 12:var f=t[1],o=u(f[4]);a=[12,[0,f[1],f[2],f[3],o]];break;case 13:var s=t[1],v=ZGe([0,e],[0,n]),l=nUe(s[4],v);a=[13,[0,s[1],s[2],s[3],l]];break;case 14:var D=t[1],b=u(D[3]);a=[14,[0,D[1],D[2],b]];break;case 15:var p=t[1],E=u(p[2]);a=[15,[0,p[1],E]];break;case 16:var m=t[1],F=u(m[3]);a=[16,[0,m[1],m[2],F]];break;case 17:var k=t[1],d=u(k[3]);a=[17,[0,k[1],k[2],d]];break;case 18:var h=t[1],y=h[1],_=h[2],A=u(y[3]);a=[18,[0,[0,y[1],y[2],A],_]];break;case 19:var C=t[1],w=u(C[2]);a=[19,[0,C[1],w]];break;case 20:var S=t[1],g=u(S[2]);a=[20,[0,S[1],g]];break;case 21:var B=t[1],T=u(B[2]);a=[21,[0,B[1],T]];break;case 22:var I=t[1],O=u(I[2]);a=[22,[0,I[1],O]];break;case 23:var N=t[1],x=u(N[3]);a=[23,[0,N[1],N[2],x]];break;case 24:var L=t[1],P=u(L[3]);a=[24,[0,L[1],L[2],P]];break;case 25:var R=t[1],M=u(R[3]);a=[25,[0,R[1],R[2],M]];break;default:var G=t[1],U=u(G[2]);a=[26,[0,G[1],U]]}return[0,r[1],a]})),[0,function(r){return K(n,r)},function(r){return K(B,r)},function(r){return K(I,r)},function(r){return K(O,r)},function(r){return K(N,r)},function(r,e){return K(II(S,r,0,0),e)},function(r){return K(g,r)},function(r){return K(h,r)},function(r){return K(t,r)},function(r){return K(P,r)},function(r){return K(Y,r)},function(r){return K(V,r)}]}(nKe),uKe=function(r){var e=[0,Eke,pVe[1],0,0];function n(r){var e=bYe(r);if("number"==typeof e){var n=0;if(8<=e?10<=e||(n=1):1===e&&(n=1),n)return 1}return 0}function t(r){var e=lVe(r),t=bYe(r),u=0;if("number"==typeof t){var a=0;if(79===t?HYe(r,79):83===t?(BYe(r,[5,e[2][1]]),HYe(r,83)):a=1,!a){var i=pYe(r),c=FYe(r),f=bYe(r),o=0;if("number"==typeof f)switch(f){case 30:case 31:LYe(r);var s=GYe(r),v=n(r)?[1,i,[0,31===f?1:0,ZGe([0,c],[0,s])]]:[0,i];break;default:o=1}else switch(f[0]){case 0:var l=f[2],D=II(nKe[24],r,f[1],l),b=GYe(r);v=n(r)?[2,i,[0,D,l,ZGe([0,c],[0,b])]]:[0,i];break;case 2:var p=f[1],E=p[1];p[4]&&OYe(r,44),LYe(r);var m=GYe(r);if(n(r))var F=ZGe([0,c],[0,m]),k=[3,E,[0,p[2],p[3],F]];else k=[0,E];v=k;break;default:o=1}o&&(LYe(r),v=[0,i]);var d=v;u=1}}return u||(d=0),[0,e,d]}function u(r){var n=FYe(r);HYe(r,48);var u=TI(nKe[13],0,r),a=u[2][1],i=u[1],c=bVe(0,(function(r){var n=PYe(r,63);if(n){RYe(r,1);var u=bYe(r),c=0;if("number"==typeof u)switch(u){case 114:var f=vke;break;case 116:f=lke;break;case 118:f=Dke;break;default:c=1}else switch(u[0]){case 4:BYe(r,[4,a,[0,u[2]]]),f=0;break;case 9:u[1]?f=bke:c=1;break;default:c=1}c&&(BYe(r,[4,a,0]),f=0),LYe(r),MYe(r);var o=f}else o=n;var s=0!==o?1:0,v=s?FYe(r):s;HYe(r,0);for(var l=e;;){var D=bYe(r);if("number"==typeof D){var b=D-2|0;if(Mu>>0){if(!(bd<(b+1|0)>>>0)){var p=l[3],E=l[4],m=pAe(l[1][4]),F=pAe(l[1][3]),k=pAe(l[1][2]),d=pAe(l[1][1]),h=uAe(E,FYe(r));HYe(r,1);var y=bYe(r),_=0;if("number"==typeof y){var A=0;if(1!==y&&Je!==y&&(_=1,A=1),!A)var C=GYe(r)}else _=1;if(_){var w=hYe(r);C=w?UYe(r):w}var g=rUe([0,v],[0,C],h);if(o)switch(o[1]){case 0:return[0,[0,d,1,p,g]];case 1:return[1,[0,k,1,p,g]];case 2:var B=1;break;default:return[3,[0,m,p,g]]}else{var T=vAe(d),I=vAe(k),O=vAe(F),N=vAe(m),x=0;if(0===T&&0===I){var L=0;0===O&&0===N&&(x=1,L=1),L||(B=0,x=2)}var P=0;switch(x){case 0:if(0===I&&0===O&&N<=T)return kAe((function(e){return PXe(r,[0,e[1],[1,a,e[2][1][2][1]]])}),m),[0,[0,d,0,p,g]];if(0===T&&0===O&&N<=I)return kAe((function(e){return PXe(r,[0,e[1],[9,a,e[2][1][2][1]]])}),m),[1,[0,k,0,p,g]];PXe(r,[0,i,[3,a]]);break;case 1:break;default:P=1}if(!P)return[2,[0,pke,0,p,g]]}var R=vAe(F),M=vAe(m);if(0===R);else{var G=0;if(0!==M&&(R>>0)bd<(Y+1|0)>>>0&&(V=1);else if(7===Y){HYe(r,9);var K=bYe(r),W=0;if("number"==typeof K){var J=0;if(1!==K&&Je!==K&&(J=1),!J){var q=1;W=1}}W||(q=0),PXe(r,[0,U,[8,q]])}else V=1;V||(X=1)}X||PXe(r,[0,U,oke]),l=[0,l[1],l[2],1,j];continue}}var z=l[2],$=l[1],Q=bVe(0,t,r),Z=Q[2],rr=Z[1],er=rr[2][1];if(hI(er,ske))var nr=l;else{var tr=rr[1],ur=Z[2],ar=Q[1],ir=yI(er,0),cr=97<=ir?1:0;(cr?ir<=S?1:0:cr)&&PXe(r,[0,tr,[7,a,er]]),TI(pVe[3],er,z)&&PXe(r,[0,tr,[2,a,er]]);var fr=l[4],or=l[3],sr=TI(pVe[4],er,z),vr=[0,l[1],sr,or,fr],lr=function(e){return function(n,t){return o&&o[1]!==n?PXe(r,[0,t,[6,a,o,e]]):0}}(er);if("number"==typeof ur){var Dr=0;if(o){var br=o[1],pr=0;if(1===br?PXe(r,[0,ar,[9,a,er]]):br?(Dr=1,pr=1):PXe(r,[0,ar,[1,a,er]]),!pr)var Er=vr}else Dr=1;Dr&&(Er=[0,[0,$[1],$[2],$[3],[0,[0,ar,[0,rr]],$[4]]],sr,or,fr])}else switch(ur[0]){case 0:PXe(r,[0,ur[1],[6,a,o,er]]),Er=vr;break;case 1:var mr=ur[1];lr(0,mr),Er=[0,[0,[0,[0,ar,[0,rr,[0,mr,ur[2]]]],$[1]],$[2],$[3],$[4]],sr,or,fr];break;case 2:var Fr=ur[1];lr(1,Fr),Er=[0,[0,$[1],[0,[0,ar,[0,rr,[0,Fr,ur[2]]]],$[2]],$[3],$[4]],sr,or,fr];break;default:var kr=ur[1];lr(2,kr),Er=[0,[0,$[1],$[2],[0,[0,ar,[0,rr,[0,kr,ur[2]]]],$[3]],$[4]],sr,or,fr]}nr=Er}var dr=bYe(r),hr=0;if("number"==typeof dr){var yr=dr-2|0,_r=0;Mu>>0?bd<(yr+1|0)>>>0&&(_r=1):6===yr?(BYe(r,1),HYe(r,8)):_r=1,_r||(hr=1)}hr||HYe(r,9),l=nr}}),r);return[16,[0,u,c,ZGe([0,n],0)]]}function a(r,e){var n=e[2][1],t=e[1],u=r[1];return fYe(n)&&NYe(u,[0,t,41]),(uYe(n)||iYe(n))&&NYe(u,[0,t,53]),[0,u,r[2]]}function i(r,e){var n=e[2];switch(n[0]){case 0:return dAe(c,r,n[1][1]);case 1:return dAe(f,r,n[1][1]);case 2:var t=n[1][1],u=t[2][1],i=r[2],o=r[1];TI(EVe[3],u,i)&&PXe(o,[0,t[1],42]);var s=a([0,o,i],t),v=TI(EVe[4],u,s[2]);return[0,s[1],v];default:return PXe(r[1],[0,e[1],31]),r}}function c(r,e){if(0===e[0]){var n=e[1][2],t=n[1];return i(1===t[0]?a(r,t[1]):r,n[2])}return i(r,e[1][2][1])}function f(r,e){return 2===e[0]?r:i(r,e[1][2][1])}function o(r,e,n,t,u){var a=e||1-n;if(a){var c=u[2],f=c[3],o=e?UXe(1-r[6],r):r;if(t){var s=t[1],v=s[2][1],l=s[1];fYe(v)&&NYe(o,[0,l,43]),(uYe(v)||iYe(v))&&NYe(o,[0,l,53])}var D=c[2],b=dAe((function(r,e){return i(r,e[2][1])}),[0,o,EVe[1]],D),p=f?(i(b,f[1][2][1]),0):f}else p=a;return p}var s=function r(e,n){return r.fun(e,n)};function v(r){21===bYe(r)&&BYe(r,yS);var e=TI(nKe[18],r,41),n=79===bYe(r)?1:0;return[0,e,n?(HYe(r,79),[0,BI(nKe[10],r)]):n]}function l(e,n){function t(t){var u=jXe(n,HXe(e,t)),a=1===u[10]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],1,u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29]],i=FYe(a);HYe(a,4);var c=LXe(a),f=c?21===bYe(a)?1:0:c;if(f){var o=FYe(a),v=bVe(0,(function(e){return HYe(e,21),83===bYe(e)?[0,BI(r[9],e)]:(BYe(e,mk),0)}),a),l=v[2];if(l){9===bYe(a)&&LYe(a);var D=ZGe([0,o],0),b=[0,[0,v[1],[0,l[1],D]]]}else b=l;var p=b}else p=f;var E=TI(s,a,0),m=FYe(a);HYe(a,5);var F=rUe([0,i],[0,GYe(a)],m);return[0,p,E[1],E[2],F]}return function(r){return bVe(0,t,r)}}function D(r,e,n,t){var u=nYe(r,e,n),a=TI(nKe[16],t,u);return[0,[0,[0,a[1],a[2]]],a[3]]}function b(r){if(Zv===bYe(r)){var e=FYe(r);return LYe(r),[0,1,e]}return jke}function p(r){if(64===bYe(r)&&!dYe(1,r)){var e=FYe(r);return LYe(r),[0,1,e]}return Uke}function E(r){var e=r[2],n=0===e[3]?1:0;if(n)for(var t=e[2];;){if(t){var u=t[1][2],a=0,i=t[2];if(2===u[1][2][0]&&!u[2]){var c=1;a=1}if(a||(c=0),c){t=i;continue}return c}return 1}return n}function m(e){var n=p(e),t=n[1],u=n[2],a=bVe(0,(function(e){var n=FYe(e);HYe(e,15);var a=b(e),i=a[1],c=EAe([0,u,[0,n,[0,a[2],0]]]),f=e[7],o=bYe(e),s=0;if(f&&"number"==typeof o)if(4===o){var v=0,D=0;s=1}else if(95===o){var p=rVe(e,BI(r[3],e));v=4===bYe(e)?0:[0,ZYe(e,TI(nKe[13],Mke,e))],D=p,s=1}s||(v=[0,ZYe(e,TI(nKe[13],Gke,e))],D=rVe(e,BI(r[3],e)));var E=BI(l(t,i),e),m=83===bYe(e)?E:nVe(e,E),F=BI(r[12],e),k=F[2],d=F[1];if(k)var h=tVe(e,k),y=d;else h=k,y=eVe(e,d);return[0,i,D,v,m,y,h,c]}),e),i=a[2],c=i[4],f=i[3],s=i[1],v=D(e,t,s,0),m=E(c);o(e,v[2],m,f,c);var F=a[1],k=ZGe([0,i[7]],0);return[23,[0,f,c,v[1],t,s,i[6],i[5],i[2],k,F]]}function F(r,e){var n=FYe(e);HYe(e,r);for(var t=0,u=0;;){var a=bVe(0,(function(r){var e=TI(nKe[18],r,40);if(PYe(r,79))var n=0,t=[0,BI(nKe[10],r)];else 2===e[2][0]?(n=$I[2],t=$I[1]):(n=[0,[0,e[1],57]],t=0);return[0,[0,e,t],n]}),e),i=a[2],c=i[2],f=[0,[0,a[1],i[1]],t],o=c?[0,c[1],u]:u;if(!PYe(e,9)){var s=pAe(o);return[0,pAe(f),n,s]}t=f,u=o}}return FB(s,(function(r,e){var n=bYe(r);if("number"==typeof n){var t=n-5|0,u=0;if(7>>0?yS===t&&(u=1):5<(t-1|0)>>>0&&(u=1),u){var a=12===n?1:0;if(a)var i=FYe(r),c=bVe(0,(function(r){return HYe(r,12),TI(nKe[18],r,41)}),r),f=ZGe([0,i],0),o=[0,[0,c[1],[0,c[2],f]]];else o=a;return 5!==bYe(r)&&BYe(r,62),[0,pAe(e),o]}}var l=bVe(0,v,r);return 5!==bYe(r)&&HYe(r,9),TI(s,r,[0,l,e])})),[0,p,b,function(r,e,n){var t=pYe(r),u=bYe(r),a=0;if("number"==typeof u)if(pu===u){var i=FYe(r);LYe(r);var c=[0,[0,t,[0,0,ZGe([0,i],0)]]]}else if(Ik===u){var f=FYe(r);LYe(r),c=[0,[0,t,[0,1,ZGe([0,f],0)]]]}else a=1;else a=1;if(a&&(c=0),c){var o=0;if(e||n||(o=1),!o)return PXe(r,[0,c[1][1],7]),0}return c},l,D,E,o,function(r){return F(28,VXe(1,r))},function(r){var e=F(27,VXe(1,r)),n=e[1],t=pAe(dAe((function(r,e){return e[2][2]?r:[0,[0,e[1],56],r]}),e[3],n));return[0,n,e[2],t]},function(r){return F(24,r)},function(r){return bVe(0,m,r)},function(r){return bVe(0,u,r)}]}(tKe),aKe=function(r){return[0,function(r,e){return 0===e[0]||kAe((function(e){return PXe(r,e)}),e[2][1]),e[1]},function(e,n,t){var u=e?e[1]:26;if(0===t[0])var a=t[1];else kAe((function(r){return PXe(n,r)}),t[2][2]),a=t[1];1-BI(r[23],a)&&PXe(n,[0,a[1],u]);var i=a[2];return 10===i[0]&&fYe(i[1][2][1])&&NYe(n,[0,a[1],50]),TI(r[19],n,a)},Hke,function(r,e){var n=bAe(r[2],e[2]);return[0,bAe(r[1],e[1]),n]},function(r){var e=pAe(r[2]);return[0,pAe(r[1]),e]}]}(nKe),iKe=function(r){var e=r[1],n=function r(e){return r.fun(e)},t=function r(e){return r.fun(e)},u=function r(e){return r.fun(e)},a=function r(e){return r.fun(e)},i=function r(e){return r.fun(e)},c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)},b=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},E=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},F=function r(e){return r.fun(e)},k=function r(e,n,t,u,a){return r.fun(e,n,t,u,a)},d=function r(e,n,t,u){return r.fun(e,n,t,u)},h=function r(e){return r.fun(e)},y=function r(e){return r.fun(e)},_=function r(e){return r.fun(e)},A=function r(e,n,t,u,a){return r.fun(e,n,t,u,a)},C=function r(e,n,t,u){return r.fun(e,n,t,u)},w=function r(e){return r.fun(e)},S=function r(e,n,t){return r.fun(e,n,t)},g=function r(e){return r.fun(e)},B=function r(e,n,t){return r.fun(e,n,t)},T=function r(e){return r.fun(e)},I=function r(e){return r.fun(e)},O=function r(e,n){return r.fun(e,n)},N=function r(e,n,t,u){return r.fun(e,n,t,u)},x=function r(e){return r.fun(e)},L=function r(e,n,t){return r.fun(e,n,t)},P=function r(e){return r.fun(e)},R=function r(e){return r.fun(e)},M=function r(e){return r.fun(e)},G=function r(e,n,t){return r.fun(e,n,t)},U=function r(e){return r.fun(e)},j=r[2];function H(r){var e=pYe(r),n=BI(c,r),u=BI(i,r);if(u){var a=u[1];return[0,bVe([0,e],(function(r){var e=II(j,0,r,n);return[2,[0,a,e,BI(t,r),0]]}),r)]}return n}function X(r,e){if("number"==typeof e){var n=53!==e?1:0;if(!n)return n}throw YYe}function Y(r){var e=$Xe(X,r),n=H(e),t=bYe(e);if("number"==typeof t){if(11===t)throw YYe;if(83===t){var u=rYe(e),a=0;if(u){var i=u[1];if("number"==typeof i&&5===i){var c=1;a=1}}if(a||(c=0),c)throw YYe}}if(wYe(e)){if(0===n[0]){var f=n[1][2];if(10===f[0]&&!_I(f[1][2][1],ghe)&&!hYe(e))throw YYe}return n}return n}function V(r,n,t,u,a){return[0,[0,a,[15,[0,u,TI(e,r,n),TI(e,r,t),0]]]]}function K(r,e,n,t){for(var u=r,a=n,i=t;;){var c=bYe(e);if("number"!=typeof c||81!==c)return[0,i,a];1-e[26][6]&&BYe(e,wk),1-u&&BYe(e,she),HYe(e,81);var f=bVe(0,s,e),o=f[2],v=f[1],l=bYe(e),D=0;if("number"==typeof l&&!(1<(l-84|0)>>>0)){BYe(e,[24,QUe(l)]);var b=J(e,o,v),p=W(e,b[2],b[1]),E=p[2],m=p[1];D=1}D||(E=o,m=v);var F=VGe(i,m);u=1,a=V(e,a,E,2,F),i=F}}function W(r,e,n){for(var t=e,u=n;;){var a=bYe(r);if("number"!=typeof a||84!==a)return[0,u,t];LYe(r);var i=bVe(0,s,r),c=J(r,i[2],i[1]),f=VGe(u,c[1]),o=K(0,r,V(r,t,c[2],0,f),f);t=o[2],u=o[1]}}function J(r,e,n){for(var t=e,u=n;;){var a=bYe(r);if("number"!=typeof a||85!==a)return[0,u,t];LYe(r);var i=bVe(0,s,r),c=VGe(u,i[1]),f=K(0,r,V(r,t,i[2],1,c),c);t=f[2],u=f[1]}}function q(r,e,n,t){return[0,t,[3,[0,n,r,e,0]]]}function z(r){var e=FYe(r);HYe(r,95);for(var n=0;;){var t=bYe(r);if("number"==typeof t){var u=0;if(96!==t&&Je!==t||(u=1),u){var a=pAe(n),i=FYe(r);return HYe(r,96),[0,a,rUe([0,e],[0,4===bYe(r)?QYe(r)[1]:GYe(r)],i)]}}var c=bYe(r),f=0;if("number"!=typeof c&&4===c[0]&&!_I(c[2],Dde)){var o=pYe(r),s=FYe(r);XYe(r,bde);var v=[1,[0,o,[0,ZGe([0,s],[0,GYe(r)])]]];f=1}f||(v=[0,BI(tKe[1],r)]);var l=[0,v,n];96!==bYe(r)&&HYe(r,9),n=l}}function $(r){var e=FYe(r);return HYe(r,12),[0,BI(t,r),ZGe([0,e],0)]}function Q(r,e){if("number"==typeof e){var n=0;if(59<=e){var t=e-62|0;29>>0?47===t&&(n=1):27<(t-1|0)>>>0&&(n=1)}else{var u=e+-42|0;15>>0?-1<=u&&(n=1):11===u&&(n=1)}if(n)return 0}throw YYe}return FB(n,(function(r){var e=bYe(r),n=0,t=wYe(r);if("number"==typeof e){var a=0;if(22<=e)if(58===e){if(r[17])return[0,BI(u,r)];a=1}else 95!==e&&(a=1);else 4===e||21<=e||(a=1);a||(n=1)}if(!n&&!t)return H(r);var i=0;if(64===e&&LXe(r)&&95===lYe(1,r)){var c=Y,f=M;i=1}i||(c=M,f=Y);var o=KYe(r,f);if(o)return o[1];var s=KYe(r,c);return s?s[1]:H(r)})),FB(t,(function(r){return TI(e,r,BI(n,r))})),FB(u,(function(r){return bVe(0,(function(r){r[10]&&BYe(r,91);var e=FYe(r);if(HYe(r,58),_Ye(r))var n=0,u=0;else{var a=PYe(r,Zv),i=bYe(r),c=0;if("number"==typeof i){var f=0;if(83!==i)if(10<=i)f=1;else switch(i){case 0:case 2:case 3:case 4:case 6:f=1}if(!f){var o=0;c=1}}c||(o=1);var s=a||o;n=a,u=s?[0,BI(t,r)]:s}return[30,[0,u,ZGe([0,e],[0,u?0:GYe(r)]),n]]}),r)})),FB(a,(function(r){var e=r[2];switch(e[0]){case 17:var n=e[1],t=n[1][2][1];if(_I(t,Ahe)){if(!_I(t,Che)){var u=_I(n[2][2][1],whe);if(!u)return u}}else{var a=_I(n[2][2][1],She);if(!a)return a}break;case 10:case 16:break;default:return 0}return 1})),FB(i,(function(r){var e=bYe(r),n=0;if("number"==typeof e){var t=e-67|0;if(!(12>>0)){switch(t){case 0:var u=vhe;break;case 1:u=lhe;break;case 2:u=Dhe;break;case 3:u=bhe;break;case 4:u=phe;break;case 5:u=Ehe;break;case 6:u=mhe;break;case 7:u=Fhe;break;case 8:u=khe;break;case 9:u=dhe;break;case 10:u=hhe;break;case 11:u=yhe;break;default:u=_he}var a=u;n=1}}return n||(a=0),0!==a&&LYe(r),a})),FB(c,(function(r){var n=pYe(r),u=BI(o,r);if(82===bYe(r)){LYe(r);var a=BI(t,WXe(0,r));HYe(r,83);var i=bVe(0,t,r),c=VGe(n,i[1]),f=i[2];return[0,[0,c,[7,[0,TI(e,r,u),a,f,0]]]]}return u})),FB(f,(function(r){return TI(e,r,BI(c,r))})),FB(o,(function(r){var e=bVe(0,s,r),n=e[2],t=e[1],u=bYe(r),a=0;if("number"==typeof u&&81===u){var i=K(1,r,n,t);a=1}if(!a){var c=J(r,n,t);i=W(r,c[2],c[1])}return i[2]})),FB(s,(function(r){var n=0;r:for(;;){var t=bVe(0,(function(r){return[0,0!==BI(v,r)?1:0,BI(l,WXe(0,r))]}),r),u=t[2],a=u[2],i=t[1];95===bYe(r)&&0===a[0]&&12===a[1][2][0]&&BYe(r,61);var c=bYe(r),f=0;if("number"==typeof c){var o=c-17|0,s=0;if(1>>0)if(69<=o)switch(o-69|0){case 0:var D=Hde;break;case 1:D=Xde;break;case 2:D=Yde;break;case 3:D=Vde;break;case 4:D=Kde;break;case 5:D=Wde;break;case 6:D=Jde;break;case 7:D=qde;break;case 8:D=zde;break;case 9:D=$de;break;case 10:D=Qde;break;case 11:D=Zde;break;case 12:D=rhe;break;case 13:D=ehe;break;case 14:D=nhe;break;case 15:D=the;break;case 16:D=uhe;break;case 17:D=ahe;break;case 18:D=ihe;break;case 19:D=che;break;default:s=1}else s=1;else D=o?fhe:r[12]?0:ohe;if(!s){var b=D;f=1}}if(f||(b=0),0!==b&&LYe(r),!n&&!b)return a;if(b){var p=b[1],E=p[1],m=u[1];(m?14===E:m)&&PXe(r,[0,i,27]);for(var F=TI(e,r,a),k=[0,E,p[2]],d=i,h=n;;){var y=k[2],_=k[1];if(h){var A=h[1],C=A[2],w=C[2],S=0===w[0]?w[1]:w[1]-1|0;if(y[1]<=S){var g=VGe(A[3],d);F=q(A[1],F,C[1],g),k=[0,_,y],d=g,h=h[2];continue}}n=[0,[0,F,[0,_,y],d],h];continue r}}for(var B=TI(e,r,a),T=i,I=n;;){if(!I)return[0,B];var O=I[1],N=VGe(O[3],T),x=I[2];B=q(O[1],B,O[2][1],N),T=N,I=x}}})),FB(v,(function(r){var e=bYe(r);if("number"==typeof e)if(48<=e){if(pu<=e){if(!(xp<=e))switch(e-100|0){case 0:return xde;case 1:return Lde;case 6:return Pde;case 7:return Rde}}else if(65===e&&r[18])return Mde}else if(45<=e)switch(e+Vi|0){case 0:return Gde;case 1:return Ude;default:return jde}return 0})),FB(l,(function(r){var e=pYe(r),n=FYe(r),t=BI(v,r);if(t){var u=t[1];LYe(r);var i=bVe(0,D,r),c=i[2],f=VGe(e,i[1]);if(6===u){var o=c[2];switch(o[0]){case 10:NYe(r,[0,f,46]);break;case 16:1===o[1][2][0]&&PXe(r,[0,f,88])}}return[0,[0,f,[28,[0,u,c,ZGe([0,n],0)]]]]}var s=bYe(r),l=0;if("number"==typeof s)if(xp===s)var p=Nde;else bd===s?p=Ode:l=1;else l=1;if(l&&(p=0),p){LYe(r);var E=bVe(0,D,r),m=E[2];1-BI(a,m)&&PXe(r,[0,m[1],26]);var F=m[2];10===F[0]&&fYe(F[1][2][1])&&OYe(r,52);var k=VGe(e,E[1]),d=ZGe([0,n],0);return[0,[0,k,[29,[0,p[1],m,1,d]]]]}return BI(b,r)})),FB(D,(function(r){return TI(e,r,BI(l,r))})),FB(b,(function(r){var n=BI(p,r);if(hYe(r))return n;var t=bYe(r),u=0;if("number"==typeof t)if(xp===t)var i=Ide;else bd===t?i=Tde:u=1;else u=1;if(u&&(i=0),i){var c=TI(e,r,n);1-BI(a,c)&&PXe(r,[0,c[1],26]);var f=c[2];10===f[0]&&fYe(f[1][2][1])&&OYe(r,51);var o=pYe(r);LYe(r);var s=GYe(r),v=VGe(c[1],o),l=ZGe(0,[0,s]);return[0,[0,v,[29,[0,i[1],c,0,l]]]]}return n})),FB(p,(function(r){var e=pYe(r),n=1-r[16],t=0===r[16]?r:[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],0,r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]],u=bYe(t),a=0;if("number"==typeof u){var i=u-44|0;if(!(7>>0)){var c=0;switch(i){case 0:if(n)var f=[0,BI(h,t)];else c=1;break;case 6:f=[0,BI(F,t)];break;case 7:f=[0,BI(m,t)];break;default:c=1}if(!c){var o=f;a=1}}}return a||(o=SYe(t)?[0,BI(w,t)]:BI(T,t)),NI(k,0,0,t,e,o)})),FB(E,(function(r){return TI(e,r,BI(p,r))})),FB(m,(function(r){switch(r[20]){case 0:var e=yde;break;case 1:e=_de;break;default:e=Ade}var n=e[1],t=pYe(r),u=FYe(r);HYe(r,51);var a=[0,t,[23,[0,ZGe([0,u],[0,GYe(r)])]]],i=bYe(r);if("number"==typeof i&&!(11<=i))switch(i){case 4:var c=e[2]?a:(PXe(r,[0,t,5]),[0,t,[10,$Ge(0,[0,t,Cde])]]);return OI(d,wde,r,t,c);case 6:case 10:var f=n?a:(PXe(r,[0,t,4]),[0,t,[10,$Ge(0,[0,t,gde])]]);return OI(d,Bde,r,t,f)}return n?TYe(Sde,r):PXe(r,[0,t,4]),a})),FB(F,(function(r){return bVe(0,(function(r){var e=FYe(r),n=pYe(r);if(HYe(r,50),PYe(r,10)){var u=$Ge(0,[0,n,kde]),a=pYe(r);return XYe(r,dde),[17,[0,u,$Ge(0,[0,a,hde]),ZGe([0,e],[0,GYe(r)])]]}var i=FYe(r);HYe(r,4);var c=II(L,[0,i],0,BI(t,WXe(0,r)));return HYe(r,5),[11,[0,c,ZGe([0,e],[0,GYe(r)])]]}),r)})),FB(k,(function(r,n,t,u,a){var i=r?r[1]:1,c=n?n[1]:n,f=NI(A,[0,i],[0,c],t,u,a),o=rYe(t),s=0;if(o){var v=o[1];if("number"==typeof v&&80===v){var l=1;s=1}}function D(r){var n=QYe(r),t=TI(e,r,f);return TI(n[2],t,(function(r,e){return TI(xT(r,jD,76),r,e)}))}function b(r,e,n){var t=BI(_,e),a=t[1],f=VGe(u,a),o=[0,n,r,[0,a,t[2]],0],s=0;if(!l&&!c){var v=[4,o];s=1}return s||(v=[20,[0,o,l]]),NI(k,[0,i],[0,c||l],e,u,[0,[0,f,v]])}if(s||(l=0),t[13])return f;var p=bYe(t);if("number"==typeof p){if(4===p)return b(0,t,D(t));if(95===p&&LXe(t))return WYe($Xe((function(r,e){throw YYe}),t),f,(function(r){var e=D(r);return b(BI(y,r),r,e)}))}return f})),FB(d,(function(r,n,t,u){var a=r?r[1]:1;return TI(e,n,NI(k,[0,a],0,n,t,[0,u]))})),FB(h,(function(r){return bVe(0,(function(r){var e=pYe(r),n=FYe(r);if(HYe(r,44),r[11]&&10===bYe(r)){var t=GYe(r);LYe(r);var u=$Ge(ZGe([0,n],[0,t]),[0,e,pde]),a=bYe(r);return"number"==typeof a||4!==a[0]||_I(a[3],Ede)?(TYe(mde,r),LYe(r),[10,u]):[17,[0,u,TI(nKe[13],0,r),0]]}var i=pYe(r),c=bYe(r),f=0;if("number"==typeof c)if(44===c)var o=BI(h,r);else 51===c?o=BI(m,zXe(1,r)):f=1;else f=1;f&&(o=SYe(r)?BI(w,r):BI(I,r));var s=OI(C,Fde,zXe(1,r),i,o),v=bYe(r),l=0;if("number"!=typeof v&&3===v[0]){var D=OI(N,r,i,s,v[1]);l=1}l||(D=s);var b=0;if(4!==bYe(r)){var p=0;if(LXe(r)&&95===bYe(r)&&(p=1),!p){var E=D;b=1}}b||(E=TI(QYe(r)[2],D,(function(r,e){return TI(xT(r,jD,77),r,e)})));var F=LXe(r),k=F?WYe($Xe((function(r,e){throw YYe}),r),0,y):F,d=bYe(r),A=0;if("number"==typeof d&&4===d){var S=[0,BI(_,r)];A=1}return A||(S=0),[18,[0,E,k,S,ZGe([0,n],0)]]}),r)})),FB(y,(function(r){var e=95===bYe(r)?1:0;return e?[0,bVe(0,z,r)]:e})),FB(_,(function(r){return bVe(0,(function(r){var e=FYe(r);HYe(r,4);for(var n=0;;){var u=bYe(r);if("number"==typeof u){var a=0;if(5!==u&&Je!==u||(a=1),a){var i=pAe(n),c=FYe(r);return HYe(r,5),[0,i,rUe([0,e],[0,GYe(r)],c)]}}var f=bYe(r),o=0;if("number"==typeof f&&12===f){var s=[1,bVe(0,$,r)];o=1}o||(s=[0,BI(t,r)]);var v=[0,s,n];5!==bYe(r)&&HYe(r,9),n=v}}),r)})),FB(A,(function(r,n,t,u,a){var i=r?r[1]:1,c=n?n[1]:n,f=t[26],o=bYe(t),s=0;if("number"==typeof o)switch(o){case 6:LYe(t);var v=0,l=[0,c],D=[0,i];s=2;break;case 10:LYe(t);var b=0,p=[0,c],E=[0,i];s=1;break;case 80:1-f[7]&&BYe(t,99),1-i&&BYe(t,pu),HYe(t,80);var m=0,F=bYe(t);if("number"==typeof F)switch(F){case 4:return a;case 6:LYe(t),v=fde,l=ode,D=[0,i],s=2,m=1;break;case 95:if(LXe(t))return a}else if(3===F[0])return BYe(t,Ik),a;m||(b=sde,p=vde,E=[0,i],s=1)}else if(3===o[0]){c&&BYe(t,Ik);var d=o[1];return NI(k,lde,0,t,u,[0,OI(N,t,u,TI(e,t,a),d)])}switch(s){case 0:return a;case 1:var h=E?i:1,y=p?p[1]:p,_=b?b[1]:b,A=BI(U,t),C=A[3],w=A[2],S=A[1];if(C){var g=zGe(w),B=t[28][1];if(B){var T=B[1];t[28][1]=[0,[0,T[1],[0,[0,g,S],T[2]]],B[2]]}else PXe(t,[0,S,89])}var I=VGe(u,S),O=C?[1,[0,S,[0,w,ZGe([0,A[4]],0)]]]:[0,w];0===a[0]&&23===a[1][2][0]&&C&&PXe(t,[0,I,90]);var x=[0,TI(e,t,a),O,0];return NI(k,[0,h],[0,y],t,u,[0,[0,I,y?[21,[0,x,_]]:[16,x]]]);default:var L=D?i:1,P=l?l[1]:l,R=v?v[1]:v,M=zXe(0,t),G=BI(nKe[7],M),j=pYe(t);HYe(t,7);var H=GYe(t),X=VGe(u,j),Y=ZGe(0,[0,H]),V=[0,TI(e,t,a),[2,G],Y];return NI(k,[0,L],[0,P],t,u,[0,[0,X,P?[21,[0,V,R]]:[16,V]]])}})),FB(C,(function(r,n,t,u){var a=r?r[1]:1;return TI(e,n,NI(A,[0,a],0,n,t,[0,u]))})),FB(w,(function(r){return bVe(0,(function(r){var e=BI(uKe[1],r),n=e[1],t=e[2],u=bVe(0,(function(r){var e=FYe(r);HYe(r,15);var u=BI(uKe[2],r),a=u[1],i=EAe([0,t,[0,e,[0,u[2],0]]]);if(4===bYe(r))var c=0,f=0;else{var o=bYe(r),s=0;if("number"==typeof o){var v=95!==o?1:0;if(!v){var l=v;s=1}}if(!s){var D=jXe(a,HXe(n,r));l=[0,ZYe(D,TI(nKe[13],cde,D))]}c=rVe(r,BI(tKe[3],r)),f=l}var b=YXe(0,r),p=II(uKe[4],n,a,b),E=83===bYe(b)?p:nVe(b,p),m=BI(tKe[12],b),F=m[2],k=m[1];if(F)var d=tVe(b,F),h=k;else d=F,h=eVe(b,k);return[0,f,E,a,d,h,c,i]}),r),a=u[2],i=a[3],c=a[2],f=a[1],o=OI(uKe[5],r,n,i,1),s=BI(uKe[6],c);NI(uKe[7],r,o[2],s,f,c);var v=u[1],l=ZGe([0,a[7]],0);return[8,[0,f,c,o[1],n,i,a[4],a[5],a[6],l,v]]}),r)})),FB(S,(function(r,e,n){switch(e){case 1:OYe(r,44);try{var t=$T(zT(nAe(nde,n)))}catch(r){if((r=gI(r))[1]!==PI)throw r;t=Z_e(nAe(tde,n))}break;case 2:OYe(r,45);try{t=wT(n)}catch(r){if((r=gI(r))[1]!==PI)throw r;t=Z_e(nAe(ude,n))}break;case 4:try{t=wT(n)}catch(r){if((r=gI(r))[1]!==PI)throw r;t=Z_e(nAe(ade,n))}break;default:try{t=$T(zT(n))}catch(r){if((r=gI(r))[1]!==PI)throw r;t=Z_e(nAe(ide,n))}}return HYe(r,[0,e,n]),t})),FB(g,(function(r){var e=XT(r);return 0!==e&&Je===yI(r,e-1|0)?OAe(r,0,e-1|0):r})),FB(B,(function(r,e,n){if(2<=e){var t=BI(g,n);try{var u=wT(t)}catch(r){if((r=gI(r))[1]!==PI)throw r;u=Z_e(nAe(rde,t))}var a=u}else{var i=BI(g,n);try{var c=$T(zT(i))}catch(r){if((r=gI(r))[1]!==PI)throw r;c=Z_e(nAe(ede,i))}a=c}return HYe(r,[1,e,n]),a})),FB(T,(function(r){var e=pYe(r),n=FYe(r),t=bYe(r);if("number"==typeof t)switch(t){case 0:var u=BI(nKe[12],r);return[1,[0,u[1],[19,u[2]]],u[3]];case 4:return[0,BI(x,r)];case 6:var a=bVe(0,P,r),i=a[2];return[1,[0,a[1],[0,i[1]]],i[2]];case 21:return LYe(r),[0,[0,e,[26,[0,ZGe([0,n],[0,GYe(r)])]]]];case 29:return LYe(r),[0,[0,e,[14,[0,0,zke,ZGe([0,n],[0,GYe(r)])]]]];case 40:return[0,BI(nKe[22],r)];case 95:var c=BI(nKe[17],r),f=c[2];return[0,[0,c[1],ct<=f[1]?[13,f[2]]:[12,f[2]]]];case 30:case 31:LYe(r);var o=31===t?1:0;return[0,[0,e,[14,[0,[1,o],o?Qke:Zke,ZGe([0,n],[0,GYe(r)])]]]];case 74:case 102:return[0,BI(R,r)]}else switch(t[0]){case 0:var s=t[2];return[0,[0,e,[14,[0,[2,II(S,r,t[1],s)],s,ZGe([0,n],[0,GYe(r)])]]]];case 1:var v=t[2];return[0,[0,e,[14,[0,[3,II(B,r,t[1],v)],v,ZGe([0,n],[0,GYe(r)])]]]];case 2:var l=t[1];l[4]&&OYe(r,44),LYe(r);var D=[0,l[2]],b=ZGe([0,n],[0,GYe(r)]);return[0,[0,l[1],[14,[0,D,l[3],b]]]];case 3:var p=TI(O,r,t[1]);return[0,[0,p[1],[25,p[2]]]]}if(wYe(r)){var E=TI(nKe[13],0,r);return[0,[0,E[1],[10,E]]]}return TYe(0,r),"number"!=typeof t&&6===t[0]&&LYe(r),[0,[0,e,[14,[0,0,$ke,ZGe([0,n],[0,0])]]]]})),FB(I,(function(r){return TI(e,r,BI(T,r))})),FB(O,(function(r,e){var n=e[3],t=e[2],u=e[1],a=FYe(r);HYe(r,[3,e]);var i=[0,u,[0,[0,t[2],t[1]],n]];if(n)var c=0,f=[0,i,0],o=u;else for(var s=[0,i,0],v=0;;){var l=BI(nKe[7],r),D=[0,l,v],b=bYe(r),p=0;if("number"==typeof b&&1===b){RYe(r,4);var E=bYe(r),m=0;if("number"!=typeof E&&3===E[0]){var F=E[1],k=F[3],d=F[2];LYe(r);var h=F[1],y=[0,[0,d[2],d[1]],k];MYe(r);var _=[0,[0,h,y],s];if(!k){s=_,v=D;continue}var A=pAe(D),C=[0,h,pAe(_),A];p=1,m=1}if(!m)throw[0,jI,Wke]}if(!p){TYe(Jke,r);var w=[0,l[1],qke],S=pAe(D),g=pAe([0,w,s]);C=[0,l[1],g,S]}c=C[3],f=C[2],o=C[1];break}var B=GYe(r);return[0,VGe(u,o),[0,f,c,ZGe([0,a],[0,B])]]})),FB(N,(function(r,e,n,t){var u=TI(QYe(r)[2],n,(function(r,e){return TI(xT(r,jD,26),r,e)})),a=TI(O,r,t);return[0,VGe(e,a[1]),[24,[0,u,a,0]]]})),FB(x,(function(r){var e=FYe(r),n=bVe(0,(function(r){HYe(r,4);var e=pYe(r),n=BI(t,r),u=bYe(r),a=0;if("number"==typeof u)if(9===u)var i=[0,II(G,r,e,[0,n,0])];else 83===u?i=[1,[0,n,BI(tKe[9],r),0]]:a=1;else a=1;return a&&(i=[0,n]),HYe(r,5),i}),r),u=n[2],a=GYe(r),i=0===u[0]?u[1]:[0,n[1],[27,u[1]]];return II(L,[0,e],[0,a],i)})),FB(L,(function(r,e,n){var t=n[2],u=r?r[1]:r,a=e?e[1]:e;function i(r){return eUe(r,ZGe([0,u],[0,a]))}function c(r){return nUe(r,ZGe([0,u],[0,a]))}switch(t[0]){case 0:var f=t[1],o=c(f[2]),s=[0,[0,f[1],o]];break;case 1:var v=t[1],l=v[10],D=i(v[9]);s=[1,[0,v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],D,l]];break;case 2:var b=t[1],p=i(b[4]);s=[2,[0,b[1],b[2],b[3],p]];break;case 3:var E=t[1],m=i(E[4]);s=[3,[0,E[1],E[2],E[3],m]];break;case 4:var F=t[1],k=i(F[4]);s=[4,[0,F[1],F[2],F[3],k]];break;case 5:var d=t[1],h=i(d[7]);s=[5,[0,d[1],d[2],d[3],d[4],d[5],d[6],h]];break;case 7:var y=t[1],_=i(y[4]);s=[7,[0,y[1],y[2],y[3],_]];break;case 8:var A=t[1],C=A[10],w=i(A[9]);s=[8,[0,A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8],w,C]];break;case 10:var S=t[1],g=S[2],B=i(g[2]);s=[10,[0,S[1],[0,g[1],B]]];break;case 11:var T=t[1],I=i(T[2]);s=[11,[0,T[1],I]];break;case 12:var O=t[1],N=i(O[4]);s=[12,[0,O[1],O[2],O[3],N]];break;case 13:var x=t[1],L=i(x[4]);s=[13,[0,x[1],x[2],x[3],L]];break;case 14:var P=t[1],R=i(P[3]);s=[14,[0,P[1],P[2],R]];break;case 15:var M=t[1],G=i(M[4]);s=[15,[0,M[1],M[2],M[3],G]];break;case 16:var U=t[1],j=i(U[3]);s=[16,[0,U[1],U[2],j]];break;case 17:var H=t[1],X=i(H[3]);s=[17,[0,H[1],H[2],X]];break;case 18:var Y=t[1],V=i(Y[4]);s=[18,[0,Y[1],Y[2],Y[3],V]];break;case 19:var K=t[1],W=c(K[2]);s=[19,[0,K[1],W]];break;case 20:var J=t[1],q=J[1],z=J[2],$=i(q[4]);s=[20,[0,[0,q[1],q[2],q[3],$],z]];break;case 21:var Q=t[1],Z=Q[1],rr=Q[2],er=i(Z[3]);s=[21,[0,[0,Z[1],Z[2],er],rr]];break;case 22:var nr=t[1],tr=i(nr[2]);s=[22,[0,nr[1],tr]];break;case 23:s=[23,[0,i(t[1][1])]];break;case 24:var ur=t[1],ar=i(ur[3]);s=[24,[0,ur[1],ur[2],ar]];break;case 25:var ir=t[1],cr=i(ir[3]);s=[25,[0,ir[1],ir[2],cr]];break;case 26:s=[26,[0,i(t[1][1])]];break;case 27:var fr=t[1],or=i(fr[3]);s=[27,[0,fr[1],fr[2],or]];break;case 28:var sr=t[1],vr=i(sr[3]);s=[28,[0,sr[1],sr[2],vr]];break;case 29:var lr=t[1],Dr=i(lr[4]);s=[29,[0,lr[1],lr[2],lr[3],Dr]];break;case 30:var br=t[1],pr=br[3],Er=i(br[2]);s=[30,[0,br[1],Er,pr]];break;default:s=t}return[0,n[1],s]})),FB(P,(function(e){var t=FYe(e);HYe(e,6);for(var u=[0,0,r[3]];;){var a=u[2],i=u[1],c=bYe(e);if("number"==typeof c){var f=0;if(13<=c)Je===c&&(f=1);else if(7<=c)switch(c-7|0){case 2:var o=pYe(e);LYe(e),u=[0,[0,[2,o],i],a];continue;case 5:var s=FYe(e),v=bVe(0,(function(e){LYe(e);var t=BI(n,e);return 0===t[0]?[0,t[1],r[3]]:[0,t[1],t[2]]}),e),l=v[2],D=l[2],b=v[1],p=ZGe([0,s],0),E=[1,[0,b,[0,l[1],p]]],m=7===bYe(e)?1:0,F=0;if(!m&&7===lYe(1,e)){var k=[0,D[1],[0,[0,b,63],D[2]]];F=1}F||(k=D),1-m&&HYe(e,9),u=[0,[0,E,i],TI(r[4],k,a)];continue;case 0:f=1}if(f){var d=BI(r[5],a),h=pAe(i),y=FYe(e);return HYe(e,7),[0,[0,h,rUe([0,t],[0,GYe(e)],y)],d]}}var _=BI(n,e),A=0===_[0]?[0,_[1],r[3]]:[0,_[1],_[2]];7!==bYe(e)&&HYe(e,9),u=[0,[0,[0,A[1]],i],TI(r[4],A[2],a)]}})),FB(R,(function(r){RYe(r,5);var e=pYe(r),n=FYe(r),t=bYe(r);if("number"!=typeof t&&5===t[0]){var u=t[3],a=t[2];LYe(r);var i=GYe(r),c=nAe(Vke,nAe(a,nAe(Yke,u)));MYe(r);var f=VAe(XT(u)),o=XT(u)-1|0;if(!(o<0))for(var s=0;;){var v=YT(u,s),l=v-103|0;if(!(18>>0))switch(l){case 0:case 2:case 6:case 12:case 14:case 18:JAe(f,v)}var D=s+1|0;if(o===s)break;s=D}var b=KAe(f);return _I(b,u)&&BYe(r,[14,u]),[0,e,[14,[0,[4,[0,a,b]],c,ZGe([0,n],[0,i])]]]}throw[0,jI,Kke]})),FB(M,(function(r){var e=$Xe(Q,r),n=pYe(e);if(11===lYe(1,e))var t=0,u=0;else{var a=BI(uKe[1],e);t=a[2],u=a[1]}var i=bVe(0,(function(r){var e=rVe(r,BI(tKe[3],r));if(wYe(r)&&0===e){var n=TI(nKe[13],Xke,r),t=n[1];return[0,e,[0,t,[0,0,[0,[0,t,[0,[0,t,[2,[0,n,[0,EYe(r)],0]]],0]],0],0,0]],[0,[0,t[1],t[3],t[3]]],0]}var u=II(uKe[4],r[18],r[17],r),a=JXe(1,r),i=BI(tKe[12],a);return[0,e,u,i[1],i[2]]}),e),c=i[2],f=c[2],o=f[2],s=0;if(!o[1]){var v=0;if(!o[3]&&o[2]&&(v=1),!v){var l=eYe(e);s=1}}s||(l=e);var D=f[2],b=D[1],p=b?(PXe(l,[0,b[1][1],bd]),[0,f[1],[0,0,D[2],D[3],D[4]]]):f,E=hYe(l);(E?11===bYe(l)?1:0:E)&&BYe(l,58),HYe(l,11);var m=eYe(l),F=bVe(0,(function(r){var e=nYe(r,u,0),n=bYe(e);if("number"==typeof n&&!n){var t=TI(nKe[16],1,e);return[0,[0,[0,t[1],t[2]]],t[3]]}return[0,[1,BI(nKe[10],e)],e[6]]}),m),k=F[2],d=BI(uKe[6],p);NI(uKe[7],m,k[2],d,0,p);var h=VGe(n,F[1]),y=i[1],_=ZGe([0,t],0);return[0,[0,h,[1,[0,0,p,k[1],u,0,c[4],c[3],c[1],_,y]]]]})),FB(G,(function(r,e,n){return bVe([0,e],(function(r){for(var e=n;;){var u=bYe(r);if("number"!=typeof u||9!==u)return[22,[0,pAe(e),0]];LYe(r),e=[0,BI(t,r),e]}}),r)})),FB(U,(function(r){var e=pYe(r),n=bVe(0,(function(r){var e=bYe(r),n=0;if("number"==typeof e&&14===e){var t=FYe(r);LYe(r);var u=t,a=1;n=1}return n||(u=0,a=0),[0,a,lVe(r),u]}),r),t=n[2],u=t[2],a=t[1],i=n[1];if(a)var c=u[1][2],f=e[3],o=f[1]===c[1]?1:0,s=1-(o?f[2]===c[2]?1:0:o);else s=a;return s&&PXe(r,[0,i,Zv]),[0,i,u,a,t[3]]})),[0,t,n,f,U,function(r){var e=r[2];switch(e[0]){case 17:var n=e[1],t=n[1][2][1];if(_I(t,Bhe)){if(!_I(t,The)){var u=_I(n[2][2][1],Ihe);if(!u)return u}}else{var a=_I(n[2][2][1],Ohe);if(!a)return a}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1},E,S,G]}(aKe),cKe=function(r){function e(r){var e=FYe(r);LYe(r);var n=ZGe([0,e],0),t=BI(iKe[6],r);return[0,TI((hYe(r)?$Ye(r):zYe(r))[2],t,(function(r,e){return TI(xT(r,jD,78),r,e)})),n]}function n(r){var n=r[26][4];if(n)for(var t=0;;){var u=bYe(r);if("number"!=typeof u||13!==u)return pAe(t);t=[0,bVe(0,e,r),t]}return n}function t(r,e){var n=r?r[1]:r,t=FYe(e),u=bYe(e);if("number"==typeof u)switch(u){case 6:var a=bVe(0,(function(r){var e=FYe(r);HYe(r,6);var n=WXe(0,r),t=BI(nKe[10],n);return HYe(r,7),[0,t,ZGe([0,e],[0,GYe(r)])]}),e),i=a[1];return[0,i,[3,[0,i,a[2]]]];case 14:if(n){var c=BI(iKe[4],e),f=c[2],o=c[1],s=zGe(f),v=e[28][1];if(v){var l=v[1],D=v[2],b=l[2],p=[0,[0,TI(BXe[4],s,l[1]),b],D];e[28][1]=p}else Z_e(Die);return[0,o,[2,[0,o,[0,f,ZGe([0,c[4]],0)]]]]}}else switch(u[0]){case 0:var E=u[2],m=pYe(e);return[0,m,[0,[0,m,[0,[2,II(iKe[7],e,u[1],E)],E,ZGe([0,t],[0,GYe(e)])]]]];case 2:var F=u[1],k=F[4],d=F[3],h=F[2],y=F[1];return k&&OYe(e,44),HYe(e,[2,[0,y,h,d,k]]),[0,y,[0,[0,y,[0,[0,h],d,ZGe([0,t],[0,GYe(e)])]]]]}var _=BI(iKe[4],e),A=_[1];return _[3]&&PXe(e,[0,A,89]),[0,A,[1,_[2]]]}function u(r,e,n){var u=BI(uKe[2],r),a=u[1],i=u[2],c=t([0,e],r),f=c[1];return[0,uVe(r,c[2]),bVe(0,(function(r){var e=YXe(1,r),t=bVe(0,(function(r){var e=II(uKe[4],0,0,r),t=83===bYe(r)?e:nVe(r,e);if(n){var u=t[2];if(u[1])PXe(r,[0,f,Mu]);else{var a=0;u[2]||u[3]||(a=1),a||PXe(r,[0,f,80])}}else{var i=t[2];if(i[1])PXe(r,[0,f,xp]);else{var c=i[2],o=0;(!c||c[2]||i[3])&&(o=1),o&&(i[3],PXe(r,[0,f,81]))}}return[0,0,t,eVe(r,BI(tKe[10],r))]}),e),u=t[2],c=u[2],o=OI(uKe[5],e,0,a,0),s=BI(uKe[6],c);NI(uKe[7],e,o[2],s,0,c);var v=t[1],l=ZGe([0,i],0);return[0,0,c,o[1],0,a,0,u[3],u[1],l,v]}),r)]}function a(e){var n=BI(iKe[2],e);return 0===n[0]?[0,n[1],r[3]]:[0,n[1],n[2]]}function i(r,e,n){function t(t){var u=YXe(1,t),a=bVe(0,(function(n){var t=rVe(n,BI(tKe[3],n));if(r)if(e)var u=1,a=1;else u=n[18],a=0;else e?(u=0,a=1):(u=0,a=0);var i=II(uKe[4],u,a,n);return[0,t,83===bYe(n)?i:nVe(n,i),eVe(n,BI(tKe[10],n))]}),u),i=a[2],c=i[2],f=OI(uKe[5],u,r,e,0),o=BI(uKe[6],c);NI(uKe[7],u,f[2],o,0,c);var s=a[1],v=ZGe([0,n],0);return[0,0,c,f[1],r,e,0,i[3],i[1],v,s]}return function(r){return bVe(0,t,r)}}function c(r){return HYe(r,83),a(r)}function f(e,n,t,u,a,f){var o=bVe([0,n],(function(e){if(!u&&!a){var n=bYe(e);if("number"==typeof n){if(79===n){if(1===t[0])var o=t[1],s=pYe(e),v=bVe([0,o[1]],(function(r){var e=FYe(r);HYe(r,79);var n=GYe(r);return[2,[0,0,TI(nKe[19],r,[0,o[1],[10,o]]),BI(nKe[10],r),ZGe([0,e],[0,n])]]}),e),l=[0,v,[0,[0,[0,s,[11,ZUe(aye)]],0],0]];else l=c(e);return[0,[0,t,l[1],1],l[2]]}var D=0;if(95===n)D=1;else if(!(10<=n))switch(n){case 4:D=1;break;case 1:case 9:switch(t[0]){case 0:var b=t[1],p=b[1];PXe(e,[0,p,95]);var E=[0,p,[14,b[2]]];break;case 1:var m=t[1],F=m[2][1],k=m[1],d=0;sYe(F)&&_I(F,iye)&&_I(F,cye)&&(PXe(e,[0,k,2]),d=1),!d&&iYe(F)&&NYe(e,[0,k,53]),E=[0,k,[10,m]];break;case 2:E=Z_e(fye);break;default:var h=t[1][2][1];PXe(e,[0,h[1],96]),E=h}return[0,[0,t,E,1],r[3]]}if(D)return[0,[1,uVe(e,t),BI(i(u,a,f),e)],r[3]]}var y=c(e);return[0,[0,t,y[1],0],y[2]]}return[0,[1,uVe(e,t),BI(i(u,a,f),e)],r[3]]}),e),s=o[2];return[0,[0,[0,o[1],s[1]]],s[2]]}function o(r,e,n,t){var u=n[2][1][2][1],a=n[1];if(hI(u,nye))return PXe(r,[0,a,[22,u,0,aw===t?1:0,1]]),e;var i=TI(QVe[32],u,e);if(i){var c=i[1],f=0;return Xl===t?Wt===c&&(f=1):Wt===t&&Xl===c&&(f=1),f||PXe(r,[0,a,[21,u]]),II(QVe[4],u,wF,e)}return II(QVe[4],u,t,e)}function s(r,e){return bVe(0,(function(r){var n=e?FYe(r):e;HYe(r,52);for(var t=0;;){var u=[0,bVe(0,(function(r){var e=BI(tKe[2],r);if(95===bYe(r))var n=TI(QYe(r)[2],e,(function(r,e){return TI(xT(r,Lg,79),r,e)}));else n=e;return[0,n,BI(tKe[4],r)]}),r),t],a=bYe(r);if("number"!=typeof a||9!==a)return[0,pAe(u),ZGe([0,n],0)];HYe(r,9),t=u}}),r)}function v(r,e){return e?PXe(r,[0,e[1][1],7]):e}function l(r,e){return e?PXe(r,[0,e[1],66]):e}function D(r,e,n,t,u,a,i,c,f,o){for(;;){var s=bYe(r),D=0;if("number"==typeof s){var b=s-1|0,p=0;if(7>>0){var E=b-78|0;if(4>>0)p=1;else switch(E){case 3:TYe(0,r),LYe(r);continue;case 0:case 4:break;default:p=1}}else 5<(b-1|0)>>>0||(p=1);p||u||a||(D=1)}if(!D&&!_Ye(r)){l(r,c),v(r,f);var m=0;if(!i){var F=0;switch(t[0]){case 0:var k=t[1][2][1],d=0;"number"!=typeof k&&0===k[0]&&(_I(k[1],qhe)?(F=1,d=1):d=1),d||(F=1);break;case 1:_I(t[1][2][1],zhe)&&(F=1);break;default:F=1}if(!F){var h=YXe(2,r),y=0;m=1}}m||(h=YXe(1,r),y=1);var _=uVe(h,t),A=bVe(0,(function(r){var e=bVe(0,(function(r){var e=rVe(r,BI(tKe[3],r));if(u)if(a)var n=1,t=1;else n=r[18],t=0;else a?(n=0,t=1):(n=0,t=0);var i=II(uKe[4],n,t,r),c=83===bYe(r)?i:nVe(r,i),f=c[2],o=f[1],s=0;if(o&&0===y){PXe(r,[0,o[1][1],Je]);var v=[0,c[1],[0,0,f[2],f[3],f[4]]];s=1}return s||(v=c),[0,e,v,eVe(r,BI(tKe[10],r))]}),r),n=e[2],t=n[2],i=OI(uKe[5],r,u,a,0),c=BI(uKe[6],t);return NI(uKe[7],r,i[2],c,0,t),[0,0,t,i[1],u,a,0,n[3],n[1],0,e[1]]}),h),C=[0,y,_,A,i,n,ZGe([0,o],0)];return[0,[0,VGe(e,A[1]),C]]}var w=bVe([0,e],(function(r){var e=BI(tKe[10],r),n=r[26],u=bYe(r);if(c){var a=0;if("number"==typeof u&&79===u){BYe(r,67),LYe(r);var f=0}else a=1;a&&(f=0)}else{var s=0;if("number"==typeof u&&79===u){var v=0;i&&n[3]&&(v=1);var l=0;if(!v){var D=0;!i&&n[2]&&(D=1),D||(f=1,l=1)}if(!l){HYe(r,79);var b=YXe(1,r);f=[0,BI(nKe[7],b)]}}else s=1;s&&(f=1)}var p=bYe(r),E=0;if("number"==typeof p&&!(9<=p))switch(p){case 8:LYe(r);var m=bYe(r),F=0;if("number"==typeof m){var k=0;if(1!==m&&Je!==m&&(F=1,k=1),!k)var d=GYe(r)}else F=1;if(F){var h=hYe(r);d=h?UYe(r):h}var y=[0,t,e,f,d];E=1;break;case 4:case 6:TYe(0,r),y=[0,t,e,f,0],E=1}if(!E){var _=bYe(r),A=0;if("number"==typeof _){var C=0;if(1!==_&&Je!==_&&(A=1,C=1),!C)var w=[0,0,function(r,e){return r}]}else A=1;if(A&&(w=hYe(r)?$Ye(r):zYe(r)),"number"==typeof f)if(0===e[0])var S=f,g=e,B=TI(w[2],t,(function(r,e){return TI(xT(r,HA,81),r,e)}));else S=f,g=[1,TI(w[2],e[1],(function(r,e){return TI(xT(r,zl,82),r,e)}))],B=t;else S=[0,TI(w[2],f[1],(function(r,e){return TI(xT(r,jD,83),r,e)}))],g=e,B=t;y=[0,B,g,S,0]}var T=ZGe([0,o],[0,y[4]]);return[0,y[1],y[2],y[3],T]}),r),S=w[2],g=S[4],B=S[3],T=S[2],I=S[1],O=w[1];return 2===I[0]?[2,[0,O,[0,I[1],B,T,i,f,g]]]:[1,[0,O,[0,I,B,T,i,f,g]]]}}function b(r,e){var n=lYe(r,e);if("number"==typeof n){var t=0;if(83<=n)95!==n&&84<=n||(t=1);else if(79===n)t=1;else if(!(9<=n))switch(n){case 1:case 4:case 8:t=1}if(t)return 1}return 0}function p(r){return b(0,r)}function E(r,e,a,i){var c=r?r[1]:r,f=UXe(1,e),E=uAe(c,n(f)),m=FYe(f);HYe(f,40);var F=VXe(1,f),k=bYe(F),d=0;if(a&&"number"==typeof k){var h=0;if(52<=k?95!==k&&53<=k&&(h=1):41!==k&&k&&(h=1),!h){var y=0;d=1}}if(!d){var _=TI(nKe[13],0,F);y=[0,TI(QYe(f)[2],_,(function(r,e){return TI(xT(r,Lg,86),r,e)}))]}var A=BI(tKe[3],f);if(A)var C=[0,TI(QYe(f)[2],A[1],(function(r,e){return TI(xT(r,Dk,84),r,e)}))];else C=A;var w=FYe(f),S=PYe(f,41);if(S)var g=bVe(0,(function(r){var e=jXe(0,r),n=BI(iKe[6],e);if(95===bYe(r))var t=TI(QYe(r)[2],n,(function(r,e){return TI(xT(r,jD,80),r,e)}));else t=n;return[0,t,BI(tKe[4],r),ZGe([0,w],0)]}),f),B=g[1],T=QYe(f),I=[0,[0,B,TI(T[2],g[2],(function(r,e){return II(xT(r,-663447790,85),r,B,e)}))]];else I=S;var O=52===bYe(f)?1:0;if(O){1-LXe(f)&&BYe(f,16);var N=[0,iVe(f,s(f,1))]}else N=O;var x=bVe(0,(function(r){var e=FYe(r);if(PYe(r,0)){r[28][1]=[0,[0,BXe[1],0],r[28][1]];for(var a=0,c=QVe[1],f=0;;){var s=bYe(r);if("number"==typeof s){var E=s-2|0;if(Mu>>0){if(!(bd<(E+1|0)>>>0)){var m=pAe(f),F=function(r,e){return BI(AAe((function(e){return 1-TI(BXe[3],e[1],r)})),e)},k=r[28][1];if(k){var d=k[1],h=d[1];if(k[2]){var y=k[2],_=F(h,d[2]),A=lAe(y),C=DAe(y),w=uAe(A[2],_);r[28][1]=[0,[0,A[1],w],C]}else kAe((function(e){return PXe(r,[0,e[2],[23,e[1]]])}),F(h,d[2])),r[28][1]=0}else Z_e(bie);HYe(r,1);var S=bYe(r),g=0;if(!i){var B=0;if("number"!=typeof S||1!==S&&Je!==S||(B=1),!B){var T=hYe(r);if(T){var I=UYe(r);g=1}else I=T,g=1}}return g||(I=GYe(r)),[0,m,ZGe([0,e],[0,I])]}}else if(6===E){HYe(r,8);continue}}var O=pYe(r),N=n(r),x=bYe(r),L=0;if("number"==typeof x&&60===x&&!b(1,r)){var P=[0,pYe(r)],R=FYe(r);LYe(r);var M=R,G=P;L=1}L||(M=0,G=0);var U=4!==lYe(1,r)?1:0;if(U)var j=95!==lYe(1,r)?1:0,H=j?42===bYe(r)?1:0:j;else H=U;if(H){var X=FYe(r);LYe(r);var Y=X}else Y=H;var V=64===bYe(r)?1:0;if(V)var K=1-b(1,r),W=K?1-dYe(1,r):K;else W=V;if(W){var J=FYe(r);LYe(r);var q=J}else q=W;var z=BI(uKe[2],r),$=z[1],Q=II(uKe[3],r,W,$),Z=0;if(!$&&Q){var rr=BI(uKe[2],r),er=rr[2],nr=rr[1];Z=1}Z||(er=z[2],nr=$);var tr=EAe([0,M,[0,Y,[0,q,[0,er,0]]]]),ur=bYe(r),ar=0;if(!W&&!nr&&"number"!=typeof ur&&4===ur[0]){var ir=ur[3];if(_I(ir,$he)){if(!_I(ir,Qhe)){var cr=FYe(r),fr=t(Zhe,r)[2];if(p(r)){var or=D(r,O,N,fr,W,nr,H,G,Q,tr);ar=1}else{l(r,G),v(r,Q),uVe(r,fr);var sr=uAe(tr,cr),vr=bVe([0,O],(function(r){return u(r,1,0)}),r),lr=vr[2],Dr=ZGe([0,sr],0);or=[0,[0,vr[1],[0,3,lr[1],lr[2],H,N,Dr]]],ar=1}}}else{var br=FYe(r),pr=t(rye,r)[2];if(p(r))or=D(r,O,N,pr,W,nr,H,G,Q,tr),ar=1;else{l(r,G),v(r,Q),uVe(r,pr);var Er=uAe(tr,br),mr=bVe([0,O],(function(r){return u(r,1,1)}),r),Fr=mr[2],kr=ZGe([0,Er],0);or=[0,[0,mr[1],[0,2,Fr[1],Fr[2],H,N,kr]]],ar=1}}}switch(ar||(or=D(r,O,N,t(eye,r)[2],W,nr,H,G,Q,tr)),or[0]){case 0:var dr=or[1],hr=dr[2];switch(hr[1]){case 0:if(hr[4])var yr=[0,a,c];else a&&PXe(r,[0,dr[1],87]),yr=[0,1,c];break;case 1:var _r=hr[2];yr=[0,a,2===_r[0]?o(r,c,_r[1],aw):c];break;case 2:var Ar=hr[2];yr=[0,a,2===Ar[0]?o(r,c,Ar[1],Xl):c];break;default:var Cr=hr[2];yr=[0,a,2===Cr[0]?o(r,c,Cr[1],Wt):c]}var wr=yr;break;case 1:var Sr=or[1][2],gr=Sr[4],Br=Sr[1],Tr=0;switch(Br[0]){case 0:var Ir=Br[1],Or=Ir[2][1],Nr=0;if("number"!=typeof Or&&0===Or[0]){var xr=Or[1],Lr=Ir[1];Tr=1,Nr=1}Nr||(Tr=2);break;case 1:var Pr=Br[1];xr=Pr[2][1],Lr=Pr[1],Tr=1;break;case 2:Z_e(Vhe);break;default:Tr=2}if(1===Tr){var Rr=hI(xr,Khe);if(Rr)var Mr=Rr;else{var Gr=hI(xr,Whe);Mr=Gr?gr:Gr}Mr&&PXe(r,[0,Lr,[22,xr,gr,0,0]])}wr=[0,a,c];break;default:wr=[0,a,o(r,c,or[1][2][1],wF)]}a=wr[1],c=wr[2],f=[0,or,f]}}return jYe(r,0),Jhe}),f);return[0,y,x,C,I,N,E,ZGe([0,m],0)]}function m(r){return[5,E(0,r,1,1)]}return[0,t,function(e){var n=bVe(0,(function(e){var n=FYe(e);HYe(e,0);for(var i=0,c=[0,0,r[3]];;){var o=c[2],s=c[1],v=bYe(e);if("number"==typeof v){var l=0;if(1!==v&&Je!==v||(l=1),l){var D=i?[0,o[1],[0,[0,i[1],98],o[2]]]:o,b=BI(r[5],D),p=pAe(s),E=FYe(e);return HYe(e,1),[0,[0,p,rUe([0,n],[0,GYe(e)],E)],b]}}if(12===bYe(e))var m=FYe(e),F=bVe(0,(function(r){return HYe(r,12),a(r)}),e),k=F[2],d=k[2],h=ZGe([0,m],0),y=[0,[1,[0,F[1],[0,k[1],h]]],d];else{var _=pYe(e),A=lYe(1,e),C=0;if("number"==typeof A){var w=0;if(83<=A)95!==A&&84<=A&&(w=1);else if(79!==A)if(10<=A)w=1;else switch(A){case 1:case 4:case 9:break;default:w=1}if(!w){var S=0,g=0;C=1}}if(!C){var B=BI(uKe[1],e);S=B[2],g=B[1]}var T=BI(uKe[2],e),I=T[1],O=uAe(S,T[2]),N=bYe(e),x=0;if(!g&&!I&&"number"!=typeof N&&4===N[0]){var L=N[3],P=0;if(_I(L,tye))if(_I(L,uye))P=1;else{var R=FYe(e),M=t(0,e)[2],G=bYe(e),U=0;if("number"==typeof G){var j=0;if(83<=G)95!==G&&84<=G&&(j=1);else if(79!==G)if(10<=G)j=1;else switch(G){case 1:case 4:case 9:break;default:j=1}if(!j){var H=f(e,_,M,0,0,0);U=1}}if(!U){uVe(e,M);var X=r[3],Y=bVe([0,_],(function(r){return u(r,0,0)}),e),V=Y[2],K=ZGe([0,R],0);H=[0,[0,[0,Y[1],[3,V[1],V[2],K]]],X]}var W=H}else{var J=FYe(e),q=t(0,e)[2],z=bYe(e),$=0;if("number"==typeof z){var Q=0;if(83<=z)95!==z&&84<=z&&(Q=1);else if(79!==z)if(10<=z)Q=1;else switch(z){case 1:case 4:case 9:break;default:Q=1}if(!Q){var Z=f(e,_,q,0,0,0);$=1}}if(!$){uVe(e,q);var rr=r[3],er=bVe([0,_],(function(r){return u(r,0,1)}),e),nr=er[2],tr=ZGe([0,J],0);Z=[0,[0,[0,er[1],[2,nr[1],nr[2],tr]]],rr]}W=Z}if(!P){var ur=W;x=1}}x||(ur=f(e,_,t(0,e)[2],g,I,O)),y=ur}var ar=y[1],ir=0;if(1===ar[0]&&9===bYe(e)){var cr=[0,pYe(e)];ir=1}ir||(cr=0);var fr=bYe(e),or=0;if("number"==typeof fr){var sr=0;1!==fr&&Je!==fr&&(sr=1),sr||(or=1)}or||HYe(e,9),i=cr,c=[0,[0,ar,s],TI(r[4],y[2],o)]}}),e),i=n[2];return[0,n[1],i[1],i[2]]},function(r,e){return bVe(0,(function(r){return[2,E([0,e],r,r[7],0)]}),r)},function(r){return bVe(0,m,r)},s,n]}(aKe),fKe=function(r){function e(r){var e=BI(uKe[11],r);if(r[6])xYe(r,e[1]);else{var n=e[2];if(23===n[0]){var t=n[1],u=e[1];t[4]?PXe(r,[0,u,59]):t[5]&&PXe(r,[0,u,60])}}return e}function n(r,e,n){var t=n[2][1],u=n[1];if(_I(t,l_e)){if(_I(t,D_e))return _I(t,b_e)?iYe(t)?NYe(e,[0,u,53]):sYe(t)?PXe(e,[0,u,[11,ZUe(t)]]):r&&fYe(t)?NYe(e,[0,u,r[1]]):0:e[17]?PXe(e,[0,u,2]):NYe(e,[0,u,53]);if(e[6])return NYe(e,[0,u,53]);var a=e[14];return a?PXe(e,[0,u,[11,ZUe(t)]]):a}var i=e[18];return i?PXe(e,[0,u,2]):i}function t(r,e){var n=e[4],t=e[3],u=e[2],a=e[1];n&&OYe(r,44);var i=FYe(r);return HYe(r,[2,[0,a,u,t,n]]),[0,a,[0,u,t,ZGe([0,i],[0,GYe(r)])]]}function u(r,e,n){var t=r?r[1]:o_e,u=e?e[1]:1,a=bYe(n);if("number"==typeof a){var i=a-2|0;if(Mu>>0){if(!(bd<(i+1|0)>>>0))return[1,[0,GYe(n),function(r,e){return r}]]}else if(6===i){LYe(n);var c=bYe(n);if("number"==typeof c){var f=0;if(1!==c&&Je!==c||(f=1),f)return[0,GYe(n)]}return hYe(n)?[0,UYe(n)]:s_e}}return hYe(n)?[1,$Ye(n)]:(u&&TYe([0,t],n),v_e)}function a(r){var e=bYe(r);if("number"==typeof e){var n=0;if(1!==e&&Je!==e||(n=1),n)return[0,GYe(r),function(r,e){return r}]}return hYe(r)?$Ye(r):zYe(r)}function i(r,e,n){var t=u(0,0,e);if(0===t[0])return[0,t[1],n];var a=pAe(n);if(a)var i=TI(t[1][2],a[1],(function(e,n){return II(xT(e,634872468,87),e,r,n)})),c=pAe([0,i,a[2]]);else c=a;return[0,0,c]}var c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},l=function r(e,n){return r.fun(e,n)},D=function r(e){return r.fun(e)},b=function r(e){return r.fun(e)},p=function r(e,n,t){return r.fun(e,n,t)},E=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},F=function r(e,n){return r.fun(e,n)},k=function r(e){return r.fun(e)},d=function r(e){return r.fun(e)},h=function r(e,n){return r.fun(e,n)},y=function r(e){return r.fun(e)},_=function r(e,n){return r.fun(e,n)},A=function r(e){return r.fun(e)},C=function r(e,n){return r.fun(e,n)},w=function r(e){return r.fun(e)},S=function r(e,n){return r.fun(e,n)},g=function r(e,n){return r.fun(e,n)},B=function r(e,n){return r.fun(e,n)},T=function r(e){return r.fun(e)},I=function r(e){return r.fun(e)},O=function r(e){return r.fun(e)},N=function r(e,n,t){return r.fun(e,n,t)},x=function r(e,n){return r.fun(e,n)},L=function r(e){return r.fun(e)},P=function r(e){return r.fun(e)};function R(r){var e=FYe(r);HYe(r,59);var n=8===bYe(r)?1:0,t=n?GYe(r):n,a=u(0,0,r);return[4,[0,ZGe([0,e],[0,uAe(t,0===a[0]?a[1]:a[1][1])])]]}function M(r){var e=FYe(r);HYe(r,37);var n=KXe(1,r),t=BI(nKe[2],n),a=1-r[6];(a?DVe(t):a)&&xYe(r,t[1]);var i=GYe(r);HYe(r,25);var c=GYe(r);HYe(r,4);var f=BI(nKe[7],r);HYe(r,5);var o=8===bYe(r)?1:0,s=o?GYe(r):o,v=u(0,f_e,r),l=0===v[0]?uAe(s,v[1]):v[1][1];return[14,[0,t,f,ZGe([0,e],[0,uAe(i,uAe(c,l))])]]}function G(r,e,n){var t=n[2][1];if(t&&!t[1][2][2]){var u=t[2];if(!u)return u}return PXe(r,[0,n[1],e])}function U(r,e){var n=1-r[6],t=n?DVe(e):n;return t?xYe(r,e[1]):t}function j(e){var n=FYe(e);HYe(e,39);var t=e[18],u=t?PYe(e,65):t,a=uAe(n,FYe(e));HYe(e,4);var i=ZGe([0,a],0),c=WXe(1,e),f=bYe(c),o=0;if("number"==typeof f)if(24<=f){if(!(29<=f)){var s=0;switch(f-24|0){case 0:var v=bVe(0,uKe[10],c),l=v[2],D=l[3],b=ZGe([0,l[2]],0),p=[0,[0,[1,[0,v[1],[0,l[1],0,b]]]],D];break;case 3:var E=bVe(0,uKe[9],c),m=E[2],F=m[3],k=ZGe([0,m[2]],0);p=[0,[0,[1,[0,E[1],[0,m[1],2,k]]]],F];break;case 4:var d=bVe(0,uKe[8],c),h=d[2],y=h[3],_=ZGe([0,h[2]],0);p=[0,[0,[1,[0,d[1],[0,h[1],1,_]]]],y];break;default:s=1}if(!s){var A=p[2],C=p[1];o=1}}}else 8===f&&(A=0,C=0,o=1);if(!o){var w=VXe(1,c);A=0,C=[0,[0,BI(nKe[8],w)]]}var S=bYe(e);if(63!==S&&!u){if("number"==typeof S&&17===S){if(C){var g=C[1];if(0===g[0])var B=[1,II(r[2],i_e,e,g[1])];else{var T=g[1];G(e,28,T),B=[0,T]}HYe(e,17);var I=BI(nKe[7],e);HYe(e,5);var O=KXe(1,e),N=BI(nKe[2],O);return U(e,N),[21,[0,B,I,N,0,i]]}throw[0,jI,c_e]}if(kAe((function(r){return PXe(e,r)}),A),HYe(e,8),C)var x=C[1],L=0===x[0]?[0,[1,TI(r[1],e,x[1])]]:[0,[0,x[1]]];else L=C;var P=bYe(e),R=0;if("number"==typeof P){var M=8!==P?1:0;if(!M){var j=M;R=1}}R||(j=[0,BI(nKe[7],e)]),HYe(e,8);var H=bYe(e),X=0;if("number"==typeof H){var Y=5!==H?1:0;if(!Y){var V=Y;X=1}}X||(V=[0,BI(nKe[7],e)]),HYe(e,5);var K=KXe(1,e),W=BI(nKe[2],K);return U(e,W),[20,[0,L,j,V,W,i]]}if(C){var J=C[1];if(0===J[0])var q=[1,II(r[2],u_e,e,J[1])];else{var z=J[1];G(e,29,z),q=[0,z]}HYe(e,63);var $=BI(nKe[10],e);HYe(e,5);var Q=KXe(1,e),Z=BI(nKe[2],Q);return U(e,Z),[22,[0,q,$,Z,u,i]]}throw[0,jI,a_e]}function H(r){var n=SYe(r)?e(r):BI(nKe[2],r),t=1-r[6];return(t?DVe(n):t)&&xYe(r,n[1]),n}function X(r){var e=FYe(r);return HYe(r,43),[0,H(r),ZGe([0,e],0)]}function Y(r){var e=FYe(r);HYe(r,16);var n=uAe(e,FYe(r));HYe(r,4);var t=BI(nKe[7],r);HYe(r,5);var u=H(r),a=43===bYe(r)?1:0;return[24,[0,t,u,a?[0,bVe(0,X,r)]:a,ZGe([0,n],0)]]}function V(r){1-r[11]&&BYe(r,36);var e=FYe(r);HYe(r,19);var n=8===bYe(r)?1:0,t=n?GYe(r):n,a=0;if(8!==bYe(r)&&!_Ye(r)){var i=[0,BI(nKe[7],r)];a=1}a||(i=0);var c=u(0,0,r),f=0;if(0===c[0])var o=c[1];else{var s=c[1];if(i){var v=[0,TI(s[2],i[1],(function(r,e){return TI(xT(r,jD,88),r,e)}))],l=t;f=1}else o=s[1]}return f||(v=i,l=uAe(t,o)),[28,[0,v,ZGe([0,e],[0,l])]]}function K(r){var e=FYe(r);HYe(r,20),HYe(r,4);var n=BI(nKe[7],r);HYe(r,5),HYe(r,0);for(var t=t_e;;){var u=t[2],i=t[1],c=bYe(r);if("number"==typeof c){var f=0;if(1!==c&&Je!==c||(f=1),f){var o=pAe(u);return HYe(r,1),[29,[0,n,o,ZGe([0,e],[0,a(r)[1]])]]}}var s=pYe(r),v=FYe(r),l=bYe(r),D=0;if("number"==typeof l&&36===l){i&&BYe(r,32),HYe(r,36);var b=GYe(r),p=0;D=1}D||(HYe(r,33),b=0,p=[0,BI(nKe[7],r)]);var E=i||(0===p?1:0),m=pYe(r);HYe(r,83);var F=uAe(b,a(r)[1]),k=1===r[9]?r:[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]],d=TI(nKe[4],(function(r){if("number"==typeof r){var e=r-1|0,n=0;if(32>>0?35===e&&(n=1):30<(e-1|0)>>>0&&(n=1),n)return 1}return 0}),k),h=pAe(d),y=h?h[1][1]:m,_=[0,p,d,ZGe([0,v],[0,F])];t=[0,E,[0,[0,VGe(s,y),_],u]]}}function W(r){var e=FYe(r),n=pYe(r);HYe(r,22),hYe(r)&&PXe(r,[0,n,21]);var t=BI(nKe[7],r),a=u(0,0,r);if(0===a[0])var i=[0,a[1],t];else i=[0,0,TI(a[1][2],t,(function(r,e){return TI(xT(r,jD,89),r,e)}))];var c=ZGe([0,e],[0,i[1]]);return[30,[0,i[2],c]]}function J(r){var e=FYe(r);HYe(r,23);var n=BI(nKe[15],r);if(34===bYe(r))var t=TI(QYe(r)[2],n,(function(r,e){var n=e[1];return[0,n,II(xT(r,fD,27),r,n,e[2])]}));else t=n;var u=bYe(r),i=0;if("number"==typeof u&&34===u){var c=[0,bVe(0,(function(r){var e=FYe(r);HYe(r,34);var n=GYe(r),t=4===bYe(r)?1:0;if(t){HYe(r,4);var u=[0,TI(nKe[18],r,39)];HYe(r,5);var i=u}else i=t;var c=BI(nKe[15],r);if(38===bYe(r))var f=c;else f=TI(a(r)[2],c,(function(r,e){var n=e[1];return[0,n,II(xT(r,fD,90),r,n,e[2])]}));return[0,i,f,ZGe([0,e],[0,n])]}),r)];i=1}i||(c=0);var f=bYe(r),o=0;if("number"==typeof f&&38===f){HYe(r,38);var s=BI(nKe[15],r),v=s[1],l=a(r),D=[0,[0,v,TI(l[2],s[2],(function(r,e){return II(xT(r,fD,91),r,v,e)}))]];o=1}o||(D=0);var b=0===c?1:0;return(b?0===D?1:0:b)&&PXe(r,[0,t[1],33]),[31,[0,t,c,D,ZGe([0,e],0)]]}function q(r){var e=BI(uKe[10],r),n=i(0,r,e[1]);kAe((function(e){return PXe(r,e)}),e[3]);var t=ZGe([0,e[2]],[0,n[1]]);return[34,[0,n[2],0,t]]}function z(r){var e=BI(uKe[9],r),n=i(2,r,e[1]);kAe((function(e){return PXe(r,e)}),e[3]);var t=ZGe([0,e[2]],[0,n[1]]);return[34,[0,n[2],2,t]]}function $(r){var e=BI(uKe[8],r),n=i(1,r,e[1]);kAe((function(e){return PXe(r,e)}),e[3]);var t=ZGe([0,e[2]],[0,n[1]]);return[34,[0,n[2],1,t]]}function Q(r){var e=FYe(r);HYe(r,25);var n=uAe(e,FYe(r));HYe(r,4);var t=BI(nKe[7],r);HYe(r,5);var u=KXe(1,r),a=BI(nKe[2],u),i=1-r[6];return(i?DVe(a):i)&&xYe(r,a[1]),[35,[0,t,a,ZGe([0,n],0)]]}function Z(r){var n=FYe(r),t=BI(nKe[7],r),a=bYe(r),i=t[2];if(10===i[0]&&"number"==typeof a&&83===a){var c=i[1],f=c[2][1];HYe(r,83),TI(rKe[3],f,r[3])&&PXe(r,[0,t[1],[17,e_e,f]]);var o=r[29],s=r[28],v=r[27],l=r[26],D=r[25],b=r[24],p=r[23],E=r[22],m=r[21],F=r[20],k=r[19],d=r[18],h=r[17],y=r[16],_=r[15],A=r[14],C=r[13],w=r[12],S=r[11],g=r[10],B=r[9],T=r[8],I=r[7],O=r[6],N=r[5],x=r[4],L=TI(BXe[4],f,r[3]),P=[0,r[1],r[2],L,x,N,O,I,T,B,g,S,w,C,A,_,y,h,d,k,F,m,E,p,b,D,l,v,s,o];return[27,[0,c,SYe(P)?e(P):BI(nKe[2],P),ZGe([0,n],0)]]}var R=u(n_e,0,r);if(0===R[0])var M=[0,R[1],t];else M=[0,0,TI(R[1][2],t,(function(r,e){return TI(xT(r,jD,92),r,e)}))];var G=ZGe(0,[0,M[1]]);return[19,[0,M[2],0,G]]}function rr(r){var e=BI(nKe[7],r),n=u(r_e,0,r);if(0===n[0])var t=[0,n[1],e];else t=[0,0,TI(n[1][2],e,(function(r,e){return TI(xT(r,jD,93),r,e)}))];var a=t[2],i=r[19];if(i){var c=a[2],f=0;if(14===c[0]){var o=c[1],s=0,v=o[1];if("number"!=typeof v&&0===v[0]){var l=o[2],D=[0,OAe(l,1,XT(l)-2|0)];s=1}s||(f=1)}else f=1;f&&(D=0)}else D=i;return[19,[0,a,D,ZGe(0,[0,t[1]])]]}function er(r){return bVe(0,rr,r)}function nr(r,e){var n=e[2];switch(n[0]){case 0:return dAe((function(r,e){return nr(r,0===e[0]?e[1][2][2]:e[1][2][1])}),r,n[1][1]);case 1:return dAe((function(r,e){return 2===e[0]?r:nr(r,e[1][2][1])}),r,n[1][1]);case 2:return[0,n[1][1],r];default:return Z_e(Zye)}}function tr(r){var e=bYe(r),n=0;if("number"!=typeof e&&4===e[0]&&!_I(e[3],qye)){LYe(r);var u=bYe(r);if("number"!=typeof u&&2===u[0])return t(r,u[1]);TYe(zye,r),n=1}return n||TYe($ye,r),[0,EYe(r),Qye]}function ur(r,e,n){function t(e){return r?BI(tKe[2],e):TI(nKe[13],0,e)}var u=lYe(1,n);if("number"==typeof u)switch(u){case 1:case 9:case 110:return[0,t(n),0]}else if(4===u[0]&&!_I(u[3],Jye)){var a=lVe(n);return LYe(n),[0,a,[0,t(n)]]}var i=bYe(n);if(e&&"number"==typeof i){var c=0;if(46!==i&&61!==i||(c=1),c)return BYe(n,e[1]),LYe(n),[0,BI(tKe[2],n),0]}return[0,t(n),0]}function ar(r,e){var t=bYe(r);if("number"==typeof t&&Zv===t){var u=bVe(0,(function(r){LYe(r);var n=bYe(r);return"number"==typeof n||4!==n[0]||_I(n[3],Kye)?(TYe(Wye,r),0):(LYe(r),2<=e?[0,TI(nKe[13],0,r)]:[0,BI(tKe[2],r)])}),r),a=u[2],i=a?[0,[0,u[1],a[1]]]:a;return i?[0,[1,i[1]]]:i}HYe(r,0);for(var c=0,f=0;;){var o=c?c[1]:1,s=bYe(r);if("number"==typeof s){var v=0;if(1!==s&&Je!==s||(v=1),v){var l=pAe(f);return HYe(r,1),[0,[0,l]]}}if(1-o&&BYe(r,84),2===e){var D=bYe(r),b=0;if("number"==typeof D)if(46===D)var p=Hye;else 61===D?p=jye:b=1;else b=1;b&&(p=0);var E=bYe(r),m=0;if("number"==typeof E){var F=0;if(46!==E&&61!==E&&(F=1),!F){var k=1;m=1}}if(m||(k=0),k){var d=lVe(r),h=bYe(r),y=0;if("number"==typeof h)switch(h){case 1:case 9:case 110:n(0,r,d);var _=[0,0,0,d];y=1}else if(4===h[0]&&!_I(h[3],Xye)){var A=lYe(1,r),C=0;if("number"==typeof A)switch(A){case 1:case 9:case 110:var w=[0,p,0,BI(tKe[2],r)];C=1}else if(4===A[0]&&!_I(A[3],Yye)){var S=lVe(r);LYe(r),w=[0,p,[0,BI(tKe[2],r)],S],C=1}C||(n(0,r,d),LYe(r),w=[0,0,[0,TI(nKe[13],0,r)],d]),_=w,y=1}if(!y){var g=ur(1,0,r);_=[0,p,g[2],g[1]]}var B=_}else{var T=ur(0,0,r);B=[0,0,T[2],T[1]]}var I=B}else{var O=ur(1,Uye,r);I=[0,0,O[2],O[1]]}c=[0,PYe(r,9)],f=[0,I,f]}}function ir(r,e){var n=u(0,0,r);return 0===n[0]?[0,n[1],e]:[0,0,TI(n[1][2],e,(function(r,e){var n=e[1];return[0,n,II(xT(r,Hg,94),r,n,e[2])]}))]}function cr(r){var e=UXe(1,r),n=FYe(e);HYe(e,50);var u=bYe(e),a=0;if("number"==typeof u)switch(u){case 46:if(LXe(e)){HYe(e,46);var i=bYe(e),c=0;if("number"==typeof i){var f=0;if(Zv!==i&&i&&(f=1),!f){var o=1;a=2,c=1}}if(!c){var s=1;a=1}}break;case 61:if(LXe(e)){var v=lYe(1,e),l=0;if("number"==typeof v)switch(v){case 0:LYe(e),o=0,a=2,l=2;break;case 103:LYe(e),TYe(0,e),o=0,a=2,l=2;break;case 9:l=1}else 4!==v[0]||_I(v[3],Vye)||(l=1);switch(l){case 2:break;case 0:LYe(e),s=0,a=1;break;default:s=2,a=1}}break;case 0:case 103:o=2,a=2}else if(2===u[0]){var D=ir(e,t(e,u[1])),b=ZGe([0,n],[0,D[1]]);return[25,[0,2,D[2],0,0,b]]}switch(a){case 0:s=2;break;case 1:break;default:var p=ar(e,o),E=ir(e,tr(e)),m=ZGe([0,n],[0,E[1]]);return[25,[0,o,E[2],0,p,m]]}var F=2<=s?TI(nKe[13],0,e):BI(tKe[2],e),k=bYe(e),d=0;if("number"==typeof k&&9===k){HYe(e,9);var h=ar(e,s);d=1}d||(h=0);var y=ir(e,tr(e)),_=ZGe([0,n],[0,y[1]]);return[25,[0,s,y[2],[0,F],h,_]]}function fr(r){return bVe(0,cr,r)}return FB(c,(function(r){var e=pYe(r),n=FYe(r);return HYe(r,8),[0,e,[15,[0,ZGe([0,n],[0,a(r)[1]])]]]})),FB(f,(function(r){var e=FYe(r),n=bVe(0,(function(r){HYe(r,32);var e=0;if(8!==bYe(r)&&!_Ye(r)){var n=TI(nKe[13],0,r),t=n[2][1];1-TI(rKe[3],t,r[3])&&BYe(r,[16,t]);var a=[0,n];e=1}e||(a=0);var i=u(0,0,r),c=0;if(0===i[0])var f=i[1];else{var o=i[1];if(a){var s=[0,TI(o[2],a[1],(function(r,e){return TI(xT(r,Lg,95),r,e)}))],v=0;c=1}else f=o[1]}return c||(s=a,v=f),[0,s,v]}),r),t=n[2],a=t[1],i=n[1],c=0===a?1:0;if(c)var f=1-(r[8]||r[9]);else f=c;return f&&PXe(r,[0,i,35]),[0,i,[1,[0,a,ZGe([0,e],[0,t[2]])]]]})),FB(o,(function(r){var e=FYe(r),n=bVe(0,(function(r){HYe(r,35);var e=0;if(8!==bYe(r)&&!_Ye(r)){var n=TI(nKe[13],0,r),t=n[2][1];1-TI(rKe[3],t,r[3])&&BYe(r,[16,t]);var a=[0,n];e=1}e||(a=0);var i=u(0,0,r),c=0;if(0===i[0])var f=i[1];else{var o=i[1];if(a){var s=[0,TI(o[2],a[1],(function(r,e){return TI(xT(r,Lg,96),r,e)}))],v=0;c=1}else f=o[1]}return c||(s=a,v=f),[0,s,v]}),r),t=n[2],a=n[1];1-r[8]&&PXe(r,[0,a,34]);var i=ZGe([0,e],[0,t[2]]);return[0,a,[3,[0,t[1],i]]]})),FB(s,(function(r){var e=bVe(0,(function(r){var e=FYe(r);HYe(r,26);var n=uAe(e,FYe(r));HYe(r,4);var t=BI(nKe[7],r);HYe(r,5);var u=BI(nKe[2],r),a=1-r[6];return(a?DVe(u):a)&&xYe(r,u[1]),[36,[0,t,u,ZGe([0,n],0)]]}),r),n=e[1];return NYe(r,[0,n,38]),[0,n,e[2]]})),FB(v,(function(r){var e=BI(nKe[15],r),n=e[1],t=a(r);return[0,n,[0,TI(t[2],e[2],(function(r,e){return II(xT(r,fD,97),r,n,e)}))]]})),FB(l,(function(r,e){1-LXe(e)&&BYe(e,10);var n=uAe(r,FYe(e));HYe(e,61),RYe(e,1);var t=BI(tKe[2],e),a=95===bYe(e)?ZYe(e,t):t,i=BI(tKe[3],e);HYe(e,79);var c=BI(tKe[1],e);MYe(e);var f=u(0,0,e);if(0===f[0])var o=[0,f[1],c];else o=[0,0,TI(f[1][2],c,(function(r,e){return TI(xT(r,oc,98),r,e)}))];var s=ZGe([0,n],[0,o[1]]);return[0,a,i,o[2],s]})),FB(D,(function(r){return bVe(0,(function(r){var e=FYe(r);return HYe(r,60),[11,TI(l,e,r)]}),r)})),FB(b,(function(r){if(AYe(1,r)&&!yYe(1,r)){var e=bVe(0,BI(l,0),r);return[0,e[1],[32,e[2]]]}return BI(nKe[2],r)})),FB(p,(function(r,e,n){var t=r?r[1]:r;1-LXe(n)&&BYe(n,11);var a=uAe(e,FYe(n));HYe(n,62);var i=FYe(n);HYe(n,61);var c=uAe(a,i);RYe(n,1);var f=BI(tKe[2],n),o=95===bYe(n)?ZYe(n,f):f,s=BI(tKe[3],n),v=bYe(n),l=0;if("number"==typeof v&&83===v){HYe(n,83);var D=[0,BI(tKe[1],n)];l=1}if(l||(D=0),t){var b=bYe(n),p=0;if("number"==typeof b&&79===b){BYe(n,68),LYe(n);var E=0;if(8!==bYe(n)&&!_Ye(n)){var m=[0,BI(tKe[1],n)];E=1}E||(m=0)}else p=1;p&&(m=0);var F=m}else HYe(n,79),F=[0,BI(tKe[1],n)];MYe(n);var k=u(0,0,n);if(0===k[0])var d=[0,k[1],o,s,D,F];else{var h=k[1][2];if(F)var y=[0,0,o,s,D,[0,TI(h,F[1],(function(r,e){return TI(xT(r,oc,99),r,e)}))]];else y=D?[0,0,o,s,[0,TI(h,D[1],(function(r,e){return TI(xT(r,oc,pu),r,e)}))],0]:s?[0,0,o,[0,TI(h,s[1],(function(r,e){return TI(xT(r,Dk,Ik),r,e)}))],0,0]:[0,0,TI(h,o,(function(r,e){return TI(xT(r,Lg,wk),r,e)})),0,0,0];d=y}var _=ZGe([0,c],[0,d[1]]);return[0,d[2],d[3],d[5],d[4],_]})),FB(E,(function(r){return bVe(0,(function(r){var e=FYe(r);return HYe(r,60),[12,II(p,Gye,e,r)]}),r)})),FB(m,(function(r){var e=lYe(1,r);if("number"==typeof e&&61===e){var n=bVe(0,TI(p,Mye,0),r);return[0,n[1],[33,n[2]]]}return BI(nKe[2],r)})),FB(F,(function(r,e){1-LXe(e)&&BYe(e,16);var n=uAe(r,FYe(e));HYe(e,53);var t=BI(tKe[2],e),u=41===bYe(e)?t:ZYe(e,t),i=BI(tKe[3],e),c=41===bYe(e)?i:rVe(e,i),f=BI(tKe[7],e),o=TI(a(e)[2],f[2],(function(r,e){var n=e[1];return[0,n,II(xT(r,dl,Zv),r,n,e[2])]})),s=ZGe([0,n],0);return[0,u,c,f[1],o,s]})),FB(k,(function(r){return bVe(0,(function(r){var e=FYe(r);return HYe(r,60),[8,TI(F,e,r)]}),r)})),FB(d,(function(r){if(AYe(1,r)||CYe(1,r)){var e=bVe(0,BI(F,0),r);return[0,e[1],[26,e[2]]]}return er(r)})),FB(h,(function(r,e){var n=UXe(1,e),t=uAe(r,FYe(n));HYe(n,40);var u=TI(nKe[13],0,n),i=bYe(n),c=0;if("number"==typeof i){var f=0;if(95!==i&&i&&(f=1),!f){var o=ZYe(n,u);c=1}}c||(o=u);var s=BI(tKe[3],n),v=bYe(n),l=0;if("number"==typeof v&&!v){var D=rVe(n,s);l=1}l||(D=s);var b=PYe(n,41);if(b){var p=BI(tKe[5],n),E=bYe(n),m=0;if("number"==typeof E&&!E){var F=[0,TI(QYe(n)[2],p,(function(r,e){return MGe(BI(xT(r,Ea,34),r),e)}))];m=1}m||(F=[0,p]);var k=F}else k=b;var d=bYe(n),h=0;if("number"!=typeof d&&4===d[0]&&!_I(d[3],Rye)){LYe(n);for(var y=0;;){var _=[0,BI(tKe[5],n),y],A=bYe(n);if("number"!=typeof A||9!==A){var C=pAe(_),w=bYe(n),S=0;if("number"==typeof w&&!w){var g=aVe(n,C);S=1}S||(g=C);var B=g;h=1;break}HYe(n,9),y=_}}h||(B=0);var T=bYe(n),I=0;if("number"==typeof T&&52===T){var O=TI(cKe[5],n,0),N=bYe(n),x=0;if("number"==typeof N&&!N){var L=[0,iVe(n,O)];x=1}x||(L=[0,O]);var P=L;I=1}I||(P=0);var R=TI(tKe[6],1,n),M=TI(a(n)[2],R,(function(r,e){var n=e[1];return[0,n,II(xT(r,dl,mk),r,n,e[2])]}));return[0,o,D,M,k,B,P,ZGe([0,t],0)]})),FB(y,(function(r){return bVe(0,(function(r){var e=FYe(r);return HYe(r,60),[5,TI(h,e,r)]}),r)})),FB(_,(function(r,e){var n=uAe(r?r[1]:r,FYe(e));HYe(e,15);var t=ZYe(e,TI(nKe[13],0,e)),a=pYe(e),i=rVe(e,BI(tKe[3],e)),c=BI(tKe[8],e);HYe(e,83);var f=BI(tKe[1],e);RYe(e,1);var o=bYe(e);if(MYe(e),66===o)var s=TI(QYe(e)[2],f,(function(r,e){return TI(xT(r,oc,29),r,e)}));else s=f;var v=VGe(a,s[1]),l=[0,v,[12,[0,i,c,s,0]]],D=BI(tKe[11],e),b=u(0,0,e);if(0===b[0])var p=[0,b[1],l,D];else{var E=b[1][2];if(D)var m=[0,0,l,[0,TI(E,D[1],(function(r,e){return TI(xT(r,Wo,yS),r,e)}))]];else m=[0,0,TI(E,l,(function(r,e){return TI(xT(r,oc,Ra),r,e)})),0];p=m}var F=[0,v,p[2]],k=ZGe([0,n],[0,p[1]]);return[0,t,F,p[3],k]})),FB(A,(function(r){return bVe(0,(function(r){var e=FYe(r);HYe(r,60);var n=bYe(r);return"number"==typeof n&&64===n&&(BYe(r,65),HYe(r,64)),[7,TI(_,[0,e],r)]}),r)})),FB(C,(function(r,e){var n=uAe(e,FYe(r));HYe(r,24);var t=II(nKe[14],r,Pye,40)[2],a=t[2],i=t[1],c=u(0,0,r);if(0===c[0])var f=[0,c[1],i,a];else{var o=c[1][2],s=0===a[0]?[0,0,TI(o,i,(function(r,e){return TI(xT(r,Lg,Mu),r,e)})),a]:[0,0,i,TI(o,a,(function(r,e){return TI(xT(r,HE,xp),r,e)}))];f=s}var v=ZGe([0,n],[0,f[1]]);return[0,f[2],f[3],v]})),FB(w,(function(r){return bVe(0,(function(r){var e=FYe(r);return HYe(r,60),[13,TI(C,r,e)]}),r)})),FB(S,(function(r,e){var n=r?r[1]:r,u=pYe(e),i=FYe(e);HYe(e,60);var c=uAe(i,FYe(e));if(XYe(e,Lye),!n&&10!==bYe(e)){var f=bYe(e),o=0;if("number"!=typeof f&&2===f[0]){var s=t(e,f[1]),v=[1,TI(QYe(e)[2],s,(function(r,e){var n=e[1];return[0,n,II(xT(r,Hg,37),r,n,e[2])]}))];o=1}o||(v=[0,ZYe(e,TI(nKe[13],0,e))]);var l=bVe(0,(function(r){var e=FYe(r);HYe(r,0);for(var n=0,t=0;;){var u=bYe(r);if("number"==typeof u){var i=0;if(1!==u&&Je!==u||(i=1),i){var c=pAe(t),f=0===c?1:0,o=f?FYe(r):f;return HYe(r,1),[0,[0,n,c],rUe([0,e],[0,a(r)[1]],o)]}}var s=TI(B,xye,r),v=s[2],l=s[1],D=0;if(n)if(0===n[1][0])switch(v[0]){case 6:var b=v[1][2],p=0;if(b)switch(b[1][0]){case 4:case 6:p=1}p||BYe(r,79);var E=n;break;case 10:BYe(r,78),E=n;break;default:D=1}else 10===v[0]?(BYe(r,79),E=n):D=1;else switch(v[0]){case 6:var m=v[1][2],F=0;if(m)switch(m[1][0]){case 4:case 6:var k=n;F=1}F||(k=[0,[1,l]]),E=k;break;case 10:E=[0,[0,l]];break;default:D=1}D&&(E=n),n=E,t=[0,s,t]}}),e),D=l[2],b=D[1],p=b[1],E=l[1],m=[0,E,[0,b[2],D[2]]],F=VGe(u,E);return[0,F,[9,[0,v,m,p?p[1]:[0,F],ZGe([0,c],0)]]]}var k=bVe(0,BI(g,c),e),d=k[2];return[0,VGe(u,k[1]),d]})),FB(g,(function(r,e){var n=FYe(e);HYe(e,10);var t=FYe(e);XYe(e,Nye);var a=EAe([0,r,[0,n,[0,t,[0,FYe(e),0]]]]),i=BI(tKe[9],e),c=u(0,0,e);if(0===c[0])var f=[0,i,c[1]];else f=[0,TI(c[1][2],i,(function(r,e){return TI(xT(r,zl,bd),r,e)})),0];var o=ZGe([0,a],[0,f[2]]);return[10,[0,f[1],o]]})),FB(B,(function(r,e){var n=r?r[1]:r;1-LXe(e)&&BYe(e,13);var t=lYe(1,e);if("number"==typeof t)switch(t){case 24:return BI(w,e);case 40:return BI(y,e);case 46:if(50===bYe(e))return fr(e);break;case 49:if(n)return TI(P,[0,n],e);break;case 53:return BI(k,e);case 61:var u=bYe(e);return"number"==typeof u&&50===u&&n?fr(e):BI(D,e);case 62:return BI(E,e);case 15:case 64:return BI(A,e)}else if(4===t[0]&&!_I(t[3],Oye))return TI(S,[0,n],e);if(n){var a=bYe(e);return"number"==typeof a&&50===a?(BYe(e,82),BI(nKe[2],e)):BI(w,e)}return BI(nKe[2],e)})),FB(T,(function(r){XYe(r,Bye);var e=bYe(r);if("number"!=typeof e&&2===e[0])return t(r,e[1]);var n=[0,pYe(r),Tye];return TYe(Iye,r),n})),FB(I,(function(r){var e=BI(T,r),n=e[2],t=e[1],a=u(0,0,r);return 0===a[0]?[0,[0,t,n],a[1]]:[0,[0,t,TI(a[1][2],n,(function(r,e){return II(xT(r,Hg,Je),r,t,e)}))],0]})),FB(O,(function(r){return r[2][1]})),FB(N,(function(r,e,n){var t=r?r[1]:1,u=bYe(e);if("number"==typeof u){var a=0;if(1!==u&&Je!==u||(a=1),a)return pAe(n)}1-t&&BYe(e,85);var i=bVe(0,(function(r){var e=lVe(r),n=bYe(r),t=0;if("number"!=typeof n&&4===n[0]&&!_I(n[3],gye)){LYe(r);var u=lVe(r);RXe(r,u);var a=[0,u];t=1}return t||(RXe(r,e),a=0),[0,e,a]}),e);return II(N,[0,PYe(e,9)],e,[0,i,n])})),FB(x,(function(r,e){return kAe((function(e){var t=e[2];return t[2]?0:n(Sye,r,t[1])}),e)})),FB(L,(function(r){function e(e){var n=qXe(1,UXe(1,e)),t=pYe(n),a=FYe(n);HYe(n,49);var i=bYe(n);if("number"==typeof i)if(65<=i){if(Zv===i){var c=pYe(n);HYe(n,Zv);var f=n[26][5],o=bYe(n),s=0;if("number"!=typeof o&&4===o[0]&&!_I(o[3],hye)){LYe(n);var v=f?[0,TI(nKe[13],0,n)]:(BYe(n,13),0);s=1}s||(v=0);var D=BI(I,n),b=ZGe([0,a],[0,D[2]]);return[18,[0,0,[0,[1,[0,c,v]]],[0,D[1]],1,b]]}}else if(13<=i)switch(i-13|0){case 23:var E=uAe(a,FYe(n)),m=bVe(0,(function(r){return HYe(r,36)}),n);if(RXe(n,$Ge(0,[0,VGe(t,pYe(n)),yye])),SYe(n))var F=0,k=[0,BI(uKe[11],n)];else if(gYe(n))F=0,k=[0,TI(cKe[3],n,r)];else if(48===bYe(n))F=0,k=[0,BI(uKe[12],n)];else{var h=BI(nKe[10],n),y=u(0,0,n);if(0===y[0])var _=[0,h,y[1]];else _=[0,TI(y[1][2],h,(function(r,e){return TI(xT(r,jD,Vr),r,e)})),0];F=_[2],k=[1,_[1]]}var A=ZGe([0,E],[0,F]);return[17,[0,m[1],k,A]];case 40:1-LXe(n)&&BYe(n,15);var C=BI(d,n),w=C[2];if(26===w[0]){var S=BI(O,w[1][1]);RXe(n,$Ge(0,[0,C[1],S]))}else Z_e(nAe(Aye,_ye));return[18,[0,[0,C],0,0,0,ZGe([0,a],0)]];case 48:if(0!==lYe(1,n)){1-LXe(n)&&BYe(n,15);var g=lYe(1,n);if("number"==typeof g){if(48===g)return BYe(n,0),HYe(n,61),[18,[0,0,0,0,0,ZGe([0,a],0)]];if(Zv===g){HYe(n,61);var B=pYe(n);HYe(n,Zv);var T=BI(I,n),L=ZGe([0,a],[0,T[2]]);return[18,[0,0,[0,[1,[0,B,0]]],[0,T[1]],0,L]]}}var P=bVe(0,BI(l,0),n),R=P[2],M=P[1];return RXe(n,$Ge(0,[0,M,BI(O,R[1])])),[18,[0,[0,[0,M,[32,R]]],0,0,0,ZGe([0,a],0)]]}break;case 49:var G=bVe(0,(function(r){return BI(TI(p,0,0),r)}),n),U=G[2],j=G[1];return RXe(n,$Ge(0,[0,j,BI(O,U[1])])),[18,[0,[0,[0,j,[33,U]]],0,0,0,ZGe([0,a],0)]];case 0:case 2:case 11:case 14:case 15:case 27:case 35:case 51:var H=TI(nKe[3],[0,r],n),X=H[2],Y=H[1],V=0;switch(X[0]){case 2:var K=X[1][1];if(K){var W=K[1];V=1}else{PXe(n,[0,Y,74]);var J=0}break;case 16:W=X[1][1],V=1;break;case 23:var q=X[1][1];q?(W=q[1],V=1):(PXe(n,[0,Y,75]),J=0);break;case 34:J=dAe((function(r,e){return dAe(nr,r,[0,e[2][1],0])}),0,X[1][1]);break;default:J=Z_e(wye)}return kAe((function(r){return RXe(n,r)}),V?[0,$Ge(0,[0,Y,BI(O,W)]),0]:J),[18,[0,[0,H],0,0,1,ZGe([0,a],0)]]}var z=bYe(n),$=0;if("number"==typeof z&&61===z){LYe(n);var Q=0;$=1}$||(Q=1),HYe(n,0);var Z=II(N,0,n,0);HYe(n,1);var rr=bYe(n),er=0;if("number"!=typeof rr&&4===rr[0]&&!_I(rr[3],Cye)){var tr=BI(I,n),ur=tr[2],ar=[0,tr[1]];er=1}if(!er){TI(x,n,Z);var ir=u(0,0,n);ur=0===ir[0]?ir[1]:ir[1][1],ar=0}return[18,[0,0,[0,[0,Z]],ar,Q,ZGe([0,a],[0,ur])]]}return function(r){return bVe(0,e,r)}})),FB(P,(function(r){var e=r?r[1]:r;function n(r){1-LXe(r)&&BYe(r,13);var n=FYe(r);HYe(r,60);var t=qXe(1,UXe(1,r)),a=uAe(n,FYe(t));HYe(t,49);var i=bYe(t);if("number"==typeof i)if(53<=i){if(Zv===i){var c=pYe(t);HYe(t,Zv);var f=t[26][5],o=bYe(t),s=0;if("number"!=typeof o&&4===o[0]&&!_I(o[3],Fye)){LYe(t);var v=f?[0,TI(nKe[13],0,t)]:(BYe(t,13),0);s=1}s||(v=0);var D=BI(I,t),b=ZGe([0,a],[0,D[2]]);return[6,[0,0,0,[0,[1,[0,c,v]]],[0,D[1]],b]]}if(!(63<=i))switch(i-53|0){case 0:if(e)return[6,[0,0,[0,[6,bVe(0,BI(F,0),t)]],0,0,ZGe([0,a],0)]];break;case 8:if(e)return[6,[0,0,[0,[4,bVe(0,BI(l,0),t)]],0,0,ZGe([0,a],0)]];break;case 9:return[6,[0,0,[0,[5,bVe(0,TI(p,mye,0),t)]],0,0,ZGe([0,a],0)]]}}else{var E=i-15|0;if(!(25>>0))switch(E){case 21:var m=uAe(a,FYe(t)),k=bVe(0,(function(r){return HYe(r,36)}),t),d=bYe(t),y=0;if("number"==typeof d)if(15===d)var A=0,w=[0,[1,bVe(0,(function(r){return TI(_,0,r)}),t)]];else 40===d?(A=0,w=[0,[2,bVe(0,BI(h,0),t)]]):y=1;else y=1;if(y){var S=BI(tKe[1],t),g=u(0,0,t);if(0===g[0])var B=[0,S,g[1]];else B=[0,TI(g[1][2],S,(function(r,e){return TI(xT(r,oc,Te),r,e)})),0];A=B[2],w=[0,[3,B[1]]]}var T=ZGe([0,m],[0,A]);return[6,[0,[0,k[1]],w,0,0,T]];case 0:case 9:case 12:case 13:case 25:var O=bYe(t);if("number"==typeof O){var L=0;if(25<=O)if(29<=O){if(40===O){var P=[0,[2,bVe(0,BI(h,0),t)]];L=1}}else 27<=O&&(L=2);else 15===O?(P=[0,[1,bVe(0,(function(r){return TI(_,0,r)}),t)]],L=1):24<=O&&(L=2);var R=0;switch(L){case 0:break;case 2:"number"==typeof O&&(27===O?BYe(t,70):28===O&&BYe(t,69)),P=[0,[0,bVe(0,(function(r){return TI(C,r,0)}),t)]],R=1;break;default:R=1}if(R)return[6,[0,0,P,0,0,ZGe([0,a],0)]]}throw[0,jI,dye]}}var M=bYe(t);"number"==typeof M&&(53===M?BYe(t,72):61===M&&BYe(t,71)),HYe(t,0);var G=II(N,0,t,0);HYe(t,1);var U=bYe(t),j=0;if("number"!=typeof U&&4===U[0]&&!_I(U[3],kye)){var H=BI(I,t),X=H[2],Y=[0,H[1]];j=1}if(!j){TI(x,t,G);var V=u(0,0,t);X=0===V[0]?V[1]:V[1][1],Y=0}return[6,[0,0,0,[0,[0,G]],Y,ZGe([0,a],[0,X])]]}return function(r){return bVe(0,n,r)}})),[0,function(r){return bVe(0,j,r)},function(r){return bVe(0,Y,r)},function(r){return bVe(0,$,r)},function(r){return bVe(0,J,r)},function(r){return bVe(0,Q,r)},s,v,f,o,function(r){return bVe(0,R,r)},B,P,E,function(r){return bVe(0,M,r)},c,L,er,fr,d,function(r){return bVe(0,Z,r)},m,function(r){return bVe(0,V,r)},function(r){return bVe(0,K,r)},function(r){return bVe(0,W,r)},b,function(r){return bVe(0,q,r)},function(r){return bVe(0,z,r)}]}(aKe),oKe=function(r){var e=function r(e,n){return r.fun(e,n)},n=function r(e,n){return r.fun(e,n)},t=function r(e,n){return r.fun(e,n)};function u(r,e){return BI(nKe[23],e)?[0,TI(t,r,e)]:(PXe(r,[0,e[1],26]),0)}function a(e){function n(r){var e=bYe(r);return"number"==typeof e&&79===e?(HYe(r,79),[0,BI(nKe[10],r)]):0}function t(t){var u=FYe(t);HYe(t,0);for(var a=0,i=0,f=0;;){var o=bYe(t);if("number"==typeof o){var s=0;if(1!==o&&Je!==o||(s=1),s){i&&PXe(t,[0,i[1],98]);var v=pAe(f),l=FYe(t);HYe(t,1);var D=GYe(t);return[0,[0,v,83===bYe(t)?[1,BI(r[9],t)]:ZVe(t),rUe([0,u],[0,D],l)]]}}if(12===bYe(t))var b=FYe(t),p=bVe(0,(function(r){return HYe(r,12),c(r,e)}),t),E=ZGe([0,b],0),m=[0,[1,[0,p[1],[0,p[2],E]]]];else{var F=pYe(t),k=TI(nKe[20],0,t),d=bYe(t),h=0;if("number"==typeof d&&83===d){HYe(t,83);var y=bVe([0,F],(function(r){return[0,c(r,e),n(r)]}),t),_=y[2],A=k[2];switch(A[0]){case 0:var C=[0,A[1]];break;case 1:C=[1,A[1]];break;case 2:C=Z_e(oye);break;default:C=[2,A[1]]}m=[0,[0,[0,y[1],[0,C,_[1],_[2],0]]]]}else h=1;if(h){var w=k[2];if(1===w[0]){var S=w[1],g=S[2][1],B=S[1],T=0;sYe(g)&&_I(g,vye)&&_I(g,lye)&&(PXe(t,[0,B,2]),T=1),!T&&iYe(g)&&NYe(t,[0,B,53]);var I=bVe([0,F],function(r,e){return function(t){return[0,[0,e,[2,[0,r,ZVe(t),0]]],n(t)]}}(S,B),t),O=I[2];m=[0,[0,[0,I[1],[0,[1,S],O[1],O[2],1]]]]}else TYe(sye,t),m=0}}if(m){var N=m[1],x=a?(PXe(t,[0,N[1][1],64]),0):i;if(0===N[0])var L=x,P=a;else{var R=9===bYe(t)?1:0;L=R?[0,pYe(t)]:R,P=1}1!==bYe(t)&&HYe(t,9),a=P,i=L,f=[0,N,f]}}}return function(r){return bVe(0,t,r)}}function i(e){function n(n){var t=FYe(n);HYe(n,6);for(var u=0;;){var a=bYe(n);if("number"==typeof a){var i=0;if(13<=a)Je===a&&(i=1);else if(7<=a)switch(a-7|0){case 2:var f=pYe(n);HYe(n,9),u=[0,[2,f],u];continue;case 5:var o=FYe(n),s=bVe(0,(function(r){return HYe(r,12),c(r,e)}),n),v=s[1],l=ZGe([0,o],0),D=[1,[0,v,[0,s[2],l]]];7!==bYe(n)&&(PXe(n,[0,v,63]),9===bYe(n)&&LYe(n)),u=[0,D,u];continue;case 0:i=1}if(i){var b=pAe(u),p=FYe(n);return HYe(n,7),[1,[0,b,83===bYe(n)?[1,BI(r[9],n)]:ZVe(n),rUe([0,t],[0,GYe(n)],p)]]}}var E=bVe(0,(function(r){var n=c(r,e),t=bYe(r),u=0;if("number"==typeof t&&79===t){HYe(r,79);var a=[0,BI(nKe[10],r)];u=1}return u||(a=0),[0,n,a]}),n),m=E[2],F=[0,[0,E[1],[0,m[1],m[2]]]];7!==bYe(n)&&HYe(n,9),u=[0,F,u]}}return function(r){return bVe(0,n,r)}}function c(r,e){var n=bYe(r);if("number"==typeof n){if(6===n)return BI(i(e),r);if(!n)return BI(a(e),r)}var t=II(nKe[14],r,0,e);return[0,t[1],[2,t[2]]]}return FB(e,(function(r,e){for(var n=e[2],u=n[2],a=ZVe(r),i=0,c=n[1];;){if(!c){var f=[0,[0,pAe(i),a,u]];return[0,e[1],f]}var o=c[1];if(0!==o[0]){var s=o[1],v=s[1];if(c[2])PXe(r,[0,v,64]),c=c[2];else{var l=s[2],D=l[2];i=[0,[1,[0,v,[0,TI(t,r,l[1]),D]]],i],c=0}}else{var b=o[1],p=b[2];switch(p[0]){case 0:var E=p[2],m=p[1];switch(m[0]){case 0:var F=[0,m[1]];break;case 1:F=[1,m[1]];break;case 2:F=Z_e(pye);break;default:F=[2,m[1]]}var k=E[2],d=0;if(2===k[0]){var h=k[1];if(!h[1]){var y=[0,h[3]],_=h[2];d=1}}d||(y=0,_=TI(t,r,E));var A=[0,[0,[0,b[1],[0,F,_,y,p[3]]]],i];break;case 1:PXe(r,[0,p[2][1],97]),A=i;break;default:PXe(r,[0,p[2][1],Eye]),A=i}var i=A,c=c[2]}}})),FB(n,(function(r,e){for(var n=e[2],t=n[2],a=ZVe(r),i=0,c=n[1];;){if(c){var f=c[1];switch(f[0]){case 0:var o=f[1],s=o[2];if(2===s[0]){var v=s[1];if(!v[1]){i=[0,[0,[0,o[1],[0,v[2],[0,v[3]]]]],i],c=c[2];continue}}var l=u(r,o);if(l)var D=l[1],b=[0,[0,[0,D[1],[0,D,0]]],i];else b=i;i=b,c=c[2];continue;case 1:var p=f[1],E=p[1];if(c[2]){PXe(r,[0,E,63]),c=c[2];continue}var m=p[2],F=u(r,m[1]);i=F?[0,[1,[0,E,[0,F[1],m[2]]]],i]:i,c=0;continue;default:i=[0,[2,f[1]],i],c=c[2];continue}}var k=[1,[0,pAe(i),a,t]];return[0,e[1],k]}})),FB(t,(function(r,t){var u=t[2],a=t[1];switch(u[0]){case 0:return TI(n,r,[0,a,u[1]]);case 10:var i=u[1],c=i[2][1],f=i[1],o=0;if(r[6]&&fYe(c)?PXe(r,[0,f,50]):o=1,o&&1-r[6]){var s=0;if(r[17]&&hI(c,Dye)?PXe(r,[0,f,93]):s=1,s){var v=r[18];(v?hI(c,bye):v)&&PXe(r,[0,f,92])}}return[0,a,[2,[0,i,ZVe(r),0]]];case 19:return TI(e,r,[0,a,u[1]]);default:return[0,a,[3,[0,a,u]]]}})),[0,e,n,t,a,i,c]}(tKe),sKe=function(r){function e(r){var e=bYe(r);if("number"==typeof e){var n=e-96|0,t=0;if(6>>0?14===n&&(t=1):4<(n-1|0)>>>0&&(t=1),t)return GYe(r)}var u=hYe(r);return u?UYe(r):u}function n(n){var t=FYe(n);RYe(n,0);var u=bVe(0,(function(e){HYe(e,0),HYe(e,12);var n=BI(r[10],e);return HYe(e,1),n}),n);MYe(n);var a=ZGe([0,t],[0,e(n)]);return[0,u[1],[0,u[2],a]]}function t(e){return 1===bYe(e)?0:[0,BI(r[7],e)]}function u(r){var n=FYe(r);RYe(r,0);var u=bVe(0,(function(r){HYe(r,0);var e=t(r);return HYe(r,1),e}),r);MYe(r);var a=rUe([0,n],[0,e(r)],0);return[0,u[1],[0,u[2],a]]}function a(e){RYe(e,0);var n=bVe(0,(function(e){HYe(e,0);var n=bYe(e),u=0;if("number"==typeof n&&12===n){var a=FYe(e);HYe(e,12);var i=[3,[0,BI(r[10],e),ZGe([0,a],0)]];u=1}if(!u){var c=t(e);i=[2,[0,c,rUe(0,0,c?0:FYe(e))]]}return HYe(e,1),i}),e);return MYe(e),[0,n[1],n[2]]}function i(r){var n=pYe(r),t=bYe(r),u=0;if("number"!=typeof t&&7===t[0]){var a=t[1];u=1}u||(TYe(Uhe,r),a=jhe);var i=FYe(r);LYe(r);var c=bYe(r),f=0;if("number"==typeof c){var o=c+-10|0,s=0;if(69>>0?73!==o&&(s=1):67<(o-1|0)>>>0||(s=1),!s){var v=GYe(r);f=1}}return f||(v=e(r)),[0,n,[0,a,ZGe([0,i],[0,v])]]}function c(r){var e=lYe(1,r);if("number"==typeof e){if(10===e)for(var n=bVe(0,(function(r){var e=[0,i(r)];return HYe(r,10),[0,e,i(r)]}),r);;){var t=bYe(r);if("number"!=typeof t||10!==t)return[2,n];var u=function(r){return function(e){return HYe(e,10),[0,[1,r],i(e)]}}(n);n=bVe([0,n[1]],u,r)}if(83===e)return[1,bVe(0,(function(r){var e=i(r);return HYe(r,83),[0,e,i(r)]}),r)]}return[0,i(r)]}function f(r){return bVe(0,(function(r){var n=lYe(1,r),t=0;if("number"==typeof n&&83===n){var a=[1,bVe(0,(function(r){var e=i(r);return HYe(r,83),[0,e,i(r)]}),r)];t=1}t||(a=[0,i(r)]);var c=bYe(r),f=0;if("number"==typeof c&&79===c){HYe(r,79);var o=FYe(r),s=bYe(r),v=0;if("number"==typeof s)if(0===s){var l=u(r),D=l[2],b=l[1];D[1]||PXe(r,[0,b,54]);var p=[0,[1,b,D]]}else v=1;else if(8===s[0]){HYe(r,s);var E=[0,s[2]],m=ZGe([0,o],[0,e(r)]);p=[0,[0,s[1],[0,E,s[3],m]]]}else v=1;v&&(BYe(r,55),p=[0,[0,pYe(r),[0,Ghe,Mhe,0]]]);var F=p;f=1}return f||(F=0),[0,a,F]}),r)}function o(r){return bVe(0,(function(r){HYe(r,95);var e=bYe(r);if("number"==typeof e){if(96===e)return LYe(r),Phe}else if(7===e[0])for(var t=0,u=c(r);;){var a=bYe(r);if("number"==typeof a){if(0===a){t=[0,[1,n(r)],t];continue}}else if(7===a[0]){t=[0,[0,f(r)],t];continue}var i=pAe(t),o=[0,c_,[0,u,PYe(r,wk),i]];return PYe(r,96)?[0,o]:(jYe(r,96),[1,o])}return jYe(r,96),Rhe}),r)}function s(r){return bVe(0,(function(r){HYe(r,95),HYe(r,wk);var e=bYe(r);if("number"==typeof e){if(96===e)return LYe(r),ct}else if(7===e[0]){var n=c(r);return TI(KUe,bYe(r),96)?LYe(r):jYe(r,96),[0,c_,[0,n]]}return jYe(r,96),ct}),r)}var v=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)};function b(r){switch(r[0]){case 0:return r[1][2][1];case 1:var e=r[1][2],n=nAe(Nhe,e[2][2][1]);return nAe(e[1][2][1],n);default:var t=r[1][2],u=t[1];return nAe(0===u[0]?u[1][2][1]:b([2,u[1]]),nAe(xhe,t[2][2][1]))}}return FB(v,(function(r){var e=bYe(r);if("number"==typeof e){if(0===e)return a(r)}else if(8===e[0])return HYe(r,e),[0,e[1],[4,[0,e[2],e[3]]]];var n=BI(D,r),t=n[2],u=n[1];return ct<=t[1]?[0,u,[1,t[2]]]:[0,u,[0,t[2]]]})),FB(l,(function(r){var e=FYe(r),n=o(r);MYe(r);var t=n[2];if(0===t[0])var u=t[1],a="number"==typeof u?0:u[2][2];else a=1;if(a)var i=870530776,c=bVe(0,(function(r){return 0}),r);else{RYe(r,3);for(var f=pYe(r),D=0;;){var p=ZXe(r),E=bYe(r),m=0;if("number"==typeof E){var F=0;if(95===E){RYe(r,2);var k=bYe(r),d=lYe(1,r),h=0;if("number"==typeof k&&95===k&&"number"==typeof d){var y=0;if(wk!==d&&Je!==d&&(y=1),!y){var _=s(r),A=_[2],C=_[1],w="number"==typeof A?[0,ct,C]:[0,c_,[0,C,A[2]]],S=r[22][1],g=0;if(S){var B=S[2];if(B){var T=B[2];g=1}}g||(T=Z_e(que)),r[22][1]=T;var I=xXe(r),O=TXe(r[23][1],I);r[24][1]=O;var N=[0,pAe(D),p,w];h=1}}if(!h){var x=BI(l,r),L=x[2],P=x[1];D=[0,ct<=L[1]?[0,P,[1,L[2]]]:[0,P,[0,L[2]]],D];continue}}else Je===E?(TYe(0,r),N=[0,pAe(D),p,Pn]):(m=1,F=1);if(!F){var R=VGe(f,p?p[1]:f);i=N[3],c=[0,R,N[1]]}}else m=1;if(!m)break;D=[0,BI(v,r),D]}}var M=GYe(r),G=0;if("number"!=typeof i){var U=i[1],j=0;if(c_===U){var H=i[2],X=n[2];if(0===X[0]){var Y=X[1];if("number"==typeof Y)BYe(r,Lhe);else{var V=b(Y[2][1]);_I(b(H[2][1]),V)&&BYe(r,[18,V])}}var K=H[1]}else if(ct===U){var W=n[2];if(0===W[0]){var J=W[1];"number"!=typeof J&&BYe(r,[18,b(J[2][1])])}K=i[2]}else j=1;if(!j){var q=K;G=1}}G||(q=n[1]);var z=n[2][1],$=n[1];if("number"==typeof z){var Q=0,Z=ZGe([0,e],[0,M]);if("number"!=typeof i){var rr=i[1],er=0;if(c_===rr)var nr=i[2][1];else ct===rr?nr=i[2]:er=1;if(!er){var tr=nr;Q=1}}Q||(tr=q);var ur=[0,ct,[0,$,tr,c,Z]]}else{var ar=0,ir=ZGe([0,e],[0,M]);if("number"!=typeof i&&c_===i[1]){var cr=[0,i[2]];ar=1}ar||(cr=0),ur=[0,c_,[0,[0,$,z[2]],cr,c,ir]]}return[0,VGe(n[1],q),ur]})),FB(D,(function(r){return RYe(r,2),BI(l,r)})),[0,e,n,t,u,a,i,c,f,o,s,v,l,D]}(nKe);function vKe(r,e){var n=bYe(e),t=0;if("number"==typeof n?28===n?e[6]?BYe(e,53):e[14]&&TYe(0,e):58===n?e[17]?BYe(e,2):e[6]&&BYe(e,53):65===n?e[18]&&BYe(e,2):t=1:t=1,t)if(cYe(n))OYe(e,53);else{var u=0;if("number"==typeof n)switch(n){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var a=1;u=1}else 4===n[0]&&tYe(n[3])&&(a=1,u=1);u||(a=0);var i=0;if(a)var c=a;else{var f=aYe(n);if(f)c=f;else{var o=0;if("number"==typeof n)switch(n){case 29:case 30:case 31:break;default:o=1}else if(4===n[0]){var s=n[3];_I(s,pae)&&_I(s,Eae)&&_I(s,mae)&&(o=1)}else o=1;if(o){var v=0;i=1}else c=1}}i||(v=c),v?TYe(0,e):r&&oYe(n)&&OYe(e,r[1])}return lVe(e)}var lKe=function r(e){return r.fun(e)},DKe=function r(e,n,t){return r.fun(e,n,t)},bKe=function r(e){return r.fun(e)},pKe=function r(e,n){return r.fun(e,n)},EKe=function r(e,n){return r.fun(e,n)},mKe=function r(e,n){return r.fun(e,n)},FKe=function r(e,n){return r.fun(e,n)},kKe=function r(e,n){return r.fun(e,n)},dKe=function r(e){return r.fun(e)},hKe=function r(e){return r.fun(e)},yKe=function r(e){return r.fun(e)},_Ke=function r(e,n,t){return r.fun(e,n,t)},AKe=function r(e){return r.fun(e)},CKe=function r(e,n){return r.fun(e,n)},wKe=cKe[3],SKe=iKe[3],gKe=iKe[1],BKe=iKe[6],TKe=cKe[2],IKe=cKe[1],OKe=cKe[4],NKe=iKe[5],xKe=iKe[7],LKe=sKe[13],PKe=oKe[6],RKe=oKe[3];FB(lKe,(function(r){var e=FYe(r),n=pAe(e);r:for(;;){if(n)for(var t=n[2],u=n[1],a=u[2],i=u[1],c=a[2],f=0,o=XT(c);;){if(o<(f+5|0))var s=0;else{var v=hI(OAe(c,f,5),Jue);if(!v){f=f+1|0;continue}s=v}if(!s){n=t;continue r}r[29][1]=i[3];var l=pAe([0,[0,i,a],t]);break}else l=n;if(0===l){var D=0;if(e){var b=e[1],p=b[2];if(!p[1]){var E=p[2];if(1<=XT(E)&&42===yI(E,0)){r[29][1]=b[1][3];var m=[0,b,0];D=1}}}D||(m=0)}else m=l;var F=TI(pKe,r,(function(r){return 0})),k=pYe(r);if(HYe(r,Je),F)var d=lAe(pAe(F))[1],h=VGe(lAe(F)[1],d);else h=k;var y=pAe(r[2][1]);return[0,h,[0,F,ZGe([0,m],0),y]]}})),FB(DKe,(function(r,e,n){for(var t=XXe(1,r),u=k_e;;){var a=u[2],i=u[1],c=bYe(t),f=0;if("number"==typeof c&&Je===c)var o=[0,t,i,a];else f=1;if(f)if(BI(e,c))o=[0,t,i,a];else{var s=0;if("number"==typeof c||2!==c[0])s=1;else{var v=BI(n,t),l=[0,v,a],D=v[2];if(19===D[0]){var b=D[1][2];if(b){t=UXe(t[6]||hI(b[1],F_e),t),u=[0,[0,c,i],l];continue}}o=[0,t,i,l]}s&&(o=[0,t,i,a])}var p=XXe(0,t);return kAe((function(r){if("number"!=typeof r&&2===r[0]){var e=r[1],n=e[4];return n?NYe(p,[0,e[1],44]):n}return Z_e(nAe(h_e,nAe($Ue(r),d_e)))}),pAe(i)),[0,p,o[3]]}})),FB(bKe,(function(r){var e=BI(cKe[6],r),n=bYe(r);if("number"==typeof n){var t=n-49|0;if(!(11>>0))switch(t){case 0:return TI(fKe[16],e,r);case 1:BI(IYe(r),e);var u=lYe(1,r);if("number"==typeof u){var a=0;if(4!==u&&10!==u||(a=1),a)return BI(fKe[17],r)}return BI(fKe[18],r);case 11:if(49===lYe(1,r))return BI(IYe(r),e),TI(fKe[12],0,r)}}return TI(kKe,[0,e],r)})),FB(pKe,(function(r,e){var n=II(DKe,r,e,bKe);return dAe((function(r,e){return[0,e,r]}),TI(EKe,e,n[1]),n[2])})),FB(EKe,(function(r,e){for(var n=0;;){var t=bYe(e);if("number"==typeof t&&Je===t)return pAe(n);if(BI(r,t))return pAe(n);n=[0,BI(bKe,e),n]}})),FB(mKe,(function(r,e){var n=II(DKe,e,r,(function(r){return TI(kKe,0,r)})),t=n[1];return[0,dAe((function(r,e){return[0,e,r]}),TI(FKe,r,t),n[2]),t[6]]})),FB(FKe,(function(r,e){for(var n=0;;){var t=bYe(e);if("number"==typeof t&&Je===t)return pAe(n);if(BI(r,t))return pAe(n);n=[0,TI(kKe,0,e),n]}})),FB(kKe,(function(r,e){var n=r?r[1]:r;1-gYe(e)&&BI(IYe(e),n);var t=bYe(e);if("number"==typeof t){if(27===t)return BI(fKe[27],e);if(28===t)return BI(fKe[3],e)}if(SYe(e))return BI(uKe[11],e);if(gYe(e))return TI(wKe,e,n);if("number"==typeof t){var u=t+lw|0;if(!(14>>0))switch(u){case 0:if(e[26][1])return BI(uKe[12],e);break;case 5:return BI(fKe[19],e);case 12:return TI(fKe[11],0,e);case 13:return BI(fKe[25],e);case 14:return BI(fKe[21],e)}}return BI(dKe,e)})),FB(dKe,(function(r){var e=bYe(r);if("number"==typeof e)switch(e){case 0:return BI(fKe[7],r);case 8:return BI(fKe[15],r);case 19:return BI(fKe[22],r);case 20:return BI(fKe[23],r);case 22:return BI(fKe[24],r);case 23:return BI(fKe[4],r);case 24:return BI(fKe[26],r);case 25:return BI(fKe[5],r);case 26:return BI(fKe[6],r);case 32:return BI(fKe[8],r);case 35:return BI(fKe[9],r);case 37:return BI(fKe[14],r);case 39:return BI(fKe[1],r);case 59:return BI(fKe[10],r);case 110:return TYe(p_e,r),[0,pYe(r),E_e];case 16:case 43:return BI(fKe[2],r);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 80:case 83:return TYe(m_e,r),LYe(r),BI(dKe,r)}if(SYe(r)){var n=BI(uKe[11],r);return xYe(r,n[1]),n}if("number"==typeof e&&28===e&&6===lYe(1,r)){var t=DYe(1,r);return PXe(r,[0,VGe(pYe(r),t),94]),BI(fKe[17],r)}return wYe(r)?BI(fKe[20],r):gYe(r)?(TYe(0,r),LYe(r),BI(fKe[17],r)):BI(fKe[17],r)})),FB(hKe,(function(r){var e=pYe(r),n=BI(iKe[1],r),t=bYe(r);return"number"==typeof t&&9===t?II(iKe[8],r,e,[0,n,0]):n})),FB(yKe,(function(r){var e=pYe(r),n=BI(iKe[2],r),t=bYe(r);if("number"==typeof t&&9===t){var u=[0,TI(aKe[1],r,n),0];return[0,II(iKe[8],r,e,u)]}return n})),FB(_Ke,(function(r,e,n){var t=e?e[1]:e;return bVe(0,(function(r){var e=1-t,u=vKe([0,n],r),a=e?82===bYe(r)?1:0:e;return a&&(1-LXe(r)&&BYe(r,12),HYe(r,82)),[0,u,BI(tKe[10],r),a]}),r)})),FB(AKe,(function(r){var e=pYe(r),n=FYe(r);HYe(r,0);var t=TI(FKe,(function(r){return 1===r?1:0}),r),u=0===t?1:0,a=pYe(r),i=u?FYe(r):u;HYe(r,1);var c=[0,t,rUe([0,n],[0,GYe(r)],i)];return[0,VGe(e,a),c]})),FB(CKe,(function(r,e){var n=pYe(e),t=FYe(e);HYe(e,0);var u=TI(mKe,(function(r){return 1===r?1:0}),e),a=u[1],i=0===a?1:0,c=pYe(e),f=i?FYe(e):i;HYe(e,1);var o=bYe(e),s=0;if(!r){var v=0;if("number"!=typeof o||1!==o&&Je!==o||(v=1),!v){var l=hYe(e);if(l){var D=UYe(e);s=1}else D=l,s=1}}s||(D=GYe(e));var b=u[2],p=[0,a,rUe([0,t],[0,D],f)];return[0,VGe(n,c),p,b]})),II(zwe,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],nKe,[0,lKe,dKe,kKe,FKe,mKe,EKe,hKe,yKe,SKe,gKe,BKe,TKe,vKe,_Ke,AKe,CKe,LKe,PKe,RKe,IKe,wKe,OKe,NKe,xKe]);var MKe=[0,0],GKe=ZT,UKe=function(r){return!!r};function jKe(r){return function(r){for(var e={},n=1;n>>0)throw[0,jI,SL];switch(H){case 0:var Y=LB(O,x);break;case 1:Y=(31&LB(O,x))<<6|63&LB(O,x+1|0);break;case 2:Y=(15&LB(O,x))<<12|(63&LB(O,x+1|0))<<6|63&LB(O,x+2|0);break;default:Y=(7&LB(O,x))<<18|(63&LB(O,x+1|0))<<12|(63&LB(O,x+2|0))<<6|63&LB(O,x+3|0)}N=fVe(N,0,[0,Y]),x=X;continue}L=fVe(N,0,0)}for(var V=Bie,K=pAe([0,6,L]);;){var W=V[3],J=V[2],q=V[1];if(!K){var z=PAe(pAe(W)),$=function(r,e){return HKe(pAe(FAe(r,e)))},Q=function(r,e){return e?BI(r,e[1]):rSe},Z=function(r,e){return 0===e[0]?rSe:BI(r,e[1])},rr=function(r){return jKe([0,[0,Zme,r[1]],[0,[0,Qme,r[2]],0]])},er=function(r){var e=r[1];if(e)var n=e[1],t="number"==typeof n?et:ZT(n[1]);else t=rSe;var u=[0,[0,qme,rr(r[3])],0];return jKe([0,[0,$me,t],[0,[0,zme,rr(r[2])],u]])},nr=function(r){if(r){var e=r[1],n=[0,uAe(e[3],e[2])];return ZGe([0,e[1]],n)}return r},tr=[0,z],ur=function(r){return $(Ce,r)},ar=function(r,e,n,t){if(tr)var u=tr[1],a=[0,vVe(u,e[3]),0],i=[0,[0,Iie,HKe([0,vVe(u,e[2]),a])],0];else i=tr;var c=0,f=uAe(i,[0,[0,Oie,er(e)],0]);if(m&&n){var o=n[1],s=o[1];if(s){var v=o[2];if(v)var l=[0,[0,Nie,ur(v)],0],D=[0,[0,xie,ur(s)],l];else D=[0,[0,Lie,ur(s)],0];var b=D}else{var p=o[2];b=p?[0,[0,Pie,ur(p)],0]:p}var E=b;c=1}return c||(E=0),jKe(bAe(uAe(f,uAe(E,[0,[0,Rie,ZT(r)],0])),t))},ir=function(r){return $(Wr,r)},cr=function(r){var e=r[2];return ar(Fse,r[1],e[2],[0,[0,mse,ZT(e[1])],[0,[0,Ese,rSe],[0,[0,pse,!1],0]]])},fr=function(r){var e=r[2],n=e[1],t=0===n[0]?cr(n[1]):fr(n[1]),u=[0,[0,Jpe,t],[0,[0,Wpe,cr(e[2])],0]];return ar(qpe,r[1],0,u)},or=function(r){var e=r[2],n=e[1],t=0===n[0]?cr(n[1]):fr(n[1]),u=[0,[0,$pe,t],[0,[0,zpe,Q(Ee,e[2])],0]];return ar(Qpe,r[1],e[3],u)},sr=function(r){var e=r[2],n=e[2],t=e[1],u=r[1];if("number"==typeof t)var a=rSe;else switch(t[0]){case 0:a=ZT(t[1]);break;case 1:a=!!t[1];break;case 2:a=t[1];break;case 3:a=Z_e(UDe);break;default:var i=t[1];a=XKe(u,i[1],i[2])}var c=0;if("number"!=typeof t&&4===t[0]){var f=t[1],o=[0,[0,XDe,jKe([0,[0,HDe,ZT(f[1])],[0,[0,jDe,ZT(f[2])],0]])],0],s=[0,[0,VDe,a],[0,[0,YDe,ZT(n)],o]];c=1}return c||(s=[0,[0,WDe,a],[0,[0,KDe,ZT(n)],0]]),ar(JDe,u,e[3],s)},vr=function(r){var e=[0,[0,Zpe,Dr(r[2])],0];return[0,[0,rEe,Dr(r[1])],e]},lr=function(r,e){var n=e[2],t=[0,[0,qbe,!!n[3]],0],u=[0,[0,zbe,Dr(n[2])],t],a=[0,[0,$be,Q(cr,n[1])],u];return ar(Qbe,e[1],r,a)},Dr=function(r){var e=r[2],n=r[1];switch(e[0]){case 0:return ar(Ibe,n,e[1],0);case 1:return ar(Obe,n,e[1],0);case 2:return ar(Nbe,n,e[1],0);case 3:return ar(xbe,n,e[1],0);case 4:return ar(Lbe,n,e[1],0);case 5:return ar(Rbe,n,e[1],0);case 6:return ar(Mbe,n,e[1],0);case 7:return ar(Gbe,n,e[1],0);case 8:return ar(Ube,n,e[1],0);case 9:return ar(Pbe,n,e[1],0);case 10:return ar(wEe,n,e[1],0);case 11:var t=e[1],u=[0,[0,jbe,Dr(t[1])],0];return ar(Hbe,n,t[2],u);case 12:return br([0,n,e[1]]);case 13:return pr(1,[0,n,e[1]]);case 14:var a=e[1],i=[0,[0,Hpe,pr(0,a[1])],0],c=[0,[0,Xpe,$(Xr,a[2])],i];return ar(Ype,n,a[3],c);case 15:var f=e[1],o=[0,[0,Vpe,Dr(f[1])],0];return ar(Kpe,n,f[2],o);case 16:return or([0,n,e[1]]);case 17:var s=e[1],v=vr(s);return ar(eEe,n,s[3],v);case 18:var l=e[1],D=l[1],b=[0,[0,nEe,!!l[2]],0],p=uAe(vr(D),b);return ar(tEe,n,D[3],p);case 19:var E=e[1],m=E[1],F=[0,[0,uEe,$(Dr,[0,m[1],[0,m[2],m[3]]])],0];return ar(aEe,n,E[2],F);case 20:var k=e[1],d=k[1],h=[0,[0,iEe,$(Dr,[0,d[1],[0,d[2],d[3]]])],0];return ar(cEe,n,k[2],h);case 21:var y=e[1],_=[0,[0,fEe,Dr(y[1])],0];return ar(oEe,n,y[2],_);case 22:var A=e[1],C=[0,[0,sEe,$(Dr,A[1])],0];return ar(vEe,n,A[2],C);case 23:var w=e[1];return ar(bEe,n,w[3],[0,[0,DEe,ZT(w[1])],[0,[0,lEe,ZT(w[2])],0]]);case 24:var S=e[1];return ar(mEe,n,S[3],[0,[0,EEe,S[1]],[0,[0,pEe,ZT(S[2])],0]]);case 25:var g=e[1];return ar(dEe,n,g[3],[0,[0,kEe,rSe],[0,[0,FEe,ZT(g[2])],0]]);default:var B=e[1],T=B[1],I=T?hEe:yEe;return ar(CEe,n,B[2],[0,[0,AEe,!!T],[0,[0,_Ee,ZT(I)],0]])}},br=function(r){var e=r[2],n=e[2][2],t=e[4],u=eUe(nr(n[4]),t),a=[0,[0,Xbe,Q(be,e[1])],0],i=[0,[0,Ybe,Q(le,n[3])],a],c=[0,[0,Vbe,Dr(e[3])],i],f=[0,[0,Kbe,Q(De,n[1])],c],o=n[2],s=[0,[0,Wbe,$((function(r){return lr(0,r)}),o)],f];return ar(Jbe,r[1],u,s)},pr=function(r,e){var n=e[2],t=n[3],u=dAe((function(r,e){var n=r[4],t=r[3],u=r[2],a=r[1];switch(e[0]){case 0:var i=e[1],c=i[2],f=c[2],o=c[1];switch(o[0]){case 0:var s=sr(o[1]);break;case 1:s=cr(o[1]);break;case 2:s=Z_e(vpe);break;default:s=Z_e(lpe)}switch(f[0]){case 0:var v=[0,Dr(f[1]),Dpe];break;case 1:var l=f[1];v=[0,br([0,l[1],l[2]]),bpe];break;default:var D=f[1];v=[0,br([0,D[1],D[2]]),ppe]}var b=[0,[0,Epe,ZT(v[2])],0],p=[0,[0,mpe,Q(ve,c[7])],b];return[0,[0,ar(Ape,i[1],c[8],[0,[0,_pe,s],[0,[0,ype,v[1]],[0,[0,hpe,!!c[6]],[0,[0,dpe,!!c[3]],[0,[0,kpe,!!c[4]],[0,[0,Fpe,!!c[5]],p]]]]]]),a],u,t,n];case 1:var E=e[1],m=E[2],F=[0,[0,Cpe,Dr(m[1])],0];return[0,[0,ar(wpe,E[1],m[2],F),a],u,t,n];case 2:var k=e[1],d=k[2],h=[0,[0,Spe,Q(ve,d[5])],0],y=[0,[0,gpe,!!d[4]],h],_=[0,[0,Bpe,Dr(d[3])],y],A=[0,[0,Tpe,Dr(d[2])],_],C=[0,[0,Ipe,Q(cr,d[1])],A];return[0,a,[0,ar(Ope,k[1],d[6],C),u],t,n];case 3:var w=e[1],S=w[2],g=[0,[0,Npe,!!S[2]],0],B=[0,[0,xpe,br(S[1])],g];return[0,a,u,[0,ar(Lpe,w[1],S[3],B),t],n];default:var T=e[1],I=T[2],O=[0,[0,Ppe,Dr(I[2])],0],N=[0,[0,Gpe,!!I[3]],[0,[0,Mpe,!!I[4]],[0,[0,Rpe,!!I[5]],O]]],x=[0,[0,Upe,cr(I[1])],N];return[0,a,u,t,[0,ar(jpe,T[1],I[6],x),n]]}}),tpe,t),a=[0,[0,upe,HKe(pAe(u[4]))],0],i=[0,[0,ape,HKe(pAe(u[3]))],a],c=[0,[0,ipe,HKe(pAe(u[2]))],i],f=[0,[0,cpe,HKe(pAe(u[1]))],c],o=[0,[0,fpe,!!n[1]],f],s=r?[0,[0,ope,!!n[2]],o]:o,v=nr(n[4]);return ar(spe,e[1],v,s)},Er=function(r){var e=[0,[0,SEe,Dr(r[2])],0];return ar(gEe,r[1],0,e)},mr=function(r){var e=r[2];switch(e[2]){case 0:var n=dbe;break;case 1:n=hbe;break;default:n=ybe}var t=[0,[0,_be,ZT(n)],0],u=[0,[0,Abe,$(se,e[1])],t];return ar(Cbe,r[1],e[3],u)},Fr=function(r){var e=r[2];return ar(tbe,r[1],e[3],[0,[0,nbe,ZT(e[1])],[0,[0,ebe,ZT(e[2])],0]])},kr=function(r){var e=r[2],n=[0,[0,eDe,DE],[0,[0,rDe,Er(e[1])],0]];return ar(nDe,r[1],e[2],n)},dr=function(r,e){var n=e[1][2],t=[0,[0,_se,!!e[3]],0],u=[0,[0,Ase,Z(Er,e[2])],t];return ar(wse,r,n[2],[0,[0,Cse,ZT(n[1])],u])},hr=function(r){var e=r[2],n=e[1][2],t=eUe(n[2],e[2]);return ar(yse,r[1],t,[0,[0,hse,ZT(n[1])],[0,[0,dse,rSe],[0,[0,kse,!1],0]]])},yr=function(r){return $(ie,r[2][1])},_r=function(r){var e=r[2],n=[0,[0,VEe,ar(nme,e[2],0,0)],0],t=[0,[0,KEe,$(ye,e[3][2])],n],u=[0,[0,WEe,ar(ZEe,e[1],0,0)],t];return ar(JEe,r[1],e[4],u)},Ar=function(r){var e=r[2];return ar(_me,r[1],e[2],[0,[0,yme,ZT(e[1])],0])},Cr=function(r){var e=r[2],n=[0,[0,kme,Ar(e[2])],0],t=[0,[0,dme,Ar(e[1])],n];return ar(hme,r[1],0,t)},wr=function(r){var e=r[2],n=e[1],t=0===n[0]?Ar(n[1]):wr(n[1]),u=[0,[0,mme,t],[0,[0,Eme,Ar(e[2])],0]];return ar(Fme,r[1],0,u)},Sr=function(r){switch(r[0]){case 0:return Ar(r[1]);case 1:return Cr(r[1]);default:return wr(r[1])}},gr=function(r){var e=r[2],n=[0,[0,jEe,$(ye,e[3][2])],0],t=[0,[0,HEe,Q(de,e[2])],n],u=e[1],a=u[2],i=[0,[0,qEe,!!a[2]],0],c=[0,[0,zEe,$(ke,a[3])],i],f=[0,[0,$Ee,Sr(a[1])],c],o=[0,[0,XEe,ar(QEe,u[1],0,f)],t];return ar(YEe,r[1],e[4],o)},Br=function(r){var e=r[2],n=[0,[0,obe,$(Pr,e[2])],0],t=[0,[0,sbe,$(oe,e[1])],n];return ar(vbe,r[1],e[3],t)},Tr=function(r,e){var n=e[2],t=n[7],u=n[5],a=n[4];if(a)var i=a[1][2],c=eUe(i[3],t),f=i[2],o=[0,i[1]];else c=t,f=0,o=0;if(u)var s=u[1][2],v=eUe(s[2],c),l=$(Qr,s[1]);else v=c,l=HKe(0);var D=[0,[0,kve,l],[0,[0,Fve,$($r,n[6])],0]],b=[0,[0,dve,Q(Ee,f)],D],p=[0,[0,hve,Q(Pr,o)],b],E=[0,[0,yve,Q(be,n[3])],p],m=n[2],F=m[2],k=[0,[0,Tve,$(Zr,F[1])],0],d=[0,[0,_ve,ar(Ive,m[1],F[2],k)],E],h=[0,[0,Ave,Q(cr,n[1])],d];return ar(r,e[1],v,h)},Ir=function(r){var e=r[2],n=[0,[0,Nse,ir(e[1])],0],t=nr(e[2]);return ar(xse,r[1],t,n)},Or=function(r){var e=r[2];switch(e[0]){case 0:var n=[0,cr(e[1]),0];break;case 1:n=[0,hr(e[1]),0];break;default:n=[0,Pr(e[1]),1]}var t=[0,[0,Vme,n[1]],[0,[0,Yme,!!n[2]],0]];return[0,[0,Kme,Pr(r[1])],t]},Nr=function(r){var e=[0,[0,jme,yr(r[3])],0],n=[0,[0,Hme,Q(me,r[2])],e];return[0,[0,Xme,Pr(r[1])],n]},xr=function(r){var e=r[2],n=e[3],t=e[2],u=e[1];if(n){var a=n[1],i=a[2],c=[0,[0,tDe,Lr(i[1])],0],f=pAe([0,ar(uDe,a[1],i[2],c),FAe(re,t)]);return HKe(u?[0,kr(u[1]),f]:f)}var o=mAe(re,t);return HKe(u?[0,kr(u[1]),o]:o)},Lr=function(r){var e=r[2],n=r[1];switch(e[0]){case 0:var t=e[1],u=[0,[0,Vle,Z(Er,t[2])],0],a=[0,[0,Kle,$(ue,t[1])],u];return ar(Wle,n,nr(t[3]),a);case 1:var i=e[1],c=[0,[0,Jle,Z(Er,i[2])],0],f=[0,[0,qle,$(ne,i[1])],c];return ar(zle,n,nr(i[3]),f);case 2:return dr(n,e[1]);default:return Pr(e[1])}},Pr=function(r){var e=r[2],n=r[1];switch(e[0]){case 0:var t=e[1],u=[0,[0,Efe,$(ce,t[1])],0];return ar(mfe,n,nr(t[2]),u);case 1:var a=e[1],i=a[7],c=a[3],f=a[2],o=0===c[0]?[0,Ir(c[1]),0]:[0,Pr(c[1]),1],s=0===i[0]?0:[0,i[1]],v=a[9],l=eUe(nr(f[2][4]),v),D=[0,[0,Ffe,Q(be,a[8])],0],b=[0,[0,kfe,Q(Er,s)],D],p=[0,[0,dfe,!!o[2]],b],E=[0,[0,yfe,!1],[0,[0,hfe,Q(we,a[6])],p]],m=[0,[0,Afe,o[1]],[0,[0,_fe,!!a[4]],E]];return ar(Sfe,n,l,[0,[0,wfe,rSe],[0,[0,Cfe,xr(f)],m]]);case 2:var F=e[1],k=F[1];if(k){switch(k[1]){case 0:var d=BKr;break;case 1:d=TKr;break;case 2:d=IKr;break;case 3:d=OKr;break;case 4:d=NKr;break;case 5:d=xKr;break;case 6:d=LKr;break;case 7:d=PKr;break;case 8:d=RKr;break;case 9:d=MKr;break;case 10:d=GKr;break;default:d=UKr}var h=d}else h=gfe;var y=[0,[0,Bfe,Pr(F[3])],0],_=[0,[0,Tfe,Lr(F[2])],y];return ar(Ofe,n,F[4],[0,[0,Ife,ZT(h)],_]);case 3:var A=e[1],C=[0,[0,Nfe,Pr(A[3])],0],w=[0,[0,xfe,Pr(A[2])],C];switch(A[1]){case 0:var S=cKr;break;case 1:S=fKr;break;case 2:S=oKr;break;case 3:S=sKr;break;case 4:S=vKr;break;case 5:S=lKr;break;case 6:S=DKr;break;case 7:S=bKr;break;case 8:S=pKr;break;case 9:S=EKr;break;case 10:S=mKr;break;case 11:S=FKr;break;case 12:S=kKr;break;case 13:S=dKr;break;case 14:S=hKr;break;case 15:S=yKr;break;case 16:S=_Kr;break;case 17:S=AKr;break;case 18:S=CKr;break;case 19:S=wKr;break;case 20:S=SKr;break;default:S=gKr}return ar(Pfe,n,A[4],[0,[0,Lfe,ZT(S)],w]);case 4:var g=e[1],B=g[4],T=eUe(nr(g[3][2][2]),B);return ar(Rfe,n,T,Nr(g));case 5:return Tr(mve,[0,n,e[1]]);case 6:var I=e[1],O=[0,[0,Mfe,Q(Pr,I[2])],0];return ar(Ufe,n,0,[0,[0,Gfe,$(fe,I[1])],O]);case 7:var N=e[1],x=[0,[0,jfe,Pr(N[3])],0],L=[0,[0,Hfe,Pr(N[2])],x],P=[0,[0,Xfe,Pr(N[1])],L];return ar(Yfe,n,N[4],P);case 8:return Rr([0,n,e[1]]);case 9:var R=e[1],M=[0,[0,Vfe,Q(Pr,R[2])],0];return ar(Wfe,n,0,[0,[0,Kfe,$(fe,R[1])],M]);case 10:return cr(e[1]);case 11:var G=e[1],U=[0,[0,Jfe,Pr(G[1])],0];return ar(qfe,n,G[2],U);case 12:return gr([0,n,e[1]]);case 13:return _r([0,n,e[1]]);case 14:var j=e[1],H=j[1];return"number"!=typeof H&&3===H[0]?ar(rbe,n,j[3],[0,[0,ZDe,rSe],[0,[0,QDe,ZT(j[2])],0]]):sr([0,n,j]);case 15:var X=e[1];switch(X[1]){case 0:var Y=zfe;break;case 1:Y=$fe;break;default:Y=Qfe}var V=[0,[0,Zfe,Pr(X[3])],0],K=[0,[0,roe,Pr(X[2])],V];return ar(noe,n,X[4],[0,[0,eoe,ZT(Y)],K]);case 16:var W=e[1],J=Or(W);return ar(toe,n,W[3],J);case 17:var q=e[1],z=[0,[0,uoe,cr(q[2])],0],Z=[0,[0,aoe,cr(q[1])],z];return ar(ioe,n,q[3],Z);case 18:var rr=e[1],er=rr[4],tr=rr[3];if(tr)var ur=tr[1],ir=eUe(nr(ur[2][2]),er),fr=yr(ur);else ir=er,fr=HKe(0);var or=[0,[0,foe,Q(me,rr[2])],[0,[0,coe,fr],0]];return ar(soe,n,ir,[0,[0,ooe,Pr(rr[1])],or]);case 19:var vr=e[1],lr=[0,[0,voe,$(te,vr[1])],0];return ar(loe,n,nr(vr[2]),lr);case 20:var Dr=e[1],br=Dr[1],pr=br[4],mr=eUe(nr(br[3][2][2]),pr),Fr=[0,[0,Doe,!!Dr[2]],0];return ar(boe,n,mr,uAe(Nr(br),Fr));case 21:var kr=e[1],dr=kr[1],hr=[0,[0,poe,!!kr[2]],0],Ar=uAe(Or(dr),hr);return ar(Eoe,n,dr[3],Ar);case 22:var Cr=e[1],wr=[0,[0,moe,$(Pr,Cr[1])],0];return ar(Foe,n,Cr[2],wr);case 23:return ar(koe,n,e[1][1],0);case 24:var Sr=e[1],Mr=[0,[0,mbe,Br(Sr[2])],0],Gr=[0,[0,Fbe,Pr(Sr[1])],Mr];return ar(kbe,n,Sr[3],Gr);case 25:return Br([0,n,e[1]]);case 26:return ar(doe,n,e[1][1],0);case 27:var Ur=e[1],jr=[0,[0,hoe,Er(Ur[2])],0],Hr=[0,[0,yoe,Pr(Ur[1])],jr];return ar(_oe,n,Ur[3],Hr);case 28:var Xr=e[1],Yr=Xr[3],Vr=Xr[2],Kr=Xr[1];if(7<=Kr)return ar(Coe,n,Yr,[0,[0,Aoe,Pr(Vr)],0]);switch(Kr){case 0:var Wr=woe;break;case 1:Wr=Soe;break;case 2:Wr=goe;break;case 3:Wr=Boe;break;case 4:Wr=Toe;break;case 5:Wr=Ioe;break;case 6:Wr=Ooe;break;default:Wr=Z_e(Noe)}var Jr=[0,[0,Loe,!0],[0,[0,xoe,Pr(Vr)],0]];return ar(Roe,n,Yr,[0,[0,Poe,ZT(Wr)],Jr]);case 29:var qr=e[1],zr=qr[1]?Moe:Goe,$r=[0,[0,Uoe,!!qr[3]],0],Qr=[0,[0,joe,Pr(qr[2])],$r];return ar(Xoe,n,qr[4],[0,[0,Hoe,ZT(zr)],Qr]);default:var Zr=e[1],re=[0,[0,Yoe,!!Zr[3]],0],ee=[0,[0,Voe,Q(Pr,Zr[1])],re];return ar(Koe,n,Zr[2],ee)}},Rr=function(r){var e=r[2],n=e[7],t=e[3],u=e[2],a=0===t[0]?t[1]:Z_e(use),i=0===n[0]?0:[0,n[1]],c=e[9],f=eUe(nr(u[2][4]),c),o=[0,[0,ase,Q(be,e[8])],0],s=[0,[0,cse,!1],[0,[0,ise,Q(Er,i)],o]],v=[0,[0,fse,Q(we,e[6])],s],l=[0,[0,sse,!!e[4]],[0,[0,ose,!!e[5]],v]],D=[0,[0,vse,Ir(a)],l],b=[0,[0,lse,xr(u)],D],p=[0,[0,Dse,Q(cr,e[1])],b];return ar(bse,r[1],f,p)},Mr=function(r){var e=r[2],n=[0,[0,Rle,$(Xr,e[3])],0],t=[0,[0,Mle,pr(0,e[4])],n],u=[0,[0,Gle,Q(be,e[2])],t],a=[0,[0,Ule,cr(e[1])],u];return ar(jle,r[1],e[5],a)},Gr=function(r,e){var n=e[2],t=r?sve:vve,u=[0,[0,lve,Q(Dr,n[4])],0],a=[0,[0,Dve,Q(Dr,n[3])],u],i=[0,[0,bve,Q(be,n[2])],a],c=[0,[0,pve,cr(n[1])],i];return ar(t,e[1],n[5],c)},Ur=function(r){var e=r[2],n=[0,[0,ive,Dr(e[3])],0],t=[0,[0,cve,Q(be,e[2])],n],u=[0,[0,fve,cr(e[1])],t];return ar(ove,r[1],e[4],u)},jr=function(r){if(r){var e=r[1];if(0===e[0])return $(Ae,e[1]);var n=e[1],t=n[2];if(t){var u=[0,[0,rve,cr(t[1])],0];return HKe([0,ar(eve,n[1],0,u),0])}return HKe(0)}return HKe(0)},Hr=function(r){return r?Qse:Zse},Xr=function(r){var e=r[2],n=e[1],t=0===n[0]?cr(n[1]):fr(n[1]),u=[0,[0,Xle,t],[0,[0,Hle,Q(Ee,e[2])],0]];return ar(Yle,r[1],e[3],u)},Yr=function(r){var e=r[2],n=e[6],t=e[4],u=HKe(t?[0,Xr(t[1]),0]:0),a=n?$(Qr,n[1][2][1]):HKe(0),i=[0,[0,Hse,u],[0,[0,jse,a],[0,[0,Use,$(Xr,e[5])],0]]],c=[0,[0,Xse,pr(0,e[3])],i],f=[0,[0,Yse,Q(be,e[2])],c],o=[0,[0,Vse,cr(e[1])],f];return ar(Kse,r[1],e[7],o)},Vr=function(r){var e=r[2],n=e[2],t=e[1],u=VGe(t[1],n[1]),a=[0,[0,Rse,Q(we,e[3])],0],i=[0,[0,Mse,dr(u,[0,t,[1,n],0])],a];return ar(Gse,r[1],e[4],i)},Kr=function(r){var e=r[2],n=e[2],t=e[1],u=0===n[0]?t[1]:n[1][1],a=[0,[0,Lse,dr(VGe(t[1],u),[0,t,n,0])],0];return ar(Pse,r[1],e[3],a)},Wr=function(r){var e=r[2],n=r[1];switch(e[0]){case 0:return Ir([0,n,e[1]]);case 1:var t=e[1],u=[0,[0,Hie,Q(cr,t[1])],0];return ar(Xie,n,t[2],u);case 2:return Tr(Eve,[0,n,e[1]]);case 3:var a=e[1],i=[0,[0,Yie,Q(cr,a[1])],0];return ar(Vie,n,a[2],i);case 4:return ar(Kie,n,e[1][1],0);case 5:return Yr([0,n,e[1]]);case 6:var c=e[1],f=c[5],o=c[4],s=c[3],v=c[2];if(s){var l=s[1];if(0!==l[0]&&!l[1][2])return ar(Jie,n,f,[0,[0,Wie,Q(Fr,o)],0])}if(v){var D=v[1];switch(D[0]){case 0:var b=Kr(D[1]);break;case 1:b=Vr(D[1]);break;case 2:b=Yr(D[1]);break;case 3:b=Dr(D[1]);break;case 4:b=Ur(D[1]);break;case 5:b=Gr(1,D[1]);break;default:b=Mr(D[1])}var p=b}else p=rSe;var E=[0,[0,qie,Q(Fr,o)],0],m=[0,[0,$ie,p],[0,[0,zie,jr(s)],E]],F=c[1];return ar(Zie,n,f,[0,[0,Qie,!(!F&&!F)],m]);case 7:return Vr([0,n,e[1]]);case 8:var k=e[1],d=[0,[0,Wse,$(Xr,k[3])],0],h=[0,[0,Jse,pr(0,k[4])],d],y=[0,[0,qse,Q(be,k[2])],h],_=[0,[0,zse,cr(k[1])],y];return ar($se,n,k[5],_);case 9:var A=e[1],C=A[1],w=0===C[0]?cr(C[1]):Fr(C[1]),S=0===A[3][0]?"CommonJS":"ES",g=[0,[0,nce,w],[0,[0,ece,Ir(A[2])],[0,[0,rce,S],0]]];return ar(tce,n,A[4],g);case 10:var B=e[1],T=[0,[0,uce,Er(B[1])],0];return ar(ace,n,B[2],T);case 11:var I=e[1],O=[0,[0,nve,Dr(I[3])],0],N=[0,[0,tve,Q(be,I[2])],O],x=[0,[0,uve,cr(I[1])],N];return ar(ave,n,I[4],x);case 12:return Gr(1,[0,n,e[1]]);case 13:return Kr([0,n,e[1]]);case 14:var L=e[1],P=[0,[0,ice,Pr(L[2])],0],R=[0,[0,cce,Wr(L[1])],P];return ar(fce,n,L[3],R);case 15:return ar(oce,n,e[1][1],0);case 16:var M=e[1],G=M[2],U=G[2],j=G[1];switch(U[0]){case 0:var H=U[1],X=[0,[0,dle,!!H[2]],[0,[0,kle,!!H[3]],0]],Y=H[1],V=[0,[0,hle,$((function(r){var e=r[2],n=e[2],t=n[2],u=t[1],a=u?ube:abe,i=[0,[0,Ele,ar(fbe,n[1],t[2],[0,[0,cbe,!!u],[0,[0,ibe,ZT(a)],0]])],0],c=[0,[0,mle,cr(e[1])],i];return ar(Fle,r[1],0,c)}),Y)],X],K=ar(yle,j,nr(H[4]),V);break;case 1:var W=U[1],J=[0,[0,Ale,!!W[2]],[0,[0,_le,!!W[3]],0]],q=W[1],z=[0,[0,Cle,$((function(r){var e=r[2],n=e[2],t=n[2],u=[0,[0,Dle,ar($De,n[1],t[3],[0,[0,zDe,t[1]],[0,[0,qDe,ZT(t[2])],0]])],0],a=[0,[0,ble,cr(e[1])],u];return ar(ple,r[1],0,a)}),q)],J];K=ar(wle,j,nr(W[4]),z);break;case 2:var Z=U[1],rr=Z[1];if(0===rr[0])var er=mAe((function(r){var e=[0,[0,vle,cr(r[2][1])],0];return ar(lle,r[1],0,e)}),rr[1]);else er=mAe((function(r){var e=r[2],n=[0,[0,fle,Fr(e[2])],0],t=[0,[0,ole,cr(e[1])],n];return ar(sle,r[1],0,t)}),rr[1]);var tr=[0,[0,gle,!!Z[2]],[0,[0,Sle,!!Z[3]],0]],ur=[0,[0,Ble,HKe(er)],tr];K=ar(Tle,j,nr(Z[4]),ur);break;default:var ir=U[1],fr=[0,[0,Ile,!!ir[2]],0],or=ir[1],sr=[0,[0,Ole,$((function(r){var e=[0,[0,ile,cr(r[2][1])],0];return ar(cle,r[1],0,e)}),or)],fr];K=ar(Nle,j,nr(ir[3]),sr)}var vr=[0,[0,Lle,cr(M[1])],[0,[0,xle,K],0]];return ar(Ple,n,M[3],vr);case 17:var lr=e[1],br=lr[2],kr=0===br[0]?Wr(br[1]):Pr(br[1]),dr=[0,[0,vce,kr],[0,[0,sce,ZT(Hr(1))],0]];return ar(lce,n,lr[3],dr);case 18:var hr=e[1],yr=hr[5],_r=hr[4],Ar=hr[3],Cr=hr[2];if(Cr){var wr=Cr[1];if(0!==wr[0]&&!wr[1][2]){var Sr=[0,[0,Dce,ZT(Hr(_r))],0];return ar(pce,n,yr,[0,[0,bce,Q(Fr,Ar)],Sr])}}var gr=[0,[0,Ece,ZT(Hr(_r))],0],Br=[0,[0,mce,Q(Fr,Ar)],gr],Or=[0,[0,Fce,jr(Cr)],Br];return ar(dce,n,yr,[0,[0,kce,Q(Wr,hr[1])],Or]);case 19:var Nr=e[1],Rr=[0,[0,hce,Q(GKe,Nr[2])],0],$r=[0,[0,yce,Pr(Nr[1])],Rr];return ar(_ce,n,Nr[3],$r);case 20:var Qr=e[1],Zr=[0,[0,Ace,Wr(Qr[4])],0],re=[0,[0,Cce,Q(Pr,Qr[3])],Zr],ee=[0,[0,wce,Q(Pr,Qr[2])],re],ne=[0,[0,Sce,Q((function(r){return 0===r[0]?mr(r[1]):Pr(r[1])}),Qr[1])],ee];return ar(gce,n,Qr[5],ne);case 21:var te=e[1],ue=te[1],ae=0===ue[0]?mr(ue[1]):Lr(ue[1]),ie=[0,[0,Bce,!!te[4]],0],ce=[0,[0,Tce,Wr(te[3])],ie],fe=[0,[0,Oce,ae],[0,[0,Ice,Pr(te[2])],ce]];return ar(Nce,n,te[5],fe);case 22:var oe=e[1],se=oe[1],ve=0===se[0]?mr(se[1]):Lr(se[1]),le=[0,[0,xce,!!oe[4]],0],De=[0,[0,Lce,Wr(oe[3])],le],pe=[0,[0,Rce,ve],[0,[0,Pce,Pr(oe[2])],De]];return ar(Mce,n,oe[5],pe);case 23:var Ee=e[1],me=Ee[7],Fe=Ee[3],ke=Ee[2],de=0===Fe[0]?Fe[1]:Z_e(Woe),he=0===me[0]?0:[0,me[1]],ye=Ee[9],_e=eUe(nr(ke[2][4]),ye),Ae=[0,[0,Joe,Q(be,Ee[8])],0],Ce=[0,[0,zoe,!1],[0,[0,qoe,Q(Er,he)],Ae]],Se=[0,[0,$oe,Q(we,Ee[6])],Ce],ge=[0,[0,Zoe,!!Ee[4]],[0,[0,Qoe,!!Ee[5]],Se]],Be=[0,[0,rse,Ir(de)],ge],Te=[0,[0,ese,xr(ke)],Be];return ar(tse,n,_e,[0,[0,nse,Q(cr,Ee[1])],Te]);case 24:var Ie=e[1],Oe=Ie[3];if(Oe){var Ne=Oe[1][2],xe=Ne[2],Le=Ne[1],Pe=Le[2],Re=function(r){return eUe(r,xe)};switch(Pe[0]){case 0:var Me=Pe[1],Ge=nUe(Me[2],xe),Ue=[0,[0,Me[1],Ge]];break;case 1:var je=Pe[1],He=Re(je[2]);Ue=[1,[0,je[1],He]];break;case 2:var Xe=Pe[1],Ye=Re(Xe[7]);Ue=[2,[0,Xe[1],Xe[2],Xe[3],Xe[4],Xe[5],Xe[6],Ye]];break;case 3:var Ve=Pe[1],Ke=Re(Ve[2]);Ue=[3,[0,Ve[1],Ke]];break;case 4:Ue=[4,[0,Re(Pe[1][1])]];break;case 5:var We=Pe[1],Je=Re(We[7]);Ue=[5,[0,We[1],We[2],We[3],We[4],We[5],We[6],Je]];break;case 6:var qe=Pe[1],ze=Re(qe[5]);Ue=[6,[0,qe[1],qe[2],qe[3],qe[4],ze]];break;case 7:var $e=Pe[1],Qe=Re($e[4]);Ue=[7,[0,$e[1],$e[2],$e[3],Qe]];break;case 8:var Ze=Pe[1],rn=Re(Ze[5]);Ue=[8,[0,Ze[1],Ze[2],Ze[3],Ze[4],rn]];break;case 9:var en=Pe[1],nn=Re(en[4]);Ue=[9,[0,en[1],en[2],en[3],nn]];break;case 10:var tn=Pe[1],un=Re(tn[2]);Ue=[10,[0,tn[1],un]];break;case 11:var an=Pe[1],cn=Re(an[4]);Ue=[11,[0,an[1],an[2],an[3],cn]];break;case 12:var fn=Pe[1],on=Re(fn[5]);Ue=[12,[0,fn[1],fn[2],fn[3],fn[4],on]];break;case 13:var sn=Pe[1],vn=Re(sn[3]);Ue=[13,[0,sn[1],sn[2],vn]];break;case 14:var ln=Pe[1],Dn=Re(ln[3]);Ue=[14,[0,ln[1],ln[2],Dn]];break;case 15:Ue=[15,[0,Re(Pe[1][1])]];break;case 16:var bn=Pe[1],pn=Re(bn[3]);Ue=[16,[0,bn[1],bn[2],pn]];break;case 17:var En=Pe[1],mn=Re(En[3]);Ue=[17,[0,En[1],En[2],mn]];break;case 18:var Fn=Pe[1],kn=Re(Fn[5]);Ue=[18,[0,Fn[1],Fn[2],Fn[3],Fn[4],kn]];break;case 19:var dn=Pe[1],hn=Re(dn[3]);Ue=[19,[0,dn[1],dn[2],hn]];break;case 20:var yn=Pe[1],_n=Re(yn[5]);Ue=[20,[0,yn[1],yn[2],yn[3],yn[4],_n]];break;case 21:var An=Pe[1],Cn=Re(An[5]);Ue=[21,[0,An[1],An[2],An[3],An[4],Cn]];break;case 22:var wn=Pe[1],Sn=Re(wn[5]);Ue=[22,[0,wn[1],wn[2],wn[3],wn[4],Sn]];break;case 23:var gn=Pe[1],Bn=gn[10],Tn=Re(gn[9]);Ue=[23,[0,gn[1],gn[2],gn[3],gn[4],gn[5],gn[6],gn[7],gn[8],Tn,Bn]];break;case 24:var In=Pe[1],On=Re(In[4]);Ue=[24,[0,In[1],In[2],In[3],On]];break;case 25:var Nn=Pe[1],xn=Re(Nn[5]);Ue=[25,[0,Nn[1],Nn[2],Nn[3],Nn[4],xn]];break;case 26:var Ln=Pe[1],Pn=Re(Ln[5]);Ue=[26,[0,Ln[1],Ln[2],Ln[3],Ln[4],Pn]];break;case 27:var Rn=Pe[1],Mn=Re(Rn[3]);Ue=[27,[0,Rn[1],Rn[2],Mn]];break;case 28:var Gn=Pe[1],Un=Re(Gn[2]);Ue=[28,[0,Gn[1],Un]];break;case 29:var jn=Pe[1],Hn=Re(jn[3]);Ue=[29,[0,jn[1],jn[2],Hn]];break;case 30:var Xn=Pe[1],Yn=Re(Xn[2]);Ue=[30,[0,Xn[1],Yn]];break;case 31:var Vn=Pe[1],Kn=Re(Vn[4]);Ue=[31,[0,Vn[1],Vn[2],Vn[3],Kn]];break;case 32:var Wn=Pe[1],Jn=Re(Wn[4]);Ue=[32,[0,Wn[1],Wn[2],Wn[3],Jn]];break;case 33:var qn=Pe[1],zn=Re(qn[5]);Ue=[33,[0,qn[1],qn[2],qn[3],qn[4],zn]];break;case 34:var $n=Pe[1],Qn=Re($n[3]);Ue=[34,[0,$n[1],$n[2],Qn]];break;case 35:var Zn=Pe[1],rt=Re(Zn[3]);Ue=[35,[0,Zn[1],Zn[2],rt]];break;default:var et=Pe[1],nt=Re(et[3]);Ue=[36,[0,et[1],et[2],nt]]}var tt=Wr([0,Le[1],Ue])}else tt=rSe;var ut=[0,[0,Uce,Wr(Ie[2])],[0,[0,Gce,tt],0]],at=[0,[0,jce,Pr(Ie[1])],ut];return ar(Hce,n,Ie[4],at);case 25:var it=e[1],ct=it[4],ft=it[3];if(ct){var ot=ct[1];if(0===ot[0])var st=mAe((function(r){var e=r[1],n=r[3],t=r[2],u=t?VGe(n[1],t[1][1]):n[1],a=t?t[1]:n,i=0;if(e)switch(e[1]){case 0:var c=zr;break;case 1:c=hf;break;default:i=1}else i=1;i&&(c=rSe);var f=[0,[0,Ome,cr(a)],[0,[0,Ime,c],0]];return ar(xme,u,0,[0,[0,Nme,cr(n)],f])}),ot[1]);else{var vt=ot[1],lt=[0,[0,Bme,cr(vt[2])],0];st=[0,ar(Tme,vt[1],0,lt),0]}var Dt=st}else Dt=ct;if(ft)var bt=ft[1],pt=[0,[0,Sme,cr(bt)],0],Et=[0,ar(gme,bt[1],0,pt),Dt];else Et=Dt;switch(it[1]){case 0:var mt=Xce;break;case 1:mt=Yce;break;default:mt=Vce}var Ft=[0,[0,Kce,ZT(mt)],0],kt=[0,[0,Wce,Fr(it[2])],Ft],dt=[0,[0,Jce,HKe(Et)],kt];return ar(qce,n,it[5],dt);case 26:return Mr([0,n,e[1]]);case 27:var ht=e[1],yt=[0,[0,zce,Wr(ht[2])],0],_t=[0,[0,$ce,cr(ht[1])],yt];return ar(Qce,n,ht[3],_t);case 28:var At=e[1],Ct=[0,[0,Zce,Q(Pr,At[1])],0];return ar(rfe,n,At[2],Ct);case 29:var wt=e[1],St=[0,[0,efe,$(Jr,wt[2])],0],gt=[0,[0,nfe,Pr(wt[1])],St];return ar(tfe,n,wt[3],gt);case 30:var Bt=e[1],Tt=[0,[0,ufe,Pr(Bt[1])],0];return ar(afe,n,Bt[2],Tt);case 31:var It=e[1],Ot=[0,[0,ife,Q(Ir,It[3])],0],Nt=[0,[0,cfe,Q(qr,It[2])],Ot],xt=[0,[0,ffe,Ir(It[1])],Nt];return ar(ofe,n,It[4],xt);case 32:return Ur([0,n,e[1]]);case 33:return Gr(0,[0,n,e[1]]);case 34:return mr([0,n,e[1]]);case 35:var Lt=e[1],Pt=[0,[0,sfe,Wr(Lt[2])],0],Rt=[0,[0,vfe,Pr(Lt[1])],Pt];return ar(lfe,n,Lt[3],Rt);default:var Mt=e[1],Gt=[0,[0,Dfe,Wr(Mt[2])],0],Ut=[0,[0,bfe,Pr(Mt[1])],Gt];return ar(pfe,n,Mt[3],Ut)}},Jr=function(r){var e=r[2],n=[0,[0,Sse,$(Wr,e[2])],0],t=[0,[0,gse,Q(Pr,e[1])],n];return ar(Bse,r[1],e[3],t)},qr=function(r){var e=r[2],n=[0,[0,Tse,Ir(e[2])],0],t=[0,[0,Ise,Q(Lr,e[1])],n];return ar(Ose,r[1],e[3],t)},$r=function(r){var e=r[2],n=[0,[0,Cve,Pr(e[1])],0];return ar(wve,r[1],e[2],n)},Qr=function(r){var e=r[2],n=[0,[0,Sve,Q(Ee,e[2])],0],t=[0,[0,gve,cr(e[1])],n];return ar(Bve,r[1],0,t)},Zr=function(r){switch(r[0]){case 0:var e=r[1],n=e[2],t=n[6],u=n[2];switch(u[0]){case 0:var a=[0,sr(u[1]),0,t];break;case 1:a=[0,cr(u[1]),0,t];break;case 2:a=[0,hr(u[1]),0,t];break;default:var i=u[1][2],c=eUe(i[2],t);a=[0,Pr(i[1]),1,c]}switch(n[1]){case 0:var f=Ove;break;case 1:f=Nve;break;case 2:f=xve;break;default:f=Lve}var o=[0,[0,Pve,$($r,n[5])],0],s=[0,[0,Gve,ZT(f)],[0,[0,Mve,!!n[4]],[0,[0,Rve,!!a[2]],o]]],v=[0,[0,Uve,Rr(n[3])],s];return ar(Hve,e[1],a[3],[0,[0,jve,a[1]],v]);case 1:var l=r[1],D=l[2],b=D[6],p=D[2],E=D[1];switch(E[0]){case 0:var m=[0,sr(E[1]),0,b];break;case 1:m=[0,cr(E[1]),0,b];break;case 2:m=Z_e($ve);break;default:var F=E[1][2],k=eUe(F[2],b);m=[0,Pr(F[1]),1,k]}if("number"==typeof p)if(p)var d=0,h=0;else d=1,h=0;else d=0,h=[0,p[1]];var y=d?[0,[0,Qve,!!d],0]:d,_=[0,[0,Zve,Q(ve,D[5])],0],A=[0,[0,ele,!!m[2]],[0,[0,rle,!!D[4]],_]],C=[0,[0,nle,Z(Er,D[3])],A],w=[0,[0,tle,Q(Pr,h)],C],S=uAe([0,[0,ule,m[1]],w],y);return ar(ale,l[1],m[3],S);default:var g=r[1],B=g[2],T=B[2];if("number"==typeof T)if(T)var I=0,O=0;else I=1,O=0;else I=0,O=[0,T[1]];var N=I?[0,[0,Xve,!!I],0]:I,x=[0,[0,Yve,Q(ve,B[5])],0],L=[0,[0,Kve,!1],[0,[0,Vve,!!B[4]],x]],P=[0,[0,Wve,Z(Er,B[3])],L],R=[0,[0,Jve,Q(Pr,O)],P],M=uAe([0,[0,qve,hr(B[1])],R],N);return ar(zve,g[1],B[6],M)}},re=function(r){var e=r[2],n=e[2],t=e[1];if(n){var u=[0,[0,$le,Pr(n[1])],0],a=[0,[0,Qle,Lr(t)],u];return ar(Zle,r[1],0,a)}return Lr(t)},ee=function(r,e){var n=[0,[0,aDe,Lr(e[1])],0];return ar(iDe,r,e[2],n)},ne=function(r){switch(r[0]){case 0:var e=r[1],n=e[2],t=n[2],u=n[1];if(t){var a=[0,[0,cDe,Pr(t[1])],0],i=[0,[0,fDe,Lr(u)],a];return ar(oDe,e[1],0,i)}return Lr(u);case 1:var c=r[1];return ee(c[1],c[2]);default:return rSe}},te=function(r){if(0===r[0]){var e=r[1],n=e[2];switch(n[0]){case 0:var t=n[3],u=Pr(n[2]),a=[0,n[1],u,sDe,0,t,0];break;case 1:var i=n[2],c=Rr([0,i[1],i[2]]);a=[0,n[1],c,vDe,1,0,0];break;case 2:var f=n[2],o=n[3],s=Rr([0,f[1],f[2]]);a=[0,n[1],s,lDe,0,0,o];break;default:var v=n[2],l=n[3],D=Rr([0,v[1],v[2]]);a=[0,n[1],D,DDe,0,0,l]}var b=a[6],p=a[1];switch(p[0]){case 0:var E=[0,sr(p[1]),0,b];break;case 1:E=[0,cr(p[1]),0,b];break;case 2:E=Z_e(bDe);break;default:var m=p[1][2],F=eUe(m[2],b);E=[0,Pr(m[1]),1,F]}return ar(hDe,e[1],E[3],[0,[0,dDe,E[1]],[0,[0,kDe,a[2]],[0,[0,FDe,ZT(a[3])],[0,[0,mDe,!!a[4]],[0,[0,EDe,!!a[5]],[0,[0,pDe,!!E[2]],0]]]]]])}var k=r[1],d=k[2],h=[0,[0,yDe,Pr(d[1])],0];return ar(_De,k[1],d[2],h)},ue=function(r){if(0===r[0]){var e=r[1],n=e[2],t=n[3],u=n[2],a=n[1];switch(a[0]){case 0:var i=[0,sr(a[1]),0,0];break;case 1:i=[0,cr(a[1]),0,0];break;default:var c=a[1][2],f=c[2];i=[0,Pr(c[1]),1,f]}if(t)var o=t[1],s=VGe(u[1],o[1]),v=[0,[0,ADe,Pr(o)],0],l=ar(wDe,s,0,[0,[0,CDe,Lr(u)],v]);else l=Lr(u);return ar(NDe,e[1],i[3],[0,[0,ODe,i[1]],[0,[0,IDe,l],[0,[0,TDe,Dd],[0,[0,BDe,!1],[0,[0,gDe,!!n[4]],[0,[0,SDe,!!i[2]],0]]]]]])}var D=r[1];return ee(D[1],D[2])},ae=function(r){var e=r[2],n=[0,[0,xDe,Pr(e[1])],0];return ar(LDe,r[1],e[2],n)},ie=function(r){return 0===r[0]?Pr(r[1]):ae(r[1])},ce=function(r){switch(r[0]){case 0:return Pr(r[1]);case 1:return ae(r[1]);default:return rSe}},fe=function(r){var e=r[2],n=[0,[0,PDe,!!e[3]],0],t=[0,[0,RDe,Pr(e[2])],n],u=[0,[0,MDe,Lr(e[1])],t];return ar(GDe,r[1],0,u)},oe=function(r){var e=r[2],n=e[1],t=jKe([0,[0,Dbe,ZT(n[1])],[0,[0,lbe,ZT(n[2])],0]]);return ar(Ebe,r[1],0,[0,[0,pbe,t],[0,[0,bbe,!!e[2]],0]])},se=function(r){var e=r[2],n=[0,[0,wbe,Q(Pr,e[2])],0],t=[0,[0,Sbe,Lr(e[1])],n];return ar(gbe,r[1],0,t)},ve=function(r){var e=r[2],n=e[1]?kh:"plus";return ar(Tbe,r[1],e[2],[0,[0,Bbe,n],0])},le=function(r){var e=r[2];return lr(e[2],e[1])},De=function(r){var e=r[2],n=[0,[0,rpe,Dr(e[1][2])],[0,[0,Zbe,!1],0]],t=[0,[0,epe,Q(cr,0)],n];return ar(npe,r[1],e[2],t)},be=function(r){var e=r[2],n=[0,[0,BEe,$(pe,e[1])],0],t=nr(e[2]);return ar(TEe,r[1],t,n)},pe=function(r){var e=r[2],n=e[1][2],t=[0,[0,IEe,Q(Dr,e[4])],0],u=[0,[0,OEe,Q(ve,e[3])],t],a=[0,[0,NEe,Z(Er,e[2])],u];return ar(LEe,r[1],n[2],[0,[0,xEe,ZT(n[1])],a])},Ee=function(r){var e=r[2],n=[0,[0,PEe,$(Dr,e[1])],0],t=nr(e[2]);return ar(REe,r[1],t,n)},me=function(r){var e=r[2],n=[0,[0,MEe,$(Fe,e[1])],0],t=nr(e[2]);return ar(GEe,r[1],t,n)},Fe=function(r){if(0===r[0])return Dr(r[1]);var e=r[1],n=e[1],t=e[2][1];return or([0,n,[0,[0,$Ge(0,[0,n,UEe])],0,t]])},ke=function(r){if(0===r[0]){var e=r[1],n=e[2],t=n[1],u=0===t[0]?Ar(t[1]):Cr(t[1]),a=[0,[0,ume,u],[0,[0,tme,Q(_e,n[2])],0]];return ar(ame,e[1],0,a)}var i=r[1],c=i[2],f=[0,[0,ime,Pr(c[1])],0];return ar(cme,i[1],c[2],f)},de=function(r){var e=[0,[0,rme,Sr(r[2][1])],0];return ar(eme,r[1],0,e)},he=function(r){var e=r[2],n=e[1],t=r[1],u=n?Pr(n[1]):ar(fme,[0,t[1],[0,t[2][1],t[2][2]+1|0],[0,t[3][1],t[3][2]-1|0]],0,0);return ar(sme,t,nr(e[2]),[0,[0,ome,u],0])},ye=function(r){var e=r[2],n=r[1];switch(e[0]){case 0:return gr([0,n,e[1]]);case 1:return _r([0,n,e[1]]);case 2:return he([0,n,e[1]]);case 3:var t=e[1],u=[0,[0,vme,Pr(t[1])],0];return ar(lme,n,t[2],u);default:var a=e[1];return ar(pme,n,0,[0,[0,bme,ZT(a[1])],[0,[0,Dme,ZT(a[2])],0]])}},_e=function(r){return 0===r[0]?sr([0,r[1],r[2]]):he([0,r[1],r[2]])},Ae=function(r){var e=r[2],n=e[2],t=e[1],u=cr(n?n[1]:t),a=[0,[0,Cme,cr(t)],[0,[0,Ame,u],0]];return ar(wme,r[1],0,a)},Ce=function(r){var e=r[2];if(e[1])var n=e[2],t=Lme;else n=e[2],t=Pme;return ar(t,r[1],0,[0,[0,Rme,ZT(n)],0])},we=function(r){var e=r[2],n=e[1];if(n)var t=[0,[0,Mme,Pr(n[1])],0],u=Gme;else t=0,u=Ume;return ar(u,r[1],e[2],t)},Se=g[2],ge=ir(Se[1]),Be=k?[0,[0,Gie,ge],[0,[0,Mie,ur(Se[3])],0]]:[0,[0,Uie,ge],0],Te=ar(jie,g[1],Se[2],Be),Ie=uAe(T,MKe[1]);if(Te.errors=$((function(r){var e=r[2];if("number"==typeof e){var n=e;if(56<=n)switch(n){case 56:var t=eJr;break;case 57:t=nJr;break;case 58:t=tJr;break;case 59:t=nAe(aJr,uJr);break;case 60:t=nAe(cJr,iJr);break;case 61:t=nAe(oJr,fJr);break;case 62:t=sJr;break;case 63:t=vJr;break;case 64:t=lJr;break;case 65:t=DJr;break;case 66:t=bJr;break;case 67:t=pJr;break;case 68:t=EJr;break;case 69:t=mJr;break;case 70:t=FJr;break;case 71:t=kJr;break;case 72:t=dJr;break;case 73:t=hJr;break;case 74:t=yJr;break;case 75:t=_Jr;break;case 76:t=AJr;break;case 77:t=CJr;break;case 78:t=wJr;break;case 79:t=SJr;break;case 80:t=gJr;break;case 81:t=BJr;break;case 82:t=nAe(IJr,TJr);break;case 83:t=OJr;break;case 84:t=NJr;break;case 85:t=xJr;break;case 86:t=LJr;break;case 87:t=PJr;break;case 88:t=RJr;break;case 89:t=MJr;break;case 90:t=GJr;break;case 91:t=UJr;break;case 92:t=jJr;break;case 93:t=HJr;break;case 94:t=nAe(YJr,XJr);break;case 95:t=VJr;break;case 96:t=KJr;break;case 97:t=WJr;break;case 98:t=JJr;break;case 99:t=qJr;break;case 100:t=zJr;break;case 101:t=$Jr;break;case 102:t=QJr;break;case 103:t=ZJr;break;case 104:t=rqr;break;case 105:t=eqr;break;case 106:t=nqr;break;case 107:t=tqr;break;case 108:t=uqr;break;case 109:t=aqr;break;default:t=iqr}else switch(n){case 0:t=QKr;break;case 1:t=ZKr;break;case 2:t=rWr;break;case 3:t=eWr;break;case 4:t=nWr;break;case 5:t=tWr;break;case 6:t=uWr;break;case 7:t=aWr;break;case 8:t=iWr;break;case 9:t=cWr;break;case 10:t=fWr;break;case 11:t=oWr;break;case 12:t=sWr;break;case 13:t=vWr;break;case 14:t=lWr;break;case 15:t=DWr;break;case 16:t=bWr;break;case 17:t=pWr;break;case 18:t=EWr;break;case 19:t=mWr;break;case 20:t=FWr;break;case 21:t=kWr;break;case 22:t=dWr;break;case 23:t=hWr;break;case 24:t=yWr;break;case 25:t=_Wr;break;case 26:t=AWr;break;case 27:t=CWr;break;case 28:t=wWr;break;case 29:t=SWr;break;case 30:t=gWr;break;case 31:t=nAe(TWr,BWr);break;case 32:t=IWr;break;case 33:t=OWr;break;case 34:t=NWr;break;case 35:t=xWr;break;case 36:t=LWr;break;case 37:t=PWr;break;case 38:t=RWr;break;case 39:t=MWr;break;case 40:t=GWr;break;case 41:t=UWr;break;case 42:t=jWr;break;case 43:t=HWr;break;case 44:t=XWr;break;case 45:t=YWr;break;case 46:t=VWr;break;case 47:t=KWr;break;case 48:t=WWr;break;case 49:t=JWr;break;case 50:t=qWr;break;case 51:t=zWr;break;case 52:t=$Wr;break;case 53:t=QWr;break;case 54:t=ZWr;break;default:t=rJr}}else switch(e[0]){case 0:t=nAe(cqr,e[1]);break;case 1:var u=e[2],a=e[1];t=II(xCe(fqr),u,u,a);break;case 2:var i=e[1],c=e[2];t=TI(xCe(oqr),c,i);break;case 3:var f=e[1];t=BI(xCe(sqr),f);break;case 4:var o=e[2],s=e[1],v=BI(xCe(vqr),s);if(o){var l=o[1];t=TI(xCe(lqr),l,v)}else t=BI(xCe(Dqr),v);break;case 5:var D=e[1];t=TI(xCe(bqr),D,D);break;case 6:var b=e[3],p=e[2],E=e[1];if(p){var m=p[1];if(3<=m)t=TI(xCe(pqr),b,E);else{switch(m){case 0:var F=JKr;break;case 1:F=qKr;break;case 2:F=zKr;break;default:F=$Kr}t=OI(xCe(Eqr),E,F,b,F)}}else t=TI(xCe(mqr),b,E);break;case 7:var k=e[2],d=k;if(0===HT(d))var h=d;else{var y=wAe(d);NB(y,0,fAe(LB(d,0))),h=y}var _=h,A=e[1];t=II(xCe(Fqr),k,_,A);break;case 8:t=e[1]?kqr:dqr;break;case 9:var C=e[1],w=e[2];t=TI(xCe(hqr),w,C);break;case 10:var S=e[1];t=BI(xCe(yqr),S);break;case 11:var g=e[1];t=BI(xCe(_qr),g);break;case 12:var B=e[2],T=e[1];t=TI(xCe(Aqr),T,B);break;case 13:var I=e[2],O=e[1];t=TI(xCe(Cqr),O,I);break;case 14:t=nAe(Sqr,nAe(e[1],wqr));break;case 15:var N=e[1]?gqr:Bqr;t=BI(xCe(Tqr),N);break;case 16:t=nAe(Oqr,nAe(e[1],Iqr));break;case 17:var x=nAe(xqr,nAe(e[2],Nqr));t=nAe(e[1],x);break;case 18:t=nAe(Lqr,e[1]);break;case 19:t=e[1]?nAe(Rqr,Pqr):nAe(Gqr,Mqr);break;case 20:var L=e[1];t=BI(xCe(Uqr),L);break;case 21:t=nAe(Hqr,nAe(e[1],jqr));break;case 22:var P=e[1],R=e[2]?Xqr:Yqr,M=e[4]?nAe(Vqr,P):P,G=e[3]?Kqr:Wqr;t=nAe(zqr,nAe(R,nAe(G,nAe(qqr,nAe(M,Jqr)))));break;case 23:t=nAe(Qqr,nAe(e[1],$qr));break;default:var U=e[1];t=BI(xCe(Zqr),U)}var j=[0,[0,Wme,ZT(t)],0];return jKe([0,[0,Jme,er(r[1])],j])}),Ie),p){var Oe=d[1];Te.tokens=HKe(FAe(BI(YKe[1],z),Oe))}return Te}var Ne=K[1];if(5===Ne){var xe=K[2];if(xe&&6===xe[1]){V=[0,q+2|0,0,[0,PAe(pAe([0,q,J])),W]],K=xe[2];continue}}else if(!(6<=Ne)){var Le=K[2];V=[0,q+cVe(Ne)|0,[0,q,J],W],K=Le;continue}var Pe=PAe(pAe([0,q,J])),Re=K[2];V=[0,q+cVe(Ne)|0,0,[0,Pe,W]],K=Re}}}Xs.parse=function(r,e){try{return KKe(r,e)}catch(e){return(e=gI(e))[1]===uSe?BI(iSe,e[2]):BI(iSe,new aSe(ZT(nAe(q_e,MCe(e)))))}},BI(cAe[1],0)}(new Function("return this")());const $s=t,Qs=Af,Zs=Ys,rv={comments:!1,enums:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,esproposal_nullish_coalescing:!0,esproposal_optional_chaining:!0,tokens:!0};function ev(r){const{message:e,loc:{start:n,end:t}}=r;return $s(e,{start:{line:n.line,column:n.column+1},end:{line:t.line,column:t.column+1}})}var nv={parsers:{flow:_f((function(r,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{parse:t}=Vs,u=t(Qs(r),rv),[a]=u.errors;if(a)throw ev(a);return n.originalText=r,Zs(u,n)}))}};export{nv as default}; diff --git a/node_modules/prettier/esm/parser-glimmer.mjs b/node_modules/prettier/esm/parser-glimmer.mjs new file mode 100755 index 0000000..417cf9f --- /dev/null +++ b/node_modules/prettier/esm/parser-glimmer.mjs @@ -0,0 +1 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={};!function(e){var t="\n",r=function(){function e(e){this.string=e;for(var r=[0],n=0;nthis.string.length)return null;for(var t=0,r=this.offsets;r[t+1]<=e;)t++;return{line:t,column:e-r[t]}},e.prototype.indexForLocation=function(e){var t=e.line,r=e.column;return t<0||t>=this.offsets.length||r<0||r>this.lengthOfLine(t)?null:this.offsets[t]+r},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();e.__esModule=!0,e.default=r}(t);var r=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r};var n={locStart:function(e){return e.loc.start.offset},locEnd:function(e){return e.loc.end.offset}},o={},a={};var i=Object.freeze({__proto__:null,DEBUG:!1,CI:!1});const s=Object.freeze([]);function l(){return s}const c=l(),u=l();var h;const{keys:p}=Object;let d=null!==(h=Object.assign)&&void 0!==h?h:function(e){for(let t=1;t0&&void 0!==arguments[0]?arguments[0]:"unreachable";return new Error(e)}function y(e){return f("__".concat(e).concat(Math.floor(Math.random()*Date.now()),"__"))}const v=g?Symbol:y;function S(e){return-536870913&e}function k(e){return 536870912|e}function w(e){return~e}function E(e){return~e}function P(e){return(e|=0)<0?S(e):w(e)}function T(e){return(e|=0)>-536870913?E(e):k(e)}[1,-1].forEach((e=>T(P(e))));var N="function"==typeof WeakSet?WeakSet:class{constructor(){this._map=new WeakMap}add(e){return this._map.set(e,!0),this}delete(e){return this._map.delete(e)}has(e){return this._map.has(e)}};function x(e){return 9===e.nodeType}function O(e,t){let r=!1;if(null!==e)if("string"==typeof t)r=A(e,t);else{if(!Array.isArray(t))throw b();r=t.some((t=>A(e,t)))}if(r)return e;throw function(e,t){return new Error("cannot cast a ".concat(e," into ").concat(t))}("SimpleElement(".concat(e,")"),t)}function A(e,t){switch(t){case"NODE":return!0;case"HTML":return e instanceof HTMLElement;case"SVG":return e instanceof SVGElement;case"ELEMENT":return e instanceof Element;default:if(t.toUpperCase()===t)throw new Error("BUG: this code is missing handling for a generic node type");return e instanceof Element&&e.tagName.toLowerCase()===t}}function _(e){return e.length>0}const C=console,L=console;var B=Object.freeze({__proto__:null,LOCAL_LOGGER:C,LOGGER:L,assertNever:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unexpected unreachable branch";throw L.log("unreachable",e),L.log("".concat(t," :: ").concat(JSON.stringify(e)," (").concat(e,")")),new Error("code reached unreachable")},assert:function(e,t){if(!e)throw new Error(t||"assertion failure")},deprecate:function(e){C.warn("DEPRECATION: ".concat(e))},dict:function(){return Object.create(null)},isDict:function(e){return null!=e},isObject:function(e){return"function"==typeof e||"object"==typeof e&&null!==e},Stack:class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.current=null,this.stack=e}get size(){return this.stack.length}push(e){this.current=e,this.stack.push(e)}pop(){let e=this.stack.pop(),t=this.stack.length;return this.current=0===t?null:this.stack[t-1],void 0===e?null:e}nth(e){let t=this.stack.length;return t1?r-1:0),o=1;o=0},isNonPrimitiveHandle:function(e){return e>3},constants:function(){for(var e=arguments.length,t=new Array(e),r=0;r=-536870912},encodeNegative:S,decodeNegative:k,encodePositive:w,decodePositive:E,encodeHandle:function(e){return e},decodeHandle:function(e){return e},encodeImmediate:P,decodeImmediate:T,unwrapHandle:function(e){if("number"==typeof e)return e;{let t=e.errors[0];throw new Error("Compile Error: ".concat(t.problem," @ ").concat(t.span.start,"..").concat(t.span.end))}},unwrapTemplate:function(e){if("error"===e.result)throw new Error("Compile Error: ".concat(e.problem," @ ").concat(e.span.start,"..").concat(e.span.end));return e},extractHandle:function(e){return"number"==typeof e?e:e.handle},isOkHandle:function(e){return"number"==typeof e},isErrHandle:function(e){return"number"==typeof e},isPresent:_,ifPresent:function(e,t,r){return _(e)?t(e):r()},toPresentOption:function(e){return _(e)?e:null},assertPresent:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unexpected empty list";if(!_(e))throw new Error(t)},mapPresent:function(e,t){if(null===e)return null;let r=[];for(let n of e)r.push(t(n));return r}}),D={},I={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.isLocatedWithPositionsArray=function(e){return(0,q.isPresent)(e)&&e.every(F)},R.isLocatedWithPositions=F,R.BROKEN_LOCATION=R.NON_EXISTENT_LOCATION=R.TEMPORARY_LOCATION=R.SYNTHETIC=R.SYNTHETIC_LOCATION=R.UNKNOWN_POSITION=void 0;var q=B;const M=Object.freeze({line:1,column:0});R.UNKNOWN_POSITION=M;const j=Object.freeze({source:"(synthetic)",start:M,end:M});R.SYNTHETIC_LOCATION=j;const H=j;R.SYNTHETIC=H;const V=Object.freeze({source:"(temporary)",start:M,end:M});R.TEMPORARY_LOCATION=V;const U=Object.freeze({source:"(nonexistent)",start:M,end:M});R.NON_EXISTENT_LOCATION=U;const z=Object.freeze({source:"(broken)",start:M,end:M});function F(e){return void 0!==e.loc}R.BROKEN_LOCATION=z;var K={};Object.defineProperty(K,"__esModule",{value:!0}),K.SourceSlice=void 0;var G=D;class ${constructor(e){this.loc=e.loc,this.chars=e.chars}static synthetic(e){let t=G.SourceSpan.synthetic(e);return new $({loc:t,chars:e})}static load(e,t){return new $({loc:G.SourceSpan.load(e,t[1]),chars:t[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}}K.SourceSlice=$;var Y={};Object.defineProperty(Y,"__esModule",{value:!0}),Y.match=function(e){return e(new X).check()},Y.IsInvisible=Y.MatchAny=void 0;var W=B;Y.MatchAny="MATCH_ANY";Y.IsInvisible="IS_INVISIBLE";class Q{constructor(e){this._whens=e}first(e){for(let t of this._whens){let r=t.match(e);if((0,W.isPresent)(r))return r[0]}return null}}class J{constructor(){this._map=new Map}get(e,t){let r=this._map.get(e);return r||(r=t(),this._map.set(e,r),r)}add(e,t){this._map.set(e,t)}match(e){let t=function(e){switch(e){case"Broken":case"InternalsSynthetic":case"NonExistent":return"IS_INVISIBLE";default:return e}}(e),r=[],n=this._map.get(t),o=this._map.get("MATCH_ANY");return n&&r.push(n),o&&r.push(o),r}}class X{constructor(){this._whens=new J}check(){return(e,t)=>this.matchFor(e.kind,t.kind)(e,t)}matchFor(e,t){let r=this._whens.match(e);return new Q(r).first(t)}when(e,t,r){return this._whens.get(e,(()=>new J)).add(t,r),this}}var Z={};Object.defineProperty(Z,"__esModule",{value:!0}),Z.InvisiblePosition=Z.HbsPosition=Z.CharPosition=Z.SourceOffset=Z.BROKEN=void 0;var ee=R,te=Y,re=I;Z.BROKEN="BROKEN";class ne{constructor(e){this.data=e}static forHbsPos(e,t){return new ae(e,t,null).wrap()}static broken(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ee.UNKNOWN_POSITION;return new ie("Broken",e).wrap()}get offset(){let e=this.data.toCharPos();return null===e?null:e.offset}eql(e){return se(this.data,e.data)}until(e){return(0,re.span)(this.data,e.data)}move(e){let t=this.data.toCharPos();if(null===t)return ne.broken();{let r=t.offset+e;return t.source.check(r)?new oe(t.source,r).wrap():ne.broken()}}collapsed(){return(0,re.span)(this.data,this.data)}toJSON(){return this.data.toJSON()}}Z.SourceOffset=ne;class oe{constructor(e,t){this.source=e,this.charPos=t,this.kind="CharPosition",this._locPos=null}toCharPos(){return this}toJSON(){let e=this.toHbsPos();return null===e?ee.UNKNOWN_POSITION:e.toJSON()}wrap(){return new ne(this)}get offset(){return this.charPos}toHbsPos(){let e=this._locPos;if(null===e){let t=this.source.hbsPosFor(this.charPos);this._locPos=e=null===t?"BROKEN":new ae(this.source,t,this.charPos)}return"BROKEN"===e?null:e}}Z.CharPosition=oe;class ae{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.source=e,this.hbsPos=t,this.kind="HbsPosition",this._charPos=null===r?null:new oe(e,r)}toCharPos(){let e=this._charPos;if(null===e){let t=this.source.charPosFor(this.hbsPos);this._charPos=e=null===t?"BROKEN":new oe(this.source,t)}return"BROKEN"===e?null:e}toJSON(){return this.hbsPos}wrap(){return new ne(this)}toHbsPos(){return this}}Z.HbsPosition=ae;class ie{constructor(e,t){this.kind=e,this.pos=t}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new ne(this)}get offset(){return null}}Z.InvisiblePosition=ie;const se=(0,te.match)((e=>e.when("HbsPosition","HbsPosition",((e,t)=>{let{hbsPos:r}=e,{hbsPos:n}=t;return r.column===n.column&&r.line===n.line})).when("CharPosition","CharPosition",((e,t)=>{let{charPos:r}=e,{charPos:n}=t;return r===n})).when("CharPosition","HbsPosition",((e,t)=>{let{offset:r}=e;var n;return r===(null===(n=t.toCharPos())||void 0===n?void 0:n.offset)})).when("HbsPosition","CharPosition",((e,t)=>{let{offset:r}=t;var n;return(null===(n=e.toCharPos())||void 0===n?void 0:n.offset)===r})).when(te.MatchAny,te.MatchAny,(()=>!1))));Object.defineProperty(I,"__esModule",{value:!0}),I.span=I.HbsSpan=I.SourceSpan=void 0;var le=i,ce=B,ue=R,he=K,pe=Y,de=Z;class fe{constructor(e){this.data=e,this.isInvisible="CharPosition"!==e.kind&&"HbsPosition"!==e.kind}static get NON_EXISTENT(){return new be("NonExistent",ue.NON_EXISTENT_LOCATION).wrap()}static load(e,t){return"number"==typeof t?fe.forCharPositions(e,t,t):"string"==typeof t?fe.synthetic(t):Array.isArray(t)?fe.forCharPositions(e,t[0],t[1]):"NonExistent"===t?fe.NON_EXISTENT:"Broken"===t?fe.broken(ue.BROKEN_LOCATION):void(0,ce.assertNever)(t)}static forHbsLoc(e,t){let r=new de.HbsPosition(e,t.start),n=new de.HbsPosition(e,t.end);return new ge(e,{start:r,end:n},t).wrap()}static forCharPositions(e,t,r){let n=new de.CharPosition(e,t),o=new de.CharPosition(e,r);return new me(e,{start:n,end:o}).wrap()}static synthetic(e){return new be("InternalsSynthetic",ue.NON_EXISTENT_LOCATION,e).wrap()}static broken(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ue.BROKEN_LOCATION;return new be("Broken",e).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let e=this.data.toHbsSpan();return null===e?ue.BROKEN_LOCATION:e.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(e){return ye(e.data,this.data.getEnd())}withEnd(e){return ye(this.data.getStart(),e.data)}asString(){return this.data.asString()}toSlice(e){let t=this.data.asString();return le.DEBUG&&void 0!==e&&t!==e&&console.warn("unexpectedly found ".concat(JSON.stringify(t)," when slicing source, but expected ").concat(JSON.stringify(e))),new he.SourceSlice({loc:this,chars:e||t})}get start(){return this.loc.start}set start(e){this.data.locDidUpdate({start:e})}get end(){return this.loc.end}set end(e){this.data.locDidUpdate({end:e})}get source(){return this.module}collapse(e){switch(e){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(e){return ye(this.data.getStart(),e.data.getEnd())}serialize(){return this.data.serialize()}slice(e){let{skipStart:t=0,skipEnd:r=0}=e;return ye(this.getStart().move(t).data,this.getEnd().move(-r).data)}sliceStartChars(e){let{skipStart:t=0,chars:r}=e;return ye(this.getStart().move(t).data,this.getStart().move(t+r).data)}sliceEndChars(e){let{skipEnd:t=0,chars:r}=e;return ye(this.getEnd().move(t-r).data,this.getStart().move(-t).data)}}I.SourceSpan=fe;class me{constructor(e,t){this.source=e,this.charPositions=t,this.kind="CharPosition",this._locPosSpan=null}wrap(){return new fe(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let e=this._locPosSpan;if(null===e){let t=this.charPositions.start.toHbsPos(),r=this.charPositions.end.toHbsPos();e=this._locPosSpan=null===t||null===r?de.BROKEN:new ge(this.source,{start:t,end:r})}return e===de.BROKEN?null:e}serialize(){let{start:{charPos:e},end:{charPos:t}}=this.charPositions;return e===t?e:[e,t]}toCharPosSpan(){return this}}class ge{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.source=e,this.hbsPositions=t,this.kind="HbsPosition",this._charPosSpan=null,this._providedHbsLoc=r}serialize(){let e=this.toCharPosSpan();return null===e?"Broken":e.wrap().serialize()}wrap(){return new fe(this)}updateProvided(e,t){this._providedHbsLoc&&(this._providedHbsLoc[t]=e),this._charPosSpan=null,this._providedHbsLoc={start:e,end:e}}locDidUpdate(e){let{start:t,end:r}=e;void 0!==t&&(this.updateProvided(t,"start"),this.hbsPositions.start=new de.HbsPosition(this.source,t,null)),void 0!==r&&(this.updateProvided(r,"end"),this.hbsPositions.end=new de.HbsPosition(this.source,r,null))}asString(){let e=this.toCharPosSpan();return null===e?"":e.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let e=this._charPosSpan;if(null===e){let t=this.hbsPositions.start.toCharPos(),r=this.hbsPositions.end.toCharPos();if(!t||!r)return e=this._charPosSpan=de.BROKEN,null;e=this._charPosSpan=new me(this.source,{start:t,end:r})}return e===de.BROKEN?null:e}}I.HbsSpan=ge;class be{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.kind=e,this.loc=t,this.string=r}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new fe(this)}asString(){return this.string||""}locDidUpdate(e){let{start:t,end:r}=e;void 0!==t&&(this.loc.start=t),void 0!==r&&(this.loc.end=r)}getModule(){return"an unknown module"}getStart(){return new de.InvisiblePosition(this.kind,this.loc.start)}getEnd(){return new de.InvisiblePosition(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return ue.BROKEN_LOCATION}}const ye=(0,pe.match)((e=>e.when("HbsPosition","HbsPosition",((e,t)=>new ge(e.source,{start:e,end:t}).wrap())).when("CharPosition","CharPosition",((e,t)=>new me(e.source,{start:e,end:t}).wrap())).when("CharPosition","HbsPosition",((e,t)=>{let r=t.toCharPos();return null===r?new be("Broken",ue.BROKEN_LOCATION).wrap():ye(e,r)})).when("HbsPosition","CharPosition",((e,t)=>{let r=e.toCharPos();return null===r?new be("Broken",ue.BROKEN_LOCATION).wrap():ye(r,t)})).when(pe.IsInvisible,pe.MatchAny,(e=>new be(e.kind,ue.BROKEN_LOCATION).wrap())).when(pe.MatchAny,pe.IsInvisible,((e,t)=>new be(t.kind,ue.BROKEN_LOCATION).wrap()))));I.span=ye,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"SourceSpan",{enumerable:!0,get:function(){return t.SourceSpan}}),Object.defineProperty(e,"SourceOffset",{enumerable:!0,get:function(){return r.SourceOffset}});var t=I,r=Z}(D),Object.defineProperty(a,"__esModule",{value:!0}),a.Source=void 0;var ve=i,Se=D;a.Source=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"an unknown module";this.source=e,this.module=t}check(e){return e>=0&&e<=this.source.length}slice(e,t){return this.source.slice(e,t)}offsetFor(e,t){return Se.SourceOffset.forHbsPos(this,{line:e,column:t})}spanFor(e){let{start:t,end:r}=e;return Se.SourceSpan.forHbsLoc(this,{start:{line:t.line,column:t.column},end:{line:r.line,column:r.column}})}hbsPosFor(e){let t=0,r=0;if(e>this.source.length)return null;for(;;){let n=this.source.indexOf("\n",r);if(e<=n||-1===n)return{line:t+1,column:e-r};t+=1,r=n+1}}charPosFor(e){let{line:t,column:r}=e,n=this.source.length,o=0,a=0;for(;;){if(a>=n)return n;let e=this.source.indexOf("\n",a);if(-1===e&&(e=this.source.length),o===t-1)return a+r>e?e:(ve.DEBUG&&this.hbsPosFor(a+r),a+r);if(-1===e)return 0;o+=1,a=e+1}}};var ke={},we={};Object.defineProperty(we,"__esModule",{value:!0}),we.PathExpressionImplV1=void 0;var Ee,Pe=(Ee=ke)&&Ee.__esModule?Ee:{default:Ee};we.PathExpressionImplV1=class{constructor(e,t,r,n){this.original=e,this.loc=n,this.type="PathExpression",this.this=!1,this.data=!1,this._head=void 0;let o=r.slice();"ThisHead"===t.type?this.this=!0:"AtHead"===t.type?(this.data=!0,o.unshift(t.name.slice(1))):o.unshift(t.name),this.parts=o}get head(){if(this._head)return this._head;let e;e=this.this?"this":this.data?"@".concat(this.parts[0]):this.parts[0];let t=this.loc.collapse("start").sliceStartChars({chars:e.length}).loc;return this._head=Pe.default.head(e,t)}get tail(){return this.this?this.parts:this.parts.slice(1)}},Object.defineProperty(ke,"__esModule",{value:!0}),ke.default=void 0;var Te=B,Ne=R,xe=a,Oe=D,Ae=we;let _e;function Ce(){return _e||(_e=new xe.Source("","(synthetic)")),_e}function Le(e){switch(e.type){case"AtHead":case"VarHead":return{original:e.name,parts:[e.name]};case"ThisHead":return{original:"this",parts:[]}}}function Be(e,t){let r,[n,...o]=e.split(".");return r="this"===n?{type:"ThisHead",loc:He(t||null)}:"@"===n[0]?{type:"AtHead",name:n,loc:He(t||null)}:{type:"VarHead",name:n,loc:He(t||null)},{head:r,tail:o}}function De(e){return{type:"ThisHead",loc:He(e||null)}}function Ie(e,t){return{type:"AtHead",name:e,loc:He(t||null)}}function Re(e,t){return{type:"VarHead",name:e,loc:He(t||null)}}function qe(e,t){if("string"!=typeof e){if("type"in e)return e;{let{head:r,tail:n}=Be(e.head,Oe.SourceSpan.broken()),{original:o}=Le(r);return new Ae.PathExpressionImplV1([o,...n].join("."),r,n,He(t||null))}}let{head:r,tail:n}=Be(e,Oe.SourceSpan.broken());return new Ae.PathExpressionImplV1(e,r,n,He(t||null))}function Me(e,t,r){return{type:e,value:t,original:t,loc:He(r||null)}}function je(e,t){return{type:"Hash",pairs:e||[],loc:He(t||null)}}function He(){for(var e=arguments.length,t=new Array(e),r=0;r2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;return{type:"Block",body:e||[],blockParams:t||[],chained:r,loc:He(n||null)}},template:function(e,t,r){return{type:"Template",body:e||[],blockParams:t||[],loc:He(r||null)}},loc:He,pos:function(e,t){return{line:e,column:t}},path:qe,fullPath:function(e,t,r){let{original:n,parts:o}=Le(e),a=[...n,...[...o,...t]].join(".");return new Ae.PathExpressionImplV1(a,e,t,He(r||null))},head:function(e,t){return"@"===e[0]?Ie(e,t):"this"===e?De(t):Re(e,t)},at:Ie,var:Re,this:De,blockName:function(e,t){return{type:"NamedBlockName",name:e,loc:He(t||null)}},string:Ue("StringLiteral"),boolean:Ue("BooleanLiteral"),number:Ue("NumberLiteral"),undefined:()=>Me("UndefinedLiteral",void 0),null:()=>Me("NullLiteral",null)};function Ue(e){return function(t,r){return Me(e,t,r)}}ke.default=Ve;var ze={},Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Fe;Object.keys(t).forEach((function(r){"default"!==r&&"__esModule"!==r&&Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}))}(ze);var Ke={},Ge={};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.loadResolution=function(e){if("string"==typeof e)switch(e){case"Loose":return We.fallback();case"Strict":return Ye}switch(e[0]){case"ambiguous":switch(e[1]){case"Append":return We.append({invoke:!1});case"Attr":return We.attr();case"Invoke":return We.append({invoke:!0})}case"ns":return We.namespaced(e[1])}},Ge.ARGUMENT_RESOLUTION=Ge.LooseModeResolution=Ge.STRICT_RESOLUTION=Ge.StrictResolution=void 0;class $e{constructor(){this.isAngleBracket=!1}resolution(){return 31}serialize(){return"Strict"}}Ge.StrictResolution=$e;const Ye=new $e;Ge.STRICT_RESOLUTION=Ye;class We{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.ambiguity=e,this.isAngleBracket=t}static namespaced(e){return new We({namespaces:[e],fallback:!1},arguments.length>1&&void 0!==arguments[1]&&arguments[1])}static fallback(){return new We({namespaces:[],fallback:!0})}static append(e){let{invoke:t}=e;return new We({namespaces:["Component","Helper"],fallback:!t})}static trustingAppend(e){let{invoke:t}=e;return new We({namespaces:["Helper"],fallback:!t})}static attr(){return new We({namespaces:["Helper"],fallback:!0})}resolution(){if(0===this.ambiguity.namespaces.length)return 31;if(1!==this.ambiguity.namespaces.length)return this.ambiguity.fallback?34:35;if(this.ambiguity.fallback)return 36;switch(this.ambiguity.namespaces[0]){case"Helper":return 37;case"Modifier":return 38;case"Component":return 39}}serialize(){return 0===this.ambiguity.namespaces.length?"Loose":1===this.ambiguity.namespaces.length?this.ambiguity.fallback?["ambiguous","Attr"]:["ns",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?["ambiguous","Append"]:["ambiguous","Invoke"]}}Ge.LooseModeResolution=We;const Qe=We.fallback();Ge.ARGUMENT_RESOLUTION=Qe;var Je={};Object.defineProperty(Je,"__esModule",{value:!0}),Je.node=function(e){if(void 0!==e){const t=e;return{fields:()=>class{constructor(e){this.type=t,(0,Xe.assign)(this,e)}}}}return{fields:()=>class{constructor(e){(0,Xe.assign)(this,e)}}}};var Xe=B;var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.NamedArgument=Ze.NamedArguments=Ze.PositionalArguments=Ze.Args=void 0;var et=Je;class tt extends((0,et.node)().fields()){static empty(e){return new tt({loc:e,positional:rt.empty(e),named:nt.empty(e)})}static named(e){return new tt({loc:e.loc,positional:rt.empty(e.loc.collapse("end")),named:e})}nth(e){return this.positional.nth(e)}get(e){return this.named.get(e)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}}Ze.Args=tt;class rt extends((0,et.node)().fields()){static empty(e){return new rt({loc:e,exprs:[]})}get size(){return this.exprs.length}nth(e){return this.exprs[e]||null}isEmpty(){return 0===this.exprs.length}}Ze.PositionalArguments=rt;class nt extends((0,et.node)().fields()){static empty(e){return new nt({loc:e,entries:[]})}get size(){return this.entries.length}get(e){let t=this.entries.filter((t=>t.name.chars===e))[0];return t?t.value:null}isEmpty(){return 0===this.entries.length}}Ze.NamedArguments=nt;Ze.NamedArgument=class{constructor(e){this.loc=e.name.loc.extend(e.value.loc),this.name=e.name,this.value=e.value}};var ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.ElementModifier=ot.ComponentArg=ot.SplatAttr=ot.HtmlAttr=void 0;var at=Ze,it=Je;class st extends((0,it.node)("HtmlAttr").fields()){}ot.HtmlAttr=st;class lt extends((0,it.node)("SplatAttr").fields()){}ot.SplatAttr=lt;class ct extends((0,it.node)().fields()){toNamedArgument(){return new at.NamedArgument({name:this.name,value:this.value})}}ot.ComponentArg=ct;class ut extends((0,it.node)("ElementModifier").fields()){}ot.ElementModifier=ut;var ht={};Object.defineProperty(ht,"__esModule",{value:!0});var pt={},dt={};Object.defineProperty(dt,"__esModule",{value:!0}),dt.loc=gt,dt.hasSpan=bt,dt.maybeLoc=function(e,t){return bt(e)?gt(e):t},dt.SpanList=void 0;var ft=D;class mt{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this._span=e}static range(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ft.SourceSpan.NON_EXISTENT;return new mt(e.map(gt)).getRangeOffset(t)}add(e){this._span.push(e)}getRangeOffset(e){if(0===this._span.length)return e;{let e=this._span[0],t=this._span[this._span.length-1];return e.extend(t)}}}function gt(e){if(Array.isArray(e)){let t=e[0],r=e[e.length-1];return gt(t).extend(gt(r))}return e instanceof ft.SourceSpan?e:e.loc}function bt(e){return!Array.isArray(e)||0!==e.length}dt.SpanList=mt,Object.defineProperty(pt,"__esModule",{value:!0}),pt.SimpleElement=pt.InvokeComponent=pt.InvokeBlock=pt.AppendContent=pt.HtmlComment=pt.HtmlText=pt.GlimmerComment=void 0;var yt=dt,vt=Ze,St=Je;class kt extends((0,St.node)("GlimmerComment").fields()){}pt.GlimmerComment=kt;class wt extends((0,St.node)("HtmlText").fields()){}pt.HtmlText=wt;class Et extends((0,St.node)("HtmlComment").fields()){}pt.HtmlComment=Et;class Pt extends((0,St.node)("AppendContent").fields()){get callee(){return"Call"===this.value.type?this.value.callee:this.value}get args(){return"Call"===this.value.type?this.value.args:vt.Args.empty(this.value.loc.collapse("end"))}}pt.AppendContent=Pt;class Tt extends((0,St.node)("InvokeBlock").fields()){}pt.InvokeBlock=Tt;class Nt extends((0,St.node)("InvokeComponent").fields()){get args(){let e=this.componentArgs.map((e=>e.toNamedArgument()));return vt.Args.named(new vt.NamedArguments({loc:yt.SpanList.range(e,this.callee.loc.collapse("end")),entries:e}))}}pt.InvokeComponent=Nt;class xt extends((0,St.node)("SimpleElement").fields()){get args(){let e=this.componentArgs.map((e=>e.toNamedArgument()));return vt.Args.named(new vt.NamedArguments({loc:yt.SpanList.range(e,this.tag.loc.collapse("end")),entries:e}))}}pt.SimpleElement=xt;var Ot={};Object.defineProperty(Ot,"__esModule",{value:!0}),Ot.isLiteral=function(e,t){return"Literal"===e.type&&(void 0===t||("null"===t?null===e.value:typeof e.value===t))},Ot.InterpolateExpression=Ot.DeprecatedCallExpression=Ot.CallExpression=Ot.PathExpression=Ot.LiteralExpression=void 0;var At=K,_t=Je;class Ct extends((0,_t.node)("Literal").fields()){toSlice(){return new At.SourceSlice({loc:this.loc,chars:this.value})}}Ot.LiteralExpression=Ct;class Lt extends((0,_t.node)("Path").fields()){}Ot.PathExpression=Lt;class Bt extends((0,_t.node)("Call").fields()){}Ot.CallExpression=Bt;class Dt extends((0,_t.node)("DeprecatedCall").fields()){}Ot.DeprecatedCallExpression=Dt;class It extends((0,_t.node)("Interpolate").fields()){}Ot.InterpolateExpression=It;var Rt={};Object.defineProperty(Rt,"__esModule",{value:!0}),Rt.FreeVarReference=Rt.LocalVarReference=Rt.ArgReference=Rt.ThisReference=void 0;var qt=Je;class Mt extends((0,qt.node)("This").fields()){}Rt.ThisReference=Mt;class jt extends((0,qt.node)("Arg").fields()){}Rt.ArgReference=jt;class Ht extends((0,qt.node)("Local").fields()){}Rt.LocalVarReference=Ht;class Vt extends((0,qt.node)("Free").fields()){}Rt.FreeVarReference=Vt;var Ut={};Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.NamedBlock=Ut.NamedBlocks=Ut.Block=Ut.Template=void 0;var zt=dt,Ft=Ze,Kt=Je;class Gt extends((0,Kt.node)().fields()){}Ut.Template=Gt;class $t extends((0,Kt.node)().fields()){}Ut.Block=$t;class Yt extends((0,Kt.node)().fields()){get(e){return this.blocks.filter((t=>t.name.chars===e))[0]||null}}Ut.NamedBlocks=Yt;class Wt extends((0,Kt.node)().fields()){get args(){let e=this.componentArgs.map((e=>e.toNamedArgument()));return Ft.Args.named(new Ft.NamedArguments({loc:zt.SpanList.range(e,this.name.loc.collapse("end")),entries:e}))}}Ut.NamedBlock=Wt,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ge;Object.keys(t).forEach((function(r){"default"!==r&&"__esModule"!==r&&Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}));var r=Je;Object.keys(r).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})}));var n=Ze;Object.keys(n).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})}));var o=ot;Object.keys(o).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return o[t]}})}));var a=ht;Object.keys(a).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return a[t]}})}));var i=pt;Object.keys(i).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return i[t]}})}));var s=Ot;Object.keys(s).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return s[t]}})}));var l=Rt;Object.keys(l).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return l[t]}})}));var c=Ut;Object.keys(c).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return c[t]}})}))}(Ke);var Qt={},Jt=function(e){return e&&e.Math==Math&&e},Xt=Jt("object"==typeof globalThis&&globalThis)||Jt("object"==typeof window&&window)||Jt("object"==typeof self&&self)||Jt("object"==typeof e&&e)||function(){return this}()||Function("return this")(),Zt={},er=function(e){try{return!!e()}catch(e){return!0}},tr=!er((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),rr=Function.prototype.call,nr=rr.bind?rr.bind(rr):function(){return rr.apply(rr,arguments)},or={},ar={}.propertyIsEnumerable,ir=Object.getOwnPropertyDescriptor,sr=ir&&!ar.call({1:2},1);or.f=sr?function(e){var t=ir(this,e);return!!t&&t.enumerable}:ar;var lr,cr,ur=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},hr=Function.prototype,pr=hr.bind,dr=hr.call,fr=pr&&pr.bind(dr),mr=pr?function(e){return e&&fr(dr,e)}:function(e){return e&&function(){return dr.apply(e,arguments)}},gr=mr,br=gr({}.toString),yr=gr("".slice),vr=function(e){return yr(br(e),8,-1)},Sr=mr,kr=er,wr=vr,Er=Xt.Object,Pr=Sr("".split),Tr=kr((function(){return!Er("z").propertyIsEnumerable(0)}))?function(e){return"String"==wr(e)?Pr(e,""):Er(e)}:Er,Nr=Xt.TypeError,xr=function(e){if(null==e)throw Nr("Can't call method on "+e);return e},Or=Tr,Ar=xr,_r=function(e){return Or(Ar(e))},Cr=function(e){return"function"==typeof e},Lr=Cr,Br=function(e){return"object"==typeof e?null!==e:Lr(e)},Dr=Xt,Ir=Cr,Rr=function(e){return Ir(e)?e:void 0},qr=function(e,t){return arguments.length<2?Rr(Dr[e]):Dr[e]&&Dr[e][t]},Mr=mr({}.isPrototypeOf),jr=qr("navigator","userAgent")||"",Hr=Xt,Vr=jr,Ur=Hr.process,zr=Hr.Deno,Fr=Ur&&Ur.versions||zr&&zr.version,Kr=Fr&&Fr.v8;Kr&&(cr=(lr=Kr.split("."))[0]>0&&lr[0]<4?1:+(lr[0]+lr[1])),!cr&&Vr&&(!(lr=Vr.match(/Edge\/(\d+)/))||lr[1]>=74)&&(lr=Vr.match(/Chrome\/(\d+)/))&&(cr=+lr[1]);var Gr=cr,$r=Gr,Yr=er,Wr=!!Object.getOwnPropertySymbols&&!Yr((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&$r&&$r<41})),Qr=Wr&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Jr=qr,Xr=Cr,Zr=Mr,en=Qr,tn=Xt.Object,rn=en?function(e){return"symbol"==typeof e}:function(e){var t=Jr("Symbol");return Xr(t)&&Zr(t.prototype,tn(e))},nn=Xt.String,on=Cr,an=function(e){try{return nn(e)}catch(e){return"Object"}},sn=Xt.TypeError,ln=function(e){if(on(e))return e;throw sn(an(e)+" is not a function")},cn=ln,un=nr,hn=Cr,pn=Br,dn=Xt.TypeError,fn={exports:{}},mn=Xt,gn=Object.defineProperty,bn=function(e,t){try{gn(mn,e,{value:t,configurable:!0,writable:!0})}catch(r){mn[e]=t}return t},yn=bn,vn=Xt["__core-js_shared__"]||yn("__core-js_shared__",{}),Sn=vn;(fn.exports=function(e,t){return Sn[e]||(Sn[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var kn=xr,wn=Xt.Object,En=function(e){return wn(kn(e))},Pn=En,Tn=mr({}.hasOwnProperty),Nn=Object.hasOwn||function(e,t){return Tn(Pn(e),t)},xn=mr,On=0,An=Math.random(),_n=xn(1..toString),Cn=function(e){return"Symbol("+(void 0===e?"":e)+")_"+_n(++On+An,36)},Ln=Xt,Bn=fn.exports,Dn=Nn,In=Cn,Rn=Wr,qn=Qr,Mn=Bn("wks"),jn=Ln.Symbol,Hn=jn&&jn.for,Vn=qn?jn:jn&&jn.withoutSetter||In,Un=function(e){if(!Dn(Mn,e)||!Rn&&"string"!=typeof Mn[e]){var t="Symbol."+e;Rn&&Dn(jn,e)?Mn[e]=jn[e]:Mn[e]=qn&&Hn?Hn(t):Vn(t)}return Mn[e]},zn=nr,Fn=Br,Kn=rn,Gn=function(e,t){var r=e[t];return null==r?void 0:cn(r)},$n=function(e,t){var r,n;if("string"===t&&hn(r=e.toString)&&!pn(n=un(r,e)))return n;if(hn(r=e.valueOf)&&!pn(n=un(r,e)))return n;if("string"!==t&&hn(r=e.toString)&&!pn(n=un(r,e)))return n;throw dn("Can't convert object to primitive value")},Yn=Un,Wn=Xt.TypeError,Qn=Yn("toPrimitive"),Jn=function(e,t){if(!Fn(e)||Kn(e))return e;var r,n=Gn(e,Qn);if(n){if(void 0===t&&(t="default"),r=zn(n,e,t),!Fn(r)||Kn(r))return r;throw Wn("Can't convert object to primitive value")}return void 0===t&&(t="number"),$n(e,t)},Xn=rn,Zn=function(e){var t=Jn(e,"string");return Xn(t)?t:t+""},eo=Br,to=Xt.document,ro=eo(to)&&eo(to.createElement),no=function(e){return ro?to.createElement(e):{}},oo=!tr&&!er((function(){return 7!=Object.defineProperty(no("div"),"a",{get:function(){return 7}}).a})),ao=tr,io=nr,so=or,lo=ur,co=_r,uo=Zn,ho=Nn,po=oo,fo=Object.getOwnPropertyDescriptor;Zt.f=ao?fo:function(e,t){if(e=co(e),t=uo(t),po)try{return fo(e,t)}catch(e){}if(ho(e,t))return lo(!io(so.f,e,t),e[t])};var mo={},go=Xt,bo=Br,yo=go.String,vo=go.TypeError,So=function(e){if(bo(e))return e;throw vo(yo(e)+" is not an object")},ko=tr,wo=oo,Eo=So,Po=Zn,To=Xt.TypeError,No=Object.defineProperty;mo.f=ko?No:function(e,t,r){if(Eo(e),t=Po(t),Eo(r),wo)try{return No(e,t,r)}catch(e){}if("get"in r||"set"in r)throw To("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var xo=mo,Oo=ur,Ao=tr?function(e,t,r){return xo.f(e,t,Oo(1,r))}:function(e,t,r){return e[t]=r,e},_o={exports:{}},Co=Cr,Lo=vn,Bo=mr(Function.toString);Co(Lo.inspectSource)||(Lo.inspectSource=function(e){return Bo(e)});var Do,Io,Ro,qo=Lo.inspectSource,Mo=Cr,jo=qo,Ho=Xt.WeakMap,Vo=Mo(Ho)&&/native code/.test(jo(Ho)),Uo=fn.exports,zo=Cn,Fo=Uo("keys"),Ko={},Go=Vo,$o=Xt,Yo=mr,Wo=Br,Qo=Ao,Jo=Nn,Xo=vn,Zo=function(e){return Fo[e]||(Fo[e]=zo(e))},ea=Ko,ta=$o.TypeError,ra=$o.WeakMap;if(Go||Xo.state){var na=Xo.state||(Xo.state=new ra),oa=Yo(na.get),aa=Yo(na.has),ia=Yo(na.set);Do=function(e,t){if(aa(na,e))throw new ta("Object already initialized");return t.facade=e,ia(na,e,t),t},Io=function(e){return oa(na,e)||{}},Ro=function(e){return aa(na,e)}}else{var sa=Zo("state");ea[sa]=!0,Do=function(e,t){if(Jo(e,sa))throw new ta("Object already initialized");return t.facade=e,Qo(e,sa,t),t},Io=function(e){return Jo(e,sa)?e[sa]:{}},Ro=function(e){return Jo(e,sa)}}var la={set:Do,get:Io,has:Ro,enforce:function(e){return Ro(e)?Io(e):Do(e,{})},getterFor:function(e){return function(t){var r;if(!Wo(t)||(r=Io(t)).type!==e)throw ta("Incompatible receiver, "+e+" required");return r}}},ca=tr,ua=Nn,ha=Function.prototype,pa=ca&&Object.getOwnPropertyDescriptor,da=ua(ha,"name"),fa=da&&"something"===function(){}.name,ma=da&&(!ca||ca&&pa(ha,"name").configurable),ga=Xt,ba=Cr,ya=Nn,va=Ao,Sa=bn,ka=qo,wa={EXISTS:da,PROPER:fa,CONFIGURABLE:ma}.CONFIGURABLE,Ea=la.get,Pa=la.enforce,Ta=String(String).split("String");(_o.exports=function(e,t,r,n){var o,a=!!n&&!!n.unsafe,i=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,l=n&&void 0!==n.name?n.name:t;ba(r)&&("Symbol("===String(l).slice(0,7)&&(l="["+String(l).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!ya(r,"name")||wa&&r.name!==l)&&va(r,"name",l),(o=Pa(r)).source||(o.source=Ta.join("string"==typeof l?l:""))),e!==ga?(a?!s&&e[t]&&(i=!0):delete e[t],i?e[t]=r:va(e,t,r)):i?e[t]=r:Sa(t,r)})(Function.prototype,"toString",(function(){return ba(this)&&Ea(this).source||ka(this)}));var Na={},xa=Math.ceil,Oa=Math.floor,Aa=function(e){var t=+e;return t!=t||0===t?0:(t>0?Oa:xa)(t)},_a=Aa,Ca=Math.max,La=Math.min,Ba=Aa,Da=Math.min,Ia=function(e){return e>0?Da(Ba(e),9007199254740991):0},Ra=function(e){return Ia(e.length)},qa=_r,Ma=function(e,t){var r=_a(e);return r<0?Ca(r+t,0):La(r,t)},ja=Ra,Ha=function(e){return function(t,r,n){var o,a=qa(t),i=ja(a),s=Ma(n,i);if(e&&r!=r){for(;i>s;)if((o=a[s++])!=o)return!0}else for(;i>s;s++)if((e||s in a)&&a[s]===r)return e||s||0;return!e&&-1}},Va={includes:Ha(!0),indexOf:Ha(!1)},Ua=Nn,za=_r,Fa=Va.indexOf,Ka=Ko,Ga=mr([].push),$a=function(e,t){var r,n=za(e),o=0,a=[];for(r in n)!Ua(Ka,r)&&Ua(n,r)&&Ga(a,r);for(;t.length>o;)Ua(n,r=t[o++])&&(~Fa(a,r)||Ga(a,r));return a},Ya=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Na.f=Object.getOwnPropertyNames||function(e){return $a(e,Ya)};var Wa={};Wa.f=Object.getOwnPropertySymbols;var Qa=qr,Ja=Na,Xa=Wa,Za=So,ei=mr([].concat),ti=Qa("Reflect","ownKeys")||function(e){var t=Ja.f(Za(e)),r=Xa.f;return r?ei(t,r(e)):t},ri=Nn,ni=ti,oi=Zt,ai=mo,ii=er,si=Cr,li=/#|\.prototype\./,ci=function(e,t){var r=hi[ui(e)];return r==di||r!=pi&&(si(t)?ii(t):!!t)},ui=ci.normalize=function(e){return String(e).replace(li,".").toLowerCase()},hi=ci.data={},pi=ci.NATIVE="N",di=ci.POLYFILL="P",fi=ci,mi=Xt,gi=Zt.f,bi=Ao,yi=_o.exports,vi=bn,Si=function(e,t){for(var r=ni(t),n=ai.f,o=oi.f,a=0;a0;)e[n]=e[--n];n!==a++&&(e[n]=r)}return e},Ri=function(e,t,r,n){for(var o=t.length,a=r.length,i=0,s=0;i3)){if(es)return!0;if(rs)return rs<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)ns.push({k:t+n,v:r})}for(ns.sort((function(e,t){return t.v-e.v})),n=0;nWi(r)?1:-1}}(e)),r=o.length,n=0;n]/,ms=new RegExp(fs.source,"g");function gs(e){switch(e.charCodeAt(0)){case 160:return" ";case 34:return""";case 38:return"&";default:return e}}function bs(e){switch(e.charCodeAt(0)){case 160:return" ";case 38:return"&";case 60:return"<";case 62:return">";default:return e}}Object.defineProperty(us,"__esModule",{value:!0}),us.default=us.voidMap=void 0;var ys=hs;const vs=Object.create(null);us.voidMap=vs;"area base br col command embed hr img input keygen link meta param source track wbr".split(" ").forEach((e=>{vs[e]=!0}));const Ss=/\S/;us.default=class{constructor(e){this.buffer="",this.options=e}handledByOverride(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0!==this.options.override){let r=this.options.override(e,this.options);if("string"==typeof r)return t&&""!==r&&Ss.test(r[0])&&(r=" ".concat(r)),this.buffer+=r,!0}return!1}Node(e){switch(e.type){case"MustacheStatement":case"BlockStatement":case"PartialStatement":case"MustacheCommentStatement":case"CommentStatement":case"TextNode":case"ElementNode":case"AttrNode":case"Block":case"Template":return this.TopLevelStatement(e);case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":case"PathExpression":case"SubExpression":return this.Expression(e);case"Program":return this.Block(e);case"ConcatStatement":return this.ConcatStatement(e);case"Hash":return this.Hash(e);case"HashPair":return this.HashPair(e);case"ElementModifierStatement":return this.ElementModifierStatement(e)}}Expression(e){switch(e.type){case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":return this.Literal(e);case"PathExpression":return this.PathExpression(e);case"SubExpression":return this.SubExpression(e)}}Literal(e){switch(e.type){case"StringLiteral":return this.StringLiteral(e);case"BooleanLiteral":return this.BooleanLiteral(e);case"NumberLiteral":return this.NumberLiteral(e);case"UndefinedLiteral":return this.UndefinedLiteral(e);case"NullLiteral":return this.NullLiteral(e)}}TopLevelStatement(e){switch(e.type){case"MustacheStatement":return this.MustacheStatement(e);case"BlockStatement":return this.BlockStatement(e);case"PartialStatement":return this.PartialStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":return this.CommentStatement(e);case"TextNode":return this.TextNode(e);case"ElementNode":return this.ElementNode(e);case"Block":case"Template":return this.Block(e);case"AttrNode":return this.AttrNode(e)}}Block(e){if(e.chained){e.body[0].chained=!0}this.handledByOverride(e)||this.TopLevelStatements(e.body)}TopLevelStatements(e){e.forEach((e=>this.TopLevelStatement(e)))}ElementNode(e){this.handledByOverride(e)||(this.OpenElementNode(e),this.TopLevelStatements(e.children),this.CloseElementNode(e))}OpenElementNode(e){this.buffer+="<".concat(e.tag);const t=[...e.attributes,...e.modifiers,...e.comments].sort(ys.sortByLoc);for(const e of t)switch(this.buffer+=" ",e.type){case"AttrNode":this.AttrNode(e);break;case"ElementModifierStatement":this.ElementModifierStatement(e);break;case"MustacheCommentStatement":this.MustacheCommentStatement(e)}e.blockParams.length&&this.BlockParams(e.blockParams),e.selfClosing&&(this.buffer+=" /"),this.buffer+=">"}CloseElementNode(e){e.selfClosing||vs[e.tag.toLowerCase()]||(this.buffer+=""))}AttrNode(e){if(this.handledByOverride(e))return;let{name:t,value:r}=e;this.buffer+=t,("TextNode"!==r.type||r.chars.length>0)&&(this.buffer+="=",this.AttrNodeValue(r))}AttrNodeValue(e){"TextNode"===e.type?(this.buffer+='"',this.TextNode(e,!0),this.buffer+='"'):this.Node(e)}TextNode(e,t){this.handledByOverride(e)||("raw"===this.options.entityEncoding?this.buffer+=e.chars:this.buffer+=t?(0,ys.escapeAttrValue)(e.chars):(0,ys.escapeText)(e.chars))}MustacheStatement(e){this.handledByOverride(e)||(this.buffer+=e.escaped?"{{":"{{{",e.strip.open&&(this.buffer+="~"),this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.strip.close&&(this.buffer+="~"),this.buffer+=e.escaped?"}}":"}}}")}BlockStatement(e){this.handledByOverride(e)||(e.chained?(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else "):this.buffer+=e.openStrip.open?"{{~#":"{{#",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.program.blockParams.length&&this.BlockParams(e.program.blockParams),e.chained?this.buffer+=e.inverseStrip.close?"~}}":"}}":this.buffer+=e.openStrip.close?"~}}":"}}",this.Block(e.program),e.inverse&&(e.inverse.chained||(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else",this.buffer+=e.inverseStrip.close?"~}}":"}}"),this.Block(e.inverse)),e.chained||(this.buffer+=e.closeStrip.open?"{{~/":"{{/",this.Expression(e.path),this.buffer+=e.closeStrip.close?"~}}":"}}"))}BlockParams(e){this.buffer+=" as |".concat(e.join(" "),"|")}PartialStatement(e){this.handledByOverride(e)||(this.buffer+="{{>",this.Expression(e.name),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}ConcatStatement(e){this.handledByOverride(e)||(this.buffer+='"',e.parts.forEach((e=>{"TextNode"===e.type?this.TextNode(e,!0):this.Node(e)})),this.buffer+='"')}MustacheCommentStatement(e){this.handledByOverride(e)||(this.buffer+="{{!--".concat(e.value,"--}}"))}ElementModifierStatement(e){this.handledByOverride(e)||(this.buffer+="{{",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}CommentStatement(e){this.handledByOverride(e)||(this.buffer+="\x3c!--".concat(e.value,"--\x3e"))}PathExpression(e){this.handledByOverride(e)||(this.buffer+=e.original)}SubExpression(e){this.handledByOverride(e)||(this.buffer+="(",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+=")")}Params(e){e.length&&e.forEach((e=>{this.buffer+=" ",this.Expression(e)}))}Hash(e){this.handledByOverride(e,!0)||e.pairs.forEach((e=>{this.buffer+=" ",this.HashPair(e)}))}HashPair(e){this.handledByOverride(e)||(this.buffer+=e.key,this.buffer+="=",this.Node(e.value))}StringLiteral(e){this.handledByOverride(e)||(this.buffer+=JSON.stringify(e.value))}BooleanLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}NumberLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}UndefinedLiteral(e){this.handledByOverride(e)||(this.buffer+="undefined")}NullLiteral(e){this.handledByOverride(e)||(this.buffer+="null")}print(e){let{options:t}=this;if(t.override){let r=t.override(e,t);if(void 0!==r)return r}return this.buffer="",this.Node(e),this.buffer}};var ks={},ws=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function Es(e,t){var r,n,o,a,i=t&&t.loc;i&&(r=i.start.line,n=i.end.line,o=i.start.column,a=i.end.column,e+=" - "+r+":"+o);for(var s=Error.prototype.constructor.call(this,e),l=0;lc&&P.push("'"+this.terminals_[k]+"'");x=p.showPosition?"Parse error on line "+(s+1)+":\n"+p.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(x,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:m,expected:P})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:r.push(b),n.push(p.yytext),o.push(p.yylloc),r.push(v[1]),b=null,l=p.yyleng,i=p.yytext,s=p.yylineno,m=p.yylloc;break;case 2:if(w=this.productions_[v[1]][1],N.$=n[n.length-w],N._$={first_line:o[o.length-(w||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(w||1)].first_column,last_column:o[o.length-1].last_column},g&&(N._$.range=[o[o.length-(w||1)].range[0],o[o.length-1].range[1]]),void 0!==(S=this.performAction.apply(N,[i,l,s,d.yy,v[1],n,o].concat(h))))return S;w&&(r=r.slice(0,-1*w*2),n=n.slice(0,-1*w),o=o.slice(0,-1*w)),r.push(this.productions_[v[1]][0]),n.push(N.$),o.push(N._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},I=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in o)this[a]=o[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,o[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){function o(e,r){return t.yytext=t.yytext.substring(e,t.yyleng-r+e)}switch(r){case 0:if("\\\\"===t.yytext.slice(-2)?(o(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(o(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 15;break;case 1:case 5:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(o(5,9),18);case 6:case 22:return this.popState(),14;case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 52;case 20:case 23:return 48;case 21:this.unput(t.yytext),this.popState(),this.begin("com");break;case 24:return 72;case 25:case 26:case 41:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;case 30:return this.popState(),33;case 31:return t.yytext=o(1,2).replace(/\\"/g,'"'),79;case 32:return t.yytext=o(1,2).replace(/\\'/g,"'"),79;case 33:return 84;case 34:case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 42:return t.yytext=t.yytext.replace(/\\([\\\]])/g,"$1"),71;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return e}();function R(){this.yy={}}return D.lexer=I,R.prototype=D,D.Parser=R,new R}();function Ds(){this.padding=0}function Is(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var r={loc:e.path.loc};throw new Es(e.path.original+" doesn't match "+t,r)}}function Rs(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}Ds.prototype=new Ps,Ds.prototype.pad=function(e){for(var t="",r=0,n=this.padding;r "+t+" }}")},Ds.prototype.PartialBlockStatement=function(e){var t="PARTIAL BLOCK:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),t+=" "+this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--,this.pad("{{> "+t+" }}")},Ds.prototype.ContentStatement=function(e){return this.pad("CONTENT[ '"+e.value+"' ]")},Ds.prototype.CommentStatement=function(e){return this.pad("{{! '"+e.value+"' }}")},Ds.prototype.SubExpression=function(e){for(var t,r=e.params,n=[],o=0,a=r.length;o0)throw new Es("Invalid path: "+n,{loc:r});".."===l&&a++}}return{type:"PathExpression",data:e,depth:a,parts:o,original:n,loc:r}},prepareMustache:function(e,t,r,n,o,a){var i=n.charAt(3)||n.charAt(2),s="{"!==i&&"&"!==i;return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:e,params:t,hash:r,escaped:s,strip:o,loc:this.locInfo(a)}},prepareRawBlock:function(e,t,r,n){Is(e,r);var o={type:"Program",body:t,strip:{},loc:n=this.locInfo(n)};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}},prepareBlock:function(e,t,r,n,o,a){n&&n.path&&Is(e,n);var i,s,l=/\*/.test(e.open);if(t.blockParams=e.blockParams,r){if(l)throw new Es("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),s=r.strip,i=r.program}return o&&(o=i,i=t,t=o),{type:l?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:i,openStrip:e.strip,inverseStrip:s,closeStrip:n&&n.strip,loc:this.locInfo(a)}},prepareProgram:function(e,t){if(!t&&e.length){var r=e[0].loc,n=e[e.length-1].loc;r&&n&&(t={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:e,strip:{},loc:t}},preparePartialBlock:function(e,t,r,n){return Is(e,r),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}}),Ms={};for(var js in qs)Object.prototype.hasOwnProperty.call(qs,js)&&(Ms[js]=qs[js]);function Hs(e,t){return"Program"===e.type?e:(Bs.yy=Ms,Bs.yy.locInfo=function(e){return new Rs(t&&t.srcName,e)},Bs.parse(e))}var Vs=Object.freeze({__proto__:null,Visitor:Ps,WhitespaceControl:Os,parser:Bs,Exception:Es,print:function(e){return(new Ds).accept(e)},PrintVisitor:Ds,parse:function(e,t){var r=Hs(e,t);return new Os(t).accept(r)},parseWithoutProcessing:Hs}),Us={Aacute:"\xc1",aacute:"\xe1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223e",acd:"\u223f",acE:"\u223e\u0333",Acirc:"\xc2",acirc:"\xe2",acute:"\xb4",Acy:"\u0410",acy:"\u0430",AElig:"\xc6",aelig:"\xe6",af:"\u2061",Afr:"\ud835\udd04",afr:"\ud835\udd1e",Agrave:"\xc0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03b1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2a3f",amp:"&",AMP:"&",andand:"\u2a55",And:"\u2a53",and:"\u2227",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angmsd:"\u2221",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",Aogon:"\u0104",aogon:"\u0105",Aopf:"\ud835\udd38",aopf:"\ud835\udd52",apacir:"\u2a6f",ap:"\u2248",apE:"\u2a70",ape:"\u224a",apid:"\u224b",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224a",Aring:"\xc5",aring:"\xe5",Ascr:"\ud835\udc9c",ascr:"\ud835\udcb6",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224d",Atilde:"\xc3",atilde:"\xe3",Auml:"\xc4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",Backslash:"\u2216",Barv:"\u2ae7",barvee:"\u22bd",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",Bernoullis:"\u212c",Beta:"\u0392",beta:"\u03b2",beth:"\u2136",between:"\u226c",Bfr:"\ud835\udd05",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bNot:"\u2aed",bnot:"\u2310",Bopf:"\ud835\udd39",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxbox:"\u29c9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250c",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252c",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxul:"\u2518",boxuL:"\u255b",boxUl:"\u255c",boxUL:"\u255d",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255a",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253c",boxvH:"\u256a",boxVh:"\u256b",boxVH:"\u256c",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251c",boxvR:"\u255e",boxVr:"\u255f",boxVR:"\u2560",bprime:"\u2035",breve:"\u02d8",Breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",Bscr:"\u212c",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsolb:"\u29c5",bsol:"\\",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",Bumpeq:"\u224e",bumpeq:"\u224f",Cacute:"\u0106",cacute:"\u0107",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",cap:"\u2229",Cap:"\u22d2",capcup:"\u2a47",capdot:"\u2a40",CapitalDifferentialD:"\u2145",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",Cayleys:"\u212d",ccaps:"\u2a4d",Ccaron:"\u010c",ccaron:"\u010d",Ccedil:"\xc7",ccedil:"\xe7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2a4c",ccupssm:"\u2a50",Cdot:"\u010a",cdot:"\u010b",cedil:"\xb8",Cedilla:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",CenterDot:"\xb7",cfr:"\ud835\udd20",Cfr:"\u212d",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03a7",chi:"\u03c7",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",CircleDot:"\u2299",circledR:"\xae",circledS:"\u24c8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25cb",cirE:"\u29c3",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2a74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",Congruent:"\u2261",conint:"\u222e",Conint:"\u222f",ContourIntegral:"\u222e",copf:"\ud835\udd54",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xa9",COPY:"\xa9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21b5",cross:"\u2717",Cross:"\u2a2f",Cscr:"\ud835\udc9e",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cupbrcap:"\u2a48",cupcap:"\u2a46",CupCap:"\u224d",cup:"\u222a",Cup:"\u22d3",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21a1",dArr:"\u21d3",dash:"\u2010",Dashv:"\u2ae4",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",Dcaron:"\u010e",dcaron:"\u010f",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21ca",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2a77",deg:"\xb0",Del:"\u2207",Delta:"\u0394",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",Dfr:"\ud835\udd07",dfr:"\ud835\udd21",dHar:"\u2965",dharl:"\u21c3",dharr:"\u21c2",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",diam:"\u22c4",diamond:"\u22c4",Diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",DifferentialD:"\u2146",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",Dopf:"\ud835\udd3b",dopf:"\ud835\udd55",Dot:"\xa8",dot:"\u02d9",DotDot:"\u20dc",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21d3",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21bd",DownRightTeeVector:"\u295f",DownRightVectorBar:"\u2957",DownRightVector:"\u21c1",DownTeeArrow:"\u21a7",DownTee:"\u22a4",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",Dscr:"\ud835\udc9f",dscr:"\ud835\udcb9",DScy:"\u0405",dscy:"\u0455",dsol:"\u29f6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",DZcy:"\u040f",dzcy:"\u045f",dzigrarr:"\u27ff",Eacute:"\xc9",eacute:"\xe9",easter:"\u2a6e",Ecaron:"\u011a",ecaron:"\u011b",Ecirc:"\xca",ecirc:"\xea",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042d",ecy:"\u044d",eDDot:"\u2a77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\ud835\udd08",efr:"\ud835\udd22",eg:"\u2a9a",Egrave:"\xc8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",Element:"\u2208",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25fb",emptyv:"\u2205",EmptyVerySmallSquare:"\u25ab",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014a",eng:"\u014b",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\ud835\udd3c",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",Epsilon:"\u0395",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",Equal:"\u2a75",equals:"=",EqualTilde:"\u2242",equest:"\u225f",Equilibrium:"\u21cc",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erarr:"\u2971",erDot:"\u2253",escr:"\u212f",Escr:"\u2130",esdot:"\u2250",Esim:"\u2a73",esim:"\u2242",Eta:"\u0397",eta:"\u03b7",ETH:"\xd0",eth:"\xf0",Euml:"\xcb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",Ffr:"\ud835\udd09",ffr:"\ud835\udd23",filig:"\ufb01",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",Fopf:"\ud835\udd3d",fopf:"\ud835\udd57",forall:"\u2200",ForAll:"\u2200",fork:"\u22d4",forkv:"\u2ad9",Fouriertrf:"\u2131",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",Fscr:"\u2131",gacute:"\u01f5",Gamma:"\u0393",gamma:"\u03b3",Gammad:"\u03dc",gammad:"\u03dd",gap:"\u2a86",Gbreve:"\u011e",gbreve:"\u011f",Gcedil:"\u0122",Gcirc:"\u011c",gcirc:"\u011d",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2a8c",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",gescc:"\u2aa9",ges:"\u2a7e",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",Gfr:"\ud835\udd0a",gfr:"\ud835\udd24",gg:"\u226b",Gg:"\u22d9",ggg:"\u22d9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2aa5",gl:"\u2277",glE:"\u2a92",glj:"\u2aa4",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gnE:"\u2269",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",Gopf:"\ud835\udd3e",gopf:"\ud835\udd58",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gtcc:"\u2aa7",gtcir:"\u2a7a",gt:">",GT:">",Gt:"\u226b",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",harrcir:"\u2948",harr:"\u2194",hArr:"\u21d4",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",Hfr:"\u210c",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",Hopf:"\u210d",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\ud835\udcbd",Hscr:"\u210b",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",Ifr:"\u2111",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",incare:"\u2105",in:"\u2208",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",intcal:"\u22ba",int:"\u222b",Int:"\u222c",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",Iscr:"\u2110",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",lang:"\u27e8",Lang:"\u27ea",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",larrb:"\u21e4",larrbfs:"\u291f",larr:"\u2190",Larr:"\u219e",lArr:"\u21d0",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",latail:"\u2919",lAtail:"\u291b",lat:"\u2aab",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lBarr:"\u290e",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27e8",LeftArrowBar:"\u21e4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21d0",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21c3",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTeeArrow:"\u21a4",LeftTee:"\u22a3",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangleBar:"\u29cf",LeftTriangle:"\u22b2",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21bf",LeftVectorBar:"\u2952",LeftVector:"\u21bc",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",lescc:"\u2aa8",les:"\u2a7d",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21c7",ll:"\u226a",Ll:"\u22d8",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoustache:"\u23b0",lmoust:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lnE:"\u2268",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftrightarrow:"\u27f7",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longmapsto:"\u27fc",longrightarrow:"\u27f6",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",Lscr:"\u2112",lsh:"\u21b0",Lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2aa6",ltcir:"\u2a79",lt:"<",LT:"<",Lt:"\u226a",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",midast:"*",midcir:"\u2af0",mid:"\u2223",middot:"\xb7",minusb:"\u229f",minus:"\u2212",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",Mscr:"\u2133",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266e",naturals:"\u2115",natur:"\u266e",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21d7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nharr:"\u21ae",nhArr:"\u21ce",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlarr:"\u219a",nlArr:"\u21cd",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219a",nLeftarrow:"\u21cd",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",nopf:"\ud835\udd5f",Nopf:"\u2115",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangle:"\u22eb",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",nprec:"\u2280",npreceq:"\u2aaf\u0338",npre:"\u2aaf\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219b",nrArr:"\u21cf",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nRightarrow:"\u21cf",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21d6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",Ocirc:"\xd4",ocirc:"\xf4",ocir:"\u229a",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",orarr:"\u21bb",Or:"\u2a54",or:"\u2228",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",otimesas:"\u2a36",Otimes:"\u2a37",otimes:"\u2297",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",para:"\xb6",parallel:"\u2225",par:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plus:"+",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",popf:"\ud835\udd61",Popf:"\u2119",pound:"\xa3",prap:"\u2ab7",Pr:"\u2abb",pr:"\u227a",prcue:"\u227c",precapprox:"\u2ab7",prec:"\u227a",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",pre:"\u2aaf",prE:"\u2ab3",precsim:"\u227e",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportional:"\u221d",Proportion:"\u2237",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",Qopf:"\u211a",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',QUOT:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",Rang:"\u27eb",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21a0",rArr:"\u21d2",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",rAtail:"\u291c",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rBarr:"\u290f",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",Re:"\u211c",rect:"\u25ad",reg:"\xae",REG:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",Rfr:"\u211c",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrowBar:"\u21e5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21d2",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVectorBar:"\u2955",RightDownVector:"\u21c2",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTeeArrow:"\u21a6",RightTee:"\u22a2",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangleBar:"\u29d0",RightTriangle:"\u22b3",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVectorBar:"\u2954",RightUpVector:"\u21be",RightVectorBar:"\u2953",RightVector:"\u21c0",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoustache:"\u23b1",rmoust:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",Ropf:"\u211d",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",rscr:"\ud835\udcc7",Rscr:"\u211b",rsh:"\u21b1",Rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2abc",sc:"\u227b",sccue:"\u227d",sce:"\u2ab0",scE:"\u2ab4",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdotb:"\u22a1",sdot:"\u22c5",sdote:"\u2a66",searhk:"\u2925",searr:"\u2198",seArr:"\u21d8",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",solbar:"\u233f",solb:"\u29c4",sol:"/",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25a1",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squ:"\u25a1",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",Sub:"\u22d0",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",Subset:"\u22d0",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succapprox:"\u2ab8",succ:"\u227b",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",sum:"\u2211",Sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",Sup:"\u22d1",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",Supset:"\u22d1",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21d9",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",tilde:"\u02dc",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2a31",timesb:"\u22a0",times:"\xd7",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",topbot:"\u2336",topcir:"\u2af1",top:"\u22a4",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",uarr:"\u2191",Uarr:"\u219f",uArr:"\u21d1",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21d1",UpArrowDownArrow:"\u21c5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21d5",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03c5",Upsi:"\u03d2",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTeeArrow:"\u21a5",UpTee:"\u22a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",vArr:"\u21d5",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vBar:"\u2ae8",Vbar:"\u2aeb",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22a2",vDash:"\u22a8",Vdash:"\u22a9",VDash:"\u22ab",Vdashl:"\u2ae6",veebar:"\u22bb",vee:"\u2228",Vee:"\u22c1",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",Wedge:"\u22c0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xharr:"\u27f7",xhArr:"\u27fa",Xi:"\u039e",xi:"\u03be",xlarr:"\u27f5",xlArr:"\u27f8",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrarr:"\u27f6",xrArr:"\u27f9",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",yuml:"\xff",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",zfr:"\ud835\udd37",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",Zopf:"\u2124",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},zs=/^#[xX]([A-Fa-f0-9]+)$/,Fs=/^#([0-9]+)$/,Ks=/^([A-Za-z0-9]+)$/,Gs=function(){function e(e){this.named=e}return e.prototype.parse=function(e){if(e){var t=e.match(zs);return t?String.fromCharCode(parseInt(t[1],16)):(t=e.match(Fs))?String.fromCharCode(parseInt(t[1],10)):(t=e.match(Ks))?this.named[t[1]]:void 0}},e}(),$s=/[\t\n\f ]/,Ys=/[A-Za-z]/,Ws=/\r\n?/g;function Qs(e){return $s.test(e)}function Js(e){return Ys.test(e)}var Xs=function(){function e(e,t,r){void 0===r&&(r="precompile"),this.delegate=e,this.entityParser=t,this.mode=r,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var e=this.peek();if("<"!==e||this.isIgnoredEndTag()){if("precompile"===this.mode&&"\n"===e){var t=this.tagNameBuffer.toLowerCase();"pre"!==t&&"textarea"!==t||this.consume()}this.transitionTo("data"),this.delegate.beginData()}else this.transitionTo("tagOpen"),this.markTagStart(),this.consume()},data:function(){var e=this.peek(),t=this.tagNameBuffer;"<"!==e||this.isIgnoredEndTag()?"&"===e&&"script"!==t&&"style"!==t?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(e)):(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume())},tagOpen:function(){var e=this.consume();"!"===e?this.transitionTo("markupDeclarationOpen"):"/"===e?this.transitionTo("endTagOpen"):("@"===e||":"===e||Js(e))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(e))},markupDeclarationOpen:function(){var e=this.consume();"-"===e&&"-"===this.peek()?(this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment()):"DOCTYPE"===e.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase()&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())},doctype:function(){Qs(this.consume())&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var e=this.consume();Qs(e)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(e.toLowerCase()))},doctypeName:function(){var e=this.consume();Qs(e)?this.transitionTo("afterDoctypeName"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(e.toLowerCase())},afterDoctypeName:function(){var e=this.consume();if(!Qs(e))if(">"===e)this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var t=e.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),r="PUBLIC"===t.toUpperCase(),n="SYSTEM"===t.toUpperCase();(r||n)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),r?this.transitionTo("afterDoctypePublicKeyword"):n&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var e=this.peek();Qs(e)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):'"'===e?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):"'"===e?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):">"===e&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var e=this.consume();'"'===e?this.transitionTo("afterDoctypePublicIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(e)},doctypePublicIdentifierSingleQuoted:function(){var e=this.consume();"'"===e?this.transitionTo("afterDoctypePublicIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(e)},afterDoctypePublicIdentifier:function(){var e=this.consume();Qs(e)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===e?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===e&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var e=this.consume();Qs(e)||(">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===e?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===e&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var e=this.consume();'"'===e?this.transitionTo("afterDoctypeSystemIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(e)},doctypeSystemIdentifierSingleQuoted:function(){var e=this.consume();"'"===e?this.transitionTo("afterDoctypeSystemIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(e)},afterDoctypeSystemIdentifier:function(){var e=this.consume();Qs(e)||">"===e&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var e=this.consume();"-"===e?this.transitionTo("commentStartDash"):">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(e),this.transitionTo("comment"))},commentStartDash:function(){var e=this.consume();"-"===e?this.transitionTo("commentEnd"):">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var e=this.consume();"-"===e?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(e)},commentEndDash:function(){var e=this.consume();"-"===e?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+e),this.transitionTo("comment"))},commentEnd:function(){var e=this.consume();">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+e),this.transitionTo("comment"))},tagName:function(){var e=this.consume();Qs(e)?this.transitionTo("beforeAttributeName"):"/"===e?this.transitionTo("selfClosingStartTag"):">"===e?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(e)},endTagName:function(){var e=this.consume();Qs(e)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):"/"===e?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):">"===e?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(e)},beforeAttributeName:function(){var e=this.peek();Qs(e)?this.consume():"/"===e?(this.transitionTo("selfClosingStartTag"),this.consume()):">"===e?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):"="===e?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(e)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var e=this.peek();Qs(e)?(this.transitionTo("afterAttributeName"),this.consume()):"/"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===e?(this.transitionTo("beforeAttributeValue"),this.consume()):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):'"'===e||"'"===e||"<"===e?(this.delegate.reportSyntaxError(e+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(e)):(this.consume(),this.delegate.appendToAttributeName(e))},afterAttributeName:function(){var e=this.peek();Qs(e)?this.consume():"/"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===e?(this.consume(),this.transitionTo("beforeAttributeValue")):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(e))},beforeAttributeValue:function(){var e=this.peek();Qs(e)?this.consume():'"'===e?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):"'"===e?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(e))},attributeValueDoubleQuoted:function(){var e=this.consume();'"'===e?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===e?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(e)},attributeValueSingleQuoted:function(){var e=this.consume();"'"===e?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===e?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(e)},attributeValueUnquoted:function(){var e=this.peek();Qs(e)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):"/"===e?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"&"===e?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):">"===e?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(e))},afterAttributeValueQuoted:function(){var e=this.peek();Qs(e)?(this.consume(),this.transitionTo("beforeAttributeName")):"/"===e?(this.consume(),this.transitionTo("selfClosingStartTag")):">"===e?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){">"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var e=this.consume();("@"===e||":"===e||Js(e))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(e))}},this.reset()}return e.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},e.prototype.transitionTo=function(e){this.state=e},e.prototype.tokenize=function(e){this.reset(),this.tokenizePart(e),this.tokenizeEOF()},e.prototype.tokenizePart=function(e){for(this.input+=function(e){return e.replace(Ws,"\n")}(e);this.index"!==this.input.substring(this.index,this.index+8)||"style"===e&&""!==this.input.substring(this.index,this.index+8)||"script"===e&&"<\/script>"!==this.input.substring(this.index,this.index+9)},e}(),Zs=function(){function e(e,t){void 0===t&&(t={}),this.options=t,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new Xs(this,e,t.mode),this._currentAttribute=void 0}return e.prototype.tokenize=function(e){return this.tokens=[],this.tokenizer.tokenize(e),this.tokens},e.prototype.tokenizePart=function(e){return this.tokens=[],this.tokenizer.tokenizePart(e),this.tokens},e.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},e.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},e.prototype.current=function(){var e=this.token;if(null===e)throw new Error("token was unexpectedly null");if(0===arguments.length)return e;for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:{entityEncoding:"transformed"};if(!e)return"";let r=new rl.default(t);return r.print(e)};var rl=function(e){return e&&e.__esModule?e:{default:e}}(us);var nl={};Object.defineProperty(nl,"__esModule",{value:!0}),nl.generateSyntaxError=function(e,t){let{module:r,loc:n}=t,{line:o,column:a}=n.start,i=t.asString(),s=i?"\n\n|\n| ".concat(i.split("\n").join("\n| "),"\n|\n\n"):"",l=new Error("".concat(e,": ").concat(s,"(error occurred in '").concat(r,"' @ line ").concat(o," : column ").concat(a,")"));return l.name="SyntaxError",l.location=t,l.code=i,l};var ol={},al={};Object.defineProperty(al,"__esModule",{value:!0}),al.default=void 0;var il=B;var sl={Program:(0,il.tuple)("body"),Template:(0,il.tuple)("body"),Block:(0,il.tuple)("body"),MustacheStatement:(0,il.tuple)("path","params","hash"),BlockStatement:(0,il.tuple)("path","params","hash","program","inverse"),ElementModifierStatement:(0,il.tuple)("path","params","hash"),PartialStatement:(0,il.tuple)("name","params","hash"),CommentStatement:(0,il.tuple)(),MustacheCommentStatement:(0,il.tuple)(),ElementNode:(0,il.tuple)("attributes","modifiers","children","comments"),AttrNode:(0,il.tuple)("value"),TextNode:(0,il.tuple)(),ConcatStatement:(0,il.tuple)("parts"),SubExpression:(0,il.tuple)("path","params","hash"),PathExpression:(0,il.tuple)(),PathHead:(0,il.tuple)(),StringLiteral:(0,il.tuple)(),BooleanLiteral:(0,il.tuple)(),NumberLiteral:(0,il.tuple)(),NullLiteral:(0,il.tuple)(),UndefinedLiteral:(0,il.tuple)(),Hash:(0,il.tuple)("pairs"),HashPair:(0,il.tuple)("value"),NamedBlock:(0,il.tuple)("attributes","modifiers","children","comments"),SimpleElement:(0,il.tuple)("attributes","modifiers","children","comments"),Component:(0,il.tuple)("head","attributes","modifiers","children","comments")};al.default=sl;var ll={};Object.defineProperty(ll,"__esModule",{value:!0}),ll.cannotRemoveNode=function(e,t,r){return new cl("Cannot remove a node unless it is part of an array",e,t,r)},ll.cannotReplaceNode=function(e,t,r){return new cl("Cannot replace a node with multiple nodes unless it is part of an array",e,t,r)},ll.cannotReplaceOrRemoveInKeyHandlerYet=function(e,t){return new cl("Replacing and removing in key handlers is not yet supported.",e,null,t)},ll.default=void 0;const cl=function(){function e(e,t,r,n){let o=Error.call(this,e);this.key=n,this.message=e,this.node=t,this.parent=r,this.stack=o.stack}return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}();var ul=cl;ll.default=ul;var hl={};Object.defineProperty(hl,"__esModule",{value:!0}),hl.default=void 0;hl.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.node=e,this.parent=t,this.parentKey=r}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new pl(this)}}};class pl{constructor(e){this.path=e}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}Object.defineProperty(ol,"__esModule",{value:!0}),ol.default=function(e,t){let r=new ml.default(e);vl(t,r)};var dl=gl(al),fl=ll,ml=gl(hl);function gl(e){return e&&e.__esModule?e:{default:e}}function bl(e){return"function"==typeof e?e:e.enter}function yl(e){return"function"==typeof e?void 0:e.exit}function vl(e,t){let r,n,o,{node:a,parent:i,parentKey:s}=t,l=function(e,t){if(("Template"===t||"Block"===t)&&e.Program)return e.Program;let r=e[t];return void 0!==r?r:e.All}(e,a.type);if(void 0!==l&&(r=bl(l),n=yl(l)),void 0!==r&&(o=r(a,t)),null!=o){if(JSON.stringify(a)!==JSON.stringify(o)){if(Array.isArray(o))return wl(e,o,i,s),o;return vl(e,new ml.default(o,i,s))||o}o=void 0}if(void 0===o){let r=dl.default[a.type];for(let n=0;n0&&"|"===r[r.length-1].charAt(0))throw(0,xl.generateSyntaxError)("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",e.loc);if(-1!==n&&t>n&&"|"===r[n+1].charAt(0)){let o=r.slice(n).join(" ");if("|"!==o.charAt(o.length-1)||2!==o.match(/\|/g).length)throw(0,xl.generateSyntaxError)("Invalid block parameters syntax, '"+o+"'",e.loc);let a=[];for(let o=n+1;o@\[-\^`\{-~]/;function Al(e){switch(e.type){case"Block":case"Template":return e.body;case"ElementNode":return e.children}}var _l={};Object.defineProperty(_l,"__esModule",{value:!0}),_l.default=void 0;var Cl=we;const Ll={close:!1,open:!1};var Bl=new class{pos(e,t){return{line:e,column:t}}blockItself(e){let{body:t,blockParams:r,chained:n=!1,loc:o}=e;return{type:"Block",body:t||[],blockParams:r||[],chained:n,loc:o}}template(e){let{body:t,blockParams:r,loc:n}=e;return{type:"Template",body:t||[],blockParams:r||[],loc:n}}mustache(e){let{path:t,params:r,hash:n,trusting:o,loc:a,strip:i=Ll}=e;return{type:"MustacheStatement",path:t,params:r,hash:n,escaped:!o,trusting:o,loc:a,strip:i||{open:!1,close:!1}}}block(e){let{path:t,params:r,hash:n,defaultBlock:o,elseBlock:a=null,loc:i,openStrip:s=Ll,inverseStrip:l=Ll,closeStrip:c=Ll}=e;return{type:"BlockStatement",path:t,params:r,hash:n,program:o,inverse:a,loc:i,openStrip:s,inverseStrip:l,closeStrip:c}}comment(e,t){return{type:"CommentStatement",value:e,loc:t}}mustacheComment(e,t){return{type:"MustacheCommentStatement",value:e,loc:t}}concat(e,t){return{type:"ConcatStatement",parts:e,loc:t}}element(e){let{tag:t,selfClosing:r,attrs:n,blockParams:o,modifiers:a,comments:i,children:s,loc:l}=e;return{type:"ElementNode",tag:t,selfClosing:r,attributes:n||[],blockParams:o||[],modifiers:a||[],comments:i||[],children:s||[],loc:l}}elementModifier(e){let{path:t,params:r,hash:n,loc:o}=e;return{type:"ElementModifierStatement",path:t,params:r,hash:n,loc:o}}attr(e){let{name:t,value:r,loc:n}=e;return{type:"AttrNode",name:t,value:r,loc:n}}text(e){let{chars:t,loc:r}=e;return{type:"TextNode",chars:t,loc:r}}sexpr(e){let{path:t,params:r,hash:n,loc:o}=e;return{type:"SubExpression",path:t,params:r,hash:n,loc:o}}path(e){let{head:t,tail:r,loc:n}=e,{original:o}=function(e){switch(e.type){case"AtHead":case"VarHead":return{original:e.name,parts:[e.name]};case"ThisHead":return{original:"this",parts:[]}}}(t),a=[...o,...r].join(".");return new Cl.PathExpressionImplV1(a,t,r,n)}head(e,t){return"@"===e[0]?this.atName(e,t):"this"===e?this.this(t):this.var(e,t)}this(e){return{type:"ThisHead",loc:e}}atName(e,t){return{type:"AtHead",name:e,loc:t}}var(e,t){return{type:"VarHead",name:e,loc:t}}hash(e,t){return{type:"Hash",pairs:e||[],loc:t}}pair(e){let{key:t,value:r,loc:n}=e;return{type:"HashPair",key:t,value:r,loc:n}}literal(e){let{type:t,value:r,loc:n}=e;return{type:t,value:r,original:r,loc:n}}undefined(){return this.literal({type:"UndefinedLiteral",value:void 0})}null(){return this.literal({type:"NullLiteral",value:null})}string(e,t){return this.literal({type:"StringLiteral",value:e,loc:t})}boolean(e,t){return this.literal({type:"BooleanLiteral",value:e,loc:t})}number(e,t){return this.literal({type:"NumberLiteral",value:e,loc:t})}};_l.default=Bl;var Dl={},Il={};Object.defineProperty(Il,"__esModule",{value:!0}),Il.Parser=void 0;var Rl=B,ql=el;Il.Parser=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new ql.EntityParser(ql.HTML5NamedCharRefs),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"precompile";this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=e,this.lines=e.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new ql.EventedTokenizer(this,t,r)}offset(){let{line:e,column:t}=this.tokenizer;return this.source.offsetFor(e,t)}pos(e){let{line:t,column:r}=e;return this.source.offsetFor(t,r)}finish(e){return(0,Rl.assign)({},e,{loc:e.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(e){return this[e.type](e)}acceptNode(e){return this[e.type](e)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(e,t){let r,n,o,a=e.loc.start.line-1,i=a-1,s=e.loc.start.column,l=[];for(t?(n=t.loc.end.line-1,o=t.loc.end.column):(n=e.loc.end.line-1,o=e.loc.end.column);ie.acceptNode(t))):[],o=n.length>0?n[n.length-1].loc:r.loc;return{path:r,params:n,hash:t.hash?e.Hash(t.hash):{type:"Hash",pairs:[],loc:e.source.spanFor(o).collapse("end")}}}function Gl(e,t){let{path:r,params:n,hash:o,loc:a}=t;if((0,Vl.isHBSLiteral)(r)){let n="{{".concat((0,Vl.printLiteral)(r),"}}"),o="<".concat(e.name," ... ").concat(n," ...");throw(0,Hl.generateSyntaxError)("In ".concat(o,", ").concat(n," is not a valid modifier"),t.loc)}let i=zl.default.elementModifier({path:r,params:n,hash:o,loc:a});e.modifiers.push(i)}Dl.HandlebarsNodeVisitors=Fl,Object.defineProperty(ks,"__esModule",{value:!0}),ks.preprocess=hc,ks.TokenizerEventHandlers=void 0;var $l=B,Yl=Vs,Wl=el,Ql=sc(tl),Jl=us,Xl=a,Zl=D,ec=nl,tc=sc(ol),rc=sc(Pl),nc=Nl,oc=sc(_l),ac=sc(ke),ic=Dl;function sc(e){return e&&e.__esModule?e:{default:e}}class lc extends ic.HandlebarsNodeVisitors{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=oc.default.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(e){this.currentComment.value+=e}finishComment(){(0,nc.appendChild)(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=oc.default.text({chars:"",loc:this.offset().collapsed()})}appendToData(e){this.currentData.chars+=e}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),(0,nc.appendChild)(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let e=this.finish(this.currentTag);if("StartTag"===e.type){if(this.finishStartTag(),":"===e.name)throw(0,ec.generateSyntaxError)("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(Jl.voidMap[e.name]||e.selfClosing)&&this.finishEndTag(!0)}else"EndTag"===e.type&&this.finishEndTag(!1)}finishStartTag(){let{name:e,attributes:t,modifiers:r,comments:n,selfClosing:o,loc:a}=this.finish(this.currentStartTag),i=oc.default.element({tag:e,selfClosing:o,attrs:t,modifiers:r,comments:n,children:[],blockParams:[],loc:a});this.elementStack.push(i)}finishEndTag(e){let t=this.finish(this.currentTag),r=this.elementStack.pop(),n=this.currentElement();this.validateEndTag(t,r,e),r.loc=r.loc.withEnd(this.offset()),(0,nc.parseElementBlockParams)(r),(0,nc.appendChild)(n,r)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(e){this.currentTag.name+=e}beginAttribute(){let e=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:e,valueSpan:e.collapsed()}}appendToAttributeName(e){this.currentAttr.name+=e}beginAttributeValue(e){this.currentAttr.isQuoted=e,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(e){let t=this.currentAttr.parts,r=t[t.length-1],n=this.currentAttr.currentPart;if(n)n.chars+=e,n.loc=n.loc.withEnd(this.offset());else{let t=this.offset();t="\n"===e?r?r.loc.getEnd():this.currentAttr.valueSpan.getStart():t.move(-1),this.currentAttr.currentPart=oc.default.text({chars:e,loc:t.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let e=this.currentTag,t=this.offset();if("EndTag"===e.type)throw(0,ec.generateSyntaxError)("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:e.loc.toJSON(),end:t.toJSON()}));let{name:r,parts:n,start:o,isQuoted:a,isDynamic:i,valueSpan:s}=this.currentAttr,l=this.assembleAttributeValue(n,a,i,o.until(t));l.loc=s.withEnd(t);let c=oc.default.attr({name:r,value:l,loc:o.until(t)});this.currentStartTag.attributes.push(c)}reportSyntaxError(e){throw(0,ec.generateSyntaxError)(e,this.offset().collapsed())}assembleConcatenatedValue(e){for(let t=0;t elements do not need end tags. You should remove it"):void 0===t.tag?n="Closing tag without an open tag"):t.tag!==e.name&&(n="Closing tag did not match last open tag <").concat(t.tag,"> (on line ").concat(t.loc.startPosition.line,")")),n)throw(0,ec.generateSyntaxError)(n,e.loc)}assembleAttributeValue(e,t,r,n){if(r){if(t)return this.assembleConcatenatedValue(e);if(1===e.length||2===e.length&&"TextNode"===e[1].type&&"/"===e[1].chars)return e[0];throw(0,ec.generateSyntaxError)("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",n)}return e.length>0?e[0]:oc.default.text({chars:"",loc:n})}}ks.TokenizerEventHandlers=lc;const cc={parse:hc,builders:ac.default,print:Ql.default,traverse:tc.default,Walker:rc.default};class uc extends Wl.EntityParser{constructor(){super({})}parse(){}}function hc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r,n,o;let a,i,s,l=t.mode||"precompile";"string"==typeof e?(a=new Xl.Source(e,null===(r=t.meta)||void 0===r?void 0:r.moduleName),i="codemod"===l?(0,Yl.parseWithoutProcessing)(e,t.parseOptions):(0,Yl.parse)(e,t.parseOptions)):e instanceof Xl.Source?(a=e,i="codemod"===l?(0,Yl.parseWithoutProcessing)(e.source,t.parseOptions):(0,Yl.parse)(e.source,t.parseOptions)):(a=new Xl.Source("",null===(n=t.meta)||void 0===n?void 0:n.moduleName),i=e),"codemod"===l&&(s=new uc);let c=Zl.SourceSpan.forCharPositions(a,0,a.source.length);i.loc={source:"(program)",start:c.startPosition,end:c.endPosition};let u=new lc(a,s,l).acceptTemplate(i);if(t.strictMode&&(u.blockParams=null!==(o=t.locals)&&void 0!==o?o:[]),t&&t.plugins&&t.plugins.ast)for(let e=0,r=t.plugins.ast.length;ethis.allocate(e)));return new bc(this,e,t)}}pc.SymbolTable=mc;class gc extends mc{constructor(e,t){super(),this.templateLocals=e,this.customizeComponentName=t,this.symbols=[],this.upvars=[],this.size=1,this.named=(0,dc.dict)(),this.blocks=(0,dc.dict)(),this.usedTemplateLocals=[],this._hasEval=!1}getUsedTemplateLocals(){return this.usedTemplateLocals}setHasEval(){this._hasEval=!0}get hasEval(){return this._hasEval}has(e){return-1!==this.templateLocals.indexOf(e)}get(e){let t=this.usedTemplateLocals.indexOf(e);return-1!==t||(t=this.usedTemplateLocals.length,this.usedTemplateLocals.push(e)),[t,!0]}getLocalsMap(){return(0,dc.dict)()}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map((t=>e[t]))}allocateFree(e,t){39===t.resolution()&&t.isAngleBracket&&(0,fc.isUpperCase)(e)&&(e=this.customizeComponentName(e));let r=this.upvars.indexOf(e);return-1!==r||(r=this.upvars.length,this.upvars.push(e)),r}allocateNamed(e){let t=this.named[e];return t||(t=this.named[e]=this.allocate(e)),t}allocateBlock(e){"inverse"===e&&(e="else");let t=this.blocks[e];return t||(t=this.blocks[e]=this.allocate("&".concat(e))),t}allocate(e){return this.symbols.push(e),this.size++}}pc.ProgramSymbolTable=gc;class bc extends mc{constructor(e,t,r){super(),this.parent=e,this.symbols=t,this.slots=r}get locals(){return this.symbols}has(e){return-1!==this.symbols.indexOf(e)||this.parent.has(e)}get(e){let t=this.symbols.indexOf(e);return-1===t?this.parent.get(e):[this.slots[t],!1]}getLocalsMap(){let e=this.parent.getLocalsMap();return this.symbols.forEach((t=>e[t]=this.get(t)[0])),e}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map((t=>e[t]))}setHasEval(){this.parent.setHasEval()}allocateFree(e,t){return this.parent.allocateFree(e,t)}allocateNamed(e){return this.parent.allocateNamed(e)}allocateBlock(e){return this.parent.allocateBlock(e)}allocate(e){return this.parent.allocate(e)}}pc.BlockSymbolTable=bc;var yc={};Object.defineProperty(yc,"__esModule",{value:!0}),yc.BuildElement=yc.Builder=void 0;var vc=B,Sc=K,kc=dt,wc=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=Ec();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(Ke);function Ec(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return Ec=function(){return e},e}class Pc{template(e,t,r){return new wc.Template({table:e,body:t,loc:r})}block(e,t,r){return new wc.Block({scope:e,body:t,loc:r})}namedBlock(e,t,r){return new wc.NamedBlock({name:e,block:t,attrs:[],componentArgs:[],modifiers:[],loc:r})}simpleNamedBlock(e,t,r){return new Tc({selfClosing:!1,attrs:[],componentArgs:[],modifiers:[],comments:[]}).named(e,t,r)}slice(e,t){return new Sc.SourceSlice({loc:t,chars:e})}args(e,t,r){return new wc.Args({loc:r,positional:e,named:t})}positional(e,t){return new wc.PositionalArguments({loc:t,exprs:e})}namedArgument(e,t){return new wc.NamedArgument({name:e,value:t})}named(e,t){return new wc.NamedArguments({loc:t,entries:e})}attr(e,t){let{name:r,value:n,trusting:o}=e;return new wc.HtmlAttr({loc:t,name:r,value:n,trusting:o})}splatAttr(e,t){return new wc.SplatAttr({symbol:e,loc:t})}arg(e,t){let{name:r,value:n,trusting:o}=e;return new wc.ComponentArg({name:r,value:n,trusting:o,loc:t})}path(e,t,r){return new wc.PathExpression({loc:r,ref:e,tail:t})}self(e){return new wc.ThisReference({loc:e})}at(e,t,r){return new wc.ArgReference({loc:r,name:new Sc.SourceSlice({loc:r,chars:e}),symbol:t})}freeVar(e){let{name:t,context:r,symbol:n,loc:o}=e;return new wc.FreeVarReference({name:t,resolution:r,symbol:n,loc:o})}localVar(e,t,r,n){return new wc.LocalVarReference({loc:n,name:e,isTemplateLocal:r,symbol:t})}sexp(e,t){return new wc.CallExpression({loc:t,callee:e.callee,args:e.args})}deprecatedCall(e,t,r){return new wc.DeprecatedCallExpression({loc:r,arg:e,callee:t})}interpolate(e,t){return(0,vc.assertPresent)(e),new wc.InterpolateExpression({loc:t,parts:e})}literal(e,t){return new wc.LiteralExpression({loc:t,value:e})}append(e,t){let{table:r,trusting:n,value:o}=e;return new wc.AppendContent({table:r,trusting:n,value:o,loc:t})}modifier(e,t){let{callee:r,args:n}=e;return new wc.ElementModifier({loc:t,callee:r,args:n})}namedBlocks(e,t){return new wc.NamedBlocks({loc:t,blocks:e})}blockStatement(e,t){var{symbols:r,program:n,inverse:o=null}=e,a=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o0||e.hash.pairs.length>0}Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.normalize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r;let n=(0,Dc.preprocess)(e,t),o=(0,Lc.assign)({strictMode:!1,locals:[]},t),a=qc.SymbolTable.top(o.locals,null!==(r=t.customizeComponentName)&&void 0!==r?r:e=>e),i=new Gc(e,o,a),s=new Yc(i),l=new Jc(i.loc(n.loc),n.body.map((e=>s.normalize(e))),i).assertTemplate(a),c=a.getUsedTemplateLocals();return[l,c]},Qt.BlockContext=void 0;var Lc=B,Bc=Kc(us),Dc=ks,Ic=K,Rc=dt,qc=pc,Mc=nl,jc=Nl,Hc=Kc(_l),Vc=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=Fc();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(Ke),Uc=yc,zc=Nc;function Fc(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return Fc=function(){return e},e}function Kc(e){return e&&e.__esModule?e:{default:e}}class Gc{constructor(e,t,r){this.source=e,this.options=t,this.table=r,this.builder=new Uc.Builder}get strict(){return this.options.strictMode||!1}loc(e){return this.source.spanFor(e)}resolutionFor(e,t){if(this.strict)return{resolution:Vc.STRICT_RESOLUTION};if(this.isFreeVar(e)){let r=t(e);return null===r?{resolution:"error",path:eu(e),head:tu(e)}:{resolution:r}}return{resolution:Vc.STRICT_RESOLUTION}}isFreeVar(e){return"PathExpression"===e.type?"VarHead"===e.head.type&&!this.table.has(e.head.name):"PathExpression"===e.path.type&&this.isFreeVar(e.path)}hasBinding(e){return this.table.has(e)}child(e){return new Gc(this.source,this.options,this.table.child(e))}customizeComponentName(e){return this.options.customizeComponentName?this.options.customizeComponentName(e):e}}Qt.BlockContext=Gc;class $c{constructor(e){this.block=e}normalize(e,t){switch(e.type){case"NullLiteral":case"BooleanLiteral":case"NumberLiteral":case"StringLiteral":case"UndefinedLiteral":return this.block.builder.literal(e.value,this.block.loc(e.loc));case"PathExpression":return this.path(e,t);case"SubExpression":{let t=this.block.resolutionFor(e,zc.SexpSyntaxContext);if("error"===t.resolution)throw(0,Mc.generateSyntaxError)("You attempted to invoke a path (`".concat(t.path,"`) but ").concat(t.head," was not in scope"),e.loc);return this.block.builder.sexp(this.callParts(e,t.resolution),this.block.loc(e.loc))}}}path(e,t){let r=[],n=this.block.loc(e.head.loc);for(let t of e.tail)n=n.sliceStartChars({chars:t.length,skipStart:1}),r.push(new Ic.SourceSlice({loc:n,chars:t}));return this.block.builder.path(this.ref(e.head,t),r,this.block.loc(e.loc))}callParts(e,t){let{path:r,params:n,hash:o}=e,a=this.normalize(r,t),i=n.map((e=>this.normalize(e,Vc.ARGUMENT_RESOLUTION))),s=Rc.SpanList.range(i,a.loc.collapse("end")),l=this.block.loc(o.loc),c=Rc.SpanList.range([s,l]),u=this.block.builder.positional(n.map((e=>this.normalize(e,Vc.ARGUMENT_RESOLUTION))),s),h=this.block.builder.named(o.pairs.map((e=>this.namedArgument(e))),this.block.loc(o.loc));return{callee:a,args:this.block.builder.args(u,h,c)}}namedArgument(e){let t=this.block.loc(e.loc).sliceStartChars({chars:e.key.length});return this.block.builder.namedArgument(new Ic.SourceSlice({chars:e.key,loc:t}),this.normalize(e.value,Vc.ARGUMENT_RESOLUTION))}ref(e,t){let{block:r}=this,{builder:n,table:o}=r,a=r.loc(e.loc);switch(e.type){case"ThisHead":return n.self(a);case"AtHead":{let t=o.allocateNamed(e.name);return n.at(e.name,t,a)}case"VarHead":if(r.hasBinding(e.name)){let[t,n]=o.get(e.name);return r.builder.localVar(e.name,t,n,a)}{let n=r.strict?Vc.STRICT_RESOLUTION:t,o=r.table.allocateFree(e.name,n);return r.builder.freeVar({name:e.name,context:n,symbol:o,loc:a})}}}}class Yc{constructor(e){this.block=e}normalize(e){switch(e.type){case"PartialStatement":throw new Error("Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer");case"BlockStatement":return this.BlockStatement(e);case"ElementNode":return new Wc(this.block).ElementNode(e);case"MustacheStatement":return this.MustacheStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":{let t=this.block.loc(e.loc);return new Vc.HtmlComment({loc:t,text:t.slice({skipStart:4,skipEnd:3}).toSlice(e.value)})}case"TextNode":return new Vc.HtmlText({loc:this.block.loc(e.loc),chars:e.chars})}}MustacheCommentStatement(e){let t,r=this.block.loc(e.loc);return t="{{!--"===r.asString().slice(0,5)?r.slice({skipStart:5,skipEnd:4}):r.slice({skipStart:3,skipEnd:2}),new Vc.GlimmerComment({loc:r,text:t.toSlice(e.value)})}MustacheStatement(e){let{escaped:t}=e,r=this.block.loc(e.loc),n=this.expr.callParts({path:e.path,params:e.params,hash:e.hash},(0,zc.AppendSyntaxContext)(e)),o=n.args.isEmpty()?n.callee:this.block.builder.sexp(n,r);return this.block.builder.append({table:this.block.table,trusting:!t,value:o},r)}BlockStatement(e){let{program:t,inverse:r}=e,n=this.block.loc(e.loc),o=this.block.resolutionFor(e,zc.BlockSyntaxContext);if("error"===o.resolution)throw(0,Mc.generateSyntaxError)("You attempted to invoke a path (`{{#".concat(o.path,"}}`) but ").concat(o.head," was not in scope"),n);let a=this.expr.callParts(e,o.resolution);return this.block.builder.blockStatement((0,Lc.assign)({symbols:this.block.table,program:this.Block(t),inverse:r?this.Block(r):null},a),n)}Block(e){let{body:t,loc:r,blockParams:n}=e,o=this.block.child(n),a=new Yc(o);return new Xc(this.block.loc(r),t.map((e=>a.normalize(e))),this.block).assertBlock(o.table)}get expr(){return new $c(this.block)}}class Wc{constructor(e){this.ctx=e}ElementNode(e){let{tag:t,selfClosing:r,comments:n}=e,o=this.ctx.loc(e.loc),[a,...i]=t.split("."),s=this.classifyTag(a,i,e.loc),l=e.attributes.filter((e=>"@"!==e.name[0])).map((e=>this.attr(e))),c=e.attributes.filter((e=>"@"===e.name[0])).map((e=>this.arg(e))),u=e.modifiers.map((e=>this.modifier(e))),h=this.ctx.child(e.blockParams),p=new Yc(h),d=e.children.map((e=>p.normalize(e))),f=this.ctx.builder.element({selfClosing:r,attrs:l,componentArgs:c,modifiers:u,comments:n.map((e=>new Yc(this.ctx).MustacheCommentStatement(e)))}),m=new Zc(f,o,d,this.ctx),g=this.ctx.loc(e.loc).sliceStartChars({chars:t.length,skipStart:1});if("ElementHead"===s)return":"===t[0]?m.assertNamedBlock(g.slice({skipStart:1}).toSlice(t.slice(1)),h.table):m.assertElement(g.toSlice(t),e.blockParams.length>0);if(e.selfClosing)return f.selfClosingComponent(s,o);{let r=m.assertComponent(t,h.table,e.blockParams.length>0);return f.componentWithNamedBlocks(s,r,o)}}modifier(e){let t=this.ctx.resolutionFor(e,zc.ModifierSyntaxContext);if("error"===t.resolution)throw(0,Mc.generateSyntaxError)("You attempted to invoke a path (`{{#".concat(t.path,"}}`) as a modifier, but ").concat(t.head," was not in scope. Try adding `this` to the beginning of the path"),e.loc);let r=this.expr.callParts(e,t.resolution);return this.ctx.builder.modifier(r,this.ctx.loc(e.loc))}mustacheAttr(e){let t=this.ctx.builder.sexp(this.expr.callParts(e,(0,zc.AttrValueSyntaxContext)(e)),this.ctx.loc(e.loc));return t.args.isEmpty()?t.callee:t}attrPart(e){switch(e.type){case"MustacheStatement":return{expr:this.mustacheAttr(e),trusting:!e.escaped};case"TextNode":return{expr:this.ctx.builder.literal(e.chars,this.ctx.loc(e.loc)),trusting:!0}}}attrValue(e){if("ConcatStatement"===e.type){let t=e.parts.map((e=>this.attrPart(e).expr));return{expr:this.ctx.builder.interpolate(t,this.ctx.loc(e.loc)),trusting:!1}}return this.attrPart(e)}attr(e){if("...attributes"===e.name)return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock("attrs"),this.ctx.loc(e.loc));let t=this.ctx.loc(e.loc),r=t.sliceStartChars({chars:e.name.length}).toSlice(e.name),n=this.attrValue(e.value);return this.ctx.builder.attr({name:r,value:n.expr,trusting:n.trusting},t)}maybeDeprecatedCall(e,t){if(this.ctx.strict)return null;if("MustacheStatement"!==t.type)return null;let{path:r}=t;if("PathExpression"!==r.type)return null;if("VarHead"!==r.head.type)return null;let{name:n}=r.head;if("has-block"===n||"has-block-params"===n)return null;if(this.ctx.hasBinding(n))return null;if(0!==r.tail.length)return null;if(0!==t.params.length||0!==t.hash.pairs.length)return null;let o=Vc.LooseModeResolution.attr(),a=this.ctx.builder.freeVar({name:n,context:o,symbol:this.ctx.table.allocateFree(n,o),loc:r.loc});return{expr:this.ctx.builder.deprecatedCall(e,a,t.loc),trusting:!1}}arg(e){let t=this.ctx.loc(e.loc),r=t.sliceStartChars({chars:e.name.length}).toSlice(e.name),n=this.maybeDeprecatedCall(r,e.value)||this.attrValue(e.value);return this.ctx.builder.arg({name:r,value:n.expr,trusting:n.trusting},t)}classifyTag(e,t,r){let n=(0,jc.isUpperCase)(e),o="@"===e[0]||"this"===e||this.ctx.hasBinding(e);if(this.ctx.strict&&!o){if(n)throw(0,Mc.generateSyntaxError)("Attempted to invoke a component that was not in scope in a strict mode template, `<".concat(e,">`. If you wanted to create an element with that name, convert it to lowercase - `<").concat(e.toLowerCase(),">`"),r);return"ElementHead"}let a=o||n,i=r.sliceStartChars({skipStart:1,chars:e.length}),s=t.reduce(((e,t)=>e+1+t.length),0),l=i.getEnd().move(s),c=i.withEnd(l);if(a){let n=Hc.default.path({head:Hc.default.head(e,i),tail:t,loc:c}),o=this.ctx.resolutionFor(n,zc.ComponentSyntaxContext);if("error"===o.resolution)throw(0,Mc.generateSyntaxError)("You attempted to invoke a path (`<".concat(o.path,">`) but ").concat(o.head," was not in scope"),r);return new $c(this.ctx).normalize(n,o.resolution)}if(t.length>0)throw(0,Mc.generateSyntaxError)("You used ".concat(e,".").concat(t.join(".")," as a tag name, but ").concat(e," is not in scope"),r);return"ElementHead"}get expr(){return new $c(this.ctx)}}class Qc{constructor(e,t,r){this.loc=e,this.children=t,this.block=r,this.namedBlocks=t.filter((e=>e instanceof Vc.NamedBlock)),this.hasSemanticContent=Boolean(t.filter((e=>{if(e instanceof Vc.NamedBlock)return!1;switch(e.type){case"GlimmerComment":case"HtmlComment":return!1;case"HtmlText":return!/^\s*$/.exec(e.chars);default:return!0}})).length),this.nonBlockChildren=t.filter((e=>!(e instanceof Vc.NamedBlock)))}}class Jc extends Qc{assertTemplate(e){if((0,Lc.isPresent)(this.namedBlocks))throw(0,Mc.generateSyntaxError)("Unexpected named block at the top-level of a template",this.loc);return this.block.builder.template(e,this.nonBlockChildren,this.block.loc(this.loc))}}class Xc extends Qc{assertBlock(e){if((0,Lc.isPresent)(this.namedBlocks))throw(0,Mc.generateSyntaxError)("Unexpected named block nested in a normal block",this.loc);return this.block.builder.block(e,this.nonBlockChildren,this.loc)}}class Zc extends Qc{constructor(e,t,r,n){super(t,r,n),this.el=e}assertNamedBlock(e,t){if(this.el.base.selfClosing)throw(0,Mc.generateSyntaxError)("<:".concat(e.chars,"/> is not a valid named block: named blocks cannot be self-closing"),this.loc);if((0,Lc.isPresent)(this.namedBlocks))throw(0,Mc.generateSyntaxError)("Unexpected named block inside <:".concat(e.chars,"> named block: named blocks cannot contain nested named blocks"),this.loc);if(!(0,jc.isLowerCase)(e.chars))throw(0,Mc.generateSyntaxError)("<:".concat(e.chars,"> is not a valid named block, and named blocks must begin with a lowercase letter"),this.loc);if(this.el.base.attrs.length>0||this.el.base.componentArgs.length>0||this.el.base.modifiers.length>0)throw(0,Mc.generateSyntaxError)("named block <:".concat(e.chars,"> cannot have attributes, arguments, or modifiers"),this.loc);let r=Rc.SpanList.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(e,this.block.builder.block(t,this.nonBlockChildren,r),this.loc)}assertElement(e,t){if(t)throw(0,Mc.generateSyntaxError)("Unexpected block params in <".concat(e,">: simple elements cannot have block params"),this.loc);if((0,Lc.isPresent)(this.namedBlocks)){let t=this.namedBlocks.map((e=>e.name));if(1===t.length)throw(0,Mc.generateSyntaxError)("Unexpected named block <:foo> inside <".concat(e.chars,"> HTML element"),this.loc);{let r=t.map((e=>"<:".concat(e.chars,">"))).join(", ");throw(0,Mc.generateSyntaxError)("Unexpected named blocks inside <".concat(e.chars,"> HTML element (").concat(r,")"),this.loc)}}return this.el.simple(e,this.nonBlockChildren,this.loc)}assertComponent(e,t,r){if((0,Lc.isPresent)(this.namedBlocks)&&this.hasSemanticContent)throw(0,Mc.generateSyntaxError)("Unexpected content inside <".concat(e,"> component invocation: when using named blocks, the tag cannot contain other content"),this.loc);if((0,Lc.isPresent)(this.namedBlocks)){if(r)throw(0,Mc.generateSyntaxError)("Unexpected block params list on <".concat(e,"> component invocation: when passing named blocks, the invocation tag cannot take block params"),this.loc);let t=new Set;for(let e of this.namedBlocks){let r=e.name.chars;if(t.has(r))throw(0,Mc.generateSyntaxError)("Component had two named blocks with the same name, `<:".concat(r,">`. Only one block with a given name may be passed"),this.loc);if("inverse"===r&&t.has("else")||"else"===r&&t.has("inverse"))throw(0,Mc.generateSyntaxError)("Component has both <:else> and <:inverse> block. <:inverse> is an alias for <:else>",this.loc);t.add(r)}return this.namedBlocks}return[this.block.builder.namedBlock(Ic.SourceSlice.synthetic("default"),this.block.builder.block(t,this.nonBlockChildren,this.loc),this.loc)]}}function eu(e){return"PathExpression"!==e.type&&"PathExpression"===e.path.type?eu(e.path):new Bc.default({entityEncoding:"raw"}).print(e)}function tu(e){if("PathExpression"!==e.type)return"PathExpression"===e.path.type?tu(e.path):new Bc.default({entityEncoding:"raw"}).print(e);switch(e.head.type){case"AtHead":case"VarHead":return e.head.name;case"ThisHead":return"this"}}var ru={};Object.defineProperty(ru,"__esModule",{value:!0}),ru.isKeyword=function(e){return e in nu},ru.KEYWORDS_TYPES=void 0;const nu={component:["Call","Append","Block"],debugger:["Append"],"each-in":["Block"],each:["Block"],"has-block-params":["Call","Append"],"has-block":["Call","Append"],helper:["Call","Append"],if:["Call","Append","Block"],"in-element":["Block"],let:["Block"],"link-to":["Append","Block"],log:["Call","Append"],modifier:["Call"],mount:["Append"],mut:["Call","Append"],outlet:["Append"],"query-params":["Call"],readonly:["Call","Append"],unbound:["Call","Append"],unless:["Call","Append","Block"],with:["Block"],yield:["Append"]};ru.KEYWORDS_TYPES=nu;var ou={};Object.defineProperty(ou,"__esModule",{value:!0}),ou.getTemplateLocals=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{includeHtmlElements:!1,includeKeywords:!1};const r=(0,iu.preprocess)(e),n=new Set,o=[];(0,su.default)(r,{Block:{enter(e){let{blockParams:t}=e;t.forEach((e=>{o.push(e)}))},exit(e){let{blockParams:t}=e;t.forEach((()=>{o.pop()}))}},ElementNode:{enter(e){e.blockParams.forEach((e=>{o.push(e)})),lu(n,e,o,t)},exit(e){let{blockParams:t}=e;t.forEach((()=>{o.pop()}))}},PathExpression(e){lu(n,e,o,t)}});let a=[];n.forEach((e=>a.push(e))),(null==t?void 0:t.includeKeywords)||(a=a.filter((e=>!(0,au.isKeyword)(e))));return a};var au=ru,iu=ks,su=function(e){return e&&e.__esModule?e:{default:e}}(ol);function lu(e,t,r,n){const o=function(e,t,r){if("PathExpression"===e.type){if("AtHead"===e.head.type||"ThisHead"===e.head.type)return;const r=e.head.name;if(-1===t.indexOf(r))return r}else if("ElementNode"===e.type){const{tag:n}=e,o=n.charAt(0);if(":"===o||"@"===o)return;if(!r.includeHtmlElements&&-1===n.indexOf(".")&&n.toLowerCase()===n)return;if("this."===n.substr(0,5))return;if(-1!==t.indexOf(n))return;return n}}(t,r,n);(Array.isArray(o)?o:[o]).forEach((t=>{void 0!==t&&"@"!==t[0]&&e.add(t.split(".")[0])}))}!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"Source",{enumerable:!0,get:function(){return t.Source}}),Object.defineProperty(e,"builders",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"normalize",{enumerable:!0,get:function(){return i.normalize}}),Object.defineProperty(e,"SymbolTable",{enumerable:!0,get:function(){return s.SymbolTable}}),Object.defineProperty(e,"BlockSymbolTable",{enumerable:!0,get:function(){return s.BlockSymbolTable}}),Object.defineProperty(e,"ProgramSymbolTable",{enumerable:!0,get:function(){return s.ProgramSymbolTable}}),Object.defineProperty(e,"generateSyntaxError",{enumerable:!0,get:function(){return l.generateSyntaxError}}),Object.defineProperty(e,"preprocess",{enumerable:!0,get:function(){return c.preprocess}}),Object.defineProperty(e,"print",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"sortByLoc",{enumerable:!0,get:function(){return h.sortByLoc}}),Object.defineProperty(e,"Walker",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"Path",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"traverse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"cannotRemoveNode",{enumerable:!0,get:function(){return f.cannotRemoveNode}}),Object.defineProperty(e,"cannotReplaceNode",{enumerable:!0,get:function(){return f.cannotReplaceNode}}),Object.defineProperty(e,"WalkerPath",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(e,"isKeyword",{enumerable:!0,get:function(){return g.isKeyword}}),Object.defineProperty(e,"KEYWORDS_TYPES",{enumerable:!0,get:function(){return g.KEYWORDS_TYPES}}),Object.defineProperty(e,"getTemplateLocals",{enumerable:!0,get:function(){return b.getTemplateLocals}}),Object.defineProperty(e,"SourceSlice",{enumerable:!0,get:function(){return y.SourceSlice}}),Object.defineProperty(e,"SourceSpan",{enumerable:!0,get:function(){return v.SourceSpan}}),Object.defineProperty(e,"SpanList",{enumerable:!0,get:function(){return S.SpanList}}),Object.defineProperty(e,"maybeLoc",{enumerable:!0,get:function(){return S.maybeLoc}}),Object.defineProperty(e,"loc",{enumerable:!0,get:function(){return S.loc}}),Object.defineProperty(e,"hasSpan",{enumerable:!0,get:function(){return S.hasSpan}}),Object.defineProperty(e,"node",{enumerable:!0,get:function(){return k.node}}),e.ASTv2=e.AST=e.ASTv1=void 0;var t=a,r=P(ke),n=E(ze);e.ASTv1=n,e.AST=n;var o=E(Ke);e.ASTv2=o;var i=Qt,s=pc,l=nl,c=ks,u=P(tl),h=hs,p=P(Pl),d=P(ol),f=ll,m=P(hl),g=ru,b=ou,y=K,v=D,S=dt,k=Je;function w(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return w=function(){return e},e}function E(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=w();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}function P(e){return e&&e.__esModule?e:{default:e}}}(o);const cu=t.default,uu=r,{locStart:hu,locEnd:pu}=n;function du(){return{name:"addBackslash",visitor:{TextNode(e){e.chars=e.chars.replace(/\\/,"\\\\")}}}}function fu(e){const t=new cu(e),r=e=>{let{line:r,column:n}=e;return t.indexForLocation({line:r-1,column:n})};return()=>({name:"addOffset",visitor:{All(e){const{start:t,end:n}=e.loc;t.offset=r(t),n.offset=r(n)}}})}var mu={parsers:{glimmer:{parse:function(e){const{preprocess:t}=o;let r;try{r=t(e,{mode:"codemod",plugins:{ast:[du,fu(e)]}})}catch(e){const t=function(e){const{location:t,hash:r}=e;if(t){const{start:e,end:r}=t;return"number"!=typeof r.line?{start:e}:t}if(r){const{loc:{last_line:e,last_column:t}}=r;return{start:{line:e,column:t+1}}}}(e);if(t)throw uu(e.message,t);throw e}return r},astFormat:"glimmer",locStart:hu,locEnd:pu}}};export{mu as default}; diff --git a/node_modules/prettier/esm/parser-graphql.mjs b/node_modules/prettier/esm/parser-graphql.mjs new file mode 100755 index 0000000..0ab671c --- /dev/null +++ b/node_modules/prettier/esm/parser-graphql.mjs @@ -0,0 +1 @@ +var e=function(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n};var t=function(){let e;for(var t=arguments.length,n=new Array(t),i=0;i120){for(var d=Math.floor(c/80),h=c%80,f=[],E=0;E",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});H.TokenKind=z;var $={},W={};Object.defineProperty(W,"__esModule",{value:!0}),W.default=function(e){return te(e,[])};var Z=function(e){return e&&e.__esModule?e:{default:e}}(j);function ee(e){return ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ee(e)}function te(e,t){switch(ee(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),i=function(e){var t=e[String(Z.default)];if("function"==typeof t)return t;if("function"==typeof e.inspect)return e.inspect}(e);if(void 0!==i){var r=i.call(e);if(r!==e)return"string"==typeof r?r:te(r,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";for(var n=Math.min(10,e.length),i=e.length-n,r=[],o=0;o1&&r.push("... ".concat(i," more items"));return"["+r.join(", ")+"]"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return"{}";if(t.length>2)return"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var n=e.constructor.name;if("string"==typeof n&&""!==n)return n}return t}(e)+"]";var i=n.map((function(n){return n+": "+te(e[n],t)}));return"{ "+i.join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}var ne={};Object.defineProperty(ne,"__esModule",{value:!0}),ne.default=function(e,t){if(!Boolean(e))throw new Error(t)};var ie={};Object.defineProperty(ie,"__esModule",{value:!0}),ie.default=void 0,function(e){e&&e.__esModule}(W);ie.default=function(e,t){return e instanceof t},Object.defineProperty($,"__esModule",{value:!0}),$.isSource=function(e){return(0,se.default)(e,le)},$.Source=void 0;var re=s,oe=ce(W),ae=ce(ne),se=ce(ie);function ce(e){return e&&e.__esModule?e:{default:e}}function ue(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||(0,ae.default)(0,"Body must be a string. Received: ".concat((0,oe.default)(e),".")),this.body=e,this.name=t,this.locationOffset=n,this.locationOffset.line>0||(0,ae.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,ae.default)(0,"column in locationOffset is 1-indexed and must be positive.")}var t,n,i;return t=e,(n=[{key:re.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}])&&ue(t.prototype,n),i&&ue(t,i),e}();$.Source=le;var pe={};Object.defineProperty(pe,"__esModule",{value:!0}),pe.DirectiveLocation=void 0;var de=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});pe.DirectiveLocation=de;var he={},fe={};function Te(e){for(var t=0;tr&&Te(t[o-1]);)--o;return t.slice(r,o).join("\n")},fe.getBlockStringIndentation=ve,fe.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=-1===e.indexOf("\n"),r=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a="\\"===e[e.length-1],s=!i||o||a||n,c="";!s||i&&r||(c+="\n"+t);c+=t?e.replace(/\n/g,"\n"+t):e,s&&(c+="\n");return'"""'+c.replace(/"""/g,'\\"""')+'"""'},Object.defineProperty(he,"__esModule",{value:!0}),he.isPunctuatorTokenKind=function(e){return e===Ne.TokenKind.BANG||e===Ne.TokenKind.DOLLAR||e===Ne.TokenKind.AMP||e===Ne.TokenKind.PAREN_L||e===Ne.TokenKind.PAREN_R||e===Ne.TokenKind.SPREAD||e===Ne.TokenKind.COLON||e===Ne.TokenKind.EQUALS||e===Ne.TokenKind.AT||e===Ne.TokenKind.BRACKET_L||e===Ne.TokenKind.BRACKET_R||e===Ne.TokenKind.BRACE_L||e===Ne.TokenKind.PIPE||e===Ne.TokenKind.BRACE_R},he.Lexer=void 0;var Ee=C,ke=P,Ne=H,ye=fe,_e=function(){function e(e){var t=new ke.Token(Ne.TokenKind.SOF,0,0,0,0,null);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}var t=e.prototype;return t.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},t.lookahead=function(){var e=this.token;if(e.kind!==Ne.TokenKind.EOF)do{var t;e=null!==(t=e.next)&&void 0!==t?t:e.next=Oe(this,e)}while(e.kind===Ne.TokenKind.COMMENT);return e},e}();function Ie(e){return isNaN(e)?Ne.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function Oe(e,t){for(var n=e.source,i=n.body,r=i.length,o=t.end;o31||9===o));return new ke.Token(Ne.TokenKind.COMMENT,t,s,n,i,r,a.slice(t+1,s))}function xe(e,t,n,i,r,o){var a=e.body,s=n,c=t,u=!1;if(45===s&&(s=a.charCodeAt(++c)),48===s){if((s=a.charCodeAt(++c))>=48&&s<=57)throw(0,Ee.syntaxError)(e,c,"Invalid number, unexpected digit after 0: ".concat(Ie(s),"."))}else c=Ke(e,c,s),s=a.charCodeAt(c);if(46===s&&(u=!0,s=a.charCodeAt(++c),c=Ke(e,c,s),s=a.charCodeAt(c)),69!==s&&101!==s||(u=!0,43!==(s=a.charCodeAt(++c))&&45!==s||(s=a.charCodeAt(++c)),c=Ke(e,c,s),s=a.charCodeAt(c)),46===s||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(s))throw(0,Ee.syntaxError)(e,c,"Invalid number, expected digit but got: ".concat(Ie(s),"."));return new ke.Token(u?Ne.TokenKind.FLOAT:Ne.TokenKind.INT,t,c,i,r,o,a.slice(t,c))}function Ke(e,t,n){var i=e.body,r=t,o=n;if(o>=48&&o<=57){do{o=i.charCodeAt(++r)}while(o>=48&&o<=57);return r}throw(0,Ee.syntaxError)(e,r,"Invalid number, expected digit but got: ".concat(Ie(o),"."))}function De(e,t,n,i,r){for(var o,a,s,c,u=e.body,l=t+1,p=l,d=0,h="";l=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Le(e,t,n,i,r){for(var o=e.body,a=o.length,s=t+1,c=0;s!==a&&!isNaN(c=o.charCodeAt(s))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++s;return new ke.Token(Ne.TokenKind.NAME,t,s,n,i,r,o.slice(t,s))}he.Lexer=_e,Object.defineProperty(g,"__esModule",{value:!0}),g.parse=function(e,t){return new Be(e,t).parseDocument()},g.parseValue=function(e,t){var n=new Be(e,t);n.expectToken(we.TokenKind.SOF);var i=n.parseValueLiteral(!1);return n.expectToken(we.TokenKind.EOF),i},g.parseType=function(e,t){var n=new Be(e,t);n.expectToken(we.TokenKind.SOF);var i=n.parseTypeReference();return n.expectToken(we.TokenKind.EOF),i},g.Parser=void 0;var Re=C,ge=F,Ce=P,we=H,Fe=$,Me=pe,Pe=he;var Be=function(){function e(e,t){var n=(0,Fe.isSource)(e)?e:new Fe.Source(e);this._lexer=new Pe.Lexer(n),this._options=t}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(we.TokenKind.NAME);return{kind:ge.Kind.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:ge.Kind.DOCUMENT,definitions:this.many(we.TokenKind.SOF,this.parseDefinition,we.TokenKind.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(we.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(we.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(we.TokenKind.BRACE_L))return{kind:ge.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(we.TokenKind.NAME)&&(t=this.parseName()),{kind:ge.Kind.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(we.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(we.TokenKind.PAREN_L,this.parseVariableDefinition,we.TokenKind.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:ge.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(we.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(we.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(we.TokenKind.DOLLAR),{kind:ge.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:ge.Kind.SELECTION_SET,selections:this.many(we.TokenKind.BRACE_L,this.parseSelection,we.TokenKind.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(we.TokenKind.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,i=this.parseName();return this.expectOptionalToken(we.TokenKind.COLON)?(e=i,t=this.parseName()):t=i,{kind:ge.Kind.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(we.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(we.TokenKind.PAREN_L,t,we.TokenKind.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(we.TokenKind.COLON),{kind:ge.Kind.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:ge.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(we.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(we.TokenKind.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(we.TokenKind.NAME)?{kind:ge.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:ge.Kind.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e,t=this._lexer.token;return this.expectKeyword("fragment"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:ge.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}:{kind:ge.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case we.TokenKind.BRACKET_L:return this.parseList(e);case we.TokenKind.BRACE_L:return this.parseObject(e);case we.TokenKind.INT:return this._lexer.advance(),{kind:ge.Kind.INT,value:t.value,loc:this.loc(t)};case we.TokenKind.FLOAT:return this._lexer.advance(),{kind:ge.Kind.FLOAT,value:t.value,loc:this.loc(t)};case we.TokenKind.STRING:case we.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case we.TokenKind.NAME:switch(this._lexer.advance(),t.value){case"true":return{kind:ge.Kind.BOOLEAN,value:!0,loc:this.loc(t)};case"false":return{kind:ge.Kind.BOOLEAN,value:!1,loc:this.loc(t)};case"null":return{kind:ge.Kind.NULL,loc:this.loc(t)};default:return{kind:ge.Kind.ENUM,value:t.value,loc:this.loc(t)}}case we.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:ge.Kind.STRING,value:e.value,block:e.kind===we.TokenKind.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:ge.Kind.LIST,values:this.any(we.TokenKind.BRACKET_L,(function(){return t.parseValueLiteral(e)}),we.TokenKind.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:ge.Kind.OBJECT,fields:this.any(we.TokenKind.BRACE_L,(function(){return t.parseObjectField(e)}),we.TokenKind.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(we.TokenKind.COLON),{kind:ge.Kind.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(we.TokenKind.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(we.TokenKind.AT),{kind:ge.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(we.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(we.TokenKind.BRACKET_R),e={kind:ge.Kind.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(we.TokenKind.BANG)?{kind:ge.Kind.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:ge.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===we.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(we.TokenKind.STRING)||this.peek(we.TokenKind.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");var n=this.parseDirectives(!0),i=this.many(we.TokenKind.BRACE_L,this.parseOperationTypeDefinition,we.TokenKind.BRACE_R);return{kind:ge.Kind.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:i,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(we.TokenKind.COLON);var n=this.parseNamedType();return{kind:ge.Kind.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var n=this.parseName(),i=this.parseDirectives(!0);return{kind:ge.Kind.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:i,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var n=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:ge.Kind.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var t=[];this.expectOptionalToken(we.TokenKind.AMP);do{t.push(this.parseNamedType())}while(this.expectOptionalToken(we.TokenKind.AMP)||this.peek(we.TokenKind.NAME));return t}return this.delimitedMany(we.TokenKind.AMP,this.parseNamedType)},t.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(we.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===we.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(we.TokenKind.BRACE_L,this.parseFieldDefinition,we.TokenKind.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(we.TokenKind.COLON);var r=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:ge.Kind.FIELD_DEFINITION,description:t,name:n,arguments:i,type:r,directives:o,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(we.TokenKind.PAREN_L,this.parseInputValueDef,we.TokenKind.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(we.TokenKind.COLON);var i,r=this.parseTypeReference();this.expectOptionalToken(we.TokenKind.EQUALS)&&(i=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:ge.Kind.INPUT_VALUE_DEFINITION,description:t,name:n,type:r,defaultValue:i,directives:o,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var n=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:ge.Kind.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var n=this.parseName(),i=this.parseDirectives(!0),r=this.parseUnionMemberTypes();return{kind:ge.Kind.UNION_TYPE_DEFINITION,description:t,name:n,directives:i,types:r,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){return this.expectOptionalToken(we.TokenKind.EQUALS)?this.delimitedMany(we.TokenKind.PIPE,this.parseNamedType):[]},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var n=this.parseName(),i=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();return{kind:ge.Kind.ENUM_TYPE_DEFINITION,description:t,name:n,directives:i,values:r,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(we.TokenKind.BRACE_L,this.parseEnumValueDefinition,we.TokenKind.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),i=this.parseDirectives(!0);return{kind:ge.Kind.ENUM_VALUE_DEFINITION,description:t,name:n,directives:i,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var n=this.parseName(),i=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();return{kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:i,fields:r,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(we.TokenKind.BRACE_L,this.parseInputValueDef,we.TokenKind.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===we.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.optionalMany(we.TokenKind.BRACE_L,this.parseOperationTypeDefinition,we.TokenKind.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:ge.Kind.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:ge.Kind.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===n.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:ge.Kind.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:i,fields:r,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===n.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:ge.Kind.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:i,fields:r,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseUnionMemberTypes();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:ge.Kind.UNION_TYPE_EXTENSION,name:t,directives:n,types:i,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:ge.Kind.ENUM_TYPE_EXTENSION,name:t,directives:n,values:i,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:ge.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:i,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(we.TokenKind.AT);var n=this.parseName(),i=this.parseArgumentDefs(),r=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var o=this.parseDirectiveLocations();return{kind:ge.Kind.DIRECTIVE_DEFINITION,description:t,name:n,arguments:i,repeatable:r,locations:o,loc:this.loc(e)}},t.parseDirectiveLocations=function(){return this.delimitedMany(we.TokenKind.PIPE,this.parseDirectiveLocation)},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==Me.DirectiveLocation[t.value])return t;throw this.unexpected(e)},t.loc=function(e){var t;if(!0!==(null===(t=this._options)||void 0===t?void 0:t.noLocation))return new Ce.Location(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw(0,Re.syntaxError)(this._lexer.source,t.start,"Expected ".concat(je(e),", found ").concat(Ue(t),"."))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==we.TokenKind.NAME||t.value!==e)throw(0,Re.syntaxError)(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(Ue(t),"."));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===we.TokenKind.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=null!=e?e:this._lexer.token;return(0,Re.syntaxError)(this._lexer.source,t.start,"Unexpected ".concat(Ue(t),"."))},t.any=function(e,t,n){this.expectToken(e);for(var i=[];!this.expectOptionalToken(n);)i.push(t.call(this));return i},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var i=[];do{i.push(t.call(this))}while(!this.expectOptionalToken(n));return i}return[]},t.many=function(e,t,n){this.expectToken(e);var i=[];do{i.push(t.call(this))}while(!this.expectOptionalToken(n));return i},t.delimitedMany=function(e,t){this.expectOptionalToken(e);var n=[];do{n.push(t.call(this))}while(this.expectOptionalToken(e));return n},e}();function Ue(e){var t=e.value;return je(e.kind)+(null!=t?' "'.concat(t,'"'):"")}function je(e){return(0,Pe.isPunctuatorTokenKind)(e)?'"'.concat(e,'"'):e}g.Parser=Be;const Ve=e,Ge=t,{hasPragma:Ye}=n,{locStart:Je,locEnd:Qe}=i;function Xe(e){if(e&&"object"==typeof e){delete e.startToken,delete e.endToken,delete e.prev,delete e.next;for(const t in e)Xe(e[t])}return e}const qe={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};var He={parsers:{graphql:{parse:function(e){const{parse:t}=g,{result:n,error:i}=Ge((()=>t(e,Object.assign({},qe))),(()=>t(e,Object.assign(Object.assign({},qe),{},{allowLegacySDLImplementsInterfaces:!0}))));if(!n)throw function(e){const{GraphQLError:t}=r;if(e instanceof t){const{message:t,locations:[n]}=e;return Ve(t,{start:n})}return e}(i);return n.comments=function(e){const t=[],{startToken:n}=e.loc;let{next:i}=n;for(;""!==i.kind;)"Comment"===i.kind&&(Object.assign(i,{column:i.column-1}),t.push(i)),i=i.next;return t}(n),Xe(n),n},astFormat:"graphql",hasPragma:Ye,locStart:Je,locEnd:Qe}}};export{He as default}; diff --git a/node_modules/prettier/esm/parser-html.mjs b/node_modules/prettier/esm/parser-html.mjs new file mode 100755 index 0000000..2ab60c8 --- /dev/null +++ b/node_modules/prettier/esm/parser-html.mjs @@ -0,0 +1,111 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={},r={};!function(e){function t(t){return e.$0<=t&&t<=e.$9} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(e,"__esModule",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96,e.isWhitespace=function(t){return t>=e.$TAB&&t<=e.$SPACE||t==e.$NBSP},e.isDigit=t,e.isAsciiLetter=function(t){return t>=e.$a&&t<=e.$z||t>=e.$A&&t<=e.$Z},e.isAsciiHexDigit=function(r){return r>=e.$a&&r<=e.$f||r>=e.$A&&r<=e.$F||t(r)},e.isNewLine=function(t){return t===e.$LF||t===e.$CR},e.isOctalDigit=function(t){return e.$0<=t&&t<=e.$7}}(r);var n={},i={}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(i,"__esModule",{value:!0});class s{constructor(e,t,r){this.filePath=e,this.name=t,this.members=r}assertNoMembers(){if(this.members.length)throw new Error("Illegal state: symbol without members expected, but got ".concat(JSON.stringify(this),"."))}}i.StaticSymbol=s;i.StaticSymbolCache=class{constructor(){this.cache=new Map}get(e,t,r){const n=(r=r||[]).length?".".concat(r.join(".")):"",i='"'.concat(e,'".').concat(t).concat(n);let o=this.cache.get(i);return o||(o=new s(e,t,r),this.cache.set(i,o)),o}};var o={}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Object.defineProperty(o,"__esModule",{value:!0});const a=/-+([a-z0-9])/g;function u(e,t,r){const n=e.indexOf(t);return-1==n?r:[e.slice(0,n).trim(),e.slice(n+1).trim()]}function c(e,t,r){return Array.isArray(e)?t.visitArray(e,r):"object"==typeof(n=e)&&null!==n&&Object.getPrototypeOf(n)===h?t.visitStringMap(e,r):null==e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e?t.visitPrimitive(e,r):t.visitOther(e,r);var n}o.dashCaseToCamelCase=function(e){return e.replace(a,(function(){for(var e=arguments.length,t=new Array(e),r=0;rc(e,this,t)))}visitStringMap(e,t){const r={};return Object.keys(e).forEach((n=>{r[n]=c(e[n],this,t)})),r}visitPrimitive(e,t){return e}visitOther(e,t){return e}},o.SyncAsync={assertSync:e=>{if(D(e))throw new Error("Illegal state: value cannot be a promise");return e},then:(e,t)=>D(e)?e.then(t):t(e),all:e=>e.some(D)?Promise.all(e):e},o.error=function(e){throw new Error("Internal Error: ".concat(e))},o.syntaxError=function(e,t){const r=Error(e);return r[l]=!0,t&&(r[p]=t),r};const l="ngSyntaxError",p="ngParseErrors";o.isSyntaxError=function(e){return e[l]},o.getParseErrors=function(e){return e[p]||[]},o.escapeRegExp=function(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};const h=Object.getPrototypeOf({});function D(e){return!!e&&"function"==typeof e.then}o.utf8Encode=function(e){let t="";for(let r=0;r=55296&&n<=56319&&e.length>r+1){const t=e.charCodeAt(r+1);t>=56320&&t<=57343&&(r++,n=(n-55296<<10)+t-56320+65536)}n<=127?t+=String.fromCharCode(n):n<=2047?t+=String.fromCharCode(n>>6&31|192,63&n|128):n<=65535?t+=String.fromCharCode(n>>12|224,n>>6&63|128,63&n|128):n<=2097151&&(t+=String.fromCharCode(n>>18&7|240,n>>12&63|128,n>>6&63|128,63&n|128))}return t},o.stringify=function e(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(e).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return"".concat(t.overriddenName);if(t.name)return"".concat(t.name);if(!t.toString)return"object";const r=t.toString();if(null==r)return""+r;const n=r.indexOf("\n");return-1===n?r:r.substring(0,n)},o.resolveForwardRef=function(e){return"function"==typeof e&&e.hasOwnProperty("__forward_ref__")?e():e},o.isPromise=D;o.Version=class{constructor(e){this.full=e;const t=e.split(".");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(".")}};const d="undefined"!=typeof window&&window,f="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,g=void 0!==e&&e||d||f;o.global=g,function(e){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(e,"__esModule",{value:!0});const t=i,r=o,n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function s(e){return e.replace(/\W/g,"_")}e.sanitizeIdentifier=s;let a=0;function u(e){if(!e||!e.reference)return null;const n=e.reference;if(n instanceof t.StaticSymbol)return n.name;if(n.__anonymousType)return n.__anonymousType;let i=r.stringify(n);return i.indexOf("(")>=0?(i="anonymous_".concat(a++),n.__anonymousType=i):i=s(i),i}var c;e.identifierName=u,e.identifierModuleUrl=function(e){const n=e.reference;return n instanceof t.StaticSymbol?n.filePath:"./".concat(r.stringify(n))},e.viewClassName=function(e,t){return"View_".concat(u({reference:e}),"_").concat(t)},e.rendererTypeName=function(e){return"RenderType_".concat(u({reference:e}))},e.hostViewClassName=function(e){return"HostView_".concat(u({reference:e}))},e.componentFactoryName=function(e){return"".concat(u({reference:e}),"NgFactory")},function(e){e[e.Pipe=0]="Pipe",e[e.Directive=1]="Directive",e[e.NgModule=2]="NgModule",e[e.Injectable=3]="Injectable"}(c=e.CompileSummaryKind||(e.CompileSummaryKind={})),e.tokenName=function(e){return null!=e.value?s(e.value):u(e.identifier)},e.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};e.CompileStylesheetMetadata=class{constructor(){let{moduleUrl:e,styles:t,styleUrls:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.moduleUrl=e||null,this.styles=p(t),this.styleUrls=p(r)}};e.CompileTemplateMetadata=class{constructor(e){let{encapsulation:t,template:r,templateUrl:n,htmlAst:i,styles:s,styleUrls:o,externalStylesheets:a,animations:u,ngContentSelectors:c,interpolation:l,isInline:D,preserveWhitespaces:d}=e;if(this.encapsulation=t,this.template=r,this.templateUrl=n,this.htmlAst=i,this.styles=p(s),this.styleUrls=p(o),this.externalStylesheets=p(a),this.animations=u?h(u):[],this.ngContentSelectors=c||[],l&&2!=l.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=l,this.isInline=D,this.preserveWhitespaces=d}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class l{static create(e){let{isHost:t,type:i,isComponent:s,selector:o,exportAs:a,changeDetection:u,inputs:c,outputs:p,host:h,providers:D,viewProviders:d,queries:f,guards:g,viewQueries:m,entryComponents:E,template:C,componentViewType:y,rendererType:b,componentFactory:S}=e;const T={},_={},v={};null!=h&&Object.keys(h).forEach((e=>{const t=h[e],r=e.match(n);null===r?v[e]=t:null!=r[1]?_[r[1]]=t:null!=r[2]&&(T[r[2]]=t)}));const A={};null!=c&&c.forEach((e=>{const t=r.splitAtColon(e,[e,e]);A[t[0]]=t[1]}));const F={};return null!=p&&p.forEach((e=>{const t=r.splitAtColon(e,[e,e]);F[t[0]]=t[1]})),new l({isHost:t,type:i,isComponent:!!s,selector:o,exportAs:a,changeDetection:u,inputs:A,outputs:F,hostListeners:T,hostProperties:_,hostAttributes:v,providers:D,viewProviders:d,queries:f,guards:g,viewQueries:m,entryComponents:E,template:C,componentViewType:y,rendererType:b,componentFactory:S})}constructor(e){let{isHost:t,type:r,isComponent:n,selector:i,exportAs:s,changeDetection:o,inputs:a,outputs:u,hostListeners:c,hostProperties:l,hostAttributes:h,providers:D,viewProviders:d,queries:f,guards:g,viewQueries:m,entryComponents:E,template:C,componentViewType:y,rendererType:b,componentFactory:S}=e;this.isHost=!!t,this.type=r,this.isComponent=n,this.selector=i,this.exportAs=s,this.changeDetection=o,this.inputs=a,this.outputs=u,this.hostListeners=c,this.hostProperties=l,this.hostAttributes=h,this.providers=p(D),this.viewProviders=p(d),this.queries=p(f),this.guards=g,this.viewQueries=p(m),this.entryComponents=p(E),this.template=C,this.componentViewType=y,this.rendererType=b,this.componentFactory=S}toSummary(){return{summaryKind:c.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}e.CompileDirectiveMetadata=l;e.CompilePipeMetadata=class{constructor(e){let{type:t,name:r,pure:n}=e;this.type=t,this.name=r,this.pure=!!n}toSummary(){return{summaryKind:c.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompileShallowModuleMetadata=class{};e.CompileNgModuleMetadata=class{constructor(e){let{type:t,providers:r,declaredDirectives:n,exportedDirectives:i,declaredPipes:s,exportedPipes:o,entryComponents:a,bootstrapComponents:u,importedModules:c,exportedModules:l,schemas:h,transitiveModule:D,id:d}=e;this.type=t||null,this.declaredDirectives=p(n),this.exportedDirectives=p(i),this.declaredPipes=p(s),this.exportedPipes=p(o),this.providers=p(r),this.entryComponents=p(a),this.bootstrapComponents=p(u),this.importedModules=p(c),this.exportedModules=p(l),this.schemas=p(h),this.id=d||null,this.transitiveModule=D||null}toSummary(){const e=this.transitiveModule;return{summaryKind:c.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function p(e){return e||[]}e.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function h(e){return e.reduce(((e,t)=>{const r=Array.isArray(t)?h(t):t;return e.concat(r)}),[])}function D(e){return e.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}e.ProviderMeta=class{constructor(e,t){let{useClass:r,useValue:n,useExisting:i,useFactory:s,deps:o,multi:a}=t;this.token=e,this.useClass=r||null,this.useValue=n,this.useExisting=i,this.useFactory=s||null,this.dependencies=o||null,this.multi=!!a}},e.flatten=h,e.templateSourceUrl=function(e,r,n){let i;return i=n.isInline?r.type.reference instanceof t.StaticSymbol?"".concat(r.type.reference.filePath,".").concat(r.type.reference.name,".html"):"".concat(u(e),"/").concat(u(r.type),".html"):n.templateUrl,r.type.reference instanceof t.StaticSymbol?i:D(i)},e.sharedStylesheetJitUrl=function(e,t){const r=e.moduleUrl.split(/\/\\/g),n=r[r.length-1];return D("css/".concat(t).concat(n,".ngstyle.js"))},e.ngModuleJitUrl=function(e){return D("".concat(u(e.type),"/module.ngfactory.js"))},e.templateJitUrl=function(e,t){return D("".concat(u(e),"/").concat(u(t.type),".ngfactory.js"))}}(n),function(e){Object.defineProperty(e,"__esModule",{value:!0}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +const t=r,i=n;class s{constructor(e,t,r,n){this.file=e,this.offset=t,this.line=r,this.col=n}toString(){return null!=this.offset?"".concat(this.file.url,"@").concat(this.line,":").concat(this.col):this.file.url}moveBy(e){const r=this.file.content,n=r.length;let i=this.offset,o=this.line,a=this.col;for(;i>0&&e<0;){i--,e++;if(r.charCodeAt(i)==t.$LF){o--;const e=r.substr(0,i-1).lastIndexOf(String.fromCharCode(t.$LF));a=e>0?i-e:i}else a--}for(;i0;){const n=r.charCodeAt(i);i++,e--,n==t.$LF?(o++,a=0):a++}return new s(this.file,i,o,a)}getContext(e,t){const r=this.file.content;let n=this.offset;if(null!=n){n>r.length-1&&(n=r.length-1);let i=n,s=0,o=0;for(;s0&&(n--,s++,"\n"!=r[n]||++o!=t););for(s=0,o=0;s2&&void 0!==arguments[2]?arguments[2]:null;this.start=e,this.end=t,this.details=r}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}}var u;e.ParseSourceSpan=a,e.EMPTY_PARSE_LOCATION=new s(new o("",""),0,0,0),e.EMPTY_SOURCE_SPAN=new a(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION),function(e){e[e.WARNING=0]="WARNING",e[e.ERROR=1]="ERROR"}(u=e.ParseErrorLevel||(e.ParseErrorLevel={}));e.ParseError=class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.ERROR;this.span=e,this.msg=t,this.level=r}contextualMessage(){const e=this.span.start.getContext(100,3);return e?"".concat(this.msg,' ("').concat(e.before,"[").concat(u[this.level]," ->]").concat(e.after,'")'):this.msg}toString(){const e=this.span.details?", ".concat(this.span.details):"";return"".concat(this.contextualMessage(),": ").concat(this.span.start).concat(e)}},e.typeSourceSpan=function(e,t){const r=i.identifierModuleUrl(t),n=null!=r?"in ".concat(e," ").concat(i.identifierName(t)," in ").concat(r):"in ".concat(e," ").concat(i.identifierName(t)),u=new o("",n);return new a(new s(u,-1,-1,-1),new s(u,-1,-1,-1))},e.r3JitTypeSourceSpan=function(e,t,r){const n="in ".concat(e," ").concat(t," in ").concat(r),i=new o("",n);return new a(new s(i,-1,-1,-1),new s(i,-1,-1,-1))}}(t);const m=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");var E=function(e){const t=e.match(m);if(!t)return{content:e};const{startDelimiter:r,language:n,value:i="",endDelimiter:s}=t.groups;let o=n.trim()||"yaml";if("+++"===r&&(o="toml"),"yaml"!==o&&r!==s)return{content:e};const[a]=t;return{frontMatter:{type:"front-matter",lang:o,value:i,startDelimiter:r,endDelimiter:s,raw:a.replace(/\n$/,"")},content:a.replace(/[^\n]/g," ")+e.slice(a.length)}};var C=e=>e[e.length-1];var y=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r},b={exports:{}};const S=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")};var T={exports:{}};const _=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));T.exports=_,T.exports.default=_;const v=e=>"string"==typeof e?e.replace(S(),""):e,A=T.exports,F=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},w=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=v(e)).length)return 0;e=e.replace(F()," ");let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=A(n)?2:1))}return t};b.exports=w,b.exports.default=w;function k(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function N(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var O=function(e){return e&&e.Math==Math&&e},x=O("object"==typeof globalThis&&globalThis)||O("object"==typeof window&&window)||O("object"==typeof self&&self)||O("object"==typeof e&&e)||function(){return this}()||Function("return this")(),I={},P=function(e){try{return!!e()}catch(e){return!0}},R=!P((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),L=Function.prototype.call,B=L.bind?L.bind(L):function(){return L.apply(L,arguments)},q={},$={}.propertyIsEnumerable,M=Object.getOwnPropertyDescriptor,j=M&&!$.call({1:2},1);q.f=j?function(e){var t=M(this,e);return!!t&&t.enumerable}:$;var U,G,V=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},X=Function.prototype,H=X.bind,z=X.call,W=H&&H.bind(z),Y=H?function(e){return e&&W(z,e)}:function(e){return e&&function(){return z.apply(e,arguments)}},Q=Y,J=Q({}.toString),Z=Q("".slice),K=function(e){return Z(J(e),8,-1)},ee=Y,te=P,re=K,ne=x.Object,ie=ee("".split),se=te((function(){return!ne("z").propertyIsEnumerable(0)}))?function(e){return"String"==re(e)?ie(e,""):ne(e)}:ne,oe=x.TypeError,ae=function(e){if(null==e)throw oe("Can't call method on "+e);return e},ue=se,ce=ae,le=function(e){return ue(ce(e))},pe=function(e){return"function"==typeof e},he=pe,De=function(e){return"object"==typeof e?null!==e:he(e)},de=x,fe=pe,ge=function(e){return fe(e)?e:void 0},me=function(e,t){return arguments.length<2?ge(de[e]):de[e]&&de[e][t]},Ee=Y({}.isPrototypeOf),Ce=me("navigator","userAgent")||"",ye=x,be=Ce,Se=ye.process,Te=ye.Deno,_e=Se&&Se.versions||Te&&Te.version,ve=_e&&_e.v8;ve&&(G=(U=ve.split("."))[0]>0&&U[0]<4?1:+(U[0]+U[1])),!G&&be&&(!(U=be.match(/Edge\/(\d+)/))||U[1]>=74)&&(U=be.match(/Chrome\/(\d+)/))&&(G=+U[1]);var Ae=G,Fe=Ae,we=P,ke=!!Object.getOwnPropertySymbols&&!we((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Fe&&Fe<41})),Ne=ke&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Oe=me,xe=pe,Ie=Ee,Pe=Ne,Re=x.Object,Le=Pe?function(e){return"symbol"==typeof e}:function(e){var t=Oe("Symbol");return xe(t)&&Ie(t.prototype,Re(e))},Be=x.String,qe=function(e){try{return Be(e)}catch(e){return"Object"}},$e=pe,Me=qe,je=x.TypeError,Ue=function(e){if($e(e))return e;throw je(Me(e)+" is not a function")},Ge=Ue,Ve=function(e,t){var r=e[t];return null==r?void 0:Ge(r)},Xe=B,He=pe,ze=De,We=x.TypeError,Ye={exports:{}},Qe=x,Je=Object.defineProperty,Ze=function(e,t){try{Je(Qe,e,{value:t,configurable:!0,writable:!0})}catch(r){Qe[e]=t}return t},Ke=Ze,et=x["__core-js_shared__"]||Ke("__core-js_shared__",{}),tt=et;(Ye.exports=function(e,t){return tt[e]||(tt[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var rt=ae,nt=x.Object,it=function(e){return nt(rt(e))},st=it,ot=Y({}.hasOwnProperty),at=Object.hasOwn||function(e,t){return ot(st(e),t)},ut=Y,ct=0,lt=Math.random(),pt=ut(1..toString),ht=function(e){return"Symbol("+(void 0===e?"":e)+")_"+pt(++ct+lt,36)},Dt=x,dt=Ye.exports,ft=at,gt=ht,mt=ke,Et=Ne,Ct=dt("wks"),yt=Dt.Symbol,bt=yt&&yt.for,St=Et?yt:yt&&yt.withoutSetter||gt,Tt=function(e){if(!ft(Ct,e)||!mt&&"string"!=typeof Ct[e]){var t="Symbol."+e;mt&&ft(yt,e)?Ct[e]=yt[e]:Ct[e]=Et&&bt?bt(t):St(t)}return Ct[e]},_t=B,vt=De,At=Le,Ft=Ve,wt=function(e,t){var r,n;if("string"===t&&He(r=e.toString)&&!ze(n=Xe(r,e)))return n;if(He(r=e.valueOf)&&!ze(n=Xe(r,e)))return n;if("string"!==t&&He(r=e.toString)&&!ze(n=Xe(r,e)))return n;throw We("Can't convert object to primitive value")},kt=Tt,Nt=x.TypeError,Ot=kt("toPrimitive"),xt=function(e,t){if(!vt(e)||At(e))return e;var r,n=Ft(e,Ot);if(n){if(void 0===t&&(t="default"),r=_t(n,e,t),!vt(r)||At(r))return r;throw Nt("Can't convert object to primitive value")}return void 0===t&&(t="number"),wt(e,t)},It=Le,Pt=function(e){var t=xt(e,"string");return It(t)?t:t+""},Rt=De,Lt=x.document,Bt=Rt(Lt)&&Rt(Lt.createElement),qt=function(e){return Bt?Lt.createElement(e):{}},$t=!R&&!P((function(){return 7!=Object.defineProperty(qt("div"),"a",{get:function(){return 7}}).a})),Mt=R,jt=B,Ut=q,Gt=V,Vt=le,Xt=Pt,Ht=at,zt=$t,Wt=Object.getOwnPropertyDescriptor;I.f=Mt?Wt:function(e,t){if(e=Vt(e),t=Xt(t),zt)try{return Wt(e,t)}catch(e){}if(Ht(e,t))return Gt(!jt(Ut.f,e,t),e[t])};var Yt={},Qt=x,Jt=De,Zt=Qt.String,Kt=Qt.TypeError,er=function(e){if(Jt(e))return e;throw Kt(Zt(e)+" is not an object")},tr=R,rr=$t,nr=er,ir=Pt,sr=x.TypeError,or=Object.defineProperty;Yt.f=tr?or:function(e,t,r){if(nr(e),t=ir(t),nr(r),rr)try{return or(e,t,r)}catch(e){}if("get"in r||"set"in r)throw sr("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var ar=Yt,ur=V,cr=R?function(e,t,r){return ar.f(e,t,ur(1,r))}:function(e,t,r){return e[t]=r,e},lr={exports:{}},pr=pe,hr=et,Dr=Y(Function.toString);pr(hr.inspectSource)||(hr.inspectSource=function(e){return Dr(e)});var dr,fr,gr,mr=hr.inspectSource,Er=pe,Cr=mr,yr=x.WeakMap,br=Er(yr)&&/native code/.test(Cr(yr)),Sr=Ye.exports,Tr=ht,_r=Sr("keys"),vr={},Ar=br,Fr=x,wr=Y,kr=De,Nr=cr,Or=at,xr=et,Ir=function(e){return _r[e]||(_r[e]=Tr(e))},Pr=vr,Rr=Fr.TypeError,Lr=Fr.WeakMap;if(Ar||xr.state){var Br=xr.state||(xr.state=new Lr),qr=wr(Br.get),$r=wr(Br.has),Mr=wr(Br.set);dr=function(e,t){if($r(Br,e))throw new Rr("Object already initialized");return t.facade=e,Mr(Br,e,t),t},fr=function(e){return qr(Br,e)||{}},gr=function(e){return $r(Br,e)}}else{var jr=Ir("state");Pr[jr]=!0,dr=function(e,t){if(Or(e,jr))throw new Rr("Object already initialized");return t.facade=e,Nr(e,jr,t),t},fr=function(e){return Or(e,jr)?e[jr]:{}},gr=function(e){return Or(e,jr)}}var Ur={set:dr,get:fr,has:gr,enforce:function(e){return gr(e)?fr(e):dr(e,{})},getterFor:function(e){return function(t){var r;if(!kr(t)||(r=fr(t)).type!==e)throw Rr("Incompatible receiver, "+e+" required");return r}}},Gr=R,Vr=at,Xr=Function.prototype,Hr=Gr&&Object.getOwnPropertyDescriptor,zr=Vr(Xr,"name"),Wr=zr&&"something"===function(){}.name,Yr=zr&&(!Gr||Gr&&Hr(Xr,"name").configurable),Qr=x,Jr=pe,Zr=at,Kr=cr,en=Ze,tn=mr,rn={EXISTS:zr,PROPER:Wr,CONFIGURABLE:Yr}.CONFIGURABLE,nn=Ur.get,sn=Ur.enforce,on=String(String).split("String");(lr.exports=function(e,t,r,n){var i,s=!!n&&!!n.unsafe,o=!!n&&!!n.enumerable,a=!!n&&!!n.noTargetGet,u=n&&void 0!==n.name?n.name:t;Jr(r)&&("Symbol("===String(u).slice(0,7)&&(u="["+String(u).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Zr(r,"name")||rn&&r.name!==u)&&Kr(r,"name",u),(i=sn(r)).source||(i.source=on.join("string"==typeof u?u:""))),e!==Qr?(s?!a&&e[t]&&(o=!0):delete e[t],o?e[t]=r:Kr(e,t,r)):o?e[t]=r:en(t,r)})(Function.prototype,"toString",(function(){return Jr(this)&&nn(this).source||tn(this)}));var an={},un=Math.ceil,cn=Math.floor,ln=function(e){var t=+e;return t!=t||0===t?0:(t>0?cn:un)(t)},pn=ln,hn=Math.max,Dn=Math.min,dn=ln,fn=Math.min,gn=function(e){return e>0?fn(dn(e),9007199254740991):0},mn=function(e){return gn(e.length)},En=le,Cn=function(e,t){var r=pn(e);return r<0?hn(r+t,0):Dn(r,t)},yn=mn,bn=function(e){return function(t,r,n){var i,s=En(t),o=yn(s),a=Cn(n,o);if(e&&r!=r){for(;o>a;)if((i=s[a++])!=i)return!0}else for(;o>a;a++)if((e||a in s)&&s[a]===r)return e||a||0;return!e&&-1}},Sn={includes:bn(!0),indexOf:bn(!1)},Tn=at,_n=le,vn=Sn.indexOf,An=vr,Fn=Y([].push),wn=function(e,t){var r,n=_n(e),i=0,s=[];for(r in n)!Tn(An,r)&&Tn(n,r)&&Fn(s,r);for(;t.length>i;)Tn(n,r=t[i++])&&(~vn(s,r)||Fn(s,r));return s},kn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");an.f=Object.getOwnPropertyNames||function(e){return wn(e,kn)};var Nn={};Nn.f=Object.getOwnPropertySymbols;var On=me,xn=an,In=Nn,Pn=er,Rn=Y([].concat),Ln=On("Reflect","ownKeys")||function(e){var t=xn.f(Pn(e)),r=In.f;return r?Rn(t,r(e)):t},Bn=at,qn=Ln,$n=I,Mn=Yt,jn=P,Un=pe,Gn=/#|\.prototype\./,Vn=function(e,t){var r=Hn[Xn(e)];return r==Wn||r!=zn&&(Un(t)?jn(t):!!t)},Xn=Vn.normalize=function(e){return String(e).replace(Gn,".").toLowerCase()},Hn=Vn.data={},zn=Vn.NATIVE="N",Wn=Vn.POLYFILL="P",Yn=Vn,Qn=x,Jn=I.f,Zn=cr,Kn=lr.exports,ei=Ze,ti=function(e,t){for(var r=qn(t),n=Mn.f,i=$n.f,s=0;s0&&ci(u))c=li(u),l=Di(e,t,u,c,l,s-1)-1;else{if(l>=9007199254740991)throw hi("Exceed the acceptable array length");e[l]=u}l++}p++}return l},di=Di,fi={};fi[Tt("toStringTag")]="z";var gi=x,mi="[object z]"===String(fi),Ei=pe,Ci=K,yi=Tt("toStringTag"),bi=gi.Object,Si="Arguments"==Ci(function(){return arguments}()),Ti=mi?Ci:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=bi(e),yi))?r:Si?Ci(t):"Object"==(n=Ci(t))&&Ei(t.callee)?"Arguments":n},_i=Y,vi=P,Ai=pe,Fi=Ti,wi=mr,ki=function(){},Ni=[],Oi=me("Reflect","construct"),xi=/^\s*(?:class|function)\b/,Ii=_i(xi.exec),Pi=!xi.exec(ki),Ri=function(e){if(!Ai(e))return!1;try{return Oi(ki,Ni,e),!0}catch(e){return!1}},Li=!Oi||vi((function(){var e;return Ri(Ri.call)||!Ri(Object)||!Ri((function(){e=!0}))||e}))?function(e){if(!Ai(e))return!1;switch(Fi(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Pi||!!Ii(xi,wi(e))}:Ri,Bi=x,qi=si,$i=Li,Mi=De,ji=Tt("species"),Ui=Bi.Array,Gi=function(e){var t;return qi(e)&&(t=e.constructor,($i(t)&&(t===Ui||qi(t.prototype))||Mi(t)&&null===(t=t[ji]))&&(t=void 0)),void 0===t?Ui:t},Vi=di,Xi=Ue,Hi=it,zi=mn,Wi=function(e,t){return new(Gi(e))(0===t?0:t)};ni({target:"Array",proto:!0},{flatMap:function(e){var t,r=Hi(this),n=zi(r);return Xi(e),(t=Wi(r,0)).length=Vi(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Yi=Ti,Qi=x.String,Ji=Y([].slice),Zi=Math.floor,Ki=function(e,t){var r=e.length,n=Zi(r/2);return r<8?es(e,t):ts(e,Ki(Ji(e,0,n),t),Ki(Ji(e,n),t),t)},es=function(e,t){for(var r,n,i=e.length,s=1;s0;)e[n]=e[--n];n!==s++&&(e[n]=r)}return e},ts=function(e,t,r,n){for(var i=t.length,s=r.length,o=0,a=0;o3)){if(Cs)return!0;if(bs)return bs<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)Ss.push({k:t+n,v:r})}for(Ss.sort((function(e,t){return t.v-e.v})),n=0;nds(r)?1:-1}}(e)),r=i.length,n=0;ns;s++)if((a=g(e[s]))&&Ks(so,a))return a;return new io(!1)}n=eo(e,i)}for(u=n.next;!(c=Ws(u,n)).done;){try{a=g(c.value)}catch(e){ro(n,"throw",e)}if("object"==typeof a&&a&&Ks(so,a))return a}return new io(!1)},lo=function(e,t,r){var n=oo(t);n in e?ao.f(e,n,uo(0,r)):e[n]=r};ni({target:"Object",stat:!0},{fromEntries:function(e){var t={};return co(e,(function(e,r){lo(t,e,r)}),{AS_ENTRIES:!0}),t}});var po=void 0!==po?po:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function ho(){throw new Error("setTimeout has not been defined")}function Do(){throw new Error("clearTimeout has not been defined")}var fo=ho,go=Do;function mo(e){if(fo===setTimeout)return setTimeout(e,0);if((fo===ho||!fo)&&setTimeout)return fo=setTimeout,setTimeout(e,0);try{return fo(e,0)}catch(t){try{return fo.call(null,e,0)}catch(t){return fo.call(this,e,0)}}}"function"==typeof po.setTimeout&&(fo=setTimeout),"function"==typeof po.clearTimeout&&(go=clearTimeout);var Eo,Co=[],yo=!1,bo=-1;function So(){yo&&Eo&&(yo=!1,Eo.length?Co=Eo.concat(Co):bo=-1,Co.length&&To())}function To(){if(!yo){var e=mo(So);yo=!0;for(var t=Co.length;t;){for(Eo=Co,Co=[];++bo1)for(var r=1;r{};var qo={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},$o={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=qo,n=Bo,i=(t=e.exports={}).re=[],s=t.src=[],o=t.t={};let a=0;const u=(e,t,r)=>{const u=a++;n(u,t),o[e]=u,s[u]=t,i[u]=new RegExp(t,r?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","[0-9]+"),u("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),u("MAINVERSION","(".concat(s[o.NUMERICIDENTIFIER],")\\.")+"(".concat(s[o.NUMERICIDENTIFIER],")\\.")+"(".concat(s[o.NUMERICIDENTIFIER],")")),u("MAINVERSIONLOOSE","(".concat(s[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[o.NUMERICIDENTIFIERLOOSE],")")),u("PRERELEASEIDENTIFIER","(?:".concat(s[o.NUMERICIDENTIFIER],"|").concat(s[o.NONNUMERICIDENTIFIER],")")),u("PRERELEASEIDENTIFIERLOOSE","(?:".concat(s[o.NUMERICIDENTIFIERLOOSE],"|").concat(s[o.NONNUMERICIDENTIFIER],")")),u("PRERELEASE","(?:-(".concat(s[o.PRERELEASEIDENTIFIER],"(?:\\.").concat(s[o.PRERELEASEIDENTIFIER],")*))")),u("PRERELEASELOOSE","(?:-?(".concat(s[o.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(s[o.PRERELEASEIDENTIFIERLOOSE],")*))")),u("BUILDIDENTIFIER","[0-9A-Za-z-]+"),u("BUILD","(?:\\+(".concat(s[o.BUILDIDENTIFIER],"(?:\\.").concat(s[o.BUILDIDENTIFIER],")*))")),u("FULLPLAIN","v?".concat(s[o.MAINVERSION]).concat(s[o.PRERELEASE],"?").concat(s[o.BUILD],"?")),u("FULL","^".concat(s[o.FULLPLAIN],"$")),u("LOOSEPLAIN","[v=\\s]*".concat(s[o.MAINVERSIONLOOSE]).concat(s[o.PRERELEASELOOSE],"?").concat(s[o.BUILD],"?")),u("LOOSE","^".concat(s[o.LOOSEPLAIN],"$")),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE","".concat(s[o.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),u("XRANGEIDENTIFIER","".concat(s[o.NUMERICIDENTIFIER],"|x|X|\\*")),u("XRANGEPLAIN","[v=\\s]*(".concat(s[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[o.XRANGEIDENTIFIER],")")+"(?:".concat(s[o.PRERELEASE],")?").concat(s[o.BUILD],"?")+")?)?"),u("XRANGEPLAINLOOSE","[v=\\s]*(".concat(s[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[o.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(s[o.PRERELEASELOOSE],")?").concat(s[o.BUILD],"?")+")?)?"),u("XRANGE","^".concat(s[o.GTLT],"\\s*").concat(s[o.XRANGEPLAIN],"$")),u("XRANGELOOSE","^".concat(s[o.GTLT],"\\s*").concat(s[o.XRANGEPLAINLOOSE],"$")),u("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),u("COERCERTL",s[o.COERCE],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM","(\\s*)".concat(s[o.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",u("TILDE","^".concat(s[o.LONETILDE]).concat(s[o.XRANGEPLAIN],"$")),u("TILDELOOSE","^".concat(s[o.LONETILDE]).concat(s[o.XRANGEPLAINLOOSE],"$")),u("LONECARET","(?:\\^)"),u("CARETTRIM","(\\s*)".concat(s[o.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",u("CARET","^".concat(s[o.LONECARET]).concat(s[o.XRANGEPLAIN],"$")),u("CARETLOOSE","^".concat(s[o.LONECARET]).concat(s[o.XRANGEPLAINLOOSE],"$")),u("COMPARATORLOOSE","^".concat(s[o.GTLT],"\\s*(").concat(s[o.LOOSEPLAIN],")$|^$")),u("COMPARATOR","^".concat(s[o.GTLT],"\\s*(").concat(s[o.FULLPLAIN],")$|^$")),u("COMPARATORTRIM","(\\s*)".concat(s[o.GTLT],"\\s*(").concat(s[o.LOOSEPLAIN],"|").concat(s[o.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE","^\\s*(".concat(s[o.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(s[o.XRANGEPLAIN],")")+"\\s*$"),u("HYPHENRANGELOOSE","^\\s*(".concat(s[o.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(s[o.XRANGEPLAINLOOSE],")")+"\\s*$"),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0.0.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}($o,$o.exports);const Mo=["includePrerelease","loose","rtl"];var jo=e=>e?"object"!=typeof e?{loose:!0}:Mo.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const Uo=/^[0-9]+$/,Go=(e,t)=>{const r=Uo.test(e),n=Uo.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eGo(t,e)};const Xo=Bo,{MAX_LENGTH:Ho,MAX_SAFE_INTEGER:zo}=qo,{re:Wo,t:Yo}=$o.exports,Qo=jo,{compareIdentifiers:Jo}=Vo;class Zo{constructor(e,t){if(t=Qo(t),e instanceof Zo){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>Ho)throw new TypeError("version is longer than ".concat(Ho," characters"));Xo("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Wo[Yo.LOOSE]:Wo[Yo.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>zo||this.major<0)throw new TypeError("Invalid major version");if(this.minor>zo||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>zo||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}const Ko=Zo;var ea=(e,t,r)=>new Ko(e,r).compare(new Ko(t,r));const ta=ea;var ra=(e,t,r)=>ta(e,t,r)<0;const na=ea;var ia,sa,oa,aa,ua,ca,la=(e,t,r)=>na(e,t,r)>=0,pa={exports:{}};!function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:ha(oa||(oa=N(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:ha(aa||(aa=N(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:ha(ua||(ua=N(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:ha(ca||(ca=N(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const da=["cliName","cliCategory","cliDescription"],fa={compare:ea,lt:ra,gte:la},ga=(e,t)=>Object.entries(e).map((e=>{let[r,n]=e;return Object.assign({[t]:r},n)})),ma="2.5.1",Ea={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Da}.options;function Ca(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const s=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;s&&s.name&&(o+=" (plugin: ".concat(s.name,")")),e.choices.push({value:t,description:o})}}var ya={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i=ma.split("-",1)[0],s=e.flatMap((e=>e.languages||[])).filter(a),o=ga(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),Ea),"name").filter((e=>a(e)&&u(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>fa.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&u(e))),"parser"===t.name&&Ca(t,s,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:s,options:o};function a(e){return t||!("since"in e)||e.since&&fa.gte(i,e.since)}function u(e){return r||!("deprecated"in e)||e.deprecated&&fa.lt(i,e.deprecated)}function c(e){if(n)return e;return k(e,da)}}};const ba=b.exports,Sa=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Ta=C,{getSupportInfo:_a}=ya,va=/[^\x20-\x7F]/;function Aa(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:s}=t;let o=r;for(;o>=0&&o2&&void 0!==arguments[2]?arguments[2]:{};const n=wa(e,r.backwards?t-1:t,r),i=Ia(e,n,r);return n!==i}function Ra(e,t){let r=null,n=t;for(;n!==r;)r=n,n=ka(e,n),n=Oa(e,n),n=wa(e,n);return n=xa(e,n),n=Ia(e,n),!1!==n&&Pa(e,n)}function La(e,t){let r=null,n=t;for(;n!==r;)r=n,n=wa(e,n),n=Oa(e,n),n=xa(e,n),n=Ia(e,n);return n}function Ba(e,t,r){return La(e,r(t))}function qa(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;for(let i=r;i(e.match(s.regex)||[]).length?s:i}return o}function Ma(e,t,r){const n='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,s)=>i===n?i:s===t?"\\"+s:s||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function ja(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var Ua={inferParserByLanguage:function(e,t){const{languages:r}=_a({plugins:t.plugins}),n=r.find((t=>{let{name:r}=t;return r.toLowerCase()===e}))||r.find((t=>{let{aliases:r}=t;return Array.isArray(r)&&r.includes(e)}))||r.find((t=>{let{extensions:r}=t;return Array.isArray(r)&&r.includes(".".concat(e))}));return n&&n.parsers[0]},getStringWidth:function(e){return e?va.test(e)?ba(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(Sa(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(Sa(t),")+"),"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:Ta,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:La,getNextNonSpaceNonCommentCharacterIndex:Ba,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Ba(e,t,r))},skip:Aa,skipWhitespace:Fa,skipSpaces:wa,skipToLineEnd:ka,skipEverythingButNewLine:Na,skipInlineComment:Oa,skipTrailingComment:xa,skipNewline:Ia,isNextLineEmptyAfterIndex:Ra,isNextLineEmpty:function(e,t,r){return Ra(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=wa(e,n,{backwards:!0}),n=Ia(e,n,{backwards:!0}),n=wa(e,n,{backwards:!0}),n!==Ia(e,n,{backwards:!0})},hasNewline:Pa,hasNewlineInRange:function(e,t,r){for(let n=t;n2&&void 0!==arguments[2]?arguments[2]:{};const n=wa(e,r.backwards?t-1:t,r);return n!==t},getAlignmentSize:qa,getIndentSize:function(e,t){const r=e.lastIndexOf("\n");return-1===r?0:qa(e.slice(r+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:$a,printString:function(e,t){const r=e.slice(1,-1);return Ma(r,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":$a(r,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:Ma,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,ja(e,t)},addDanglingComment:function(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),ja(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,ja(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}},Ga={"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["accesskey","charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","tabindex","target","type"],abbr:["title"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["accesskey","alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","tabindex","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],bdo:["dir"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["accesskey","autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dfn:["title"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","autofocus","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","tabindex","title","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["accesskey","for","form"],legend:["accesskey","align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","nonce","referrerpolicy","rel","rev","sizes","target","title","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","tabindex","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","nonce","referrerpolicy","src","type"],select:["autocomplete","autofocus","disabled","form","multiple","name","required","size","tabindex"],slot:["name"],source:["media","sizes","src","srcset","type"],style:["media","nonce","title","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","autofocus","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]};function Va(e){return{type:"concat",parts:e}}function Xa(e){return{type:"indent",contents:e}}function Ha(e,t){return{type:"align",contents:t,n:e}}function za(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{type:"group",id:t.id,contents:e,break:Boolean(t.shouldBreak),expandedStates:t.expandedStates}}const Wa={type:"break-parent"},Ya={type:"line",hard:!0},Qa={type:"line",hard:!0,literal:!0},Ja=Va([Ya,Wa]),Za=Va([Qa,Wa]);var Ka={concat:Va,join:function(e,t){const r=[];for(let n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return{type:"if-break",breakContents:e,flatContents:t,groupId:r.groupId}},trim:{type:"trim"},indent:Xa,indentIfBreak:function(e,t){return{type:"indent-if-break",contents:e,groupId:t.groupId,negate:t.negate}},align:Ha,addAlignmentToDoc:function(e,t,r){let n=e;if(t>0){for(let e=0;e=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const tu=C,{literalline:ru,join:nu}=Ka,iu=e=>Array.isArray(e)||e&&"concat"===e.type,su=e=>{if(Array.isArray(e))return e;if("concat"!==e.type&&"fill"!==e.type)throw new Error("Expect doc type to be `concat` or `fill`.");return e.parts},ou={};function au(e,t,r,n){const i=[e];for(;i.length>0;){const e=i.pop();if(e!==ou){if(r&&i.push(e,ou),!t||!1!==t(e))if(iu(e)||"fill"===e.type){const t=su(e);for(let e=t.length-1;e>=0;--e)i.push(t[e])}else if("if-break"===e.type)e.flatContents&&i.push(e.flatContents),e.breakContents&&i.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(n)for(let t=e.expandedStates.length-1;t>=0;--t)i.push(e.expandedStates[t]);else i.push(e.contents);else e.contents&&i.push(e.contents)}else r(i.pop())}}function uu(e,t){const r=new Map;return n(e);function n(e){if(r.has(e))return r.get(e);const i=function(e){if(Array.isArray(e))return t(e.map(n));if("concat"===e.type||"fill"===e.type){const r=e.parts.map(n);return t(Object.assign(Object.assign({},e),{},{parts:r}))}if("if-break"===e.type){const r=e.breakContents&&n(e.breakContents),i=e.flatContents&&n(e.flatContents);return t(Object.assign(Object.assign({},e),{},{breakContents:r,flatContents:i}))}if("group"===e.type&&e.expandedStates){const r=e.expandedStates.map(n),i=r[0];return t(Object.assign(Object.assign({},e),{},{contents:i,expandedStates:r}))}if(e.contents){const r=n(e.contents);return t(Object.assign(Object.assign({},e),{},{contents:r}))}return t(e)}(e);return r.set(e,i),i}}function cu(e,t,r){let n=r,i=!1;return au(e,(function(e){const r=t(e);if(void 0!==r&&(i=!0,n=r),i)return!1})),n}function lu(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function pu(e){if(e.length>0){const t=tu(e);t.expandedStates||t.break||(t.break="propagated")}return null}function hu(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}const Du=(e,t)=>e&&"line"===e.type&&e.hard&&t&&"break-parent"===t.type;function du(e){if(!e)return e;if(iu(e)||"fill"===e.type){const t=su(e);for(;t.length>1&&Du(...t.slice(-2));)t.length-=2;if(t.length>0){const e=du(tu(t));t[t.length-1]=e}return Array.isArray(e)?t:Object.assign(Object.assign({},e),{},{parts:t})}switch(e.type){case"align":case"indent":case"indent-if-break":case"group":case"line-suffix":case"label":{const t=du(e.contents);return Object.assign(Object.assign({},e),{},{contents:t})}case"if-break":{const t=du(e.breakContents),r=du(e.flatContents);return Object.assign(Object.assign({},e),{},{breakContents:t,flatContents:r})}}return e}function fu(e){return uu(e,(e=>function(e){switch(e.type){case"fill":if(e.parts.every((e=>""===e)))return"";break;case"group":if(!(e.contents||e.id||e.break||e.expandedStates))return"";if("group"===e.contents.type&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case"align":case"indent":case"indent-if-break":case"line-suffix":if(!e.contents)return"";break;case"if-break":if(!e.flatContents&&!e.breakContents)return""}if(!iu(e))return e;const t=[];for(const r of su(e)){if(!r)continue;const[e,...n]=iu(r)?su(r):[r];"string"==typeof e&&"string"==typeof tu(t)?t[t.length-1]+=e:t.push(e),t.push(...n)}return 0===t.length?"":1===t.length?t[0]:Array.isArray(e)?t:Object.assign(Object.assign({},e),{},{parts:t})}(e)))}function gu(e){const t=[],r=e.filter(Boolean);for(;r.length>0;){const e=r.shift();e&&(iu(e)?r.unshift(...su(e)):t.length>0&&"string"==typeof tu(t)&&"string"==typeof e?t[t.length-1]+=e:t.push(e))}return t}function mu(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ru;return nu(t,e.split("\n")).parts}function Eu(e){if("line"===e.type)return!0}var Cu={isConcat:iu,getDocParts:su,willBreak:function(e){return cu(e,lu,!1)},traverseDoc:au,findInDoc:cu,mapDoc:uu,propagateBreaks:function(e){const t=new Set,r=[];au(e,(function(e){if("break-parent"===e.type&&pu(r),"group"===e.type){if(r.push(e),t.has(e))return!1;t.add(e)}}),(function(e){if("group"===e.type){r.pop().break&&pu(r)}}),!0)},removeLines:function(e){return uu(e,hu)},stripTrailingHardline:function(e){return du(fu(e))},normalizeParts:gu,normalizeDoc:function(e){return uu(e,(e=>Array.isArray(e)?gu(e):e.parts?Object.assign(Object.assign({},e),{},{parts:gu(e.parts)}):e))},cleanDoc:fu,replaceTextEndOfLine:mu,replaceEndOfLine:function(e){return uu(e,(e=>"string"==typeof e&&e.includes("\n")?mu(e):e))},canBreak:function(e){return cu(e,Eu,!1)}};const{getStringWidth:yu,getLast:bu}=Ua,{convertEndOfLineToChars:Su}=eu,{fill:Tu,cursor:_u,indent:vu}=Ka,{isConcat:Au,getDocParts:Fu}=Cu;let wu;function ku(e,t){return Ou(e,{type:"indent"},t)}function Nu(e,t,r){if(t===Number.NEGATIVE_INFINITY)return e.root||{value:"",length:0,queue:[]};if(t<0)return Ou(e,{type:"dedent"},r);if(!t)return e;if("root"===t.type)return Object.assign(Object.assign({},e),{},{root:e});return Ou(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},r)}function Ou(e,t,r){const n="dedent"===t.type?e.queue.slice(0,-1):[...e.queue,t];let i="",s=0,o=0,a=0;for(const e of n)switch(e.type){case"indent":l(),r.useTabs?u(1):c(r.tabWidth);break;case"stringAlign":l(),i+=e.n,s+=e.n.length;break;case"numberAlign":o+=1,a+=e.n;break;default:throw new Error("Unexpected type '".concat(e.type,"'"))}return p(),Object.assign(Object.assign({},e),{},{value:i,length:s,queue:n});function u(e){i+="\t".repeat(e),s+=r.tabWidth*e}function c(e){i+=" ".repeat(e),s+=e}function l(){r.useTabs?function(){o>0&&u(o);h()}():p()}function p(){a>0&&c(a),h()}function h(){o=0,a=0}}function xu(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof bu(e)&&/^[\t ]*$/.test(bu(e));)t+=e.pop().length;if(e.length>0&&"string"==typeof bu(e)){const r=bu(e).replace(/[\t ]*$/,"");t+=bu(e).length-r.length,e[e.length-1]=r}return t}function Iu(e,t,r,n,i,s){let o=t.length;const a=[e],u=[];for(;r>=0;){if(0===a.length){if(0===o)return!0;a.push(t[o-1]),o--;continue}const[e,c,l]=a.pop();if("string"==typeof l)u.push(l),r-=yu(l);else if(Au(l)){const t=Fu(l);for(let r=t.length-1;r>=0;r--)a.push([e,c,t[r]])}else switch(l.type){case"indent":a.push([ku(e,n),c,l.contents]);break;case"align":a.push([Nu(e,l.n,n),c,l.contents]);break;case"trim":r+=xu(u);break;case"group":{if(s&&l.break)return!1;const t=l.break?1:c;a.push([e,t,l.expandedStates&&1===t?bu(l.expandedStates):l.contents]),l.id&&(wu[l.id]=t);break}case"fill":for(let t=l.parts.length-1;t>=0;t--)a.push([e,c,l.parts[t]]);break;case"if-break":case"indent-if-break":{const t=l.groupId?wu[l.groupId]:c;if(1===t){const t="if-break"===l.type?l.breakContents:l.negate?l.contents:vu(l.contents);t&&a.push([e,c,t])}if(2===t){const t="if-break"===l.type?l.flatContents:l.negate?vu(l.contents):l.contents;t&&a.push([e,c,t])}break}case"line":switch(c){case 2:if(!l.hard){l.soft||(u.push(" "),r-=1);break}return!0;case 1:return!0}break;case"line-suffix":i=!0;break;case"line-suffix-boundary":if(i)return!1;break;case"label":a.push([e,c,l.contents])}}return!1}var Pu={printDocToString:function(e,t){wu={};const r=t.printWidth,n=Su(t.endOfLine);let i=0;const s=[[{value:"",length:0,queue:[]},1,e]],o=[];let a=!1,u=[];for(;s.length>0;){const[e,c,l]=s.pop();if("string"==typeof l){const e="\n"!==n?l.replace(/\n/g,n):l;o.push(e),i+=yu(e)}else if(Au(l)){const t=Fu(l);for(let r=t.length-1;r>=0;r--)s.push([e,c,t[r]])}else switch(l.type){case"cursor":o.push(_u.placeholder);break;case"indent":s.push([ku(e,t),c,l.contents]);break;case"align":s.push([Nu(e,l.n,t),c,l.contents]);break;case"trim":i-=xu(o);break;case"group":switch(c){case 2:if(!a){s.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const n=[e,2,l.contents],o=r-i,c=u.length>0;if(!l.break&&Iu(n,s,o,t,c))s.push(n);else if(l.expandedStates){const r=bu(l.expandedStates);if(l.break){s.push([e,1,r]);break}for(let n=1;n=l.expandedStates.length){s.push([e,1,r]);break}{const r=[e,2,l.expandedStates[n]];if(Iu(r,s,o,t,c)){s.push(r);break}}}}else s.push([e,1,l.contents]);break}}l.id&&(wu[l.id]=bu(s)[1]);break;case"fill":{const n=r-i,{parts:o}=l;if(0===o.length)break;const[a,p]=o,h=[e,2,a],D=[e,1,a],d=Iu(h,[],n,t,u.length>0,!0);if(1===o.length){d?s.push(h):s.push(D);break}const f=[e,2,p],g=[e,1,p];if(2===o.length){d?s.push(f,h):s.push(g,D);break}o.splice(0,2);const m=[e,c,Tu(o)];Iu([e,2,[a,p,o[0]]],[],n,t,u.length>0,!0)?s.push(m,f,h):d?s.push(m,g,h):s.push(m,g,D);break}case"if-break":case"indent-if-break":{const t=l.groupId?wu[l.groupId]:c;if(1===t){const t="if-break"===l.type?l.breakContents:l.negate?l.contents:vu(l.contents);t&&s.push([e,c,t])}if(2===t){const t="if-break"===l.type?l.flatContents:l.negate?vu(l.contents):l.contents;t&&s.push([e,c,t])}break}case"line-suffix":u.push([e,c,l.contents]);break;case"line-suffix-boundary":u.length>0&&s.push([e,c,{type:"line",hard:!0}]);break;case"line":switch(c){case 2:if(!l.hard){l.soft||(o.push(" "),i+=1);break}a=!0;case 1:if(u.length>0){s.push([e,c,l],...u.reverse()),u=[];break}l.literal?e.root?(o.push(n,e.root.value),i=e.root.length):(o.push(n),i=0):(i-=xu(o),o.push(n+e.value),i=e.length)}break;case"label":s.push([e,c,l.contents])}0===s.length&&u.length>0&&(s.push(...u.reverse()),u=[])}const c=o.indexOf(_u.placeholder);if(-1!==c){const e=o.indexOf(_u.placeholder,c+1),t=o.slice(0,c).join(""),r=o.slice(c+1,e).join("");return{formatted:t+r+o.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:r}}return{formatted:o.join("")}}};const{isConcat:Ru,getDocParts:Lu}=Cu;function Bu(e){if(!e)return"";if(Ru(e)){const t=[];for(const r of Lu(e))if(Ru(r))t.push(...Bu(r).parts);else{const e=Bu(r);""!==e&&t.push(e)}return{type:"concat",parts:t}}return"if-break"===e.type?Object.assign(Object.assign({},e),{},{breakContents:Bu(e.breakContents),flatContents:Bu(e.flatContents)}):"group"===e.type?Object.assign(Object.assign({},e),{},{contents:Bu(e.contents),expandedStates:e.expandedStates&&e.expandedStates.map(Bu)}):"fill"===e.type?{type:"fill",parts:e.parts.map(Bu)}:e.contents?Object.assign(Object.assign({},e),{},{contents:Bu(e.contents)}):e}var qu={printDocToDebug:function(e){const t=Object.create(null),r=new Set;return function e(t,r,i){if("string"==typeof t)return JSON.stringify(t);if(Ru(t)){const r=Lu(t).map(e).filter(Boolean);return 1===r.length?r[0]:"[".concat(r.join(", "),"]")}if("line"===t.type){const e=Array.isArray(i)&&i[r+1]&&"break-parent"===i[r+1].type;return t.literal?e?"literalline":"literallineWithoutBreakParent":t.hard?e?"hardline":"hardlineWithoutBreakParent":t.soft?"softline":"line"}if("break-parent"===t.type){return Array.isArray(i)&&i[r-1]&&"line"===i[r-1].type&&i[r-1].hard?void 0:"breakParent"}if("trim"===t.type)return"trim";if("indent"===t.type)return"indent("+e(t.contents)+")";if("align"===t.type)return t.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+e(t.contents)+")":t.n<0?"dedent("+e(t.contents)+")":"root"===t.n.type?"markAsRoot("+e(t.contents)+")":"align("+JSON.stringify(t.n)+", "+e(t.contents)+")";if("if-break"===t.type)return"ifBreak("+e(t.breakContents)+(t.flatContents?", "+e(t.flatContents):"")+(t.groupId?(t.flatContents?"":', ""')+", { groupId: ".concat(n(t.groupId)," }"):"")+")";if("indent-if-break"===t.type){const r=[];t.negate&&r.push("negate: true"),t.groupId&&r.push("groupId: ".concat(n(t.groupId)));const i=r.length>0?", { ".concat(r.join(", ")," }"):"";return"indentIfBreak(".concat(e(t.contents)).concat(i,")")}if("group"===t.type){const r=[];t.break&&"propagated"!==t.break&&r.push("shouldBreak: true"),t.id&&r.push("id: ".concat(n(t.id)));const i=r.length>0?", { ".concat(r.join(", ")," }"):"";return t.expandedStates?"conditionalGroup([".concat(t.expandedStates.map((t=>e(t))).join(","),"]").concat(i,")"):"group(".concat(e(t.contents)).concat(i,")")}if("fill"===t.type)return"fill([".concat(t.parts.map((t=>e(t))).join(", "),"])");if("line-suffix"===t.type)return"lineSuffix("+e(t.contents)+")";if("line-suffix-boundary"===t.type)return"lineSuffixBoundary";if("label"===t.type)return"label(".concat(JSON.stringify(t.label),", ").concat(e(t.contents),")");throw new Error("Unknown doc type "+t.type)}(Bu(e));function n(e){if("symbol"!=typeof e)return JSON.stringify(String(e));if(e in t)return t[e];const n=String(e).slice(7,-1)||"symbol";for(let i=0;;i++){const s=n+(i>0?" #".concat(i):"");if(!r.has(s))return r.add(s),t[e]="Symbol.for(".concat(JSON.stringify(s),")")}}}},$u={builders:Ka,printer:Pu,utils:Cu,debug:qu};const Mu=["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"],ju=Ga,{inferParserByLanguage:Uu,isFrontMatterNode:Gu}=Ua,{builders:{line:Vu,hardline:Xu,join:Hu},utils:{getDocParts:zu,replaceTextEndOfLine:Wu}}=$u,{CSS_DISPLAY_TAGS:Yu,CSS_DISPLAY_DEFAULT:Qu,CSS_WHITE_SPACE_TAGS:Ju,CSS_WHITE_SPACE_DEFAULT:Zu}={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"},Ku=sc(Mu),ec=function(e,t){const r=Object.create(null);for(const[n,i]of Object.entries(e))r[n]=t(i,n);return r}(ju,sc),tc=new Set(["\t","\n","\f","\r"," "]),rc=e=>e.replace(/[\t\n\f\r ]+$/,""),nc=e=>(e=>e.replace(/^[\t\f\r ]*?\n/g,""))(rc(e)),ic=e=>e.split(/[\t\n\f\r ]+/);function sc(e){const t=Object.create(null);for(const r of e)t[r]=!0;return t}function oc(e){return"element"===e.type&&("script"===e.fullName||"style"===e.fullName||"svg:style"===e.fullName||mc(e)&&("script"===e.name||"style"===e.name))}function ac(e){return Ec(e).startsWith("pre")}function uc(e){return"element"===e.type&&e.children.length>0&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&"table-cell"!==e.cssDisplay)}function cc(e){return Dc(e)||"element"===e.type&&"br"===e.fullName||lc(e)}function lc(e){return pc(e)&&hc(e)}function pc(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:"root"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function Dc(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function dc(e){const{type:t,lang:r}=e.attrMap;return"module"===t||"text/javascript"===t||"text/babel"===t||"application/javascript"===t||"jsx"===r?"babel":"application/x-typescript"===t||"ts"===r||"tsx"===r?"typescript":"text/markdown"===t?"markdown":"text/html"===t?"html":t&&(t.endsWith("json")||t.endsWith("importmap"))?"json":"text/x-handlebars-template"===t?"glimmer":void 0}function fc(e){return"block"===e||"list-item"===e||e.startsWith("table")}function gc(e){return Ec(e).startsWith("pre")}function mc(e){return"element"===e.type&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function Ec(e){return"element"===e.type&&(!e.namespace||mc(e))&&Ju[e.name]||Zu}function Cc(e){let t=Number.POSITIVE_INFINITY;for(const n of e.split("\n")){if(0===n.length)continue;if(!tc.has(n[0]))return 0;const e=(r=n,r.match(/^[\t\n\f\r ]*/)[0]).length;n.length!==e&&(e1&&void 0!==arguments[1]?arguments[1]:Cc(e);return 0===t?e:e.split("\n").map((e=>e.slice(t))).join("\n")}const bc=new Set(["template","style","script"]);function Sc(e,t){return Tc(e,t)&&!bc.has(e.fullName)}function Tc(e,t){return"vue"===t.parser&&"element"===e.type&&"root"===e.parent.type&&"html"!==e.fullName.toLowerCase()}function _c(e,t){return Tc(e,t)&&(Sc(e,t)||e.attrMap.lang&&"html"!==e.attrMap.lang)}var vc={HTML_ELEMENT_ATTRIBUTES:ec,HTML_TAGS:Ku,htmlTrim:e=>(e=>e.replace(/^[\t\n\f\r ]+/,""))(rc(e)),htmlTrimPreserveIndentation:nc,hasHtmlWhitespace:e=>/[\t\n\f\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,r,n]=e.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s);return{leadingWhitespace:t,trailingWhitespace:n,text:r}},canHaveInterpolation:function(e){return e.children&&!oc(e)},countChars:function(e,t){let r=0;for(let n=0;n=0;n--){const i=e.stack[n];i&&"object"==typeof i&&!Array.isArray(i)&&t(i)&&r++}return r},dedentString:yc,forceBreakChildren:uc,forceBreakContent:function(e){return uc(e)||"element"===e.type&&e.children.length>0&&(["body","script","style"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>"text"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&"text"!==e.firstChild.type&&pc(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||hc(e.lastChild))},forceNextEmptyLine:function(e){return Gu(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1"svg:foreignObject"===e.fullName)))return"svg"===e.name?"inline-block":"block";r=!0}switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return"vue"===t.parser&&e.parent&&"root"===e.parent.type?"block":"element"===e.type&&(!e.namespace||r||mc(e))&&Yu[e.name]||Qu}},getNodeCssStyleWhiteSpace:Ec,hasPrettierIgnore:function(e){return"attribute"!==e.type&&(!!e.parent&&("number"==typeof e.index&&0!==e.index&&function(e){return"comment"===e.type&&"prettier-ignore"===e.value.trim()}(e.parent.children[e.index-1])))},inferScriptParser:function(e,t){return"script"!==e.name||e.attrMap.src?"style"===e.name?function(e){const{lang:t}=e.attrMap;return t&&"postcss"!==t&&"css"!==t?"scss"===t?"scss":"less"===t?"less":void 0:"css"}(e):t&&_c(e,t)?dc(e)||!("src"in e.attrMap)&&Uu(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?dc(e):"babel"},isVueCustomBlock:Sc,isVueNonHtmlBlock:_c,isVueSlotAttribute:function(e){const t=e.fullName;return"#"===t.charAt(0)||"slot-scope"===t||"v-slot"===t||t.startsWith("v-slot:")},isVueSfcBindingsAttribute:function(e,t){const r=e.parent;if(!Tc(r,t))return!1;const n=r.fullName,i=e.fullName;return"script"===n&&"setup"===i||"style"===n&&"vars"===i},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,fc(t)||"inline-block"===t||oc(e));var t},isIndentationSensitiveNode:ac,isLeadingSpaceSensitiveNode:function(e,t){const r=function(){if(Gu(e))return!1;if(("text"===e.type||"interpolation"===e.type)&&e.prev&&("text"===e.prev.type||"interpolation"===e.prev.type))return!0;if(!e.parent||"none"===e.parent.cssDisplay)return!1;if(gc(e.parent))return!0;if(!e.prev&&("root"===e.parent.type||gc(e)&&e.parent||oc(e.parent)||Sc(e.parent,t)||(r=e.parent.cssDisplay,fc(r)||"inline-block"===r)))return!1;var r;if(e.prev&&!function(e){return!fc(e)}(e.prev.cssDisplay))return!1;return!0}();return r&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?"interpolation"===e.type:r},isPreLikeNode:gc,isScriptLikeTag:oc,isTextLikeNode:function(e){return"text"===e.type||"comment"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!Gu(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.next||"text"!==e.next.type&&"interpolation"!==e.next.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!gc(e.parent)||!(!e.next&&("root"===e.parent.type||gc(e)&&e.parent||oc(e.parent)||Sc(e.parent,t)||(r=e.parent.cssDisplay,fc(r)||"inline-block"===r)))&&!(e.next&&!function(e){return!fc(e)}(e.next.cssDisplay))));var r},isWhitespaceSensitiveNode:function(e){return oc(e)||"interpolation"===e.type||ac(e)},isUnknownNamespace:mc,preferHardlineAsLeadingSpaces:function(e){return Dc(e)||e.prev&&cc(e.prev)||lc(e)},preferHardlineAsTrailingSpaces:cc,shouldPreserveContent:function(e,t){return!("ieConditionalComment"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||("ieConditionalComment"===e.type&&!e.complete||(!(!gc(e)||!e.children.some((e=>"text"!==e.type&&"interpolation"!==e.type)))||!(!_c(e,t)||oc(e)||"interpolation"===e.type)))},unescapeQuoteEntities:function(e){return e.replace(/'/g,"'").replace(/"/g,'"')},getTextValueParts:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.value;return e.parent.isWhitespaceSensitive?e.parent.isIndentationSensitive?Wu(t):Wu(yc(nc(t)),Xu):zu(Hu(Vu,ic(t)))}};var Ac={hasPragma:function(e){return/^\s*/.test(e)},insertPragma:function(e){return"\x3c!-- @format --\x3e\n\n"+e.replace(/^\s*\n/,"")}};const{isNonEmptyArray:Fc}=Ua,wc=C,kc={attrs:!0,children:!0};class Nc{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(const[t,r]of Object.entries(e))t in kc?this._setNodes(t,r):this[t]=r}_setNodes(e,t){t!==this[e]&&(this[e]=function(e,t){const r=e.map((e=>e instanceof Nc?e.clone():new Nc(e)));let n=null,i=r[0],s=r[1]||null;for(let e=0;e[e.fullName,e.value])))}))}map(e){let t=null;for(const r in kc){const n=this[r];if(n){const i=Oc(n,(t=>t.map(e)));t!==n&&(t||(t=new Nc),t._setNodes(r,i))}}if(t){for(const e in this)e in kc||(t[e]=this[e]);const{index:e,siblings:r,prev:n,next:i,parent:s}=this;xc(t,{index:e,siblings:r,prev:n,next:i,parent:s})}return e(t||this)}walk(e){for(const t in kc){const r=this[t];if(r)for(let t=0;tt!==e[r]))?r:e}function xc(e,t){const r=Object.fromEntries(Object.entries(t).map((e=>{let[t,r]=e;return[t,{value:r,enumerable:!1}]})));Object.defineProperties(e,r)}var Ic={Node:Nc};const{ParseSourceSpan:Pc}=t,Rc=[{regex:/^(\[if([^\]]*?)]>)(.*?){try{return[!0,t(s,a).children]}catch{return[!1,[{type:"text",value:s,sourceSpan:new Pc(a,u)}]]}})();return{type:"ieConditionalComment",complete:c,children:l,condition:i.trim().replace(/\s+/g," "),sourceSpan:e.sourceSpan,startSourceSpan:new Pc(e.sourceSpan.start,a),endSourceSpan:new Pc(u,e.sourceSpan.end)}}},{regex:/^\[if([^\]]*?)]>",Gt:"\u226b",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",hArr:"\u21d4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",Hfr:"\u210c",hfr:"\ud835\udd25",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",Hopf:"\u210d",hopf:"\ud835\udd59",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210b",hscr:"\ud835\udcbd",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",Ifr:"\u2111",ifr:"\ud835\udd26",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",Int:"\u222c",int:"\u222b",intcal:"\u22ba",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",Iscr:"\u2110",iscr:"\ud835\udcbe",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",Lang:"\u27ea",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",Larr:"\u219e",lArr:"\u21d0",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",lAtail:"\u291b",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lBarr:"\u290e",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",Leftarrow:"\u21d0",leftarrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22d8",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lnE:"\u2268",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftarrow:"\u27f5",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\ud835\udcc1",Lsh:"\u21b0",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",LT:"<",Lt:"\u226a",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",Mscr:"\u2133",mscr:"\ud835\udcc2",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21d7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlArr:"\u21cd",nlarr:"\u219a",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21cd",nleftarrow:"\u219a",nLeftrightarrow:"\u21ce",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",nopf:"\ud835\udd5f",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nRightarrow:"\u21cf",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nVDash:"\u22af",nVdash:"\u22ae",nvDash:"\u22ad",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwArr:"\u21d6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",Ocirc:"\xd4",ocirc:"\xf4",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",Or:"\u2a54",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",Otimes:"\u2a37",otimes:"\u2297",otimesas:"\u2a36",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",Popf:"\u2119",popf:"\ud835\udd61",pound:"\xa3",Pr:"\u2abb",pr:"\u227a",prap:"\u2ab7",prcue:"\u227c",prE:"\u2ab3",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportion:"\u2237",Proportional:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",Qopf:"\u211a",qopf:"\ud835\udd62",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",QUOT:'"',quot:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",Rang:"\u27eb",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",Rarr:"\u21a0",rArr:"\u21d2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",rAtail:"\u291c",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",RBarr:"\u2910",rBarr:"\u290f",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",Re:"\u211c",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",REG:"\xae",reg:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",Rfr:"\u211c",rfr:"\ud835\udd2f",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",Rightarrow:"\u21d2",rightarrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",Ropf:"\u211d",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",Rscr:"\u211b",rscr:"\ud835\udcc7",Rsh:"\u21b1",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",Sc:"\u2abc",sc:"\u227b",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227d",scE:"\u2ab4",sce:"\u2ab0",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",searhk:"\u2925",seArr:"\u21d8",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",Square:"\u25a1",square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",Sub:"\u22d0",sub:"\u2282",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",Subset:"\u22d0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",Sum:"\u2211",sum:"\u2211",sung:"\u266a",Sup:"\u22d1",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",Supset:"\u22d1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swArr:"\u21d9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",Tilde:"\u223c",tilde:"\u02dc",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",Uarr:"\u219f",uArr:"\u21d1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrow:"\u2191",Uparrow:"\u21d1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",Updownarrow:"\u21d5",updownarrow:"\u2195",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",upsi:"\u03c5",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTee:"\u22a5",UpTeeArrow:"\u21a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",vArr:"\u21d5",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",Vbar:"\u2aeb",vBar:"\u2ae8",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22ab",Vdash:"\u22a9",vDash:"\u22a8",vdash:"\u22a2",Vdashl:"\u2ae6",Vee:"\u22c1",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",Wedge:"\u22c0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",Xi:"\u039e",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",Yuml:"\u0178",yuml:"\xff",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",Zfr:"\u2128",zfr:"\ud835\udd37",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",Zopf:"\u2124",zopf:"\ud835\udd6b",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},e.NGSP_UNICODE="\ue500",e.NAMED_ENTITIES.ngsp=e.NGSP_UNICODE}(jc), +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(Mc,"__esModule",{value:!0});const Uc=jc;class Gc{constructor(){let{closedByChildren:e,implicitNamespacePrefix:t,contentType:r=Uc.TagContentType.PARSABLE_DATA,closedByParent:n=!1,isVoid:i=!1,ignoreFirstLf:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,e&&e.length>0&&e.forEach((e=>this.closedByChildren[e]=!0)),this.isVoid=i,this.closedByParent=n||i,this.implicitNamespacePrefix=t||null,this.contentType=r,this.ignoreFirstLf=s}isClosedByChild(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}}let Vc,Xc;Mc.HtmlTagDefinition=Gc,Mc.getHtmlTagDefinition=function(e){return Xc||(Vc=new Gc,Xc={base:new Gc({isVoid:!0}),meta:new Gc({isVoid:!0}),area:new Gc({isVoid:!0}),embed:new Gc({isVoid:!0}),link:new Gc({isVoid:!0}),img:new Gc({isVoid:!0}),input:new Gc({isVoid:!0}),param:new Gc({isVoid:!0}),hr:new Gc({isVoid:!0}),br:new Gc({isVoid:!0}),source:new Gc({isVoid:!0}),track:new Gc({isVoid:!0}),wbr:new Gc({isVoid:!0}),p:new Gc({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new Gc({closedByChildren:["tbody","tfoot"]}),tbody:new Gc({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new Gc({closedByChildren:["tbody"],closedByParent:!0}),tr:new Gc({closedByChildren:["tr"],closedByParent:!0}),td:new Gc({closedByChildren:["td","th"],closedByParent:!0}),th:new Gc({closedByChildren:["td","th"],closedByParent:!0}),col:new Gc({isVoid:!0}),svg:new Gc({implicitNamespacePrefix:"svg"}),math:new Gc({implicitNamespacePrefix:"math"}),li:new Gc({closedByChildren:["li"],closedByParent:!0}),dt:new Gc({closedByChildren:["dt","dd"]}),dd:new Gc({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new Gc({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new Gc({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new Gc({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new Gc({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new Gc({closedByChildren:["optgroup"],closedByParent:!0}),option:new Gc({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new Gc({ignoreFirstLf:!0}),listing:new Gc({ignoreFirstLf:!0}),style:new Gc({contentType:Uc.TagContentType.RAW_TEXT}),script:new Gc({contentType:Uc.TagContentType.RAW_TEXT}),title:new Gc({contentType:Uc.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new Gc({contentType:Uc.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),Xc[e]||Vc};var Hc={},zc={},Wc={}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(Wc,"__esModule",{value:!0});Wc.AstPath=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;this.path=e,this.position=t}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(e){return e&&this.path[this.path.indexOf(e)-1]}childOf(e){return this.path[this.path.indexOf(e)+1]}first(e){for(let t=this.path.length-1;t>=0;t--){let r=this.path[t];if(r instanceof e)return r}}push(e){this.path.push(e)}pop(){return this.path.pop()}}, +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(zc,"__esModule",{value:!0});const Yc=Wc;zc.Text=class{constructor(e,t,r){this.value=e,this.sourceSpan=t,this.i18n=r,this.type="text"}visit(e,t){return e.visitText(this,t)}};zc.CDATA=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="cdata"}visit(e,t){return e.visitCdata(this,t)}};zc.Expansion=class{constructor(e,t,r,n,i,s){this.switchValue=e,this.type=t,this.cases=r,this.sourceSpan=n,this.switchValueSourceSpan=i,this.i18n=s}visit(e,t){return e.visitExpansion(this,t)}};zc.ExpansionCase=class{constructor(e,t,r,n,i){this.value=e,this.expression=t,this.sourceSpan=r,this.valueSourceSpan=n,this.expSourceSpan=i}visit(e,t){return e.visitExpansionCase(this,t)}};zc.Attribute=class{constructor(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;this.name=e,this.value=t,this.sourceSpan=r,this.valueSpan=n,this.nameSpan=i,this.i18n=s,this.type="attribute"}visit(e,t){return e.visitAttribute(this,t)}};class Qc{constructor(e,t,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null;this.name=e,this.attrs=t,this.children=r,this.sourceSpan=n,this.startSourceSpan=i,this.endSourceSpan=s,this.nameSpan=o,this.i18n=a,this.type="element"}visit(e,t){return e.visitElement(this,t)}}zc.Element=Qc;zc.Comment=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="comment"}visit(e,t){return e.visitComment(this,t)}};function Jc(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const n=[],i=e.visit?t=>e.visit(t,r)||t.visit(e,r):t=>t.visit(e,r);return t.forEach((e=>{const t=i(e);t&&n.push(t)})),n}zc.DocType=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="docType"}visit(e,t){return e.visitDocType(this,t)}},zc.visitAll=Jc;class Zc{constructor(){}visitElement(e,t){this.visitChildren(t,(t=>{t(e.attrs),t(e.children)}))}visitAttribute(e,t){}visitText(e,t){}visitCdata(e,t){}visitComment(e,t){}visitDocType(e,t){}visitExpansion(e,t){return this.visitChildren(t,(t=>{t(e.cases)}))}visitExpansionCase(e,t){}visitChildren(e,t){let r=[],n=this;return t((function(t){t&&r.push(Jc(n,t,e))})),Array.prototype.concat.apply([],r)}}function Kc(e){const t=e.sourceSpan.start.offset;let r=e.sourceSpan.end.offset;return e instanceof Qc&&(e.endSourceSpan?r=e.endSourceSpan.end.offset:e.children&&e.children.length&&(r=Kc(e.children[e.children.length-1]).end)),{start:t,end:r}}zc.RecursiveVisitor=Zc,zc.findNode=function(e,t){const r=[],n=new class extends Zc{visit(e,n){const i=Kc(e);if(!(i.start<=t&&t]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];rl.assertInterpolationSymbols=function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error("Expected '".concat(e,"' to be an array, [start, end]."));if(null!=t){const e=t[0],r=t[1];nl.forEach((t=>{if(t.test(e)||t.test(r))throw new Error("['".concat(e,"', '").concat(r,"'] contains unusable interpolation symbol."))}))}},function(e){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(e,"__esModule",{value:!0});const t=rl;class r{constructor(e,t){this.start=e,this.end=t}static fromArray(n){return n?(t.assertInterpolationSymbols("interpolation",n),new r(n[0],n[1])):e.DEFAULT_INTERPOLATION_CONFIG}}e.InterpolationConfig=r,e.DEFAULT_INTERPOLATION_CONFIG=new r("{{","}}")}(tl),function(e){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(e,"__esModule",{value:!0});const n=r,i=t,s=tl,o=jc;var a;!function(e){e[e.TAG_OPEN_START=0]="TAG_OPEN_START",e[e.TAG_OPEN_END=1]="TAG_OPEN_END",e[e.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",e[e.TAG_CLOSE=3]="TAG_CLOSE",e[e.TEXT=4]="TEXT",e[e.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",e[e.RAW_TEXT=6]="RAW_TEXT",e[e.COMMENT_START=7]="COMMENT_START",e[e.COMMENT_END=8]="COMMENT_END",e[e.CDATA_START=9]="CDATA_START",e[e.CDATA_END=10]="CDATA_END",e[e.ATTR_NAME=11]="ATTR_NAME",e[e.ATTR_QUOTE=12]="ATTR_QUOTE",e[e.ATTR_VALUE=13]="ATTR_VALUE",e[e.DOC_TYPE_START=14]="DOC_TYPE_START",e[e.DOC_TYPE_END=15]="DOC_TYPE_END",e[e.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",e[e.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",e[e.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",e[e.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",e[e.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",e[e.EOF=21]="EOF"}(a=e.TokenType||(e.TokenType={}));class u{constructor(e,t,r){this.type=e,this.parts=t,this.sourceSpan=r}}e.Token=u;class c extends i.ParseError{constructor(e,t,r){super(r,e),this.tokenType=t}}e.TokenError=c;class l{constructor(e,t){this.tokens=e,this.errors=t}}e.TokenizeResult=l,e.tokenize=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new f(new i.ParseSourceFile(e,t),r,n).tokenize()};const p=/\r\n?/g;function h(e){const t=e===n.$EOF?"EOF":String.fromCharCode(e);return'Unexpected character "'.concat(t,'"')}function D(e){return'Unknown entity "'.concat(e,'" - use the "&#;" or "&#x;" syntax')}class d{constructor(e){this.error=e}}class f{constructor(e,t,r){this._getTagContentType=t,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=r.tokenizeExpansionForms||!1,this._interpolationConfig=r.interpolationConfig||s.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=r.leadingTriviaChars&&r.leadingTriviaChars.map((e=>e.codePointAt(0)||0)),this._canSelfClose=r.canSelfClose||!1,this._allowHtmComponentClosingTags=r.allowHtmComponentClosingTags||!1;const n=r.range||{endPos:e.content.length,startPos:0,startLine:0,startCol:0};this._cursor=r.escapedString?new S(e,n):new b(e,n);try{this._cursor.init()}catch(e){this.handleError(e)}}_processCarriageReturns(e){return e.replace(p,"\n")}tokenize(){for(;this._cursor.peek()!==n.$EOF;){const e=this._cursor.clone();try{if(this._attemptCharCode(n.$LT))if(this._attemptCharCode(n.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(e):this._attemptStr("--")?this._consumeComment(e):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(e):this._consumeBogusComment(e);else if(this._attemptCharCode(n.$SLASH))this._consumeTagClose(e);else{const t=this._cursor.clone();this._attemptCharCode(n.$QUESTION)?(this._cursor=t,this._consumeBogusComment(e)):this._consumeTagOpen(e)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(a.EOF),this._endToken([]),new l(function(e){const t=[];let r;for(let n=0;n1&&void 0!==arguments[1]?arguments[1]:this._cursor.clone();this._currentTokenStart=t,this._currentTokenType=e}_endToken(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._cursor.clone();if(null===this._currentTokenStart)throw new c("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(t));if(null===this._currentTokenType)throw new c("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));const r=new u(this._currentTokenType,e,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(r),this._currentTokenStart=null,this._currentTokenType=null,r}_createError(e,t){this._isInExpansionForm()&&(e+=' (Do you have an unescaped "{" in your template? Use "{{ \'{\' }}") to escape it.)');const r=new c(e,this._currentTokenType,t);return this._currentTokenStart=null,this._currentTokenType=null,new d(r)}handleError(e){if(e instanceof T&&(e=this._createError(e.msg,this._cursor.getSpan(e.cursor))),!(e instanceof d))throw e;this.errors.push(e.error)}_attemptCharCode(e){return this._cursor.peek()===e&&(this._cursor.advance(),!0)}_attemptCharCodeCaseInsensitive(e){return t=this._cursor.peek(),r=e,y(t)==y(r)&&(this._cursor.advance(),!0);var t,r}_requireCharCode(e){const t=this._cursor.clone();if(!this._attemptCharCode(e))throw this._createError(h(this._cursor.peek()),this._cursor.getSpan(t))}_attemptStr(e){const t=e.length;if(this._cursor.charsLeft()this._attemptStr("--\x3e"))),this._beginToken(a.COMMENT_END),this._requireStr("--\x3e"),this._endToken([])}_consumeBogusComment(e){this._beginToken(a.COMMENT_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===n.$GT)),this._beginToken(a.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(e){this._beginToken(a.CDATA_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._attemptStr("]]>"))),this._beginToken(a.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(e){this._beginToken(a.DOC_TYPE_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===n.$GT)),this._beginToken(a.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){const e=this._cursor.clone();let t="";for(;this._cursor.peek()!==n.$COLON&&!(((r=this._cursor.peek())n.$9));)this._cursor.advance();var r;let i;this._cursor.peek()===n.$COLON?(t=this._cursor.getChars(e),this._cursor.advance(),i=this._cursor.clone()):i=e,this._requireCharCodeUntilFn(m,""===t?0:1);return[t,this._cursor.getChars(i)]}_consumeTagOpen(e){let t,r,i,s=this.tokens.length;const u=this._cursor.clone(),c=[];try{if(!n.isAsciiLetter(this._cursor.peek()))throw this._createError(h(this._cursor.peek()),this._cursor.getSpan(e));for(i=this._consumeTagOpenStart(e),r=i.parts[0],t=i.parts[1],this._attemptCharCodeUntilFn(g);this._cursor.peek()!==n.$SLASH&&this._cursor.peek()!==n.$GT;){const[e,t]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(g),this._attemptCharCode(n.$EQ)){this._attemptCharCodeUntilFn(g);const r=this._consumeAttributeValue();c.push({prefix:e,name:t,value:r})}else c.push({prefix:e,name:t});this._attemptCharCodeUntilFn(g)}this._consumeTagOpenEnd()}catch(t){if(t instanceof d)return this._cursor=u,i&&(this.tokens.length=s),this._beginToken(a.TEXT,e),void this._endToken(["<"]);throw t}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===a.TAG_OPEN_END_VOID)return;const l=this._getTagContentType(t,r,this._fullNameStack.length>0,c);this._handleFullNameStackForTagOpen(r,t),l===o.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(r,t,!1):l===o.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(r,t,!0)}_consumeRawTextWithTagClose(e,t,r){this._consumeRawText(r,(()=>!!this._attemptCharCode(n.$LT)&&(!!this._attemptCharCode(n.$SLASH)&&(this._attemptCharCodeUntilFn(g),!!this._attemptStrCaseInsensitive(e?"".concat(e,":").concat(t):t)&&(this._attemptCharCodeUntilFn(g),this._attemptCharCode(n.$GT)))))),this._beginToken(a.TAG_CLOSE),this._requireCharCodeUntilFn((e=>e===n.$GT),3),this._cursor.advance(),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}_consumeTagOpenStart(e){this._beginToken(a.TAG_OPEN_START,e);const t=this._consumePrefixAndName();return this._endToken(t)}_consumeAttributeName(){const e=this._cursor.peek();if(e===n.$SQ||e===n.$DQ)throw this._createError(h(e),this._cursor.getSpan());this._beginToken(a.ATTR_NAME);const t=this._consumePrefixAndName();return this._endToken(t),t}_consumeAttributeValue(){let e;if(this._cursor.peek()===n.$SQ||this._cursor.peek()===n.$DQ){this._beginToken(a.ATTR_QUOTE);const t=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(t)]),this._beginToken(a.ATTR_VALUE);const r=[];for(;this._cursor.peek()!==t;)r.push(this._readChar(!0));e=this._processCarriageReturns(r.join("")),this._endToken([e]),this._beginToken(a.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(t)])}else{this._beginToken(a.ATTR_VALUE);const t=this._cursor.clone();this._requireCharCodeUntilFn(m,1),e=this._processCarriageReturns(this._cursor.getChars(t)),this._endToken([e])}return e}_consumeTagOpenEnd(){const e=this._attemptCharCode(n.$SLASH)?a.TAG_OPEN_END_VOID:a.TAG_OPEN_END;this._beginToken(e),this._requireCharCode(n.$GT),this._endToken([])}_consumeTagClose(e){if(this._beginToken(a.TAG_CLOSE,e),this._attemptCharCodeUntilFn(g),this._allowHtmComponentClosingTags&&this._attemptCharCode(n.$SLASH))this._attemptCharCodeUntilFn(g),this._requireCharCode(n.$GT),this._endToken([]);else{const[e,t]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(g),this._requireCharCode(n.$GT),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}}_consumeExpansionFormStart(){this._beginToken(a.EXPANSION_FORM_START),this._requireCharCode(n.$LBRACE),this._endToken([]),this._expansionCaseStack.push(a.EXPANSION_FORM_START),this._beginToken(a.RAW_TEXT);const e=this._readUntil(n.$COMMA);this._endToken([e]),this._requireCharCode(n.$COMMA),this._attemptCharCodeUntilFn(g),this._beginToken(a.RAW_TEXT);const t=this._readUntil(n.$COMMA);this._endToken([t]),this._requireCharCode(n.$COMMA),this._attemptCharCodeUntilFn(g)}_consumeExpansionCaseStart(){this._beginToken(a.EXPANSION_CASE_VALUE);const e=this._readUntil(n.$LBRACE).trim();this._endToken([e]),this._attemptCharCodeUntilFn(g),this._beginToken(a.EXPANSION_CASE_EXP_START),this._requireCharCode(n.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(g),this._expansionCaseStack.push(a.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(a.EXPANSION_CASE_EXP_END),this._requireCharCode(n.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(g),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(a.EXPANSION_FORM_END),this._requireCharCode(n.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const e=this._cursor.clone();this._beginToken(a.TEXT,e);const t=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(t.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(t.push(this._interpolationConfig.end),this._inInterpolation=!1):t.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(t.join(""))])}_isTextEnd(){if(this._cursor.peek()===n.$LT||this._cursor.peek()===n.$EOF)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(this._cursor.peek()===n.$RBRACE&&this._isInExpansionCase())return!0}return!1}_readUntil(e){const t=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(t)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===a.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===a.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==n.$LBRACE)return!1;if(this._interpolationConfig){const e=this._cursor.clone(),t=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!t}return!0}_handleFullNameStackForTagOpen(e,t){const r=o.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]!==r||this._fullNameStack.push(r)}_handleFullNameStackForTagClose(e,t){const r=o.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]===r&&this._fullNameStack.pop()}}function g(e){return!n.isWhitespace(e)||e===n.$EOF}function m(e){return n.isWhitespace(e)||e===n.$GT||e===n.$SLASH||e===n.$SQ||e===n.$DQ||e===n.$EQ}function E(e){return e==n.$SEMICOLON||e==n.$EOF||!n.isAsciiHexDigit(e)}function C(e){return e==n.$SEMICOLON||e==n.$EOF||!n.isAsciiLetter(e)}function y(e){return e>=n.$a&&e<=n.$z?e-n.$a+n.$A:e}class b{constructor(e,t){if(e instanceof b)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object.assign({},e.state);else{if(!t)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=e,this.input=e.content,this.end=t.endPos,this.state={peek:-1,offset:t.startPos,line:t.startLine,column:t.startCol}}}clone(){return new b(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(e){return this.state.offset-e.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(e,t){if(e=e||this,t)for(e=e.clone();this.diff(e)>0&&-1!==t.indexOf(e.peek());)e.advance();return new i.ParseSourceSpan(new i.ParseLocation(e.file,e.state.offset,e.state.line,e.state.column),new i.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(e){return this.input.substring(e.state.offset,this.state.offset)}charAt(e){return this.input.charCodeAt(e)}advanceState(e){if(e.offset>=this.end)throw this.state=e,new T('Unexpected character "EOF"',this);const t=this.charAt(e.offset);t===n.$LF?(e.line++,e.column=0):n.isNewLine(t)||e.column++,e.offset++,this.updatePeek(e)}updatePeek(e){e.peek=e.offset>=this.end?n.$EOF:this.charAt(e.offset)}}class S extends b{constructor(e,t){e instanceof S?(super(e),this.internalState=Object.assign({},e.internalState)):(super(e,t),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new S(this)}getChars(e){const t=e.clone();let r="";for(;t.internalState.offsetthis.internalState.peek;if(e()===n.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),e()===n.$n)this.state.peek=n.$LF;else if(e()===n.$r)this.state.peek=n.$CR;else if(e()===n.$v)this.state.peek=n.$VTAB;else if(e()===n.$t)this.state.peek=n.$TAB;else if(e()===n.$b)this.state.peek=n.$BSPACE;else if(e()===n.$f)this.state.peek=n.$FF;else if(e()===n.$u)if(this.advanceState(this.internalState),e()===n.$LBRACE){this.advanceState(this.internalState);const t=this.clone();let r=0;for(;e()!==n.$RBRACE;)this.advanceState(this.internalState),r++;this.state.peek=this.decodeHexDigits(t,r)}else{const e=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,4)}else if(e()===n.$x){this.advanceState(this.internalState);const e=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,2)}else if(n.isOctalDigit(e())){let t="",r=0,i=this.clone();for(;n.isOctalDigit(e())&&r<3;)i=this.clone(),t+=String.fromCodePoint(e()),this.advanceState(this.internalState),r++;this.state.peek=parseInt(t,8),this.internalState=i.internalState}else n.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(e,t){const r=this.input.substr(e.internalState.offset,t),n=parseInt(r,16);if(isNaN(n))throw e.state=e.internalState,new T("Invalid hexadecimal escape sequence",e);return n}}class T{constructor(e,t){this.msg=e,this.cursor=t}}e.CursorError=T}(el), +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(Hc,"__esModule",{value:!0});const il=t,sl=zc,ol=el,al=jc;class ul extends il.ParseError{constructor(e,t,r){super(t,r),this.elementName=e}static create(e,t,r){return new ul(e,t,r)}}Hc.TreeError=ul;class cl{constructor(e,t){this.rootNodes=e,this.errors=t}}Hc.ParseTreeResult=cl;Hc.Parser=class{constructor(e){this.getTagDefinition=e}parse(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0;const s=e=>function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;io(e).contentType,u=n?i:s(i),c=i?(e,t,r,n)=>{const i=u(e,t,r,n);return void 0!==i?i:a(e)}:a,l=ol.tokenize(e,t,c,r),p=r&&r.canSelfClose||!1,h=r&&r.allowHtmComponentClosingTags||!1,D=new ll(l.tokens,o,p,h,n).build();return new cl(D.rootNodes,l.errors.concat(D.errors))}};class ll{constructor(e,t,r,n,i){this.tokens=e,this.getTagDefinition=t,this.canSelfClose=r,this.allowHtmComponentClosingTags=n,this.isTagNameCaseSensitive=i,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==ol.TokenType.EOF;)this._peek.type===ol.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===ol.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===ol.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===ol.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===ol.TokenType.TEXT||this._peek.type===ol.TokenType.RAW_TEXT||this._peek.type===ol.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===ol.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===ol.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new cl(this._rootNodes,this._errors)}_advance(){const e=this._peek;return this._index0)return this._errors=this._errors.concat(i.errors),null;const s=new il.ParseSourceSpan(e.sourceSpan.start,n.sourceSpan.end),o=new il.ParseSourceSpan(t.sourceSpan.start,n.sourceSpan.end);return new sl.ExpansionCase(e.parts[0],i.rootNodes,s,e.sourceSpan,o)}_collectExpansionExpTokens(e){const t=[],r=[ol.TokenType.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==ol.TokenType.EXPANSION_FORM_START&&this._peek.type!==ol.TokenType.EXPANSION_CASE_EXP_START||r.push(this._peek.type),this._peek.type===ol.TokenType.EXPANSION_CASE_EXP_END){if(!pl(r,ol.TokenType.EXPANSION_CASE_EXP_START))return this._errors.push(ul.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(r.pop(),0==r.length)return t}if(this._peek.type===ol.TokenType.EXPANSION_FORM_END){if(!pl(r,ol.TokenType.EXPANSION_FORM_START))return this._errors.push(ul.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;r.pop()}if(this._peek.type===ol.TokenType.EOF)return this._errors.push(ul.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;t.push(this._advance())}}_getText(e){let t=e.parts[0];if(t.length>0&&"\n"==t[0]){const e=this._getParentElement();null!=e&&0==e.children.length&&this.getTagDefinition(e.name).ignoreFirstLf&&(t=t.substring(1))}return t}_consumeText(e){const t=this._getText(e);t.length>0&&this._addToParent(new sl.Text(t,e.sourceSpan))}_closeVoidElement(){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isVoid&&this._elementStack.pop()}_consumeStartTag(e){const t=e.parts[0],r=e.parts[1],n=[];for(;this._peek.type===ol.TokenType.ATTR_NAME;)n.push(this._consumeAttr(this._advance()));const i=this._getElementFullName(t,r,this._getParentElement());let s=!1;if(this._peek.type===ol.TokenType.TAG_OPEN_END_VOID){this._advance(),s=!0;const t=this.getTagDefinition(i);this.canSelfClose||t.canSelfClose||null!==al.getNsPrefix(i)||t.isVoid||this._errors.push(ul.create(i,e.sourceSpan,'Only void and foreign elements can be self closed "'.concat(e.parts[1],'"')))}else this._peek.type===ol.TokenType.TAG_OPEN_END&&(this._advance(),s=!1);const o=this._peek.sourceSpan.start,a=new il.ParseSourceSpan(e.sourceSpan.start,o),u=new il.ParseSourceSpan(e.sourceSpan.start.moveBy(1),e.sourceSpan.end),c=new sl.Element(i,n,[],a,a,void 0,u);this._pushElement(c),s&&(this._popElement(i),c.endSourceSpan=a)}_pushElement(e){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isClosedByChild(e.name)&&this._elementStack.pop(),this._addToParent(e),this._elementStack.push(e)}_consumeEndTag(e){const t=this.allowHtmComponentClosingTags&&0===e.parts.length?null:this._getElementFullName(e.parts[0],e.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=e.sourceSpan),t&&this.getTagDefinition(t).isVoid)this._errors.push(ul.create(t,e.sourceSpan,'Void elements do not have end tags "'.concat(e.parts[1],'"')));else if(!this._popElement(t)){const r='Unexpected closing tag "'.concat(t,'". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags');this._errors.push(ul.create(t,e.sourceSpan,r))}}_popElement(e){for(let t=this._elementStack.length-1;t>=0;t--){const r=this._elementStack[t];if(!e||(al.getNsPrefix(r.name)?r.name==e:r.name.toLowerCase()==e.toLowerCase()))return this._elementStack.splice(t,this._elementStack.length-t),!0;if(!this.getTagDefinition(r.name).closedByParent)return!1}return!1}_consumeAttr(e){const t=al.mergeNsAndName(e.parts[0],e.parts[1]);let r,n,i=e.sourceSpan.end,s="";if(this._peek.type===ol.TokenType.ATTR_QUOTE){n=this._advance().sourceSpan.start}if(this._peek.type===ol.TokenType.ATTR_VALUE){const e=this._advance();s=e.parts[0],i=e.sourceSpan.end,r=e.sourceSpan}if(this._peek.type===ol.TokenType.ATTR_QUOTE){i=this._advance().sourceSpan.end,r=new il.ParseSourceSpan(n,i)}return new sl.Attribute(t,s,new il.ParseSourceSpan(e.sourceSpan.start,i),r,e.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let e=null;for(let t=this._elementStack.length-1;t>=0;t--){if(!al.isNgContainer(this._elementStack[t].name))return{parent:this._elementStack[t],container:e};e=this._elementStack[t]}return{parent:null,container:e}}_addToParent(e){const t=this._getParentElement();null!=t?t.children.push(e):this._rootNodes.push(e)}_insertBeforeContainer(e,t,r){if(t){if(e){const n=e.children.indexOf(t);e.children[n]=r}else this._rootNodes.push(r);r.children.push(t),this._elementStack.splice(this._elementStack.indexOf(t),0,r)}else this._addToParent(r),this._elementStack.push(r)}_getElementFullName(e,t,r){return""===e&&""===(e=this.getTagDefinition(t).implicitNamespacePrefix||"")&&null!=r&&(e=al.getNsPrefix(r.name)),al.mergeNsAndName(e,t)}}function pl(e,t){return e.length>0&&e[e.length-1]===t} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Object.defineProperty($c,"__esModule",{value:!0});const hl=Mc,Dl=Hc;var dl=Hc;$c.ParseTreeResult=dl.ParseTreeResult,$c.TreeError=dl.TreeError;class fl extends Dl.Parser{constructor(){super(hl.getHtmlTagDefinition)}parse(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0;return super.parse(e,t,r,n,i)}}$c.HtmlParser=fl,Object.defineProperty(qc,"__esModule",{value:!0});const gl=$c,ml=jc;qc.TagContentType=ml.TagContentType;let El=null;const Cl=()=>(El||(El=new gl.HtmlParser),El);qc.parse=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{canSelfClose:r=!1,allowHtmComponentClosingTags:n=!1,isTagNameCaseSensitive:i=!1,getTagContentType:s}=t;return Cl().parse(e,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:r,allowHtmComponentClosingTags:n},i,s)};const{ParseSourceSpan:yl,ParseLocation:bl,ParseSourceFile:Sl}=t,Tl=E,_l=C,vl=y,{inferParserByLanguage:Al}=Ua,{HTML_ELEMENT_ATTRIBUTES:Fl,HTML_TAGS:wl,isUnknownNamespace:kl}=vc,{hasPragma:Nl}=Ac,{Node:Ol}=Ic,{parseIeConditionalComment:xl}=Lc,{locStart:Il,locEnd:Pl}=Bc;function Rl(e,r,n){let{recognizeSelfClosing:i,normalizeTagName:s,normalizeAttributeName:o,allowHtmComponentClosingTags:a,isTagNameCaseSensitive:u,getTagContentType:c}=r;const l=qc,{RecursiveVisitor:p,visitAll:h}=zc,{ParseSourceSpan:D}=t,{getHtmlTagDefinition:d}=Mc;let{rootNodes:f,errors:g}=l.parse(e,{canSelfClose:i,allowHtmComponentClosingTags:a,isTagNameCaseSensitive:u,getTagContentType:c});if("vue"===n.parser){if(f.some((e=>"docType"===e.type&&"html"===e.value||"element"===e.type&&"html"===e.name.toLowerCase()))){i=!0,s=!0,o=!0,a=!0,u=!1;const t=l.parse(e,{canSelfClose:i,allowHtmComponentClosingTags:a,isTagNameCaseSensitive:u});f=t.rootNodes,g=t.errors}else{const t=e=>{if(!e)return!1;if("element"!==e.type||"template"!==e.name)return!1;const t=e.attrs.find((e=>"lang"===e.name)),r=t&&t.value;return!r||"html"===Al(r,n)};if(f.some(t)){let r;const n=()=>l.parse(e,{canSelfClose:i,allowHtmComponentClosingTags:a,isTagNameCaseSensitive:u}),s=()=>r||(r=n()),o=e=>s().rootNodes.find((t=>{let{startSourceSpan:r}=t;return r&&r.start.offset===e.startSourceSpan.start.offset}));for(let e=0;e0){const{msg:e,span:{start:t,end:r}}=g[0];throw vl(e,{start:{line:t.line+1,column:t.col+1},end:{line:r.line+1,column:r.col+1}})}const m=e=>{const t=e.name.startsWith(":")?e.name.slice(1).split(":")[0]:null,r=e.nameSpan.toString(),n=null!==t&&r.startsWith("".concat(t,":")),i=n?r.slice(t.length+1):r;e.name=i,e.namespace=t,e.hasExplicitNamespace=n},E=(e,t)=>{const r=e.toLowerCase();return t(r)?r:e};return h(new class extends p{visit(e){(e=>{if("element"===e.type){m(e);for(const t of e.attrs)m(t),t.valueSpan?(t.value=t.valueSpan.toString(),/["']/.test(t.value[0])&&(t.value=t.value.slice(1,-1))):t.value=null}else"comment"===e.type?e.value=e.sourceSpan.toString().slice("\x3c!--".length,-"--\x3e".length):"text"===e.type&&(e.value=e.sourceSpan.toString())})(e),(e=>{if("element"===e.type){const t=d(u?e.name:e.name.toLowerCase());!e.namespace||e.namespace===t.implicitNamespacePrefix||kl(e)?e.tagDefinition=t:e.tagDefinition=d("")}})(e),(e=>{if("element"===e.type&&(!s||e.namespace&&e.namespace!==e.tagDefinition.implicitNamespacePrefix&&!kl(e)||(e.name=E(e.name,(e=>e in wl))),o)){const t=Fl[e.name]||Object.create(null);for(const r of e.attrs)r.namespace||(r.name=E(r.name,(r=>e.name in Fl&&(r in Fl["*"]||r in t))))}})(e),(e=>{e.sourceSpan&&e.endSourceSpan&&(e.sourceSpan=new D(e.sourceSpan.start,e.endSourceSpan.end))})(e)}},f),f}function Ll(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const{frontMatter:i,content:s}=n?Tl(e):{frontMatter:null,content:e},o=new Sl(e,t.filepath),a=new bl(o,0,0,0),u=a.moveBy(e.length),c={type:"root",sourceSpan:new yl(a,u),children:Rl(s,r,t)};if(i){const e=new bl(o,0,0,0),t=e.moveBy(i.raw.length);i.sourceSpan=new yl(e,t),c.children.unshift(i)}const l=new Ol(c),p=(n,i)=>{const{offset:s}=i,o=Ll(e.slice(0,s).replace(/[^\n\r]/g," ")+n,t,r,!1);o.sourceSpan=new yl(i,_l(o.children).sourceSpan.end);const a=o.children[0];return a.length===s?o.children.shift():(a.sourceSpan=new yl(a.sourceSpan.start.moveBy(s),a.sourceSpan.end),a.value=a.value.slice(s)),o};return l.map((e=>{if("comment"===e.type){const t=xl(e,p);if(t)return t}return e}))}function Bl(){let{name:e,recognizeSelfClosing:t=!1,normalizeTagName:r=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:i=!1,isTagNameCaseSensitive:s=!1,getTagContentType:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{parse:(a,u,c)=>Ll(a,Object.assign({parser:e},c),{recognizeSelfClosing:t,normalizeTagName:r,normalizeAttributeName:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:s,getTagContentType:o}),hasPragma:Nl,astFormat:"html",locStart:Il,locEnd:Pl}}var ql={parsers:{html:Bl({name:"html",recognizeSelfClosing:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Bl({name:"angular"}),vue:Bl({name:"vue",recognizeSelfClosing:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,t,r,n)=>{if("html"!==e.toLowerCase()&&!r&&("template"!==e||n.some((e=>{let{name:t,value:r}=e;return"lang"===t&&"html"!==r}))))return qc.TagContentType.RAW_TEXT}}),lwc:Bl({name:"lwc"})}};export{ql as default}; diff --git a/node_modules/prettier/esm/parser-markdown.mjs b/node_modules/prettier/esm/parser-markdown.mjs new file mode 100755 index 0000000..509ea83 --- /dev/null +++ b/node_modules/prettier/esm/parser-markdown.mjs @@ -0,0 +1,13 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r=function(){for(var e={},t=0;t>18&63]+o[e>>12&63]+o[e>>6&63]+o[63&e]}function D(e,t,r){for(var n,u=[],i=t;if?f:c+a));return 1===n?(t=e[r-1],u+=o[t>>2],u+=o[t<<4&63],u+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],u+=o[t>>10],u+=o[t>>4&63],u+=o[t<<2&63],u+="="),i.push(u),i.join("")}function h(e,t,r,n,u){var i,o,a=8*u-n-1,c=(1<>1,l=-7,f=r?u-1:0,D=r?-1:1,p=e[t+f];for(f+=D,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+e[t+f],f+=D,l-=8);for(o=i&(1<<-l)-1,i>>=-l,l+=n;l>0;o=256*o+e[t+f],f+=D,l-=8);if(0===i)i=1-s;else{if(i===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=s}return(p?-1:1)*o*Math.pow(2,i-n)}function d(e,t,r,n,u,i){var o,a,c,s=8*i-u-1,l=(1<>1,D=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,h=n?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+f>=1?D/c:D*Math.pow(2,1-f))*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(t*c-1)*Math.pow(2,u),o+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,u),o=0));u>=8;e[r+p]=255&a,p+=h,a/=256,u-=8);for(o=o<0;e[r+p]=255&o,p+=h,o/=256,s-=8);e[r+p-h]|=128*d}var g={}.toString,m=Array.isArray||function(e){return"[object Array]"==g.call(e)};function E(){return y.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function v(e,t){if(E()=E())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+E().toString(16)+" bytes");return 0|e}function k(e){return!(null==e||!e._isBuffer)}function O(e,t){if(k(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return ee(e).length;default:if(n)return Q(e).length;t=(""+t).toLowerCase(),n=!0}}function x(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return z(this,t,r);case"utf8":case"utf-8":return _(this,t,r);case"ascii":return U(this,t,r);case"latin1":case"binary":return M(this,t,r);case"base64":return j(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function T(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function S(e,t,r,n,u){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=u?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(u)return-1;r=e.length-1}else if(r<0){if(!u)return-1;r=0}if("string"==typeof t&&(t=y.from(t,n)),k(t))return 0===t.length?-1:R(e,t,r,n,u);if("number"==typeof t)return t&=255,y.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?u?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):R(e,[t],r,n,u);throw new TypeError("val must be string, number or Buffer")}function R(e,t,r,n,u){var i,o=1,a=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,r/=2}function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(u){var l=-1;for(i=r;ia&&(r=a-c),i=r;i>=0;i--){for(var f=!0,D=0;Du&&(n=u):n=u;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;o>8,u=r%256,i.push(u),i.push(n);return i}(t,e.length-r),e,r,n)}function j(e,t,r){return 0===t&&r===e.length?p(e):p(e.slice(t,r))}function _(e,t,r){r=Math.min(e.length,r);for(var n=[],u=t;u239?4:s>223?3:s>191?2:1;if(u+f<=r)switch(f){case 1:s<128&&(l=s);break;case 2:128==(192&(i=e[u+1]))&&(c=(31&s)<<6|63&i)>127&&(l=c);break;case 3:i=e[u+1],o=e[u+2],128==(192&i)&&128==(192&o)&&(c=(15&s)<<12|(63&i)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:i=e[u+1],o=e[u+2],a=e[u+3],128==(192&i)&&128==(192&o)&&128==(192&a)&&(c=(15&s)<<18|(63&i)<<12|(63&o)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),u+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},y.prototype.compare=function(e,t,r,n,u){if(!k(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===u&&(u=this.length),t<0||r>e.length||n<0||u>this.length)throw new RangeError("out of range index");if(n>=u&&t>=r)return 0;if(n>=u)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(u>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),a=Math.min(i,o),c=this.slice(n,u),s=e.slice(t,r),l=0;lu)&&(r=u),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return I(this,e,t,r);case"utf8":case"utf-8":return B(this,e,t,r);case"ascii":return N(this,e,t,r);case"latin1":case"binary":return L(this,e,t,r);case"base64":return P(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function U(e,t,r){var n="";r=Math.min(e.length,r);for(var u=t;un)&&(r=n);for(var u="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function Y(e,t,r,n,u,i){if(!k(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>u||te.length)throw new RangeError("Index out of range")}function $(e,t,r,n){t<0&&(t=65535+t+1);for(var u=0,i=Math.min(e.length-r,2);u>>8*(n?u:1-u)}function H(e,t,r,n){t<0&&(t=4294967295+t+1);for(var u=0,i=Math.min(e.length-r,4);u>>8*(n?u:3-u)&255}function X(e,t,r,n,u,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Z(e,t,r,n,u){return u||X(e,0,r,4),d(e,t,r,n,23,4),r+4}function W(e,t,r,n,u){return u||X(e,0,r,8),d(e,t,r,n,52,8),r+8}y.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(u*=256);)n+=this[e+--t]*u;return n},y.prototype.readUInt8=function(e,t){return t||V(e,1,this.length),this[e]},y.prototype.readUInt16LE=function(e,t){return t||V(e,2,this.length),this[e]|this[e+1]<<8},y.prototype.readUInt16BE=function(e,t){return t||V(e,2,this.length),this[e]<<8|this[e+1]},y.prototype.readUInt32LE=function(e,t){return t||V(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},y.prototype.readUInt32BE=function(e,t){return t||V(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},y.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||V(e,t,this.length);for(var n=this[e],u=1,i=0;++i=(u*=128)&&(n-=Math.pow(2,8*t)),n},y.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||V(e,t,this.length);for(var n=t,u=1,i=this[e+--n];n>0&&(u*=256);)i+=this[e+--n]*u;return i>=(u*=128)&&(i-=Math.pow(2,8*t)),i},y.prototype.readInt8=function(e,t){return t||V(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},y.prototype.readInt16LE=function(e,t){t||V(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},y.prototype.readInt16BE=function(e,t){t||V(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},y.prototype.readInt32LE=function(e,t){return t||V(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},y.prototype.readInt32BE=function(e,t){return t||V(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},y.prototype.readFloatLE=function(e,t){return t||V(e,4,this.length),h(this,e,!0,23,4)},y.prototype.readFloatBE=function(e,t){return t||V(e,4,this.length),h(this,e,!1,23,4)},y.prototype.readDoubleLE=function(e,t){return t||V(e,8,this.length),h(this,e,!0,52,8)},y.prototype.readDoubleBE=function(e,t){return t||V(e,8,this.length),h(this,e,!1,52,8)},y.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||Y(this,e,t,r,Math.pow(2,8*r)-1,0);var u=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+u]=e/i&255;return t+r},y.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,1,255,0),y.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},y.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):$(this,e,t,!0),t+2},y.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):$(this,e,t,!1),t+2},y.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):H(this,e,t,!0),t+4},y.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):H(this,e,t,!1),t+4},y.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var u=Math.pow(2,8*r-1);Y(this,e,t,r,u-1,-u)}var i=0,o=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+r},y.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var u=Math.pow(2,8*r-1);Y(this,e,t,r,u-1,-u)}var i=r-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+r},y.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,1,127,-128),y.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},y.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):$(this,e,t,!0),t+2},y.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):$(this,e,t,!1),t+2},y.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,4,2147483647,-2147483648),y.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):H(this,e,t,!0),t+4},y.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Y(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),y.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):H(this,e,t,!1),t+4},y.prototype.writeFloatLE=function(e,t,r){return Z(this,e,t,!0,r)},y.prototype.writeFloatBE=function(e,t,r){return Z(this,e,t,!1,r)},y.prototype.writeDoubleLE=function(e,t,r){return W(this,e,t,!0,r)},y.prototype.writeDoubleBE=function(e,t,r){return W(this,e,t,!1,r)},y.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--u)e[u+t]=this[u+r];else if(i<1e3||!y.TYPED_ARRAY_SUPPORT)for(u=0;u>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!u){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}u=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),u=r;continue}r=65536+(u-55296<<10|r-56320)}else u&&(t-=3)>-1&&i.push(239,191,189);if(u=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function ee(e){return function(e){var t,r,n,u,i,o;s||l();var f=e.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[f-2]?2:"="===e[f-1]?1:0,o=new c(3*f/4-i),n=i>0?f-4:f;var D=0;for(t=0,r=0;t>16&255,o[D++]=u>>8&255,o[D++]=255&u;return 2===i?(u=a[e.charCodeAt(t)]<<2|a[e.charCodeAt(t+1)]>>4,o[D++]=255&u):1===i&&(u=a[e.charCodeAt(t)]<<10|a[e.charCodeAt(t+1)]<<4|a[e.charCodeAt(t+2)]>>2,o[D++]=u>>8&255,o[D++]=255&u),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(J,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function te(e,t,r,n){for(var u=0;u=t.length||u>=e.length);++u)t[u+r]=e[u];return u}function re(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function ne(){throw new Error("setTimeout has not been defined")}function ue(){throw new Error("clearTimeout has not been defined")}var ie=ne,oe=ue;function ae(e){if(ie===setTimeout)return setTimeout(e,0);if((ie===ne||!ie)&&setTimeout)return ie=setTimeout,setTimeout(e,0);try{return ie(e,0)}catch(t){try{return ie.call(null,e,0)}catch(t){return ie.call(this,e,0)}}}"function"==typeof i.setTimeout&&(ie=setTimeout),"function"==typeof i.clearTimeout&&(oe=clearTimeout);var ce,se=[],le=!1,fe=-1;function De(){le&&ce&&(le=!1,ce.length?se=ce.concat(se):fe=-1,se.length&&pe())}function pe(){if(!le){var e=ae(De);le=!0;for(var t=se.length;t;){for(ce=se,se=[];++fe1)for(var r=1;r=u)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Me(t)?r.showHidden=t:t&&ot(r,t),He(r.showHidden)&&(r.showHidden=!1),He(r.depth)&&(r.depth=2),He(r.colors)&&(r.colors=!1),He(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Le),qe(r,e,r.depth)}function Le(e,t){var r=Ne.styles[t];return r?"\x1b["+Ne.colors[r][0]+"m"+e+"\x1b["+Ne.colors[r][1]+"m":e}function Pe(e,t){return e}function qe(e,t,r){if(e.customInspect&&t&&Ke(t.inspect)&&t.inspect!==Ne&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Ye(n)||(n=qe(e,n,r)),n}var u=function(e,t){if(He(t))return e.stylize("undefined","undefined");if(Ye(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Ve(t))return e.stylize(""+t,"number");if(Me(t))return e.stylize(""+t,"boolean");if(ze(t))return e.stylize("null","null")}(e,t);if(u)return u;var i=Object.keys(t),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Je(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return je(t);if(0===i.length){if(Ke(t)){var a=t.name?": "+t.name:"";return e.stylize("[Function"+a+"]","special")}if(Xe(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(We(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Je(t))return je(t)}var c,s="",l=!1,f=["{","}"];(Ue(t)&&(l=!0,f=["[","]"]),Ke(t))&&(s=" [Function"+(t.name?": "+t.name:"")+"]");return Xe(t)&&(s=" "+RegExp.prototype.toString.call(t)),We(t)&&(s=" "+Date.prototype.toUTCString.call(t)),Je(t)&&(s=" "+je(t)),0!==i.length||l&&0!=t.length?r<0?Xe(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=l?function(e,t,r,n,u){for(var i=[],o=0,a=t.length;o60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,s,f)):f[0]+s+f[1]}function je(e){return"["+Error.prototype.toString.call(e)+"]"}function _e(e,t,r,n,u,i){var o,a,c;if((c=Object.getOwnPropertyDescriptor(t,u)||{value:t[u]}).get?a=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(a=e.stylize("[Setter]","special")),at(n,u)||(o="["+u+"]"),a||(e.seen.indexOf(c.value)<0?(a=ze(r)?qe(e,c.value,null):qe(e,c.value,r-1)).indexOf("\n")>-1&&(a=i?a.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+a.split("\n").map((function(e){return" "+e})).join("\n")):a=e.stylize("[Circular]","special")),He(o)){if(i&&u.match(/^\d+$/))return a;(o=JSON.stringify(""+u)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function Ue(e){return Array.isArray(e)}function Me(e){return"boolean"==typeof e}function ze(e){return null===e}function Ge(e){return null==e}function Ve(e){return"number"==typeof e}function Ye(e){return"string"==typeof e}function $e(e){return"symbol"==typeof e}function He(e){return void 0===e}function Xe(e){return Ze(e)&&"[object RegExp]"===tt(e)}function Ze(e){return"object"==typeof e&&null!==e}function We(e){return Ze(e)&&"[object Date]"===tt(e)}function Je(e){return Ze(e)&&("[object Error]"===tt(e)||e instanceof Error)}function Ke(e){return"function"==typeof e}function Qe(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function et(e){return y.isBuffer(e)}function tt(e){return Object.prototype.toString.call(e)}function rt(e){return e<10?"0"+e.toString(10):e.toString(10)}Ne.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Ne.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var nt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ut(){var e=new Date,t=[rt(e.getHours()),rt(e.getMinutes()),rt(e.getSeconds())].join(":");return[e.getDate(),nt[e.getMonth()],t].join(" ")}function it(){console.log("%s - %s",ut(),Te.apply(null,arguments))}function ot(e,t){if(!t||!Ze(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function at(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var ct={inherits:Oe,_extend:ot,log:it,isBuffer:et,isPrimitive:Qe,isFunction:Ke,isError:Je,isDate:We,isObject:Ze,isRegExp:Xe,isUndefined:He,isSymbol:$e,isString:Ye,isNumber:Ve,isNullOrUndefined:Ge,isNull:ze,isBoolean:Me,isArray:Ue,inspect:Ne,deprecate:Se,format:Te,debuglog:Be},st=t(Object.freeze({__proto__:null,format:Te,deprecate:Se,debuglog:Be,inspect:Ne,isArray:Ue,isBoolean:Me,isNull:ze,isNullOrUndefined:Ge,isNumber:Ve,isString:Ye,isSymbol:$e,isUndefined:He,isRegExp:Xe,isObject:Ze,isDate:We,isError:Je,isFunction:Ke,isPrimitive:Qe,isBuffer:et,log:it,inherits:Oe,_extend:ot,default:ct})),lt={exports:{}};"function"==typeof Object.create?lt.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:lt.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}};try{var ft=st;if("function"!=typeof ft.inherits)throw"";u.exports=ft.inherits}catch(e){u.exports=lt.exports}var Dt=r,pt=u.exports,ht=function(e){var t,r,n;for(r in pt(i,e),pt(u,i),t=i.prototype)(n=t[r])&&"object"==typeof n&&(t[r]="concat"in n?n.concat():Dt(n));return i;function u(t){return e.apply(this,t)}function i(){return this instanceof i?e.apply(this,arguments):new u(arguments)}};var dt=function(e,t,r){return function(){var n=r||this,u=n[e];return n[e]=!t,i;function i(){n[e]=u}}};var gt=function(e){var t=String(e),r=[],n=/\r?\n|\r/g;for(;n.exec(t);)r.push(n.lastIndex);return r.push(t.length+1),{toPoint:u,toPosition:u,toOffset:function(e){var t,n=e&&e.line,u=e&&e.column;isNaN(n)||isNaN(u)||!(n-1 in r)||(t=(r[n-2]||0)+u-1||0);return t>-1&&t-1&&ee)return{line:t+1,column:e-(r[t-1]||0)+1,offset:e};return{}}};var mt=function(e,t){return function(r){var n,u=0,i=r.indexOf("\\"),o=e[t],a=[];for(;-1!==i;)a.push(r.slice(u,i)),u=i+1,(n=r.charAt(u))&&-1!==o.indexOf(n)||a.push("\\"),i=r.indexOf("\\",u+1);return a.push(r.slice(u)),a.join("")}};var Et=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57};var vt=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90};var yt=vt,bt=Et;var Ct={AEli:"\xc6",AElig:"\xc6",AM:"&",AMP:"&",Aacut:"\xc1",Aacute:"\xc1",Abreve:"\u0102",Acir:"\xc2",Acirc:"\xc2",Acy:"\u0410",Afr:"\ud835\udd04",Agrav:"\xc0",Agrave:"\xc0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2a53",Aogon:"\u0104",Aopf:"\ud835\udd38",ApplyFunction:"\u2061",Arin:"\xc5",Aring:"\xc5",Ascr:"\ud835\udc9c",Assign:"\u2254",Atild:"\xc3",Atilde:"\xc3",Aum:"\xc4",Auml:"\xc4",Backslash:"\u2216",Barv:"\u2ae7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212c",Beta:"\u0392",Bfr:"\ud835\udd05",Bopf:"\ud835\udd39",Breve:"\u02d8",Bscr:"\u212c",Bumpeq:"\u224e",CHcy:"\u0427",COP:"\xa9",COPY:"\xa9",Cacute:"\u0106",Cap:"\u22d2",CapitalDifferentialD:"\u2145",Cayleys:"\u212d",Ccaron:"\u010c",Ccedi:"\xc7",Ccedil:"\xc7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010a",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"\u212d",Chi:"\u03a7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2a74",Congruent:"\u2261",Conint:"\u222f",ContourIntegral:"\u222e",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2a2f",Cscr:"\ud835\udc9e",Cup:"\u22d3",CupCap:"\u224d",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040f",Dagger:"\u2021",Darr:"\u21a1",Dashv:"\u2ae4",Dcaron:"\u010e",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\ud835\udd07",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",Diamond:"\u22c4",DifferentialD:"\u2146",Dopf:"\ud835\udd3b",Dot:"\xa8",DotDot:"\u20dc",DotEqual:"\u2250",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",Downarrow:"\u21d3",Dscr:"\ud835\udc9f",Dstrok:"\u0110",ENG:"\u014a",ET:"\xd0",ETH:"\xd0",Eacut:"\xc9",Eacute:"\xc9",Ecaron:"\u011a",Ecir:"\xca",Ecirc:"\xca",Ecy:"\u042d",Edot:"\u0116",Efr:"\ud835\udd08",Egrav:"\xc8",Egrave:"\xc8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25fb",EmptyVerySmallSquare:"\u25ab",Eogon:"\u0118",Eopf:"\ud835\udd3c",Epsilon:"\u0395",Equal:"\u2a75",EqualTilde:"\u2242",Equilibrium:"\u21cc",Escr:"\u2130",Esim:"\u2a73",Eta:"\u0397",Eum:"\xcb",Euml:"\xcb",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\ud835\udd09",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",Fopf:"\ud835\udd3d",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",HilbertSpace:"\u210b",Hopf:"\u210d",HorizontalLine:"\u2500",Hscr:"\u210b",Hstrok:"\u0126",HumpDownHump:"\u224e",HumpEqual:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xcd",Iacute:"\xcd",Icir:"\xce",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xcc",Igrave:"\xcc",Im:"\u2111",Imacr:"\u012a",ImaginaryI:"\u2148",Implies:"\u21d2",Int:"\u222c",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xcf",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Larr:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",Mopf:"\ud835\udd44",Mscr:"\u2133",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\ud835\udca9",Ntild:"\xd1",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacut:"\xd3",Oacute:"\xd3",Ocir:"\xd4",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograv:"\xd2",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslas:"\xd8",Oslash:"\xd8",Otild:"\xd5",Otilde:"\xd5",Otimes:"\u2a37",Oum:"\xd6",Ouml:"\xd6",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Poincareplane:"\u210c",Popf:"\u2119",Pr:"\u2abb",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Prime:"\u2033",Product:"\u220f",Proportion:"\u2237",Proportional:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUO:'"',QUOT:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",RE:"\xae",REG:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",Rfr:"\u211c",Rho:"\u03a1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",Rightarrow:"\u21d2",Ropf:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",Rscr:"\u211b",Rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Sup:"\u22d1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",THOR:"\xde",THORN:"\xde",TRADE:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacut:"\xda",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucir:"\xdb",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrav:"\xd9",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",UpEquilibrium:"\u296e",UpTee:"\u22a5",UpTeeArrow:"\u21a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uum:"\xdc",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacut:"\xdd",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",ZeroWidthSpace:"\u200b",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\ud835\udcb5",aacut:"\xe1",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acir:"\xe2",acirc:"\xe2",acut:"\xb4",acute:"\xb4",acy:"\u0430",aeli:"\xe6",aelig:"\xe6",af:"\u2061",afr:"\ud835\udd1e",agrav:"\xe0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",am:"&",amp:"&",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",ap:"\u2248",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",apid:"\u224b",apos:"'",approx:"\u2248",approxeq:"\u224a",arin:"\xe5",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",asymp:"\u2248",asympeq:"\u224d",atild:"\xe3",atilde:"\xe3",aum:"\xe4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",beta:"\u03b2",beth:"\u2136",between:"\u226c",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",bprime:"\u2035",breve:"\u02d8",brvba:"\xa6",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",bumpeq:"\u224f",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",ccaps:"\u2a4d",ccaron:"\u010d",ccedi:"\xe7",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cedi:"\xb8",cedil:"\xb8",cemptyv:"\u29b2",cen:"\xa2",cent:"\xa2",centerdot:"\xb7",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",conint:"\u222e",copf:"\ud835\udd54",coprod:"\u2210",cop:"\xa9",copy:"\xa9",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curre:"\xa4",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dArr:"\u21d3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",dcaron:"\u010f",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",ddotseq:"\u2a77",de:"\xb0",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",dharl:"\u21c3",dharr:"\u21c2",diam:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divid:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",dot:"\u02d9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eDDot:"\u2a77",eDot:"\u2251",eacut:"\xe9",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\xea",ecirc:"\xea",ecolon:"\u2255",ecy:"\u044d",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrav:"\xe8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",equals:"=",equest:"\u225f",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",erarr:"\u2971",escr:"\u212f",esdot:"\u2250",esim:"\u2242",eta:"\u03b7",et:"\xf0",eth:"\xf0",eum:"\xeb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac1:"\xbc",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac3:"\xbe",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",gE:"\u2267",gEl:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gammad:"\u03dd",gap:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",gopf:"\ud835\udd58",grave:"`",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",g:">",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hArr:"\u21d4",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",hardcy:"\u044a",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",hbar:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hslash:"\u210f",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xed",iacute:"\xed",ic:"\u2063",icir:"\xee",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexc:"\xa1",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",igrav:"\xec",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",int:"\u222b",intcal:"\u22ba",integers:"\u2124",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iprod:"\u2a3c",iques:"\xbf",iquest:"\xbf",iscr:"\ud835\udcbe",isin:"\u2208",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xef",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAarr:"\u21da",lArr:"\u21d0",lAtail:"\u291b",lBarr:"\u290e",lE:"\u2266",lEg:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",lambda:"\u03bb",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",laqu:"\xab",laquo:"\xab",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lceil:"\u2308",lcub:"{",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21a2",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",leftthreetimes:"\u22cb",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297c",lfloor:"\u230a",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",mac:"\xaf",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",measuredangle:"\u2221",mfr:"\ud835\udd2a",mho:"\u2127",micr:"\xb5",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middo:"\xb7",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",mstpos:"\u223e",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nGtv:"\u226b\u0338",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nLtv:"\u226a\u0338",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbs:"\xa0",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",neArr:"\u21d7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",ngsim:"\u2275",ngt:"\u226f",ngtr:"\u226f",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",njcy:"\u045a",nlArr:"\u21cd",nlE:"\u2266\u0338",nlarr:"\u219a",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219a",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nlsim:"\u2274",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nmid:"\u2224",nopf:"\ud835\udd5f",no:"\xac",not:"\xac",notin:"\u2209",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",ntild:"\xf1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24c8",oacut:"\xf3",oacute:"\xf3",oast:"\u229b",ocir:"\xf4",ocirc:"\xf4",ocy:"\u043e",odash:"\u229d",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograv:"\xf2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",oplus:"\u2295",or:"\u2228",orarr:"\u21bb",ord:"\xba",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oscr:"\u2134",oslas:"\xf8",oslash:"\xf8",osol:"\u2298",otild:"\xf5",otilde:"\xf5",otimes:"\u2297",otimesas:"\u2a36",oum:"\xf6",ouml:"\xf6",ovbar:"\u233d",par:"\xb6",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",plusm:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",pointint:"\u2a15",popf:"\ud835\udd61",poun:"\xa3",pound:"\xa3",pr:"\u227a",prE:"\u2ab3",prap:"\u2ab7",prcue:"\u227c",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",prime:"\u2032",primes:"\u2119",prnE:"\u2ab5",prnap:"\u2ab9",prnsim:"\u22e8",prod:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quo:'"',quot:'"',rAarr:"\u21db",rArr:"\u21d2",rAtail:"\u291c",rBarr:"\u290f",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raqu:"\xbb",raquo:"\xbb",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",re:"\xae",reg:"\xae",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",rightarrow:"\u2192",rightarrowtail:"\u21a3",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",rightthreetimes:"\u22cc",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",rsaquo:"\u203a",rscr:"\ud835\udcc7",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",sbquo:"\u201a",sc:"\u227b",scE:"\u2ab4",scap:"\u2ab8",scaron:"\u0161",sccue:"\u227d",sce:"\u2ab0",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",seArr:"\u21d8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xa7",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xad",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",square:"\u25a1",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",subE:"\u2ac5",subdot:"\u2abd",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",sum:"\u2211",sung:"\u266a",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supE:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supe:"\u2287",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szli:"\xdf",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tbrk:"\u23b4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",thor:"\xfe",thorn:"\xfe",tilde:"\u02dc",time:"\xd7",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",uArr:"\u21d1",uHar:"\u2963",uacut:"\xfa",uacute:"\xfa",uarr:"\u2191",ubrcy:"\u045e",ubreve:"\u016d",ucir:"\xfb",ucirc:"\xfb",ucy:"\u0443",udarr:"\u21c5",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",ufr:"\ud835\udd32",ugrav:"\xf9",ugrave:"\xf9",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",um:"\xa8",uml:"\xa8",uogon:"\u0173",uopf:"\ud835\udd66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",upsi:"\u03c5",upsih:"\u03d2",upsilon:"\u03c5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",uum:"\xfc",uuml:"\xfc",uwangle:"\u29a7",vArr:"\u21d5",vBar:"\u2ae8",vBarv:"\u2ae9",vDash:"\u22a8",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vcy:"\u0432",vdash:"\u22a2",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",vert:"|",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",yacut:"\xfd",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",ye:"\xa5",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yum:"\xff",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeetrf:"\u2128",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},At=function(e){return!!wt.call(Ct,e)&&Ct[e]},wt={}.hasOwnProperty;var Ft={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Acirc:"\xc2",Agrave:"\xc0",Aring:"\xc5",Atilde:"\xc3",Auml:"\xc4",COPY:"\xa9",Ccedil:"\xc7",ETH:"\xd0",Eacute:"\xc9",Ecirc:"\xca",Egrave:"\xc8",Euml:"\xcb",GT:">",Iacute:"\xcd",Icirc:"\xce",Igrave:"\xcc",Iuml:"\xcf",LT:"<",Ntilde:"\xd1",Oacute:"\xd3",Ocirc:"\xd4",Ograve:"\xd2",Oslash:"\xd8",Otilde:"\xd5",Ouml:"\xd6",QUOT:'"',REG:"\xae",THORN:"\xde",Uacute:"\xda",Ucirc:"\xdb",Ugrave:"\xd9",Uuml:"\xdc",Yacute:"\xdd",aacute:"\xe1",acirc:"\xe2",acute:"\xb4",aelig:"\xe6",agrave:"\xe0",amp:"&",aring:"\xe5",atilde:"\xe3",auml:"\xe4",brvbar:"\xa6",ccedil:"\xe7",cedil:"\xb8",cent:"\xa2",copy:"\xa9",curren:"\xa4",deg:"\xb0",divide:"\xf7",eacute:"\xe9",ecirc:"\xea",egrave:"\xe8",eth:"\xf0",euml:"\xeb",frac12:"\xbd",frac14:"\xbc",frac34:"\xbe",gt:">",iacute:"\xed",icirc:"\xee",iexcl:"\xa1",igrave:"\xec",iquest:"\xbf",iuml:"\xef",laquo:"\xab",lt:"<",macr:"\xaf",micro:"\xb5",middot:"\xb7",nbsp:"\xa0",not:"\xac",ntilde:"\xf1",oacute:"\xf3",ocirc:"\xf4",ograve:"\xf2",ordf:"\xaa",ordm:"\xba",oslash:"\xf8",otilde:"\xf5",ouml:"\xf6",para:"\xb6",plusmn:"\xb1",pound:"\xa3",quot:'"',raquo:"\xbb",reg:"\xae",sect:"\xa7",shy:"\xad",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",szlig:"\xdf",thorn:"\xfe",times:"\xd7",uacute:"\xfa",ucirc:"\xfb",ugrave:"\xf9",uml:"\xa8",uuml:"\xfc",yacute:"\xfd",yen:"\xa5",yuml:"\xff"},kt={0:"\ufffd",128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"},Ot=Et,xt=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57},Tt=function(e){return yt(e)||bt(e)},St=At,Rt=function(e,t){var r,n,u={};t||(t={});for(n in Lt)r=t[n],u[n]=null==r?Lt[n]:r;(u.position.indent||u.position.start)&&(u.indent=u.position.indent||[],u.position=u.position.start);return function(e,t){var r,n,u,i,o,a,c,s,l,f,D,p,h,d,g,m,E,v,y,b=t.additional,C=t.nonTerminated,A=t.text,w=t.reference,F=t.warning,k=t.textContext,O=t.referenceContext,x=t.warningContext,T=t.position,S=t.indent||[],R=e.length,I=0,B=-1,N=T.column||1,L=T.line||1,P="",q=[];"string"==typeof b&&(b=b.charCodeAt(0));m=j(),s=F?_:Nt,I--,R++;for(;++I65535&&(f+=Bt((a-=65536)>>>10|55296),a=56320|1023&a),a=f+Bt(a))):d!==Pt&&s(4,v)),a?(U(),m=j(),I=y-1,N+=y-h+1,q.push(a),(E=j()).offset++,w&&w.call(O,a,{start:m,end:E},e.slice(h-1,y)),m=E):(i=e.slice(h-1,y),P+=i,N+=i.length,I=y-1)}else 10===o&&(L++,B++,N=0),o==o?(P+=Bt(o),N++):U();return q.join("");function j(){return{line:L,column:N,offset:I+(T.offset||0)}}function _(e,t){var r=j();r.column+=t,r.offset+=t,F.call(x,Mt[e],r,e)}function U(){P&&(q.push(P),A&&A.call(k,P,{start:m,end:j()}),P="")}}(e,u)},It={}.hasOwnProperty,Bt=String.fromCharCode,Nt=Function.prototype,Lt={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},Pt="named",qt="hexadecimal",jt="decimal",_t={hexadecimal:16,decimal:10},Ut={};Ut.named=Tt,Ut[jt]=Ot,Ut[qt]=xt;var Mt={};function zt(e){return e>=55296&&e<=57343||e>1114111}function Gt(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}Mt[1]="Named character references must be terminated by a semicolon",Mt[2]="Numeric character references must be terminated by a semicolon",Mt[3]="Named character references cannot be empty",Mt[4]="Numeric character references cannot be empty",Mt[5]="Named character references must be known",Mt[6]="Numeric character references cannot be disallowed",Mt[7]="Numeric character references cannot be outside the permissible Unicode range";var Vt=r,Yt=Rt,$t=function(e){return r.raw=n,r;function t(t){for(var r=e.offset,n=t.line,u=[];++n&&n in r;)u.push((r[n]||0)+1);return{start:t,indent:u}}function r(r,n,i){Yt(r,{position:t(n),warning:u,text:i,reference:i,textContext:e,referenceContext:e})}function n(e,r,n){return Yt(e,Vt(n,{position:t(r),warning:u}))}function u(t,r,n){3!==n&&e.file.message(t,r)}};var Ht=function(e){return function(t,r){var n,u,i,o,a,c=this,s=c.offset,l=[],f=c[e+"Methods"],D=c[e+"Tokenizers"],p=r.line,h=r.column;if(!t)return l;C.now=m,C.file=c.file,d("");for(;t;){for(n=-1,u=f.length,o=!1;++n"],Qt=Kt.concat(["~","|"]),er=Qt.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);function tr(e){var t=e||{};return t.commonmark?er:t.gfm?Qt:Kt}tr.default=Kt,tr.gfm=Qt,tr.commonmark=er;var rr={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},nr=r,ur=Jt,ir=rr,or=function(e){var t,r,n=this,u=n.options;if(null==e)e={};else{if("object"!=typeof e)throw new Error("Invalid value `"+e+"` for setting `options`");e=nr(e)}for(t in ir){if(null==(r=e[t])&&(r=u[t]),"blocks"!==t&&"boolean"!=typeof r||"blocks"===t&&"object"!=typeof r)throw new Error("Invalid value `"+r+"` for setting `options."+t+"`");e[t]=r}return n.options=e,n.escape=ur(e),n};function ar(e){if(null==e)return cr;if("string"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if("object"==typeof e)return"length"in e?function(e){var t=[],r=-1;for(;++r":""))+")");return f;function f(){var s,l,f=c.concat(o),D=[];if((!t||i(o,a,c[c.length-1]||null))&&(D=function(e){if(null!==e&&"object"==typeof e&&"length"in e)return e;if("number"==typeof e)return[true,e];return[e]}(r(o,c)),false===D[0]))return D;if(o.children&&"skip"!==D[0])for(l=(n?o.children.length:-1)+u;l>-1&&l + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */;var xr,Tr="",Sr=function(e,t){if("string"!=typeof e)throw new TypeError("expected a string");if(1===t)return e;if(2===t)return e+e;var r=e.length*t;if(xr!==e||void 0===xr)xr=e,Tr="";else if(Tr.length>=r)return Tr.substr(0,r);for(;r>Tr.length&&t>1;)1&t&&(Tr+=e),t>>=1,e+=e;return Tr=(Tr+=e).substr(0,r)};var Rr=function(e){return String(e).replace(/\n+$/,"")};var Ir=Rr,Br=function(e,t,r){var n,u,i,o=-1,a=t.length,c="",s="",l="",f="";for(;++o=4)){for(s="";v"!==t.charAt(C))return;if(r)return!0;C=0;for(;C"===t.charAt(C)?(C++,l=!0," "===t.charAt(C)&&C++):C=s,a=t.slice(C,o),!l&&!_r(a)){C=s;break}if(!l&&(i=t.slice(C),Ur(d,h,D,[e,i,!0])))break;c=s===C?a:t.slice(s,o),b.push(C-s),v.push(c),y.push(a),C=o+1}C=-1,E=b.length,n=e(v.join("\n"));for(;++C6)return;if(!i||!o&&"#"===t.charAt(c+1))return;a=t.length+1,u="";for(;++c=3&&(!n||"\n"===n)?(s+=o,!!r||e(s)({type:"thematicBreak"})):void 0;o+=n}};var Vr=function(e){var t,r=0,n=0,u=e.charAt(r),i={},o=0;for(;"\t"===u||" "===u;){for(n+=t="\t"===u?4:1,t>1&&(n=Math.floor(n/t)*t);o0&&n.indent=v.indent&&(F=!0),o=t.charAt(R),f=null,!F){if("*"===o||"+"===o||"-"===o)f=o,R++,n++;else{for(u="";R=v.indent||n>4):F=!0,l=!1,R=s;if(p=t.slice(s,c),D=s===R?p:t.slice(R,c),("*"===f||"_"===f||"-"===f)&&T.thematicBreak.call(k,e,p,!0))break;if(h=d,d=!l&&!Zr(D).length,F&&v)v.value=v.value.concat(E,p),m=m.concat(E,p),E=[];else if(l)0!==E.length&&(N=!0,v.value.push(""),v.trail=E.concat()),v={value:[p],indent:n,trail:[]},g.push(v),m=m.concat(E,p),E=[];else if(d){if(h&&!O)break;E.push(p)}else{if(h)break;if(en(S,T,k,[e,p,!0]))break;v.value=v.value.concat(E,p),m=m.concat(E,p),E=[]}R=c+1}C=e(m.join("\n")).reset({type:"list",ordered:i,start:B,spread:N,children:[]}),y=k.enterList(),b=k.enterBlock(),R=-1,I=g.length;for(;++R=3){l--;break}f+=i}n="",u="";for(;++l`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",hn="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";Dn.openCloseTag=new RegExp("^(?:"+pn+"|"+hn+")"),Dn.tag=new RegExp("^(?:"+pn+"|"+hn+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)");var dn=Dn.openCloseTag,gn=function(e,t,r){var n,u,i,o,a,c,s,l=this.options.blocks.join("|"),f=new RegExp("^|$))","i"),D=t.length,p=0,h=[[mn,En,!0],[vn,yn,!0],[bn,Cn,!0],[An,wn,!0],[Fn,kn,!0],[f,On,!0],[xn,On,!1]];for(;p|$))/i,En=/<\/(script|pre|style)>/i,vn=/^/,bn=/^<\?/,Cn=/\?>/,An=/^/,Fn=/^/,On=/^$/,xn=new RegExp(dn.source+"\\s*$");var Tn=function(e){return Rn.test("number"==typeof e?Sn(e):e.charAt(0))},Sn=String.fromCharCode,Rn=/\s/;var In=function(e){return String(e).replace(/\s+/g," ")},Bn=function(e){return In(e).toLowerCase()};var Nn=Tn,Ln=Bn,Pn=function(e,t,r){var n,u,i,o,a,c,s,l,f=this,D=f.options.commonmark,p=0,h=t.length,d="";for(;p"!==e&&"["!==e&&"]"!==e}function jn(e){return"["!==e&&"]"!==e&&!Nn(e)}qn.delimiter=">";var _n=Tn,Un=function(e,t,r){var n,u,i,o,a,c,s,l,f,D,p,h,d,g,m,E,v,y,b,C,A,w;if(!this.options.gfm)return;n=0,E=0,c=t.length+1,s=[];for(;nC){if(E<2)return;break}s.push(t.slice(n,C)),E++,n=C+1}o=s.join("\n"),u=s.splice(1,1)[0]||[],n=0,c=u.length,E--,i=!1,p=[];for(;n1&&(f?(o+=l.slice(0,-1),l=l.charAt(l.length-1)):(o+=l,l="")),g=e.now(),e(o)({type:"tableCell",children:this.tokenizeInline(h,g)},a)),e(l+f),l="",h=""):(l&&(h+=l,l=""),h+=f,"\\"===f&&n!==c-2&&(h+=v.charAt(n+1),n++)),d=!1,n++):(h?l+=f:e(f),n++);m||e("\n"+u)}return b};var Mn=qr.exports,zn=Rr,Gn=jr,Vn=function(e,t,r){var n,u,i,o,a,c=this,s=c.options.commonmark,l=c.blockTokenizers,f=c.interruptParagraph,D=t.indexOf("\n"),p=t.length;for(;D=4&&"\n"!==i){D=t.indexOf("\n",D+1);continue}}if(u=t.slice(D+1),Gn(f,l,c,[e,u,!0]))break;if(n=D,-1!==(D=t.indexOf("\n",D+1))&&""===Mn(t.slice(n,D))){D=n;break}}if(u=t.slice(0,D),r)return!0;return a=e.now(),u=zn(u),e(u)({type:"paragraph",children:c.tokenizeInline(u,a)})};var Yn=function(e,t){return e.indexOf("\\",t)},$n=Hn;Hn.locator=Yn;function Hn(e,t,r){var n,u;if("\\"===t.charAt(0)&&(n=t.charAt(1),-1!==this.escape.indexOf(n)))return!!r||(u="\n"===n?{type:"break"}:{type:"text",value:n},e("\\"+n)(u))}var Xn=function(e,t){return e.indexOf("<",t)};var Zn=Tn,Wn=Rt,Jn=Xn,Kn=eu;eu.locator=Jn,eu.notInLink=!0;var Qn="mailto:".length;function eu(e,t,r){var n,u,i,o,a,c=this,s="",l=t.length,f=0,D="",p=!1,h="";if("<"===t.charAt(0)){for(f++,s="<";f"===n||"@"===n||":"===n&&"/"===t.charAt(f+1)));)D+=n,f++;if(D){if(h+=D,D="",h+=n=t.charAt(f),f++,"@"===n)p=!0;else{if(":"!==n||"/"!==t.charAt(f+1))return;h+="/",f++}for(;f"!==n);)D+=n,f++;if(n=t.charAt(f),D&&">"===n)return!!r||(i=h+=D,s+=h+n,(u=e.now()).column++,u.offset++,p&&("mailto:"===h.slice(0,Qn).toLowerCase()?(i=i.slice(Qn),u.column+=Qn,u.offset+=Qn):h="mailto:"+h),o=c.inlineTokenizers,c.inlineTokenizers={text:o.text},a=c.enterLink(),i=c.tokenizeInline(i,u),c.inlineTokenizers=o,a(),e(s)({type:"link",title:null,url:Wn(h,{nonTerminated:!1}),children:i}))}}}var tu=function(e,t){var r,n=String(e),u=0;if("string"!=typeof t)throw new Error("Expected character");r=n.indexOf(t);for(;-1!==r;)u++,r=n.indexOf(t,r+t.length);return u};var ru=function(e,t){var r,n,u,i=-1;if(!this.options.gfm)return i;n=nu.length,r=-1;for(;++rf;)o=a+c.lastIndexOf(")"),c=t.slice(a,o),D--;if(59===t.charCodeAt(o-1)&&(o--,au(t.charCodeAt(o-1)))){for(l=o-2;au(t.charCodeAt(l));)l--;38===t.charCodeAt(l)&&(o=l)}return p=t.slice(0,o),d=iu(p,{nonTerminated:!1}),C&&(d="http://"+d),g=m.enterLink(),m.inlineTokenizers={text:v.text},h=m.tokenizeInline(p,e.now()),m.inlineTokenizers=v,g(),e(p)({type:"link",title:null,url:d,children:h})}}}var Du=Et,pu=vt,hu=function e(t,r){var n,u;if(!this.options.gfm)return-1;if(-1===(n=t.indexOf("@",r)))return-1;if((u=n)===r||!du(t.charCodeAt(u-1)))return e.call(this,t,n+1);for(;u>r&&du(t.charCodeAt(u-1));)u--;return u};function du(e){return Du(e)||pu(e)||43===e||45===e||46===e||95===e}var gu=Rt,mu=Et,Eu=vt,vu=hu,yu=bu;bu.locator=vu,bu.notInLink=!0;function bu(e,t,r){var n,u,i,o,a=this,c=a.options.gfm,s=a.inlineTokenizers,l=0,f=t.length,D=-1;if(c){for(n=t.charCodeAt(l);mu(n)||Eu(n)||43===n||45===n||46===n||95===n;)n=t.charCodeAt(++l);if(0!==l&&64===n){for(l++;l/i;function xu(e,t,r){var n,u,i=this,o=t.length;if(!("<"!==t.charAt(0)||o<3)&&(n=t.charAt(1),(Cu(n)||"?"===n||"!"===n||"/"===n)&&(u=t.match(wu))))return!!r||(u=u[0],!i.inLink&&ku.test(u)?i.inLink=!0:i.inLink&&Ou.test(u)&&(i.inLink=!1),e(u)({type:"html",value:u}))}var Tu=function(e,t){var r=e.indexOf("[",t),n=e.indexOf("![",t);if(-1===n)return r;return r=i&&(i=0):i=u}else if("\\"===w)A++,c+=t.charAt(A);else if(i&&!O||"["!==w){if((!i||O)&&"]"===w){if(!d){if("("!==t.charAt(A+1))return;c+="(",n=!0,A++;break}d--}}else d++;g+=c,c="",A++}if(n){for(f=g,C+=g+c,A++;A"!==(w=t.charAt(A));){if(k&&"\n"===w)return;g+=w,A++}if(">"!==t.charAt(A))return;C+="<"+g+">",m=g,A++}else{for(w=null,c="";A2&&(32===o||10===o)&&(32===a||10===a)){for(l++,s--;lt&&" "===e.charAt(r-1);)r--;return r};var si=ci,li=fi;fi.locator=si;function fi(e,t,r){for(var n,u=t.length,i=-1,o="";++i + * @license MIT + */;var Ti=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},Si=Object.prototype.hasOwnProperty,Ri=Object.prototype.toString,Ii=Object.defineProperty,Bi=Object.getOwnPropertyDescriptor,Ni=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===Ri.call(e)},Li=function(e){if(!e||"[object Object]"!==Ri.call(e))return!1;var t,r=Si.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Si.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;for(t in e);return void 0===t||Si.call(e,t)},Pi=function(e,t){Ii&&"__proto__"===t.name?Ii(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},qi=function(e,t){if("__proto__"===t){if(!Si.call(e,t))return;if(Bi)return Bi(e,t).value}return e[t]},ji=[].slice;var _i=function(e,t){var r;return function(){var t,i=ji.call(arguments,0),o=e.length>i.length;o&&i.push(n);try{t=e.apply(null,i)}catch(e){if(o&&r)throw e;return n(e)}o||(t&&"function"==typeof t.then?t.then(u,n):t instanceof Error?n(t):u(t))};function n(){r||(r=!0,t.apply(null,arguments))}function u(e){n(null,e)}},Ui=zi;zi.wrap=_i;var Mi=[].slice;function zi(){var e=[],t={run:function(){var t=-1,r=Mi.call(arguments,0,-1),n=arguments[arguments.length-1];if("function"!=typeof n)throw new Error("Expected function as last argument, not "+n);function u(i){var o=e[++t],a=Mi.call(arguments,0),c=a.slice(1),s=r.length,l=-1;if(i)n(i);else{for(;++l=0;n--){var u=e[n];"."===u?e.splice(n,1):".."===u?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}Wi.file="",Wi.name="",Wi.reason="",Wi.message="",Wi.stack="",Wi.fatal=null,Wi.column=null,Wi.line=null;var Qi=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,eo=function(e){return Qi.exec(e).slice(1)};function to(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return e=Ki(lo(e.split("/"),(function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."}function ro(e){var t=no(e),r="/"===fo(e,-1);return e=Ki(lo(e.split("/"),(function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function no(e){return"/"===e.charAt(0)}function uo(){var e=Array.prototype.slice.call(arguments,0);return ro(lo(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function io(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=to(e).substr(1),t=to(t).substr(1);for(var n=r(e.split("/")),u=r(t.split("/")),i=Math.min(n.length,u.length),o=i,a=0;a-1)throw new Error("`"+t+"` cannot be a path: did not expect `"+Do.sep+"`")}function bo(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Co(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}vo.prototype.toString=function(e){return(this.contents||"").toString(e)},Object.defineProperty(vo.prototype,"path",{get:function(){return this.history[this.history.length-1]},set:function(e){bo(e,"path"),this.path!==e&&this.history.push(e)}}),Object.defineProperty(vo.prototype,"dirname",{get:function(){return"string"==typeof this.path?Do.dirname(this.path):void 0},set:function(e){Co(this.path,"dirname"),this.path=Do.join(e||"",this.basename)}}),Object.defineProperty(vo.prototype,"basename",{get:function(){return"string"==typeof this.path?Do.basename(this.path):void 0},set:function(e){bo(e,"basename"),yo(e,"basename"),this.path=Do.join(this.dirname||"",e)}}),Object.defineProperty(vo.prototype,"extname",{get:function(){return"string"==typeof this.path?Do.extname(this.path):void 0},set:function(e){if(yo(e,"extname"),Co(this.path,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.indexOf(".",1)>-1)throw new Error("`extname` cannot contain multiple dots")}this.path=Do.join(this.dirname,this.stem+(e||""))}}),Object.defineProperty(vo.prototype,"stem",{get:function(){return"string"==typeof this.path?Do.basename(this.path,this.extname):void 0},set:function(e){bo(e,"stem"),yo(e,"stem"),this.path=Do.join(this.dirname||"",e+(this.extname||""))}});var Ao=Xi,wo=go,Fo=wo;wo.prototype.message=function(e,t,r){var n=new Ao(e,t,r);this.path&&(n.name=this.path+":"+n.name,n.file=this.path);return n.fatal=!1,this.messages.push(n),n},wo.prototype.info=function(){var e=this.message.apply(this,arguments);return e.fatal=null,e},wo.prototype.fail=function(){var e=this.message.apply(this,arguments);throw e.fatal=!0,e};var ko=xi,Oo=Ti,xo=function e(){var t,r,n,u,i,o,a=arguments[0],c=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},c=2),(null==a||"object"!=typeof a&&"function"!=typeof a)&&(a={});c{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},So=Ui,Ro=Fo,Io=function e(){var t,r=[],n=So(),u={},i=-1;return o.data=function(e,r){if("string"==typeof e)return 2===arguments.length?(_o("data",t),u[e]=r,o):No.call(u,e)&&u[e]||null;if(e)return _o("data",t),u=e,o;return u},o.freeze=a,o.attachers=r,o.use=function(e){var n;if(_o("use",t),null==e);else if("function"==typeof e)l.apply(null,arguments);else{if("object"!=typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?s(e):i(e)}n&&(u.settings=xo(u.settings||{},n));return o;function i(e){s(e.plugins),e.settings&&(n=xo(n||{},e.settings))}function a(e){if("function"==typeof e)l(e);else{if("object"!=typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?l.apply(null,e):i(e)}}function s(e){var t=-1;if(null==e);else{if("object"!=typeof e||!("length"in e))throw new Error("Expected a list of plugins, not `"+e+"`");for(;++t57)&&(!D||36===a)){s=h-1,h++,D&&h++,l=h;break}}else 92===o&&(h++,a=r.charCodeAt(h+1));h++}if(void 0!==l)return!!n||(f=r.slice(c,s+1),e(r.slice(0,l))({type:"inlineMath",value:f,data:{hName:"span",hProperties:{className:Yo.concat(D&&t.inlineMathDouble?["math-display"]:[])},hChildren:[{type:"text",value:f}]}}))}}}i.locator=u,r.inlineTokenizers.math=i,n.splice(n.indexOf("text"),0,"math")}(t,e);Go.isRemarkCompiler(r)&&function(e){function t(e){let t="$";return(e.data&&e.data.hProperties&&e.data.hProperties.className||[]).includes("math-display")&&(t="$$"),t+e.value+t}e.prototype.visitors.inlineMath=t}(r)};const Yo=["math","math-inline"];const $o=zo;var Ho=function(){const e=this.Parser,t=this.Compiler;$o.isRemarkParser(e)&&function(e){const t=e.prototype,r=t.blockMethods,n=t.interruptParagraph,u=t.interruptList,i=t.interruptBlockquote;function o(e,t,r){var n=t.length,u=0;let i,o,a,c,s,l,f,D,p,h,d;for(;uh&&32===t.charCodeAt(c-1);)c--;for(;c>h&&36===t.charCodeAt(c-1);)p++,c--;for(l<=p&&t.indexOf("$",h)===c&&(D=!0,d=c);h<=d&&h-uh&&32===t.charCodeAt(d-1);)d--;if(D&&h===d||o.push(t.slice(h,d)),D)break;u=a+1,a=t.indexOf("\n",u+1),a=-1===a?n:a}return o=o.join("\n"),e(t.slice(0,a))({type:"math",value:o,data:{hName:"div",hProperties:{className:Xo.concat()},hChildren:[{type:"text",value:o}]}})}}}t.blockTokenizers.math=o,r.splice(r.indexOf("fencedCode")+1,0,"math"),n.splice(n.indexOf("fencedCode")+1,0,["math"]),u.splice(u.indexOf("fencedCode")+1,0,["math"]),i.splice(i.indexOf("fencedCode")+1,0,["math"])}(e);$o.isRemarkCompiler(t)&&function(e){function t(e){return"$$\n"+e.value+"\n$$"}e.prototype.visitors.math=t}(t)};const Xo=["math","math-display"];const Zo=Vo,Wo=Ho;var Jo=function(e){var t=e||{};Wo.call(this,t),Zo.call(this,t)};var Ko=function(e){var t=this.Parser,r=this.Compiler;(function(e){return Boolean(e&&e.prototype&&e.prototype.blockTokenizers)})(t)&&function(e,t){var r,n=t||{},u=e.prototype,i=u.blockTokenizers,o=u.inlineTokenizers,a=u.blockMethods,c=u.inlineMethods,s=i.definition,l=o.reference,f=[],D=-1,p=a.length;for(;++D4&&(p=void 0,h=b);else{if(p<4&&g&&(g.contentStart===g.contentEnd||ea(E,i,m,[e,t.slice(b,1024),!0])))break;p=void 0,h=b}b++}for(b=-1,y=d.length;y>0&&(g=d[y-1]).contentStart===g.contentEnd;)y--;for(s=e(t.slice(0,g.contentEnd));++b-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");var ra=function(e){const t=e.match(ta);if(!t)return{content:e};const{startDelimiter:r,language:n,value:u="",endDelimiter:i}=t.groups;let o=n.trim()||"yaml";if("+++"===r&&(o="toml"),"yaml"!==o&&r!==i)return{content:e};const[a]=t;return{frontMatter:{type:"front-matter",lang:o,value:u,startDelimiter:r,endDelimiter:i,raw:a.replace(/\n$/,"")},content:a.replace(/[^\n]/g," ")+e.slice(a.length)}};const na=ra,ua=["format","prettier"];function ia(e){const t="@(".concat(ua.join("|"),")"),r=new RegExp(["\x3c!--\\s*".concat(t,"\\s*--\x3e"),"{\\s*\\/\\*\\s*".concat(t,"\\s*\\*\\/\\s*}"),"\x3c!--.*\r?\n[\\s\\S]*(^|\n)[^\\S\n]*".concat(t,"[^\\S\n]*($|\n)[\\s\\S]*\n.*--\x3e")].join("|"),"m"),n=e.match(r);return n&&0===n.index}var oa={startWithPragma:ia,hasPragma:e=>ia(na(e).content.trimStart()),insertPragma:e=>{const t=na(e),r="\x3c!-- @".concat(ua[0]," --\x3e");return t.frontMatter?"".concat(t.frontMatter.raw,"\n\n").concat(r,"\n\n").concat(t.content):"".concat(r,"\n\n").concat(t.content)}};var aa={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const ca=/^import\s/,sa=/^export\s/,la=/^{\s*\/\*(.*)\*\/\s*}/,fa=e=>ca.test(e),Da=e=>sa.test(e),pa=(e,t)=>{const r=t.indexOf("\n\n"),n=t.slice(0,r);if(Da(n)||fa(n))return e(n)({type:Da(n)?"export":"import",value:n})},ha=(e,t)=>{const r=la.exec(t);if(r)return e(r[0])({type:"esComment",value:r[1].trim()})};pa.locator=e=>Da(e)||fa(e)?-1:1,ha.locator=(e,t)=>e.indexOf("{",t);var da={esSyntax:function(){const{Parser:e}=this,{blockTokenizers:t,blockMethods:r,inlineTokenizers:n,inlineMethods:u}=e.prototype;t.esSyntax=pa,n.esComment=ha,r.splice(r.indexOf("paragraph"),0,"esSyntax"),u.splice(u.indexOf("text"),0,"esComment")},BLOCKS_REGEX:"[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)*|",COMMENT_REGEX:/|/},ga={exports:{}};const ma=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")};var Ea={exports:{}};const va=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));Ea.exports=va,Ea.exports.default=va;const ya=e=>"string"==typeof e?e.replace(ma(),""):e,ba=Ea.exports,Ca=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Aa=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=ya(e)).length)return 0;e=e.replace(Ca()," ");let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=ba(n)?2:1))}return t};ga.exports=Aa,ga.exports.default=Aa;var wa=e=>e[e.length-1];function Fa(e,t){if(null==e)return{};var r,n,u=function(e,t){if(null==e)return{};var r,n,u={},i=Object.keys(e);for(n=0;n=0||(u[r]=e[r]);return u}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(u[r]=e[r])}return u}function ka(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Oa=function(e){return e&&e.Math==Math&&e},xa=Oa("object"==typeof globalThis&&globalThis)||Oa("object"==typeof window&&window)||Oa("object"==typeof self&&self)||Oa("object"==typeof e&&e)||function(){return this}()||Function("return this")(),Ta={},Sa=function(e){try{return!!e()}catch(e){return!0}},Ra=!Sa((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),Ia=Function.prototype.call,Ba=Ia.bind?Ia.bind(Ia):function(){return Ia.apply(Ia,arguments)},Na={},La={}.propertyIsEnumerable,Pa=Object.getOwnPropertyDescriptor,qa=Pa&&!La.call({1:2},1);Na.f=qa?function(e){var t=Pa(this,e);return!!t&&t.enumerable}:La;var ja,_a,Ua=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},Ma=Function.prototype,za=Ma.bind,Ga=Ma.call,Va=za&&za.bind(Ga),Ya=za?function(e){return e&&Va(Ga,e)}:function(e){return e&&function(){return Ga.apply(e,arguments)}},$a=Ya,Ha=$a({}.toString),Xa=$a("".slice),Za=function(e){return Xa(Ha(e),8,-1)},Wa=Ya,Ja=Sa,Ka=Za,Qa=xa.Object,ec=Wa("".split),tc=Ja((function(){return!Qa("z").propertyIsEnumerable(0)}))?function(e){return"String"==Ka(e)?ec(e,""):Qa(e)}:Qa,rc=xa.TypeError,nc=function(e){if(null==e)throw rc("Can't call method on "+e);return e},uc=tc,ic=nc,oc=function(e){return uc(ic(e))},ac=function(e){return"function"==typeof e},cc=ac,sc=function(e){return"object"==typeof e?null!==e:cc(e)},lc=xa,fc=ac,Dc=function(e){return fc(e)?e:void 0},pc=function(e,t){return arguments.length<2?Dc(lc[e]):lc[e]&&lc[e][t]},hc=Ya({}.isPrototypeOf),dc=pc("navigator","userAgent")||"",gc=xa,mc=dc,Ec=gc.process,vc=gc.Deno,yc=Ec&&Ec.versions||vc&&vc.version,bc=yc&&yc.v8;bc&&(_a=(ja=bc.split("."))[0]>0&&ja[0]<4?1:+(ja[0]+ja[1])),!_a&&mc&&(!(ja=mc.match(/Edge\/(\d+)/))||ja[1]>=74)&&(ja=mc.match(/Chrome\/(\d+)/))&&(_a=+ja[1]);var Cc=_a,Ac=Cc,wc=Sa,Fc=!!Object.getOwnPropertySymbols&&!wc((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ac&&Ac<41})),kc=Fc&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Oc=pc,xc=ac,Tc=hc,Sc=kc,Rc=xa.Object,Ic=Sc?function(e){return"symbol"==typeof e}:function(e){var t=Oc("Symbol");return xc(t)&&Tc(t.prototype,Rc(e))},Bc=xa.String,Nc=function(e){try{return Bc(e)}catch(e){return"Object"}},Lc=ac,Pc=Nc,qc=xa.TypeError,jc=function(e){if(Lc(e))return e;throw qc(Pc(e)+" is not a function")},_c=jc,Uc=function(e,t){var r=e[t];return null==r?void 0:_c(r)},Mc=Ba,zc=ac,Gc=sc,Vc=xa.TypeError,Yc={exports:{}},$c=xa,Hc=Object.defineProperty,Xc=function(e,t){try{Hc($c,e,{value:t,configurable:!0,writable:!0})}catch(r){$c[e]=t}return t},Zc=Xc,Wc=xa["__core-js_shared__"]||Zc("__core-js_shared__",{}),Jc=Wc;(Yc.exports=function(e,t){return Jc[e]||(Jc[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var Kc=nc,Qc=xa.Object,es=function(e){return Qc(Kc(e))},ts=es,rs=Ya({}.hasOwnProperty),ns=Object.hasOwn||function(e,t){return rs(ts(e),t)},us=Ya,is=0,os=Math.random(),as=us(1..toString),cs=function(e){return"Symbol("+(void 0===e?"":e)+")_"+as(++is+os,36)},ss=xa,ls=Yc.exports,fs=ns,Ds=cs,ps=Fc,hs=kc,ds=ls("wks"),gs=ss.Symbol,ms=gs&&gs.for,Es=hs?gs:gs&&gs.withoutSetter||Ds,vs=function(e){if(!fs(ds,e)||!ps&&"string"!=typeof ds[e]){var t="Symbol."+e;ps&&fs(gs,e)?ds[e]=gs[e]:ds[e]=hs&&ms?ms(t):Es(t)}return ds[e]},ys=Ba,bs=sc,Cs=Ic,As=Uc,ws=function(e,t){var r,n;if("string"===t&&zc(r=e.toString)&&!Gc(n=Mc(r,e)))return n;if(zc(r=e.valueOf)&&!Gc(n=Mc(r,e)))return n;if("string"!==t&&zc(r=e.toString)&&!Gc(n=Mc(r,e)))return n;throw Vc("Can't convert object to primitive value")},Fs=vs,ks=xa.TypeError,Os=Fs("toPrimitive"),xs=function(e,t){if(!bs(e)||Cs(e))return e;var r,n=As(e,Os);if(n){if(void 0===t&&(t="default"),r=ys(n,e,t),!bs(r)||Cs(r))return r;throw ks("Can't convert object to primitive value")}return void 0===t&&(t="number"),ws(e,t)},Ts=Ic,Ss=function(e){var t=xs(e,"string");return Ts(t)?t:t+""},Rs=sc,Is=xa.document,Bs=Rs(Is)&&Rs(Is.createElement),Ns=function(e){return Bs?Is.createElement(e):{}},Ls=!Ra&&!Sa((function(){return 7!=Object.defineProperty(Ns("div"),"a",{get:function(){return 7}}).a})),Ps=Ra,qs=Ba,js=Na,_s=Ua,Us=oc,Ms=Ss,zs=ns,Gs=Ls,Vs=Object.getOwnPropertyDescriptor;Ta.f=Ps?Vs:function(e,t){if(e=Us(e),t=Ms(t),Gs)try{return Vs(e,t)}catch(e){}if(zs(e,t))return _s(!qs(js.f,e,t),e[t])};var Ys={},$s=xa,Hs=sc,Xs=$s.String,Zs=$s.TypeError,Ws=function(e){if(Hs(e))return e;throw Zs(Xs(e)+" is not an object")},Js=Ra,Ks=Ls,Qs=Ws,el=Ss,tl=xa.TypeError,rl=Object.defineProperty;Ys.f=Js?rl:function(e,t,r){if(Qs(e),t=el(t),Qs(r),Ks)try{return rl(e,t,r)}catch(e){}if("get"in r||"set"in r)throw tl("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var nl=Ys,ul=Ua,il=Ra?function(e,t,r){return nl.f(e,t,ul(1,r))}:function(e,t,r){return e[t]=r,e},ol={exports:{}},al=ac,cl=Wc,sl=Ya(Function.toString);al(cl.inspectSource)||(cl.inspectSource=function(e){return sl(e)});var ll,fl,Dl,pl=cl.inspectSource,hl=ac,dl=pl,gl=xa.WeakMap,ml=hl(gl)&&/native code/.test(dl(gl)),El=Yc.exports,vl=cs,yl=El("keys"),bl={},Cl=ml,Al=xa,wl=Ya,Fl=sc,kl=il,Ol=ns,xl=Wc,Tl=function(e){return yl[e]||(yl[e]=vl(e))},Sl=bl,Rl=Al.TypeError,Il=Al.WeakMap;if(Cl||xl.state){var Bl=xl.state||(xl.state=new Il),Nl=wl(Bl.get),Ll=wl(Bl.has),Pl=wl(Bl.set);ll=function(e,t){if(Ll(Bl,e))throw new Rl("Object already initialized");return t.facade=e,Pl(Bl,e,t),t},fl=function(e){return Nl(Bl,e)||{}},Dl=function(e){return Ll(Bl,e)}}else{var ql=Tl("state");Sl[ql]=!0,ll=function(e,t){if(Ol(e,ql))throw new Rl("Object already initialized");return t.facade=e,kl(e,ql,t),t},fl=function(e){return Ol(e,ql)?e[ql]:{}},Dl=function(e){return Ol(e,ql)}}var jl={set:ll,get:fl,has:Dl,enforce:function(e){return Dl(e)?fl(e):ll(e,{})},getterFor:function(e){return function(t){var r;if(!Fl(t)||(r=fl(t)).type!==e)throw Rl("Incompatible receiver, "+e+" required");return r}}},_l=Ra,Ul=ns,Ml=Function.prototype,zl=_l&&Object.getOwnPropertyDescriptor,Gl=Ul(Ml,"name"),Vl=Gl&&"something"===function(){}.name,Yl=Gl&&(!_l||_l&&zl(Ml,"name").configurable),$l=xa,Hl=ac,Xl=ns,Zl=il,Wl=Xc,Jl=pl,Kl={EXISTS:Gl,PROPER:Vl,CONFIGURABLE:Yl}.CONFIGURABLE,Ql=jl.get,ef=jl.enforce,tf=String(String).split("String");(ol.exports=function(e,t,r,n){var u,i=!!n&&!!n.unsafe,o=!!n&&!!n.enumerable,a=!!n&&!!n.noTargetGet,c=n&&void 0!==n.name?n.name:t;Hl(r)&&("Symbol("===String(c).slice(0,7)&&(c="["+String(c).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Xl(r,"name")||Kl&&r.name!==c)&&Zl(r,"name",c),(u=ef(r)).source||(u.source=tf.join("string"==typeof c?c:""))),e!==$l?(i?!a&&e[t]&&(o=!0):delete e[t],o?e[t]=r:Zl(e,t,r)):o?e[t]=r:Wl(t,r)})(Function.prototype,"toString",(function(){return Hl(this)&&Ql(this).source||Jl(this)}));var rf={},nf=Math.ceil,uf=Math.floor,of=function(e){var t=+e;return t!=t||0===t?0:(t>0?uf:nf)(t)},af=of,cf=Math.max,sf=Math.min,lf=of,ff=Math.min,Df=function(e){return e>0?ff(lf(e),9007199254740991):0},pf=function(e){return Df(e.length)},hf=oc,df=function(e,t){var r=af(e);return r<0?cf(r+t,0):sf(r,t)},gf=pf,mf=function(e){return function(t,r,n){var u,i=hf(t),o=gf(i),a=df(n,o);if(e&&r!=r){for(;o>a;)if((u=i[a++])!=u)return!0}else for(;o>a;a++)if((e||a in i)&&i[a]===r)return e||a||0;return!e&&-1}},Ef={includes:mf(!0),indexOf:mf(!1)},vf=ns,yf=oc,bf=Ef.indexOf,Cf=bl,Af=Ya([].push),wf=function(e,t){var r,n=yf(e),u=0,i=[];for(r in n)!vf(Cf,r)&&vf(n,r)&&Af(i,r);for(;t.length>u;)vf(n,r=t[u++])&&(~bf(i,r)||Af(i,r));return i},Ff=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");rf.f=Object.getOwnPropertyNames||function(e){return wf(e,Ff)};var kf={};kf.f=Object.getOwnPropertySymbols;var Of=pc,xf=rf,Tf=kf,Sf=Ws,Rf=Ya([].concat),If=Of("Reflect","ownKeys")||function(e){var t=xf.f(Sf(e)),r=Tf.f;return r?Rf(t,r(e)):t},Bf=ns,Nf=If,Lf=Ta,Pf=Ys,qf=Sa,jf=ac,_f=/#|\.prototype\./,Uf=function(e,t){var r=zf[Mf(e)];return r==Vf||r!=Gf&&(jf(t)?qf(t):!!t)},Mf=Uf.normalize=function(e){return String(e).replace(_f,".").toLowerCase()},zf=Uf.data={},Gf=Uf.NATIVE="N",Vf=Uf.POLYFILL="P",Yf=Uf,$f=xa,Hf=Ta.f,Xf=il,Zf=ol.exports,Wf=Xc,Jf=function(e,t){for(var r=Nf(t),n=Pf.f,u=Lf.f,i=0;i0&&iD(c))s=oD(c),l=sD(e,t,c,s,l,i-1)-1;else{if(l>=9007199254740991)throw cD("Exceed the acceptable array length");e[l]=c}l++}f++}return l},lD=sD,fD={};fD[vs("toStringTag")]="z";var DD=xa,pD="[object z]"===String(fD),hD=ac,dD=Za,gD=vs("toStringTag"),mD=DD.Object,ED="Arguments"==dD(function(){return arguments}()),vD=pD?dD:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=mD(e),gD))?r:ED?dD(t):"Object"==(n=dD(t))&&hD(t.callee)?"Arguments":n},yD=Ya,bD=Sa,CD=ac,AD=vD,wD=pl,FD=function(){},kD=[],OD=pc("Reflect","construct"),xD=/^\s*(?:class|function)\b/,TD=yD(xD.exec),SD=!xD.exec(FD),RD=function(e){if(!CD(e))return!1;try{return OD(FD,kD,e),!0}catch(e){return!1}},ID=!OD||bD((function(){var e;return RD(RD.call)||!RD(Object)||!RD((function(){e=!0}))||e}))?function(e){if(!CD(e))return!1;switch(AD(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return SD||!!TD(xD,wD(e))}:RD,BD=xa,ND=tD,LD=ID,PD=sc,qD=vs("species"),jD=BD.Array,_D=function(e){var t;return ND(e)&&(t=e.constructor,(LD(t)&&(t===jD||ND(t.prototype))||PD(t)&&null===(t=t[qD]))&&(t=void 0)),void 0===t?jD:t},UD=lD,MD=jc,zD=es,GD=pf,VD=function(e,t){return new(_D(e))(0===t?0:t)};Qf({target:"Array",proto:!0},{flatMap:function(e){var t,r=zD(this),n=GD(r);return MD(e),(t=VD(r,0)).length=UD(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var YD=vD,$D=xa.String,HD=Ya([].slice),XD=Math.floor,ZD=function(e,t){var r=e.length,n=XD(r/2);return r<8?WD(e,t):JD(e,ZD(HD(e,0,n),t),ZD(HD(e,n),t),t)},WD=function(e,t){for(var r,n,u=e.length,i=1;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},JD=function(e,t,r,n){for(var u=t.length,i=r.length,o=0,a=0;o3)){if(dp)return!0;if(mp)return mp<603;var e,t,r,n,u="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)Ep.push({k:t+n,v:r})}for(Ep.sort((function(e,t){return t.v-e.v})),n=0;nlp(r)?1:-1}}(e)),r=u.length,n=0;ni;i++)if((a=g(e[i]))&&Zp(th,a))return a;return new eh(!1)}n=Wp(e,u)}for(c=n.next;!(s=Vp(c,n)).done;){try{a=g(s.value)}catch(e){Kp(n,"throw",e)}if("object"==typeof a&&a&&Zp(th,a))return a}return new eh(!1)},oh=function(e,t,r){var n=rh(t);n in e?nh.f(e,n,uh(0,r)):e[n]=r};Qf({target:"Object",stat:!0},{fromEntries:function(e){var t={};return ih(e,(function(e,r){oh(t,e,r)}),{AS_ENTRIES:!0}),t}});var ah="object"==typeof ke&&ke.env&&ke.env.NODE_DEBUG&&/\bsemver\b/i.test(ke.env.NODE_DEBUG)?function(){for(var e=arguments.length,t=new Array(e),r=0;r{};var ch={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},sh={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=ch,n=ah,u=(t=e.exports={}).re=[],i=t.src=[],o=t.t={};let a=0;const c=(e,t,r)=>{const c=a++;n(c,t),o[e]=c,i[c]=t,u[c]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION","(".concat(i[o.NUMERICIDENTIFIER],")\\.")+"(".concat(i[o.NUMERICIDENTIFIER],")\\.")+"(".concat(i[o.NUMERICIDENTIFIER],")")),c("MAINVERSIONLOOSE","(".concat(i[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[o.NUMERICIDENTIFIERLOOSE],")")),c("PRERELEASEIDENTIFIER","(?:".concat(i[o.NUMERICIDENTIFIER],"|").concat(i[o.NONNUMERICIDENTIFIER],")")),c("PRERELEASEIDENTIFIERLOOSE","(?:".concat(i[o.NUMERICIDENTIFIERLOOSE],"|").concat(i[o.NONNUMERICIDENTIFIER],")")),c("PRERELEASE","(?:-(".concat(i[o.PRERELEASEIDENTIFIER],"(?:\\.").concat(i[o.PRERELEASEIDENTIFIER],")*))")),c("PRERELEASELOOSE","(?:-?(".concat(i[o.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(i[o.PRERELEASEIDENTIFIERLOOSE],")*))")),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD","(?:\\+(".concat(i[o.BUILDIDENTIFIER],"(?:\\.").concat(i[o.BUILDIDENTIFIER],")*))")),c("FULLPLAIN","v?".concat(i[o.MAINVERSION]).concat(i[o.PRERELEASE],"?").concat(i[o.BUILD],"?")),c("FULL","^".concat(i[o.FULLPLAIN],"$")),c("LOOSEPLAIN","[v=\\s]*".concat(i[o.MAINVERSIONLOOSE]).concat(i[o.PRERELEASELOOSE],"?").concat(i[o.BUILD],"?")),c("LOOSE","^".concat(i[o.LOOSEPLAIN],"$")),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE","".concat(i[o.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),c("XRANGEIDENTIFIER","".concat(i[o.NUMERICIDENTIFIER],"|x|X|\\*")),c("XRANGEPLAIN","[v=\\s]*(".concat(i[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIER],")")+"(?:".concat(i[o.PRERELEASE],")?").concat(i[o.BUILD],"?")+")?)?"),c("XRANGEPLAINLOOSE","[v=\\s]*(".concat(i[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(i[o.PRERELEASELOOSE],")?").concat(i[o.BUILD],"?")+")?)?"),c("XRANGE","^".concat(i[o.GTLT],"\\s*").concat(i[o.XRANGEPLAIN],"$")),c("XRANGELOOSE","^".concat(i[o.GTLT],"\\s*").concat(i[o.XRANGEPLAINLOOSE],"$")),c("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),c("COERCERTL",i[o.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM","(\\s*)".concat(i[o.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",c("TILDE","^".concat(i[o.LONETILDE]).concat(i[o.XRANGEPLAIN],"$")),c("TILDELOOSE","^".concat(i[o.LONETILDE]).concat(i[o.XRANGEPLAINLOOSE],"$")),c("LONECARET","(?:\\^)"),c("CARETTRIM","(\\s*)".concat(i[o.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",c("CARET","^".concat(i[o.LONECARET]).concat(i[o.XRANGEPLAIN],"$")),c("CARETLOOSE","^".concat(i[o.LONECARET]).concat(i[o.XRANGEPLAINLOOSE],"$")),c("COMPARATORLOOSE","^".concat(i[o.GTLT],"\\s*(").concat(i[o.LOOSEPLAIN],")$|^$")),c("COMPARATOR","^".concat(i[o.GTLT],"\\s*(").concat(i[o.FULLPLAIN],")$|^$")),c("COMPARATORTRIM","(\\s*)".concat(i[o.GTLT],"\\s*(").concat(i[o.LOOSEPLAIN],"|").concat(i[o.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE","^\\s*(".concat(i[o.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(i[o.XRANGEPLAIN],")")+"\\s*$"),c("HYPHENRANGELOOSE","^\\s*(".concat(i[o.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(i[o.XRANGEPLAINLOOSE],")")+"\\s*$"),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(sh,sh.exports);const lh=["includePrerelease","loose","rtl"];var fh=e=>e?"object"!=typeof e?{loose:!0}:lh.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const Dh=/^[0-9]+$/,ph=(e,t)=>{const r=Dh.test(e),n=Dh.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eph(t,e)};const dh=ah,{MAX_LENGTH:gh,MAX_SAFE_INTEGER:mh}=ch,{re:Eh,t:vh}=sh.exports,yh=fh,{compareIdentifiers:bh}=hh;class Ch{constructor(e,t){if(t=yh(t),e instanceof Ch){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>gh)throw new TypeError("version is longer than ".concat(gh," characters"));dh("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Eh[vh.LOOSE]:Eh[vh.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>mh||this.major<0)throw new TypeError("Invalid major version");if(this.minor>mh||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>mh||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}const Ah=Ch;var wh=(e,t,r)=>new Ah(e,r).compare(new Ah(t,r));const Fh=wh;var kh=(e,t,r)=>Fh(e,t,r)<0;const Oh=wh;var xh,Th,Sh,Rh,Ih,Bh,Nh=(e,t,r)=>Oh(e,t,r)>=0,Lh={exports:{}};!function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ph(Sh||(Sh=ka(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ph(Rh||(Rh=ka(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ph(Ih||(Ih=ka(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ph(Bh||(Bh=ka(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const jh=["cliName","cliCategory","cliDescription"],_h={compare:wh,lt:kh,gte:Nh},Uh=(e,t)=>Object.entries(e).map((e=>{let[r,n]=e;return Object.assign({[t]:r},n)})),Mh="2.5.1",zh={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:qh}.options;function Gh(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const u of t)if(u.parsers)for(const t of u.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let o=u.name;i&&i.name&&(o+=" (plugin: ".concat(i.name,")")),e.choices.push({value:t,description:o})}}var Vh={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const u=Mh.split("-",1)[0],i=e.flatMap((e=>e.languages||[])).filter(a),o=Uh(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),zh),"name").filter((e=>a(e)&&c(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>_h.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&c(e))),"parser"===t.name&&Gh(t,i,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:i,options:o};function a(e){return t||!("since"in e)||e.since&&_h.gte(u,e.since)}function c(e){return r||!("deprecated"in e)||e.deprecated&&_h.lt(u,e.deprecated)}function s(e){if(n)return e;return Fa(e,jh)}}};const Yh=ga.exports,$h=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Hh=wa,{getSupportInfo:Xh}=Vh,Zh=/[^\x20-\x7F]/;function Wh(e){return(t,r,n)=>{const u=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let o=r;for(;o>=0&&o2&&void 0!==arguments[2]?arguments[2]:{};const n=Kh(e,r.backwards?t-1:t,r),u=nd(e,n,r);return n!==u}function id(e,t){let r=null,n=t;for(;n!==r;)r=n,n=Qh(e,n),n=td(e,n),n=Kh(e,n);return n=rd(e,n),n=nd(e,n),!1!==n&&ud(e,n)}function od(e,t){let r=null,n=t;for(;n!==r;)r=n,n=Kh(e,n),n=td(e,n),n=rd(e,n),n=nd(e,n);return n}function ad(e,t,r){return od(e,r(t))}function cd(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;for(let u=r;u(e.match(i.regex)||[]).length?i:u}return o}function ld(e,t,r){const n='"'===t?"'":'"',u=e.replace(/\\(.)|(["'])/gs,((e,u,i)=>u===n?u:i===t?"\\"+i:i||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(u)?u:"\\"+u)));return t+u+t}function fd(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var Dd={inferParserByLanguage:function(e,t){const{languages:r}=Xh({plugins:t.plugins}),n=r.find((t=>{let{name:r}=t;return r.toLowerCase()===e}))||r.find((t=>{let{aliases:r}=t;return Array.isArray(r)&&r.includes(e)}))||r.find((t=>{let{extensions:r}=t;return Array.isArray(r)&&r.includes(".".concat(e))}));return n&&n.parsers[0]},getStringWidth:function(e){return e?Zh.test(e)?Yh(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat($h(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat($h(t),")+"),"g"));if(null===r)return 0;const n=new Map;let u=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>u&&(u=r)}for(let e=1;ee[e.length-2],getLast:Hh,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:od,getNextNonSpaceNonCommentCharacterIndex:ad,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(ad(e,t,r))},skip:Wh,skipWhitespace:Jh,skipSpaces:Kh,skipToLineEnd:Qh,skipEverythingButNewLine:ed,skipInlineComment:td,skipTrailingComment:rd,skipNewline:nd,isNextLineEmptyAfterIndex:id,isNextLineEmpty:function(e,t,r){return id(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Kh(e,n,{backwards:!0}),n=nd(e,n,{backwards:!0}),n=Kh(e,n,{backwards:!0}),n!==nd(e,n,{backwards:!0})},hasNewline:ud,hasNewlineInRange:function(e,t,r){for(let n=t;n2&&void 0!==arguments[2]?arguments[2]:{};const n=Kh(e,r.backwards?t-1:t,r);return n!==t},getAlignmentSize:cd,getIndentSize:function(e,t){const r=e.lastIndexOf("\n");return-1===r?0:cd(e.slice(r+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:sd,printString:function(e,t){const r=e.slice(1,-1);return ld(r,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":sd(r,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:ld,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,fd(e,t)},addDanglingComment:function(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),fd(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,fd(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}};const{getLast:pd}=Dd,{locStart:hd,locEnd:dd}=aa,{cjkPattern:gd,kPattern:md,punctuationPattern:Ed}={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"},vd=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],yd=[...vd,"tableCell","paragraph","heading"],bd=new RegExp(md),Cd=new RegExp(Ed);function Ad(e,t){const[,r,n,u]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:r,marker:n,leadingSpaces:u}}var wd={mapAst:function(e,t){return function e(r,n,u){const i=Object.assign({},t(r,n,u));return i.children&&(i.children=i.children.map(((t,r)=>e(t,r,[i,...u])))),i}(e,null,[])},splitText:function(e,t){const r="non-cjk",n="cj-letter",u="cjk-punctuation",i=[],o=("preserve"===t.proseWrap?e:e.replace(new RegExp("(".concat(gd,")\n(").concat(gd,")"),"g"),"$1$2")).split(/([\t\n ]+)/);for(const[e,t]of o.entries()){if(e%2==1){i.push({type:"whitespace",value:/\n/.test(t)?"\n":" "});continue}if((0===e||e===o.length-1)&&""===t)continue;const c=t.split(new RegExp("(".concat(gd,")")));for(const[e,t]of c.entries())(0!==e&&e!==c.length-1||""!==t)&&(e%2!=0?a(Cd.test(t)?{type:"word",value:t,kind:u,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:t,kind:bd.test(t)?"k-letter":n,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):""!==t&&a({type:"word",value:t,kind:r,hasLeadingPunctuation:Cd.test(t[0]),hasTrailingPunctuation:Cd.test(pd(t))}))}return i;function a(e){const t=pd(i);var o,a;t&&"word"===t.type&&(t.kind===r&&e.kind===n&&!t.hasTrailingPunctuation||t.kind===n&&e.kind===r&&!e.hasLeadingPunctuation?i.push({type:"whitespace",value:" "}):(o=r,a=u,t.kind===o&&e.kind===a||t.kind===a&&e.kind===o||[t.value,e.value].some((e=>/\u3000/.test(e)))||i.push({type:"whitespace",value:""}))),i.push(e)}},punctuationPattern:Ed,getFencedCodeBlockValue:function(e,t){const{value:r}=e;return e.position.end.offset===t.length&&r.endsWith("\n")&&t.endsWith("\n")?r.slice(0,-1):r},getOrderedListItemInfo:Ad,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const r=Number(Ad(e.children[0],t.originalText).numberText),n=Number(Ad(e.children[1],t.originalText).numberText);if(0===r&&e.children.length>2){const r=Number(Ad(e.children[2],t.originalText).numberText);return 1===n&&1===r}return 1===n},INLINE_NODE_TYPES:vd,INLINE_NODE_WRAPPER_TYPES:yd,isAutolink:function(e){if(!e||"link"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&hd(e)===hd(t)&&dd(e)===dd(t)}};const Fd=da,{mapAst:kd,INLINE_NODE_WRAPPER_TYPES:Od}=wd;var xd=function(){return e=>kd(e,((e,t,r)=>{let[n]=r;return"html"!==e.type||Fd.COMMENT_REGEX.test(e.value)||Od.includes(n.type)?e:Object.assign(Object.assign({},e),{},{type:"jsx"})}))};const Td=ra;var Sd=function(){const e=this.Parser.prototype;function t(e,t){const r=Td(t);if(r.frontMatter)return e(r.frontMatter.raw)(r.frontMatter)}e.blockMethods=["frontMatter",...e.blockMethods],e.blockTokenizers.frontMatter=t,t.onlyAtStart=!0};var Rd=function(){const e=this.Parser.prototype,t=e.inlineMethods;function r(e,t){const r=t.match(/^({%.*?%}|{{.*?}})/s);if(r)return e(r[0])({type:"liquidNode",value:r[0]})}t.splice(t.indexOf("text"),0,"liquid"),e.inlineTokenizers.liquid=r,r.locator=function(e,t){return e.indexOf("{",t)}};var Id=function(){const e="wikiLink",t=/^\[\[(?.+?)]]/s,r=this.Parser.prototype,n=r.inlineMethods;function u(r,n){const u=t.exec(n);if(u){const t=u.groups.linkContents.trim();return r(u[0])({type:e,value:t})}}n.splice(n.indexOf("link"),0,e),r.inlineTokenizers.wikiLink=u,u.locator=function(e,t){return e.indexOf("[",t)}};var Bd=function(){const e=this.Parser.prototype,t=e.blockTokenizers.list;function r(e,t,r){return"listItem"===t.type&&(t.loose=t.spread||"\n"===e.charAt(e.length-1),t.loose&&(r.loose=!0)),t}e.blockTokenizers.list=function(e,n,u){function i(t){const n=e(t);function u(e,u){return n(r(t,e,u),u)}return u.reset=function(e,u){return n.reset(r(t,e,u),u)},u}return i.now=e.now,t.call(this,i,n,u)}};const Nd=ki,Ld=Io,Pd=Jo,qd=Ko,jd=oa,{locStart:_d,locEnd:Ud}=aa,Md=da,zd=xd,Gd=Sd,Vd=Rd,Yd=Id,$d=Bd;function Hd(e){let{isMDX:t}=e;return e=>{const r=Ld().use(Nd,Object.assign({commonmark:!0},t&&{blocks:[Md.BLOCKS_REGEX]})).use(qd).use(Gd).use(Pd).use(t?Md.esSyntax:Xd).use(Vd).use(t?zd:Xd).use(Yd).use($d);return r.runSync(r.parse(e))}}function Xd(e){return e}const Zd={astFormat:"mdast",hasPragma:jd.hasPragma,locStart:_d,locEnd:Ud},Wd=Object.assign(Object.assign({},Zd),{},{parse:Hd({isMDX:!1})});var Jd={parsers:{remark:Wd,markdown:Wd,mdx:Object.assign(Object.assign({},Zd),{},{parse:Hd({isMDX:!0})})}};export{Jd as default}; diff --git a/node_modules/prettier/esm/parser-meriyah.mjs b/node_modules/prettier/esm/parser-meriyah.mjs new file mode 100755 index 0000000..3256ec3 --- /dev/null +++ b/node_modules/prettier/esm/parser-meriyah.mjs @@ -0,0 +1 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t=function(e,u){const t=new SyntaxError(e+" ("+u.start.line+":"+u.start.column+")");return t.loc=u,t};var n,r=function(){let e;for(var u=arguments.length,t=new Array(u),n=0;n{if("string"!=typeof e)throw new TypeError("Expected a string");const u=e.match(/(?:\r?\n)/g)||[];if(0===u.length)return;const t=u.filter((e=>"\r\n"===e)).length;return t>u.length-t?"\r\n":"\n"};function x(){const e=B;return x=function(){return e},e}function P(){const e=(u=b.exports)&&u.__esModule?u:{default:u};var u;return P=function(){return e},e}b.exports=k,b.exports.graceful=e=>"string"==typeof e&&k(e)||"\n",Object.defineProperty(o,"__esModule",{value:!0}),o.extract=function(e){const u=e.match(S);return u?u[0].trimLeft():""},o.strip=function(e){const u=e.match(S);return u&&u[0]?e.substring(u[0].length):e},o.parse=function(e){return q(e).pragmas},o.parseWithComments=q,o.print=function(e){let{comments:u="",pragmas:t={}}=e;const n=(0,P().default)(u)||x().EOL,r=" *",o=Object.keys(t),i=o.map((e=>j(e,t[e]))).reduce(((e,u)=>e.concat(u)),[]).map((e=>" * "+e+n)).join("");if(!u){if(0===o.length)return"";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return"".concat("/**"," ").concat(j(o[0],e)[0]).concat(" */")}}const s=u.split(n).map((e=>"".concat(r," ").concat(e))).join(n)+n;return"/**"+n+(u?s:"")+(u&&o.length?r+n:"")+i+" */"};const v=/\*\/$/,w=/^\/\*\*/,S=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,T=/(^|\s+)\/\/([^\r\n]*)/g,N=/^(\r?\n)+/,I=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,L=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,O=/(\r?\n|^) *\* ?/g,R=[];function q(e){const u=(0,P().default)(e)||x().EOL;e=e.replace(w,"").replace(v,"").replace(O,"$1");let t="";for(;t!==e;)t=e,e=e.replace(I,"".concat(u,"$1 $2").concat(u));e=e.replace(N,"").trimRight();const n=Object.create(null),r=e.replace(L,"").replace(N,"").trimRight();let o;for(;o=L.exec(e);){const e=o[2].replace(T,"");"string"==typeof n[o[1]]||Array.isArray(n[o[1]])?n[o[1]]=R.concat(n[o[1]],e):n[o[1]]=e}return{comments:r,pragmas:n}}function j(e,u){return R.concat(u).map((u=>"@".concat(e," ").concat(u).trim()))}var V={exports:{}};const M=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")};var U={exports:{}};const G=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));U.exports=G,U.exports.default=G;const _=e=>"string"==typeof e?e.replace(M(),""):e,X=U.exports,$=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},z=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=_(e)).length)return 0;e=e.replace($()," ");let u=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,u+=X(n)?2:1))}return u};V.exports=z,V.exports.default=z;var H=e=>e[e.length-1];function J(e,u){if(null==e)return{};var t,n,r=function(e,u){if(null==e)return{};var t,n,r={},o=Object.keys(e);for(n=0;n=0||(r[t]=e[t]);return r}(e,u);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function W(e,u){return u||(u=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(u)}}))}var Y=function(e){return e&&e.Math==Math&&e},K=Y("object"==typeof globalThis&&globalThis)||Y("object"==typeof window&&window)||Y("object"==typeof self&&self)||Y("object"==typeof e&&e)||function(){return this}()||Function("return this")(),Z={},Q=function(e){try{return!!e()}catch(e){return!0}},ee=!Q((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),ue=Function.prototype.call,te=ue.bind?ue.bind(ue):function(){return ue.apply(ue,arguments)},ne={},re={}.propertyIsEnumerable,oe=Object.getOwnPropertyDescriptor,ie=oe&&!re.call({1:2},1);ne.f=ie?function(e){var u=oe(this,e);return!!u&&u.enumerable}:re;var se,ae,ce=function(e,u){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:u}},De=Function.prototype,le=De.bind,pe=De.call,fe=le&&le.bind(pe),de=le?function(e){return e&&fe(pe,e)}:function(e){return e&&function(){return pe.apply(e,arguments)}},Fe=de,Ee=Fe({}.toString),Ce=Fe("".slice),Ae=function(e){return Ce(Ee(e),8,-1)},ge=de,me=Q,he=Ae,ye=K.Object,Be=ge("".split),be=me((function(){return!ye("z").propertyIsEnumerable(0)}))?function(e){return"String"==he(e)?Be(e,""):ye(e)}:ye,ke=K.TypeError,xe=function(e){if(null==e)throw ke("Can't call method on "+e);return e},Pe=be,ve=xe,we=function(e){return Pe(ve(e))},Se=function(e){return"function"==typeof e},Te=Se,Ne=function(e){return"object"==typeof e?null!==e:Te(e)},Ie=K,Le=Se,Oe=function(e){return Le(e)?e:void 0},Re=function(e,u){return arguments.length<2?Oe(Ie[e]):Ie[e]&&Ie[e][u]},qe=de({}.isPrototypeOf),je=Re("navigator","userAgent")||"",Ve=K,Me=je,Ue=Ve.process,Ge=Ve.Deno,_e=Ue&&Ue.versions||Ge&&Ge.version,Xe=_e&&_e.v8;Xe&&(ae=(se=Xe.split("."))[0]>0&&se[0]<4?1:+(se[0]+se[1])),!ae&&Me&&(!(se=Me.match(/Edge\/(\d+)/))||se[1]>=74)&&(se=Me.match(/Chrome\/(\d+)/))&&(ae=+se[1]);var $e=ae,ze=$e,He=Q,Je=!!Object.getOwnPropertySymbols&&!He((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ze&&ze<41})),We=Je&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ye=Re,Ke=Se,Ze=qe,Qe=We,eu=K.Object,uu=Qe?function(e){return"symbol"==typeof e}:function(e){var u=Ye("Symbol");return Ke(u)&&Ze(u.prototype,eu(e))},tu=K.String,nu=function(e){try{return tu(e)}catch(e){return"Object"}},ru=Se,ou=nu,iu=K.TypeError,su=function(e){if(ru(e))return e;throw iu(ou(e)+" is not a function")},au=su,cu=function(e,u){var t=e[u];return null==t?void 0:au(t)},Du=te,lu=Se,pu=Ne,fu=K.TypeError,du={exports:{}},Fu=K,Eu=Object.defineProperty,Cu=function(e,u){try{Eu(Fu,e,{value:u,configurable:!0,writable:!0})}catch(t){Fu[e]=u}return u},Au=Cu,gu=K["__core-js_shared__"]||Au("__core-js_shared__",{}),mu=gu;(du.exports=function(e,u){return mu[e]||(mu[e]=void 0!==u?u:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var hu=xe,yu=K.Object,Bu=function(e){return yu(hu(e))},bu=Bu,ku=de({}.hasOwnProperty),xu=Object.hasOwn||function(e,u){return ku(bu(e),u)},Pu=de,vu=0,wu=Math.random(),Su=Pu(1..toString),Tu=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Su(++vu+wu,36)},Nu=K,Iu=du.exports,Lu=xu,Ou=Tu,Ru=Je,qu=We,ju=Iu("wks"),Vu=Nu.Symbol,Mu=Vu&&Vu.for,Uu=qu?Vu:Vu&&Vu.withoutSetter||Ou,Gu=function(e){if(!Lu(ju,e)||!Ru&&"string"!=typeof ju[e]){var u="Symbol."+e;Ru&&Lu(Vu,e)?ju[e]=Vu[e]:ju[e]=qu&&Mu?Mu(u):Uu(u)}return ju[e]},_u=te,Xu=Ne,$u=uu,zu=cu,Hu=function(e,u){var t,n;if("string"===u&&lu(t=e.toString)&&!pu(n=Du(t,e)))return n;if(lu(t=e.valueOf)&&!pu(n=Du(t,e)))return n;if("string"!==u&&lu(t=e.toString)&&!pu(n=Du(t,e)))return n;throw fu("Can't convert object to primitive value")},Ju=Gu,Wu=K.TypeError,Yu=Ju("toPrimitive"),Ku=function(e,u){if(!Xu(e)||$u(e))return e;var t,n=zu(e,Yu);if(n){if(void 0===u&&(u="default"),t=_u(n,e,u),!Xu(t)||$u(t))return t;throw Wu("Can't convert object to primitive value")}return void 0===u&&(u="number"),Hu(e,u)},Zu=uu,Qu=function(e){var u=Ku(e,"string");return Zu(u)?u:u+""},et=Ne,ut=K.document,tt=et(ut)&&et(ut.createElement),nt=function(e){return tt?ut.createElement(e):{}},rt=!ee&&!Q((function(){return 7!=Object.defineProperty(nt("div"),"a",{get:function(){return 7}}).a})),ot=ee,it=te,st=ne,at=ce,ct=we,Dt=Qu,lt=xu,pt=rt,ft=Object.getOwnPropertyDescriptor;Z.f=ot?ft:function(e,u){if(e=ct(e),u=Dt(u),pt)try{return ft(e,u)}catch(e){}if(lt(e,u))return at(!it(st.f,e,u),e[u])};var dt={},Ft=K,Et=Ne,Ct=Ft.String,At=Ft.TypeError,gt=function(e){if(Et(e))return e;throw At(Ct(e)+" is not an object")},mt=ee,ht=rt,yt=gt,Bt=Qu,bt=K.TypeError,kt=Object.defineProperty;dt.f=mt?kt:function(e,u,t){if(yt(e),u=Bt(u),yt(t),ht)try{return kt(e,u,t)}catch(e){}if("get"in t||"set"in t)throw bt("Accessors not supported");return"value"in t&&(e[u]=t.value),e};var xt=dt,Pt=ce,vt=ee?function(e,u,t){return xt.f(e,u,Pt(1,t))}:function(e,u,t){return e[u]=t,e},wt={exports:{}},St=Se,Tt=gu,Nt=de(Function.toString);St(Tt.inspectSource)||(Tt.inspectSource=function(e){return Nt(e)});var It,Lt,Ot,Rt=Tt.inspectSource,qt=Se,jt=Rt,Vt=K.WeakMap,Mt=qt(Vt)&&/native code/.test(jt(Vt)),Ut=du.exports,Gt=Tu,_t=Ut("keys"),Xt={},$t=Mt,zt=K,Ht=de,Jt=Ne,Wt=vt,Yt=xu,Kt=gu,Zt=function(e){return _t[e]||(_t[e]=Gt(e))},Qt=Xt,en=zt.TypeError,un=zt.WeakMap;if($t||Kt.state){var tn=Kt.state||(Kt.state=new un),nn=Ht(tn.get),rn=Ht(tn.has),on=Ht(tn.set);It=function(e,u){if(rn(tn,e))throw new en("Object already initialized");return u.facade=e,on(tn,e,u),u},Lt=function(e){return nn(tn,e)||{}},Ot=function(e){return rn(tn,e)}}else{var sn=Zt("state");Qt[sn]=!0,It=function(e,u){if(Yt(e,sn))throw new en("Object already initialized");return u.facade=e,Wt(e,sn,u),u},Lt=function(e){return Yt(e,sn)?e[sn]:{}},Ot=function(e){return Yt(e,sn)}}var an={set:It,get:Lt,has:Ot,enforce:function(e){return Ot(e)?Lt(e):It(e,{})},getterFor:function(e){return function(u){var t;if(!Jt(u)||(t=Lt(u)).type!==e)throw en("Incompatible receiver, "+e+" required");return t}}},cn=ee,Dn=xu,ln=Function.prototype,pn=cn&&Object.getOwnPropertyDescriptor,fn=Dn(ln,"name"),dn=fn&&"something"===function(){}.name,Fn=fn&&(!cn||cn&&pn(ln,"name").configurable),En=K,Cn=Se,An=xu,gn=vt,mn=Cu,hn=Rt,yn={EXISTS:fn,PROPER:dn,CONFIGURABLE:Fn}.CONFIGURABLE,Bn=an.get,bn=an.enforce,kn=String(String).split("String");(wt.exports=function(e,u,t,n){var r,o=!!n&&!!n.unsafe,i=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,a=n&&void 0!==n.name?n.name:u;Cn(t)&&("Symbol("===String(a).slice(0,7)&&(a="["+String(a).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!An(t,"name")||yn&&t.name!==a)&&gn(t,"name",a),(r=bn(t)).source||(r.source=kn.join("string"==typeof a?a:""))),e!==En?(o?!s&&e[u]&&(i=!0):delete e[u],i?e[u]=t:gn(e,u,t)):i?e[u]=t:mn(u,t)})(Function.prototype,"toString",(function(){return Cn(this)&&Bn(this).source||hn(this)}));var xn={},Pn=Math.ceil,vn=Math.floor,wn=function(e){var u=+e;return u!=u||0===u?0:(u>0?vn:Pn)(u)},Sn=wn,Tn=Math.max,Nn=Math.min,In=wn,Ln=Math.min,On=function(e){return e>0?Ln(In(e),9007199254740991):0},Rn=function(e){return On(e.length)},qn=we,jn=function(e,u){var t=Sn(e);return t<0?Tn(t+u,0):Nn(t,u)},Vn=Rn,Mn=function(e){return function(u,t,n){var r,o=qn(u),i=Vn(o),s=jn(n,i);if(e&&t!=t){for(;i>s;)if((r=o[s++])!=r)return!0}else for(;i>s;s++)if((e||s in o)&&o[s]===t)return e||s||0;return!e&&-1}},Un={includes:Mn(!0),indexOf:Mn(!1)},Gn=xu,_n=we,Xn=Un.indexOf,$n=Xt,zn=de([].push),Hn=function(e,u){var t,n=_n(e),r=0,o=[];for(t in n)!Gn($n,t)&&Gn(n,t)&&zn(o,t);for(;u.length>r;)Gn(n,t=u[r++])&&(~Xn(o,t)||zn(o,t));return o},Jn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");xn.f=Object.getOwnPropertyNames||function(e){return Hn(e,Jn)};var Wn={};Wn.f=Object.getOwnPropertySymbols;var Yn=Re,Kn=xn,Zn=Wn,Qn=gt,er=de([].concat),ur=Yn("Reflect","ownKeys")||function(e){var u=Kn.f(Qn(e)),t=Zn.f;return t?er(u,t(e)):u},tr=xu,nr=ur,rr=Z,or=dt,ir=Q,sr=Se,ar=/#|\.prototype\./,cr=function(e,u){var t=lr[Dr(e)];return t==fr||t!=pr&&(sr(u)?ir(u):!!u)},Dr=cr.normalize=function(e){return String(e).replace(ar,".").toLowerCase()},lr=cr.data={},pr=cr.NATIVE="N",fr=cr.POLYFILL="P",dr=cr,Fr=K,Er=Z.f,Cr=vt,Ar=wt.exports,gr=Cu,mr=function(e,u){for(var t=nr(u),n=or.f,r=rr.f,o=0;o0&&vr(a))c=wr(a),D=Nr(e,u,a,c,D,o-1)-1;else{if(D>=9007199254740991)throw Tr("Exceed the acceptable array length");e[D]=a}D++}l++}return D},Ir=Nr,Lr={};Lr[Gu("toStringTag")]="z";var Or=K,Rr="[object z]"===String(Lr),qr=Se,jr=Ae,Vr=Gu("toStringTag"),Mr=Or.Object,Ur="Arguments"==jr(function(){return arguments}()),Gr=Rr?jr:function(e){var u,t,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,u){try{return e[u]}catch(e){}}(u=Mr(e),Vr))?t:Ur?jr(u):"Object"==(n=jr(u))&&qr(u.callee)?"Arguments":n},_r=de,Xr=Q,$r=Se,zr=Gr,Hr=Rt,Jr=function(){},Wr=[],Yr=Re("Reflect","construct"),Kr=/^\s*(?:class|function)\b/,Zr=_r(Kr.exec),Qr=!Kr.exec(Jr),eo=function(e){if(!$r(e))return!1;try{return Yr(Jr,Wr,e),!0}catch(e){return!1}},uo=!Yr||Xr((function(){var e;return eo(eo.call)||!eo(Object)||!eo((function(){e=!0}))||e}))?function(e){if(!$r(e))return!1;switch(zr(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Qr||!!Zr(Kr,Hr(e))}:eo,to=K,no=br,ro=uo,oo=Ne,io=Gu("species"),so=to.Array,ao=function(e){var u;return no(e)&&(u=e.constructor,(ro(u)&&(u===so||no(u.prototype))||oo(u)&&null===(u=u[io]))&&(u=void 0)),void 0===u?so:u},co=Ir,Do=su,lo=Bu,po=Rn,fo=function(e,u){return new(ao(e))(0===u?0:u)};yr({target:"Array",proto:!0},{flatMap:function(e){var u,t=lo(this),n=po(t);return Do(e),(u=fo(t,0)).length=co(u,t,t,n,0,1,e,arguments.length>1?arguments[1]:void 0),u}});var Fo=Gr,Eo=K.String,Co=de([].slice),Ao=Math.floor,go=function(e,u){var t=e.length,n=Ao(t/2);return t<8?mo(e,u):ho(e,go(Co(e,0,n),u),go(Co(e,n),u),u)},mo=function(e,u){for(var t,n,r=e.length,o=1;o0;)e[n]=e[--n];n!==o++&&(e[n]=t)}return e},ho=function(e,u,t,n){for(var r=u.length,o=t.length,i=0,s=0;i3)){if(Vo)return!0;if(Uo)return Uo<603;var e,u,t,n,r="";for(e=65;e<76;e++){switch(u=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:t=3;break;case 68:case 71:t=4;break;default:t=2}for(n=0;n<47;n++)Go.push({k:u+n,v:t})}for(Go.sort((function(e,u){return u.v-e.v})),n=0;nLo(t)?1:-1}}(e)),t=r.length,n=0;no;o++)if((s=E(e[o]))&&gi(ki,s))return s;return new bi(!1)}n=mi(e,r)}for(a=n.next;!(c=di(a,n)).done;){try{s=E(c.value)}catch(e){yi(n,"throw",e)}if("object"==typeof s&&s&&gi(ki,s))return s}return new bi(!1)},Si=function(e,u,t){var n=xi(u);n in e?Pi.f(e,n,vi(0,t)):e[n]=t};function Ti(){throw new Error("setTimeout has not been defined")}function Ni(){throw new Error("clearTimeout has not been defined")}yr({target:"Object",stat:!0},{fromEntries:function(e){var u={};return wi(e,(function(e,t){Si(u,e,t)}),{AS_ENTRIES:!0}),u}});var Ii=Ti,Li=Ni;function Oi(e){if(Ii===setTimeout)return setTimeout(e,0);if((Ii===Ti||!Ii)&&setTimeout)return Ii=setTimeout,setTimeout(e,0);try{return Ii(e,0)}catch(u){try{return Ii.call(null,e,0)}catch(u){return Ii.call(this,e,0)}}}"function"==typeof i.setTimeout&&(Ii=setTimeout),"function"==typeof i.clearTimeout&&(Li=clearTimeout);var Ri,qi=[],ji=!1,Vi=-1;function Mi(){ji&&Ri&&(ji=!1,Ri.length?qi=Ri.concat(qi):Vi=-1,qi.length&&Ui())}function Ui(){if(!ji){var e=Oi(Mi);ji=!0;for(var u=qi.length;u;){for(Ri=qi,qi=[];++Vi1)for(var t=1;t{};var ts={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},ns={exports:{}};!function(e,u){const{MAX_SAFE_COMPONENT_LENGTH:t}=ts,n=us,r=(u=e.exports={}).re=[],o=u.src=[],i=u.t={};let s=0;const a=(e,u,t)=>{const a=s++;n(a,u),i[e]=a,o[a]=u,r[a]=new RegExp(u,t?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION","(".concat(o[i.NUMERICIDENTIFIER],")\\.")+"(".concat(o[i.NUMERICIDENTIFIER],")\\.")+"(".concat(o[i.NUMERICIDENTIFIER],")")),a("MAINVERSIONLOOSE","(".concat(o[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[i.NUMERICIDENTIFIERLOOSE],")")),a("PRERELEASEIDENTIFIER","(?:".concat(o[i.NUMERICIDENTIFIER],"|").concat(o[i.NONNUMERICIDENTIFIER],")")),a("PRERELEASEIDENTIFIERLOOSE","(?:".concat(o[i.NUMERICIDENTIFIERLOOSE],"|").concat(o[i.NONNUMERICIDENTIFIER],")")),a("PRERELEASE","(?:-(".concat(o[i.PRERELEASEIDENTIFIER],"(?:\\.").concat(o[i.PRERELEASEIDENTIFIER],")*))")),a("PRERELEASELOOSE","(?:-?(".concat(o[i.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(o[i.PRERELEASEIDENTIFIERLOOSE],")*))")),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD","(?:\\+(".concat(o[i.BUILDIDENTIFIER],"(?:\\.").concat(o[i.BUILDIDENTIFIER],")*))")),a("FULLPLAIN","v?".concat(o[i.MAINVERSION]).concat(o[i.PRERELEASE],"?").concat(o[i.BUILD],"?")),a("FULL","^".concat(o[i.FULLPLAIN],"$")),a("LOOSEPLAIN","[v=\\s]*".concat(o[i.MAINVERSIONLOOSE]).concat(o[i.PRERELEASELOOSE],"?").concat(o[i.BUILD],"?")),a("LOOSE","^".concat(o[i.LOOSEPLAIN],"$")),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE","".concat(o[i.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),a("XRANGEIDENTIFIER","".concat(o[i.NUMERICIDENTIFIER],"|x|X|\\*")),a("XRANGEPLAIN","[v=\\s]*(".concat(o[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[i.XRANGEIDENTIFIER],")")+"(?:".concat(o[i.PRERELEASE],")?").concat(o[i.BUILD],"?")+")?)?"),a("XRANGEPLAINLOOSE","[v=\\s]*(".concat(o[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[i.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(o[i.PRERELEASELOOSE],")?").concat(o[i.BUILD],"?")+")?)?"),a("XRANGE","^".concat(o[i.GTLT],"\\s*").concat(o[i.XRANGEPLAIN],"$")),a("XRANGELOOSE","^".concat(o[i.GTLT],"\\s*").concat(o[i.XRANGEPLAINLOOSE],"$")),a("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(t,"})")+"(?:\\.(\\d{1,".concat(t,"}))?")+"(?:\\.(\\d{1,".concat(t,"}))?")+"(?:$|[^\\d])"),a("COERCERTL",o[i.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM","(\\s*)".concat(o[i.LONETILDE],"\\s+"),!0),u.tildeTrimReplace="$1~",a("TILDE","^".concat(o[i.LONETILDE]).concat(o[i.XRANGEPLAIN],"$")),a("TILDELOOSE","^".concat(o[i.LONETILDE]).concat(o[i.XRANGEPLAINLOOSE],"$")),a("LONECARET","(?:\\^)"),a("CARETTRIM","(\\s*)".concat(o[i.LONECARET],"\\s+"),!0),u.caretTrimReplace="$1^",a("CARET","^".concat(o[i.LONECARET]).concat(o[i.XRANGEPLAIN],"$")),a("CARETLOOSE","^".concat(o[i.LONECARET]).concat(o[i.XRANGEPLAINLOOSE],"$")),a("COMPARATORLOOSE","^".concat(o[i.GTLT],"\\s*(").concat(o[i.LOOSEPLAIN],")$|^$")),a("COMPARATOR","^".concat(o[i.GTLT],"\\s*(").concat(o[i.FULLPLAIN],")$|^$")),a("COMPARATORTRIM","(\\s*)".concat(o[i.GTLT],"\\s*(").concat(o[i.LOOSEPLAIN],"|").concat(o[i.XRANGEPLAIN],")"),!0),u.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE","^\\s*(".concat(o[i.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(o[i.XRANGEPLAIN],")")+"\\s*$"),a("HYPHENRANGELOOSE","^\\s*(".concat(o[i.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(o[i.XRANGEPLAINLOOSE],")")+"\\s*$"),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(ns,ns.exports);const rs=["includePrerelease","loose","rtl"];var os=e=>e?"object"!=typeof e?{loose:!0}:rs.filter((u=>e[u])).reduce(((e,u)=>(e[u]=!0,e)),{}):{};const is=/^[0-9]+$/,ss=(e,u)=>{const t=is.test(e),n=is.test(u);return t&&n&&(e=+e,u=+u),e===u?0:t&&!n?-1:n&&!t?1:ess(u,e)};const cs=us,{MAX_LENGTH:Ds,MAX_SAFE_INTEGER:ls}=ts,{re:ps,t:fs}=ns.exports,ds=os,{compareIdentifiers:Fs}=as;class Es{constructor(e,u){if(u=ds(u),e instanceof Es){if(e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>Ds)throw new TypeError("version is longer than ".concat(Ds," characters"));cs("SemVer",e,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const t=e.trim().match(u.loose?ps[fs.LOOSE]:ps[fs.FULL]);if(!t)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>ls||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ls||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ls||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const u=+e;if(u>=0&&u=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}u&&(this.prerelease[0]===u?isNaN(this.prerelease[1])&&(this.prerelease=[u,0]):this.prerelease=[u,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}const Cs=Es;var As=(e,u,t)=>new Cs(e,t).compare(new Cs(u,t));const gs=As;var ms=(e,u,t)=>gs(e,u,t)<0;const hs=As;var ys,Bs,bs,ks,xs,Ps,vs=(e,u,t)=>hs(e,u,t)>=0,ws={exports:{}};!function(e,u){function t(){for(var e=[],u=0;u"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ss(bs||(bs=W(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ss(ks||(ks=W(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ss(xs||(xs=W(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ss(Ps||(Ps=W(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Ns=["cliName","cliCategory","cliDescription"],Is={compare:As,lt:ms,gte:vs},Ls=(e,u)=>Object.entries(e).map((e=>{let[t,n]=e;return Object.assign({[u]:t},n)})),Os="2.5.1",Rs={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Ts}.options;function qs(e,u,t){const n=new Set(e.choices.map((e=>e.value)));for(const r of u)if(r.parsers)for(const u of r.parsers)if(!n.has(u)){n.add(u);const o=t.find((e=>e.parsers&&e.parsers[u]));let i=r.name;o&&o.name&&(i+=" (plugin: ".concat(o.name,")")),e.choices.push({value:u,description:i})}}var js={getSupportInfo:function(){let{plugins:e=[],showUnreleased:u=!1,showDeprecated:t=!1,showInternal:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=Os.split("-",1)[0],o=e.flatMap((e=>e.languages||[])).filter(s),i=Ls(Object.assign({},...e.map((e=>{let{options:u}=e;return u})),Rs),"name").filter((e=>s(e)&&a(e))).sort(((e,u)=>e.name===u.name?0:e.name{u=Object.assign({},u),Array.isArray(u.default)&&(u.default=1===u.default.length?u.default[0].value:u.default.filter(s).sort(((e,u)=>Is.compare(u.since,e.since)))[0].value),Array.isArray(u.choices)&&(u.choices=u.choices.filter((e=>s(e)&&a(e))),"parser"===u.name&&qs(u,o,e));const t=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[u.name])).map((e=>[e.name,e.defaultOptions[u.name]])));return Object.assign(Object.assign({},u),{},{pluginDefaults:t})}));return{languages:o,options:i};function s(e){return u||!("since"in e)||e.since&&Is.gte(r,e.since)}function a(e){return t||!("deprecated"in e)||e.deprecated&&Is.lt(r,e.deprecated)}function c(e){if(n)return e;return J(e,Ns)}}};const Vs=V.exports,Ms=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Us=H,{getSupportInfo:Gs}=js,_s=/[^\x20-\x7F]/;function Xs(e){return(u,t,n)=>{const r=n&&n.backwards;if(!1===t)return!1;const{length:o}=u;let i=t;for(;i>=0&&i2&&void 0!==arguments[2]?arguments[2]:{};const n=zs(e,t.backwards?u-1:u,t),r=Ks(e,n,t);return n!==r}function Qs(e,u){let t=null,n=u;for(;n!==t;)t=n,n=Hs(e,n),n=Ws(e,n),n=zs(e,n);return n=Ys(e,n),n=Ks(e,n),!1!==n&&Zs(e,n)}function ea(e,u){let t=null,n=u;for(;n!==t;)t=n,n=zs(e,n),n=Ws(e,n),n=Ys(e,n),n=Ks(e,n);return n}function ua(e,u,t){return ea(e,t(u))}function ta(e,u){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;for(let r=t;r(e.match(o.regex)||[]).length?o:r}return i}function ra(e,u,t){const n='"'===u?"'":'"',r=e.replace(/\\(.)|(["'])/gs,((e,r,o)=>r===n?r:o===u?"\\"+o:o||(t&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(r)?r:"\\"+r)));return u+r+u}function oa(e,u){(e.comments||(e.comments=[])).push(u),u.printed=!1,u.nodeDescription=function(e){const u=e.type||e.kind||"(unknown type)";let t=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");t.length>20&&(t=t.slice(0,19)+"\u2026");return u+(t?" "+t:"")}(e)}var ia={inferParserByLanguage:function(e,u){const{languages:t}=Gs({plugins:u.plugins}),n=t.find((u=>{let{name:t}=u;return t.toLowerCase()===e}))||t.find((u=>{let{aliases:t}=u;return Array.isArray(t)&&t.includes(e)}))||t.find((u=>{let{extensions:t}=u;return Array.isArray(t)&&t.includes(".".concat(e))}));return n&&n.parsers[0]},getStringWidth:function(e){return e?_s.test(e)?Vs(e):e.length:0},getMaxContinuousCount:function(e,u){const t=e.match(new RegExp("(".concat(Ms(u),")+"),"g"));return null===t?0:t.reduce(((e,t)=>Math.max(e,t.length/u.length)),0)},getMinNotPresentContinuousCount:function(e,u){const t=e.match(new RegExp("(".concat(Ms(u),")+"),"g"));if(null===t)return 0;const n=new Map;let r=0;for(const e of t){const t=e.length/u.length;n.set(t,!0),t>r&&(r=t)}for(let e=1;ee[e.length-2],getLast:Us,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:ea,getNextNonSpaceNonCommentCharacterIndex:ua,getNextNonSpaceNonCommentCharacter:function(e,u,t){return e.charAt(ua(e,u,t))},skip:Xs,skipWhitespace:$s,skipSpaces:zs,skipToLineEnd:Hs,skipEverythingButNewLine:Js,skipInlineComment:Ws,skipTrailingComment:Ys,skipNewline:Ks,isNextLineEmptyAfterIndex:Qs,isNextLineEmpty:function(e,u,t){return Qs(e,t(u))},isPreviousLineEmpty:function(e,u,t){let n=t(u)-1;return n=zs(e,n,{backwards:!0}),n=Ks(e,n,{backwards:!0}),n=zs(e,n,{backwards:!0}),n!==Ks(e,n,{backwards:!0})},hasNewline:Zs,hasNewlineInRange:function(e,u,t){for(let n=u;n2&&void 0!==arguments[2]?arguments[2]:{};const n=zs(e,t.backwards?u-1:u,t);return n!==u},getAlignmentSize:ta,getIndentSize:function(e,u){const t=e.lastIndexOf("\n");return-1===t?0:ta(e.slice(t+1).match(/^[\t ]*/)[0],u)},getPreferredQuote:na,printString:function(e,u){const t=e.slice(1,-1);return ra(t,"json"===u.parser||"json5"===u.parser&&"preserve"===u.quoteProps&&!u.singleQuote?'"':u.__isInHtmlAttribute?"'":na(t,u.singleQuote?"'":'"').quote,!("css"===u.parser||"less"===u.parser||"scss"===u.parser||u.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:ra,addLeadingComment:function(e,u){u.leading=!0,u.trailing=!1,oa(e,u)},addDanglingComment:function(e,u,t){u.leading=!1,u.trailing=!1,t&&(u.marker=t),oa(e,u)},addTrailingComment:function(e,u){u.leading=!1,u.trailing=!0,oa(e,u)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const u=e.indexOf("\n");return-1===u?e:e.slice(0,u)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const u=new WeakMap;return function(t){return u.has(t)||u.set(t,Symbol(e)),u.get(t)}}};var sa={guessEndOfLine:function(e){const u=e.indexOf("\r");return u>=0?"\n"===e.charAt(u+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,u){let t;if("\n"===u)t=/\n/g;else if("\r"===u)t=/\r/g;else{if("\r\n"!==u)throw new Error('Unexpected "eol" '.concat(JSON.stringify(u),"."));t=/\r\n/g}const n=e.match(t);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:aa,strip:ca,extract:Da,print:la}=o,{getShebang:pa}=ia,{normalizeEndOfLine:fa}=sa;function da(e){const u=pa(e);u&&(e=e.slice(u.length+1));const t=Da(e),{pragmas:n,comments:r}=aa(t);return{shebang:u,text:e,pragmas:n,comments:r}}var Fa={hasPragma:function(e){const u=Object.keys(da(e).pragmas);return u.includes("prettier")||u.includes("format")},insertPragma:function(e){const{shebang:u,text:t,pragmas:n,comments:r}=da(e),o=ca(t),i=la({pragmas:Object.assign({format:""},n),comments:r.trimStart()});return(u?"".concat(u,"\n"):"")+fa(i)+(o.startsWith("\n")?"\n":"\n\n")+o}};const{isNonEmptyArray:Ea}=ia;function Ca(e,u){const{ignoreDecorators:t}=u||{};if(!t){const u=e.declaration&&e.declaration.decorators||e.decorators;if(Ea(u))return Ca(u[0])}return e.range?e.range[0]:e.start}function Aa(e){return e.range?e.range[1]:e.end}function ga(e,u){return Ca(e)===Ca(u)}var ma={locStart:Ca,locEnd:Aa,hasSameLocStart:ga,hasSameLoc:function(e,u){return ga(e,u)&&function(e,u){return Aa(e)===Aa(u)}(e,u)}};const{hasPragma:ha}=Fa,{locStart:ya,locEnd:Ba}=ma;var ba=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:ha,locStart:ya,locEnd:Ba},e)},ka={},xa={exports:{}};!function(){function e(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function u(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}xa.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(u){return e(u)||null!=u&&"FunctionDeclaration"===u.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=u(t)}while(t);return!1},trailingStatement:u}}();var Pa={exports:{}};!function(){var e,u,t,n,r,o;function i(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},t=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],n=new Array(128),o=0;o<128;++o)n[o]=o>=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(r=new Array(128),o=0;o<128;++o)r[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;Pa.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&t.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?n[e]:u.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES5:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(i(e))},isIdentifierStartES6:function(u){return u<128?n[u]:e.NonAsciiIdentifierStart.test(i(u))},isIdentifierPartES6:function(u){return u<128?r[u]:e.NonAsciiIdentifierPart.test(i(u))}}}();var va={exports:{}};!function(){var e=Pa.exports;function u(e,u){return!(!u&&"yield"===e)&&t(e,u)}function t(e,u){if(u&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function n(e,t){return"null"===e||"true"===e||"false"===e||u(e,t)}function r(e,u){return"null"===e||"true"===e||"false"===e||t(e,u)}function o(u){var t,n,r;if(0===u.length)return!1;if(r=u.charCodeAt(0),!e.isIdentifierStartES5(r))return!1;for(t=1,n=u.length;t=n)return!1;if(!(56320<=(o=u.charCodeAt(t))&&o<=57343))return!1;r=1024*(r-55296)+(o-56320)+65536}if(!i(r))return!1;i=e.isIdentifierPartES6}return!0}va.exports={isKeywordES5:u,isKeywordES6:t,isReservedWordES5:n,isReservedWordES6:r,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:o,isIdentifierNameES6:i,isIdentifierES5:function(e,u){return o(e)&&!n(e,u)},isIdentifierES6:function(e,u){return i(e)&&!r(e,u)}}}(),ka.ast=xa.exports,ka.code=Pa.exports,ka.keyword=va.exports;const wa=ka.keyword.isIdentifierNameES5,{getLast:Sa,hasNewline:Ta,skipWhitespace:Na,isNonEmptyArray:Ia,isNextLineEmptyAfterIndex:La,getStringWidth:Oa}=ia,{locStart:Ra,locEnd:qa,hasSameLocStart:ja}=ma,Va=new RegExp("^".concat("(?:(?=.)\\s)","*:")),Ma=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function Ua(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function Ga(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const _a=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Xa(e){return e&&_a.has(e.type)}function $a(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function za(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function Ha(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function Ja(e){return uc(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Wa(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Ya(e){return"get"===e.kind||"set"===e.kind}function Ka(e){return Ya(e)||ja(e,e.value)}const Za=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Qa=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const ec=/^(?:skip|[fx]?(?:it|describe|test))$/;function uc(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function tc(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function nc(e){return/^(?:\d+|\d+\.\d+)$/.test(e)}function rc(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function oc(e){return e.extra?e.extra.raw:e.raw}const ic={"==":!0,"!=":!0,"===":!0,"!==":!0},sc={"*":!0,"/":!0,"%":!0},ac={">>":!0,">>>":!0,"<<":!0};const cc={};for(const[e,u]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const t of u)cc[t]=e;function Dc(e){return cc[e]}const lc=new WeakMap;function pc(e){if(lc.has(e))return lc.get(e);const u=[];return e.this&&u.push(e.this),Array.isArray(e.parameters)?u.push(...e.parameters):Array.isArray(e.params)&&u.push(...e.params),e.rest&&u.push(e.rest),lc.set(e,u),u}const fc=new WeakMap;function dc(e){if(fc.has(e))return fc.get(e);let u=e.arguments;return"ImportExpression"===e.type&&(u=[e.source],e.attributes&&u.push(e.attributes)),fc.set(e,u),u}function Fc(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function Ec(e){return e&&(e.prettierIgnore||gc(e,Cc.PrettierIgnore))}const Cc={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Ac=(e,u)=>{if("function"==typeof e&&(u=e,e=0),e||u)return(t,n,r)=>!(e&Cc.Leading&&!t.leading||e&Cc.Trailing&&!t.trailing||e&Cc.Dangling&&(t.leading||t.trailing)||e&Cc.Block&&!Ua(t)||e&Cc.Line&&!Ga(t)||e&Cc.First&&0!==n||e&Cc.Last&&n!==r.length-1||e&Cc.PrettierIgnore&&!Fc(t)||u&&!u(t))};function gc(e,u,t){if(!e||!Ia(e.comments))return!1;const n=Ac(u,t);return!n||e.comments.some(n)}function mc(e,u,t){if(!e||!Array.isArray(e.comments))return[];const n=Ac(u,t);return n?e.comments.filter(n):e.comments}function hc(e){return uc(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var yc={getFunctionParameters:pc,iterateFunctionParametersPath:function(e,u){const t=e.getValue();let n=0;const r=e=>u(e,n++);t.this&&e.call(r,"this"),Array.isArray(t.parameters)?e.each(r,"parameters"):Array.isArray(t.params)&&e.each(r,"params"),t.rest&&e.call(r,"rest")},getCallArguments:dc,iterateCallArgumentsPath:function(e,u){const t=e.getValue();"ImportExpression"===t.type?(e.call((e=>u(e,0)),"source"),t.attributes&&e.call((e=>u(e,1)),"attributes")):e.each(u,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const u=pc(e);return u.length>0&&"RestElement"===Sa(u).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,u){if(u.expressions)return["expressions",0];if(u.left)return["left"];if(u.test)return["test"];if(u.object)return["object"];if(u.callee)return["callee"];if(u.tag)return["tag"];if(u.argument)return["argument"];if(u.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const u=e.getParentNode();return"declaration"===e.getName()&&Xa(u)?u:null},getTypeScriptMappedTypeModifier:function(e,u){return"+"===e?"+"+u:"-"===e?"-"+u:u},hasFlowAnnotationComment:function(e){return Ia(e)&&Ua(e[0])&&Ma.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&Ia(e.trailingComments)&&Ua(e.trailingComments[0])&&Va.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,u){return Wa(u)?Ec(u):gc(u,Cc.Leading,(u=>Ta(e,qa(u))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||uc(e)||tc(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(u,t){if(!u||"object"!=typeof u)return!1;if(Array.isArray(u))return u.some((u=>e(u,t)));const n=t(u);return"boolean"==typeof n?n:Object.values(u).some((u=>e(u,t)))},hasIgnoreComment:function(e){return Ec(e.getValue())},hasNodeIgnoreComment:Ec,identity:function(e){return e},isBinaryish:function(e){return Za.has(e.type)},isBlockComment:Ua,isCallLikeExpression:hc,isEnabledHackPipeline:function(e){return Boolean(e.__isUsingHackPipeline)},isLineComment:Ga,isPrettierIgnoreComment:Fc,isCallExpression:uc,isMemberExpression:tc,isExportDeclaration:Xa,isFlowAnnotationComment:function(e,u){const t=Ra(u),n=Na(e,qa(u));return!1!==n&&"/*"===e.slice(t,t+2)&&"*/"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let u=0;for(const t of e)if(Ha(t)){if(u+=1,u>1)return!0}else if(uc(t))for(const e of t.arguments)if(Ha(e))return!0;return!1},isFunctionNotation:Ka,isFunctionOrArrowExpression:Ha,isGetterOrSetter:Ya,isJestEachTemplateLiteral:function(e,u){const t=/^[fx]?(?:describe|it|test)$/;return"TaggedTemplateExpression"===u.type&&u.quasi===e&&"MemberExpression"===u.tag.type&&"Identifier"===u.tag.property.type&&"each"===u.tag.property.name&&("Identifier"===u.tag.object.type&&t.test(u.tag.object.name)||"MemberExpression"===u.tag.object.type&&"Identifier"===u.tag.object.property.type&&("only"===u.tag.object.property.name||"skip"===u.tag.object.property.name)&&"Identifier"===u.tag.object.object.type&&t.test(u.tag.object.object.name))},isJsxNode:Wa,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const u=e.getValue(),t=e.getParentNode();return uc(u)&&uc(t)&&t.callee===u&&u.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function e(u,t){if(t>=2)return!1;const n=u=>e(u,t+1),r="Literal"===u.type&&"regex"in u&&u.regex.pattern||"RegExpLiteral"===u.type&&u.pattern;return!(r&&Oa(r)>5)&&("Literal"===u.type||"BigIntLiteral"===u.type||"DecimalLiteral"===u.type||"BooleanLiteral"===u.type||"NullLiteral"===u.type||"NumericLiteral"===u.type||"RegExpLiteral"===u.type||"StringLiteral"===u.type||"Identifier"===u.type||"ThisExpression"===u.type||"Super"===u.type||"PrivateName"===u.type||"PrivateIdentifier"===u.type||"ArgumentPlaceholder"===u.type||"Import"===u.type||("TemplateLiteral"===u.type?u.quasis.every((e=>!e.value.raw.includes("\n")))&&u.expressions.every(n):"ObjectExpression"===u.type?u.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):"ArrayExpression"===u.type?u.elements.every((e=>null===e||n(e))):hc(u)?("ImportExpression"===u.type||e(u.callee,t))&&dc(u).every(n):tc(u)?e(u.object,t)&&e(u.property,t):"UnaryExpression"!==u.type||"!"!==u.operator&&"-"!==u.operator?"TSNonNullExpression"===u.type&&e(u.expression,t):e(u.argument,t)))},isMemberish:function(e){return tc(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:$a,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&$a(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"TSMappedType"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Ka(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!Qa.has(e.type))},isSimpleNumber:nc,isSimpleTemplateLiteral:function(e){let u="expressions";"TSTemplateLiteralType"===e.type&&(u="types");const t=e[u];return 0!==t.length&&t.every((e=>{if(gc(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(tc(e)){let u=e;for(;tc(u);){if("Identifier"!==u.property.type&&"Literal"!==u.property.type&&"StringLiteral"!==u.property.type&&"NumericLiteral"!==u.property.type)return!1;if(u=u.object,gc(u))return!1}return"Identifier"===u.type||"ThisExpression"===u.type}return!1}))},isStringLiteral:za,isStringPropSafeToUnquote:function(e,u){return"json"!==u.parser&&za(e.key)&&oc(e.key).slice(1,-1)===e.key.value&&(wa(e.key.value)&&!("babel-ts"===u.parser&&"ClassProperty"===e.type||"typescript"===u.parser&&"PropertyDefinition"===e.type)||nc(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===u.parser||"espree"===u.parser||"meriyah"===u.parser||"__babel_estree"===u.parser))},isTemplateOnItsOwnLine:function(e,u){return("TemplateLiteral"===e.type&&rc(e)||"TaggedTemplateExpression"===e.type&&rc(e.quasi))&&!Ta(u,Ra(e),{backwards:!0})},isTestCall:function e(u,t){if("CallExpression"!==u.type)return!1;if(1===u.arguments.length){if(Ja(u)&&t&&e(t))return Ha(u.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(?:before|after)(?:Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(u))return Ja(u.arguments[0])}else if((2===u.arguments.length||3===u.arguments.length)&&("Identifier"===u.callee.type&&ec.test(u.callee.name)||function(e){return tc(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&ec.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(u))&&(function(e){return"TemplateLiteral"===e.type}(u.arguments[0])||za(u.arguments[0])))return!(u.arguments[2]&&!$a(u.arguments[2]))&&((2===u.arguments.length?Ha(u.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(u.arguments[1])&&pc(u.arguments[1]).length<=1)||Ja(u.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,u){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const t=u.getNode();if(!t.expression||!Wa(t.expression))return!1;const n=u.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||ja(e,e.typeAnnotation))},isNextLineEmpty:(e,u)=>{let{originalText:t}=u;return La(t,qa(e))},needsHardlineAfterDanglingComment:function(e){if(!gc(e))return!1;const u=Sa(mc(e,Cc.Dangling));return u&&!Ua(u)},rawText:oc,shouldPrintComma:function(e){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es5";return"es5"===e.trailingComma&&"es5"===u||"all"===e.trailingComma&&("all"===u||"es5"===u)},isBitwiseOperator:function(e){return Boolean(ac[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,u){return Dc(u)===Dc(e)&&("**"!==e&&((!ic[e]||!ic[u])&&(!("%"===u&&sc[e]||"%"===e&&sc[u])&&((u===e||!sc[u]||!sc[e])&&(!ac[e]||!ac[u])))))},startsWithNoLookaheadToken:function e(u,t){switch((u=function(e){for(;e.left;)e=e.left;return e}(u)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return t;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(u.object,t);case"TaggedTemplateExpression":return"FunctionExpression"!==u.tag.type&&e(u.tag,t);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==u.callee.type&&e(u.callee,t);case"ConditionalExpression":return e(u.test,t);case"UpdateExpression":return!u.prefix&&e(u.argument,t);case"BindExpression":return u.object&&e(u.object,t);case"SequenceExpression":return e(u.expressions[0],t);case"TSAsExpression":case"TSNonNullExpression":return e(u.expression,t);default:return!1}},getPrecedence:Dc,hasComment:gc,getComments:mc,CommentCheckFlags:Cc};const{getLast:Bc,hasNewline:bc,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:kc,getNextNonSpaceNonCommentCharacter:xc,hasNewlineInRange:Pc,addLeadingComment:vc,addTrailingComment:wc,addDanglingComment:Sc,getNextNonSpaceNonCommentCharacterIndex:Tc,isNonEmptyArray:Nc}=ia,{isBlockComment:Ic,getFunctionParameters:Lc,isPrettierIgnoreComment:Oc,isJsxNode:Rc,hasFlowShorthandAnnotationComment:qc,hasFlowAnnotationComment:jc,hasIgnoreComment:Vc,isCallLikeExpression:Mc,getCallArguments:Uc,isCallExpression:Gc,isMemberExpression:_c,isObjectProperty:Xc,getComments:$c,CommentCheckFlags:zc}=yc,{locStart:Hc,locEnd:Jc}=ma;function Wc(e,u){const t=(e.body||e.properties).find((e=>{let{type:u}=e;return"EmptyStatement"!==u}));t?vc(t,u):Sc(e,u)}function Yc(e,u){"BlockStatement"===e.type?Wc(e,u):vc(e,u)}function Kc(e){let{comment:u,followingNode:t}=e;return!(!t||!xD(u))&&(vc(t,u),!0)}function Zc(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r,text:o}=e;if(!n||"IfStatement"!==n.type||!r)return!1;return")"===xc(o,u,Jc)?(wc(t,u),!0):t===n.consequent&&r===n.alternate?("BlockStatement"===t.type?wc(t,u):Sc(n,u),!0):"BlockStatement"===r.type?(Wc(r,u),!0):"IfStatement"===r.type?(Yc(r.consequent,u),!0):n.consequent===r&&(vc(r,u),!0)}function Qc(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r,text:o}=e;if(!n||"WhileStatement"!==n.type||!r)return!1;return")"===xc(o,u,Jc)?(wc(t,u),!0):"BlockStatement"===r.type?(Wc(r,u),!0):n.body===r&&(vc(r,u),!0)}function eD(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r}=e;return!(!n||"TryStatement"!==n.type&&"CatchClause"!==n.type||!r)&&("CatchClause"===n.type&&t?(wc(t,u),!0):"BlockStatement"===r.type?(Wc(r,u),!0):"TryStatement"===r.type?(Yc(r.finalizer,u),!0):"CatchClause"===r.type&&(Yc(r.body,u),!0))}function uD(e){let{comment:u,enclosingNode:t,followingNode:n}=e;return!(!_c(t)||!n||"Identifier"!==n.type)&&(vc(t,u),!0)}function tD(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r,text:o}=e;const i=t&&!Pc(o,Jc(t),Hc(u));return!(t&&i||!n||"ConditionalExpression"!==n.type&&"TSConditionalType"!==n.type||!r)&&(vc(r,u),!0)}function nD(e){let{comment:u,precedingNode:t,enclosingNode:n}=e;return!(!Xc(n)||!n.shorthand||n.key!==t||"AssignmentPattern"!==n.value.type)&&(wc(n.value.left,u),!0)}function rD(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r}=e;if(n&&("ClassDeclaration"===n.type||"ClassExpression"===n.type||"DeclareClass"===n.type||"DeclareInterface"===n.type||"InterfaceDeclaration"===n.type||"TSInterfaceDeclaration"===n.type)){if(Nc(n.decorators)&&(!r||"Decorator"!==r.type))return wc(Bc(n.decorators),u),!0;if(n.body&&r===n.body)return Wc(n.body,u),!0;if(r)for(const e of["implements","extends","mixins"])if(n[e]&&r===n[e][0])return!t||t!==n.id&&t!==n.typeParameters&&t!==n.superClass?Sc(n,u,e):wc(t,u),!0}return!1}function oD(e){let{comment:u,precedingNode:t,enclosingNode:n,text:r}=e;return(n&&t&&("Property"===n.type||"TSDeclareMethod"===n.type||"TSAbstractMethodDefinition"===n.type)&&"Identifier"===t.type&&n.key===t&&":"!==xc(r,t,Jc)||!(!t||!n||"Decorator"!==t.type||"ClassMethod"!==n.type&&"ClassProperty"!==n.type&&"PropertyDefinition"!==n.type&&"TSAbstractPropertyDefinition"!==n.type&&"TSAbstractMethodDefinition"!==n.type&&"TSDeclareMethod"!==n.type&&"MethodDefinition"!==n.type))&&(wc(t,u),!0)}function iD(e){let{comment:u,precedingNode:t,enclosingNode:n,text:r}=e;return"("===xc(r,u,Jc)&&(!(!t||!n||"FunctionDeclaration"!==n.type&&"FunctionExpression"!==n.type&&"ClassMethod"!==n.type&&"MethodDefinition"!==n.type&&"ObjectMethod"!==n.type)&&(wc(t,u),!0))}function sD(e){let{comment:u,enclosingNode:t,text:n}=e;if(!t||"ArrowFunctionExpression"!==t.type)return!1;const r=Tc(n,u,Jc);return!1!==r&&"=>"===n.slice(r,r+2)&&(Sc(t,u),!0)}function aD(e){let{comment:u,enclosingNode:t,text:n}=e;return")"===xc(n,u,Jc)&&(t&&(kD(t)&&0===Lc(t).length||Mc(t)&&0===Uc(t).length)?(Sc(t,u),!0):!(!t||"MethodDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type||0!==Lc(t.value).length)&&(Sc(t.value,u),!0))}function cD(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r,text:o}=e;if(t&&"FunctionTypeParam"===t.type&&n&&"FunctionTypeAnnotation"===n.type&&r&&"FunctionTypeParam"!==r.type)return wc(t,u),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&n&&kD(n)&&")"===xc(o,u,Jc))return wc(t,u),!0;if(n&&"FunctionDeclaration"===n.type&&r&&"BlockStatement"===r.type){const e=(()=>{const e=Lc(n);if(e.length>0)return kc(o,Jc(Bc(e)));const u=kc(o,Jc(n.id));return!1!==u&&kc(o,u+1)})();if(Hc(u)>e)return Wc(r,u),!0}return!1}function DD(e){let{comment:u,enclosingNode:t}=e;return!(!t||"ImportSpecifier"!==t.type)&&(vc(t,u),!0)}function lD(e){let{comment:u,enclosingNode:t}=e;return!(!t||"LabeledStatement"!==t.type)&&(vc(t,u),!0)}function pD(e){let{comment:u,enclosingNode:t}=e;return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(wc(t,u),!0)}function fD(e){let{comment:u,precedingNode:t,enclosingNode:n}=e;return!!(Gc(n)&&t&&n.callee===t&&n.arguments.length>0)&&(vc(n.arguments[0],u),!0)}function dD(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r}=e;return!n||"UnionTypeAnnotation"!==n.type&&"TSUnionType"!==n.type?(r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)&&Oc(u)&&(r.types[0].prettierIgnore=!0,u.unignore=!0),!1):(Oc(u)&&(r.prettierIgnore=!0,u.unignore=!0),!!t&&(wc(t,u),!0))}function FD(e){let{comment:u,enclosingNode:t}=e;return!!Xc(t)&&(vc(t,u),!0)}function ED(e){let{comment:u,enclosingNode:t,followingNode:n,ast:r,isLastComment:o}=e;return r&&r.body&&0===r.body.length?(o?Sc(r,u):vc(r,u),!0):t&&"Program"===t.type&&0===t.body.length&&!Nc(t.directives)?(o?Sc(t,u):vc(t,u),!0):!(!n||"Program"!==n.type||0!==n.body.length||!t||"ModuleExpression"!==t.type)&&(Sc(n,u),!0)}function CD(e){let{comment:u,enclosingNode:t}=e;return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(vc(t,u),!0)}function AD(e){let{comment:u,precedingNode:t,enclosingNode:n,text:r}=e;return!!(t&&"ImportSpecifier"===t.type&&n&&"ImportDeclaration"===n.type&&bc(r,Jc(u)))&&(wc(t,u),!0)}function gD(e){let{comment:u,enclosingNode:t}=e;return!(!t||"AssignmentPattern"!==t.type)&&(vc(t,u),!0)}function mD(e){let{comment:u,enclosingNode:t}=e;return!(!t||"TypeAlias"!==t.type)&&(vc(t,u),!0)}function hD(e){let{comment:u,enclosingNode:t,followingNode:n}=e;return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!n||"ObjectExpression"!==n.type&&"ArrayExpression"!==n.type&&"TemplateLiteral"!==n.type&&"TaggedTemplateExpression"!==n.type&&!Ic(u))&&(vc(n,u),!0)}function yD(e){let{comment:u,enclosingNode:t,followingNode:n,text:r}=e;return!(n||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==xc(r,u,Jc))&&(wc(t,u),!0)}function BD(e){let{comment:u,enclosingNode:t,followingNode:n}=e;if(Oc(u)&&t&&"TSMappedType"===t.type&&n&&"TSTypeParameter"===n.type&&n.constraint)return t.prettierIgnore=!0,u.unignore=!0,!0}function bD(e){let{comment:u,precedingNode:t,enclosingNode:n,followingNode:r}=e;return!(!n||"TSMappedType"!==n.type)&&(r&&"TSTypeParameter"===r.type&&r.name?(vc(r.name,u),!0):!(!t||"TSTypeParameter"!==t.type||!t.constraint)&&(wc(t.constraint,u),!0))}function kD(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function xD(e){return Ic(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var PD={handleOwnLineComment:function(e){return[BD,cD,uD,Zc,Qc,eD,rD,DD,CD,dD,ED,AD,gD,oD,lD].some((u=>u(e)))},handleEndOfLineComment:function(e){return[Kc,cD,tD,DD,Zc,Qc,eD,rD,lD,fD,FD,ED,mD,hD].some((u=>u(e)))},handleRemainingComment:function(e){return[BD,Zc,Qc,nD,aD,oD,ED,sD,iD,bD,pD,yD].some((u=>u(e)))},isTypeCastComment:xD,getCommentChildNodes:function(e,u){if(("typescript"===u.parser||"flow"===u.parser||"espree"===u.parser||"meriyah"===u.parser||"__babel_estree"===u.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===Lc(e.value).length&&!e.value.returnType&&!Nc(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const u=e.getValue(),t=e.getParentNode();return(u&&(Rc(u)||qc(u)||Gc(t)&&(e=>jc($c(e,zc.Leading))||jc($c(e,zc.Trailing)))(u))||t&&("JSXSpreadAttribute"===t.type||"JSXSpreadChild"===t.type||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type||("ClassDeclaration"===t.type||"ClassExpression"===t.type)&&t.superClass===u))&&(!Vc(e)||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type)}};var vD=function e(u,t){let n;if(Array.isArray(u))n=u.entries();else{if(!u||"object"!=typeof u||"string"!=typeof u.type)return u;n=Object.entries(u)}for(const[r,o]of n)u[r]=e(o,t);return Array.isArray(u)?u:t(u)||u};const wD=t,SD=vD;function TD(e,u){const{start:t,end:n}=e.loc;throw wD(u,{start:{line:t.line,column:t.column+1},end:{line:n.line,column:n.column+1}})}var ND={throwErrorForInvalidNodes:function(e,u){const{esTreeNodeToTSNodeMap:t,tsNodeToESTreeNodeMap:n}=u.tsParseResult;e=SD(e,(e=>{const u=t.get(e);if(!u)return;const r=n.get(u);r===e&&(function(e,u,t){const n=e.decorators;if(!Array.isArray(n))return;const r=u.decorators;Array.isArray(r)&&r.length===n.length&&!n.some((e=>{const u=t.get(e);return!u||!r.includes(u)}))||TD(u,"Leading decorators must be attached to a class declaration")}(u,r,n),function(e,u){166!==e.kind||e.modifiers&&!e.modifiers.some((e=>126===e.kind))||e.initializer&&null===u.value&&TD(u,"Abstract property cannot have an initializer")}(u,r))}))}};const{getLast:ID}=ia,{locStart:LD,locEnd:OD}=ma,{isTypeCastComment:RD}=PD,qD=vD,{throwErrorForInvalidNodes:jD}=ND;function VD(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=VD(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=VD(e.object)):"TSNonNullExpression"===e.type&&(e.expression=VD(e.expression)),e}function MD(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function UD(e){return MD(e)?UD({type:"LogicalExpression",operator:e.operator,left:UD({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[LD(e.left),OD(e.right.left)]}),right:e.right.right,range:[LD(e),OD(e)]}):e}var GD=function(e,u){if("typescript"===u.parser&&/@|abstract/.test(u.originalText)&&jD(e,u),"typescript"!==u.parser&&"flow"!==u.parser&&"espree"!==u.parser&&"meriyah"!==u.parser){const u=new Set;e=qD(e,(e=>{e.leadingComments&&e.leadingComments.some(RD)&&u.add(LD(e))})),e=qD(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:t}=e;if("TypeCastExpression"===t.type)return t.range=e.range,t;const n=LD(e);if(!u.has(n))return t.extra=Object.assign(Object.assign({},t.extra),{},{parenthesized:!0}),t}}))}return e=qD(e,(e=>{switch(e.type){case"ChainExpression":return VD(e.expression);case"LogicalExpression":if(MD(e))return UD(e);break;case"VariableDeclaration":{const t=ID(e.declarations);t&&t.init&&function(e,t){if(";"===u.originalText[OD(t)])return;e.range=[LD(e),OD(t)]}(e,t);break}case"TSParenthesizedType":return e.typeAnnotation.range=[LD(e),OD(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const u=LD(e);e.name={type:"Identifier",name:e.name,range:[u,u+e.name.length]}}break;case"SequenceExpression":{const u=ID(e.expressions);e.range=[LD(e),Math.min(OD(u),OD(e))];break}case"TopicReference":u.__isUsingHackPipeline=!0}}))},_D={};Object.defineProperty(_D,"__esModule",{value:!0});const XD={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class $D extends SyntaxError{constructor(e,u,t,n){for(var r=arguments.length,o=new Array(r>4?r-4:0),i=4;io[u]));super("".concat(s)),this.index=e,this.line=u,this.column=t,this.description=s,this.loc={line:u,column:t}}}function zD(e,u){for(var t=arguments.length,n=new Array(t>2?t-2:0),r=2;r4?r-4:0),i=4;i{const t=new Uint32Array(104448);let n=0,r=0;for(;n<3540;){const o=e[n++];if(o<0)r-=o;else{let i=e[n++];2&o&&(i=u[i]),1&o?t.fill(i,r,r+=e[n++]):t[r++]=i}}return t})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function KD(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function ZD(e,u){if(55296!=(64512&u))return 0;const t=e.source.charCodeAt(e.index+1);return 56320!=(64512&t)?0:(u=e.currentChar=65536+((1023&u)<<10)+(1023&t),0==(1&YD[0+(u>>>5)]>>>u)&&zD(e,18,ul(u)),e.index++,e.column++,1)}function QD(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&u)&&(e.column=0,e.line++)}function el(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function ul(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function tl(e){return e<65?e-48:e-65+10&15}const nl=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],rl=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],ol=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function il(e){return e<=127?rl[e]:1&YD[34816+(e>>>5)]>>>e}function sl(e){return e<=127?ol[e]:1&YD[0+(e>>>5)]>>>e||8204===e||8205===e}const al=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function cl(e,u,t,n,r,o,i,s){return 2048&n&&zD(e,0),Dl(e,u,t,r,o,i,s)}function Dl(e,u,t,n,r,o,i){const{index:s}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return zD(e,32)}const r=e.index-1;let o=0,i=e.currentChar;const{index:s}=e;for(;sl(i);){switch(i){case 103:2&o&&zD(e,34,"g"),o|=2;break;case 105:1&o&&zD(e,34,"i"),o|=1;break;case 109:4&o&&zD(e,34,"m"),o|=4;break;case 117:16&o&&zD(e,34,"g"),o|=16;break;case 121:8&o&&zD(e,34,"y"),o|=8;break;case 115:12&o&&zD(e,34,"s"),o|=12;break;default:zD(e,33)}i=KD(e)}const a=e.source.slice(s,e.index),c=e.source.slice(t,r);return e.tokenRegExp={pattern:c,flags:a},512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,u,t){try{return new RegExp(u,t)}catch(u){zD(e,32)}}(e,c,a),65540}function fl(e,u,t){const{index:n}=e;let r="",o=KD(e),i=e.index;for(;0==(8&nl[o]);){if(o===t)return r+=e.source.slice(i,e.index),KD(e),512&u&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=r,134283267;if(8==(8&o)&&92===o){if(r+=e.source.slice(i,e.index),o=KD(e),o<127||8232===o||8233===o){const t=dl(e,u,o);t>=0?r+=ul(t):Fl(e,t,0)}else r+=ul(o);i=e.index+1}e.index>=e.end&&zD(e,14),o=KD(e)}zD(e,14)}function dl(e,u,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:u}{if(0==(64&nl[u]))return-4;const t=e.source.charCodeAt(e.index+1);if(0==(64&nl[t]))return-4;const n=e.source.charCodeAt(e.index+2);if(0==(64&nl[n]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&nl[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),tl(u)<<12|tl(t)<<8|tl(n)<<4|tl(r))}}case 56:case 57:if(0==(256&u))return-3;default:return t}}function Fl(e,u,t){switch(u){case-1:return;case-2:zD(e,t?2:1);case-3:zD(e,13);case-4:zD(e,6);case-5:zD(e,101)}}function El(e,u){const{index:t}=e;let n=67174409,r="",o=KD(e);for(;96!==o;){if(36===o&&123===e.source.charCodeAt(e.index+1)){KD(e),n=67174408;break}if(8==(8&o)&&92===o)if(o=KD(e),o>126)r+=ul(o);else{const t=dl(e,1024|u,o);if(t>=0)r+=ul(t);else{if(-1!==t&&65536&u){r=void 0,o=Cl(e,o),o<0&&(n=67174408);break}Fl(e,t,1)}}else e.index=e.end&&zD(e,15),o=KD(e)}return KD(e),e.tokenValue=r,e.tokenRaw=e.source.slice(t+1,e.index-(67174409===n?1:2)),n}function Cl(e,u){for(;96!==u;){switch(u){case 36:{const t=e.index+1;if(t=e.end&&zD(e,15),u=KD(e)}return u}function Al(e,u){return e.index>=e.end&&zD(e,0),e.index--,e.column--,El(e,u)}function gl(e,u,t){let n=e.currentChar,r=0,o=9,i=64&t?0:1,s=0,a=0;if(64&t)r="."+ml(e,n),n=e.currentChar,110===n&&zD(e,11);else{if(48===n)if(n=KD(e),120==(32|n)){for(t=136,n=KD(e);4160&nl[n];)95!==n?(a=1,r=16*r+tl(n),s++,n=KD(e)):(a||zD(e,146),a=0,n=KD(e));(s<1||!a)&&zD(e,s<1?19:147)}else if(111==(32|n)){for(t=132,n=KD(e);4128&nl[n];)95!==n?(a=1,r=8*r+(n-48),s++,n=KD(e)):(a||zD(e,146),a=0,n=KD(e));(s<1||!a)&&zD(e,s<1?0:147)}else if(98==(32|n)){for(t=130,n=KD(e);4224&nl[n];)95!==n?(a=1,r=2*r+(n-48),s++,n=KD(e)):(a||zD(e,146),a=0,n=KD(e));(s<1||!a)&&zD(e,s<1?0:147)}else if(32&nl[n])for(1024&u&&zD(e,1),t=1;16&nl[n];){if(512&nl[n]){t=32,i=0;break}r=8*r+(n-48),n=KD(e)}else 512&nl[n]?(1024&u&&zD(e,1),e.flags|=64,t=32):95===n&&zD(e,0);if(48&t){if(i){for(;o>=0&&4112&nl[n];)95!==n?(a=0,r=10*r+(n-48),n=KD(e),--o):(n=KD(e),(95===n||32&t)&&WD(e.index,e.line,e.index+1,146),a=1);if(a&&WD(e.index,e.line,e.index+1,147),o>=0&&!il(n)&&46!==n)return e.tokenValue=r,512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}r+=ml(e,n),n=e.currentChar,46===n&&(95===KD(e)&&zD(e,0),t=64,r+="."+ml(e,e.currentChar),n=e.currentChar)}}const c=e.index;let D=0;if(110===n&&128&t)D=1,n=KD(e);else if(101==(32|n)){n=KD(e),256&nl[n]&&(n=KD(e));const{index:u}=e;(16&nl[n])<1&&zD(e,10),r+=e.source.substring(c,u)+ml(e,n),n=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],yl=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Bl(e,u,t){for(;ol[KD(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?yl[e.tokenValue]||208897:kl(e,u,0,t)}function bl(e,u){const t=Pl(e);return sl(t)||zD(e,4),e.tokenValue=ul(t),kl(e,u,1,4&nl[t])}function kl(e,u,t,n){let r=e.index;for(;e.index=2&&o<=11){const n=yl[e.tokenValue];return void 0===n?208897:t?1024&u?209008===n&&0==(4196352&u)?n:36972===n||36864==(36864&n)?122:121:1073741824&u&&0==(8192&u)&&20480==(20480&n)?n:241773===n?1073741824&u?143483:2097152&u?121:n:209007===n&&1073741824&u?143483:36864==(36864&n)||209008===n&&0==(4194304&u)?n:121:n}return 208897}function xl(e){return il(KD(e))||zD(e,93),131}function Pl(e){return 117!==e.source.charCodeAt(e.index+1)&&zD(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let u=0;const t=e.currentChar;if(123===t){const t=e.index-2;for(;64&nl[KD(e)];)u=u<<4|tl(e.currentChar),u>1114111&&WD(t,e.line,e.index+1,101);return 125!==e.currentChar&&WD(t,e.line,e.index-1,6),KD(e),u}0==(64&nl[t])&&zD(e,6);const n=e.source.charCodeAt(e.index+1);0==(64&nl[n])&&zD(e,6);const r=e.source.charCodeAt(e.index+2);0==(64&nl[r])&&zD(e,6);const o=e.source.charCodeAt(e.index+3);0==(64&nl[o])&&zD(e,6);return u=tl(t)<<12|tl(n)<<8|tl(r)<<4|tl(o),e.currentChar=e.source.charCodeAt(e.index+=4),u}(e)}const vl=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function wl(e,u){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=Sl(e,u,0),e.onToken&&1048576!==e.token){const u={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,u)}}function Sl(e,u,t){const n=0===e.index,r=e.source;let o=e.index,i=e.line,s=e.column;for(;e.index=e.end)return 8457014;const u=e.currentChar;return 61===u?(KD(e),4194340):42!==u?8457014:61!==KD(e)?8457273:(KD(e),4194337)}case 8455497:return 61!==KD(e)?8455497:(KD(e),4194343);case 25233970:{KD(e);const u=e.currentChar;return 43===u?(KD(e),33619995):61===u?(KD(e),4194338):25233970}case 25233971:{KD(e);const a=e.currentChar;if(45===a){if(KD(e),(1&t||n)&&62===e.currentChar){0==(256&u)&&zD(e,108),KD(e),t=cl(e,r,t,u,3,o,i,s),o=e.tokenPos,i=e.linePos,s=e.colPos;continue}return 33619996}return 61===a?(KD(e),4194339):25233971}case 8457016:if(KD(e),e.index=48&&l<=57)return gl(e,u,80);if(46===l){const u=e.index+1;if(u=48&&u<=57)))return KD(e),67108991}return 22}}}else{if((8232^c)<=1){t=-5&t|1,el(e);continue}if(55296==(64512&c)||0!=(1&YD[34816+(c>>>5)]>>>c))return 56320==(64512&c)&&(c=(1023&c)<<10|1023&c|65536,0==(1&YD[0+(c>>>5)]>>>c)&&zD(e,18,ul(c)),e.index++,e.currentChar=c),e.column++,e.tokenValue="",kl(e,u,0,0);if(160===(a=c)||65279===a||133===a||5760===a||a>=8192&&a<=8203||8239===a||8287===a||12288===a||8201===a||65519===a){KD(e);continue}zD(e,18,ul(c))}}var a;return 1048576}const Tl={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"\u0102",Acirc:"\xc2",Acy:"\u0410",Afr:"\ud835\udd04",Agrave:"\xc0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2a53",Aogon:"\u0104",Aopf:"\ud835\udd38",ApplyFunction:"\u2061",Aring:"\xc5",Ascr:"\ud835\udc9c",Assign:"\u2254",Atilde:"\xc3",Auml:"\xc4",Backslash:"\u2216",Barv:"\u2ae7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212c",Beta:"\u0392",Bfr:"\ud835\udd05",Bopf:"\ud835\udd39",Breve:"\u02d8",Bscr:"\u212c",Bumpeq:"\u224e",CHcy:"\u0427",COPY:"\xa9",Cacute:"\u0106",Cap:"\u22d2",CapitalDifferentialD:"\u2145",Cayleys:"\u212d",Ccaron:"\u010c",Ccedil:"\xc7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010a",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"\u212d",Chi:"\u03a7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2a74",Congruent:"\u2261",Conint:"\u222f",ContourIntegral:"\u222e",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2a2f",Cscr:"\ud835\udc9e",Cup:"\u22d3",CupCap:"\u224d",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040f",Dagger:"\u2021",Darr:"\u21a1",Dashv:"\u2ae4",Dcaron:"\u010e",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\ud835\udd07",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",Diamond:"\u22c4",DifferentialD:"\u2146",Dopf:"\ud835\udd3b",Dot:"\xa8",DotDot:"\u20dc",DotEqual:"\u2250",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",Downarrow:"\u21d3",Dscr:"\ud835\udc9f",Dstrok:"\u0110",ENG:"\u014a",ETH:"\xd0",Eacute:"\xc9",Ecaron:"\u011a",Ecirc:"\xca",Ecy:"\u042d",Edot:"\u0116",Efr:"\ud835\udd08",Egrave:"\xc8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25fb",EmptyVerySmallSquare:"\u25ab",Eogon:"\u0118",Eopf:"\ud835\udd3c",Epsilon:"\u0395",Equal:"\u2a75",EqualTilde:"\u2242",Equilibrium:"\u21cc",Escr:"\u2130",Esim:"\u2a73",Eta:"\u0397",Euml:"\xcb",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\ud835\udd09",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",Fopf:"\ud835\udd3d",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",HilbertSpace:"\u210b",Hopf:"\u210d",HorizontalLine:"\u2500",Hscr:"\u210b",Hstrok:"\u0126",HumpDownHump:"\u224e",HumpEqual:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xcd",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xcc",Im:"\u2111",Imacr:"\u012a",ImaginaryI:"\u2148",Implies:"\u21d2",Int:"\u222c",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Larr:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",Mopf:"\ud835\udd44",Mscr:"\u2133",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\ud835\udca9",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslash:"\xd8",Otilde:"\xd5",Otimes:"\u2a37",Ouml:"\xd6",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Poincareplane:"\u210c",Popf:"\u2119",Pr:"\u2abb",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Prime:"\u2033",Product:"\u220f",Proportion:"\u2237",Proportional:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUOT:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",REG:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",Rfr:"\u211c",Rho:"\u03a1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",Rightarrow:"\u21d2",Ropf:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",Rscr:"\u211b",Rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Sup:"\u22d1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",THORN:"\xde",TRADE:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",UpEquilibrium:"\u296e",UpTee:"\u22a5",UpTeeArrow:"\u21a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",ZeroWidthSpace:"\u200b",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\ud835\udcb5",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acirc:"\xe2",acute:"\xb4",acy:"\u0430",aelig:"\xe6",af:"\u2061",afr:"\ud835\udd1e",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",amp:"&",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",ap:"\u2248",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",apid:"\u224b",apos:"'",approx:"\u2248",approxeq:"\u224a",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",asymp:"\u2248",asympeq:"\u224d",atilde:"\xe3",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",beta:"\u03b2",beth:"\u2136",between:"\u226c",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",bprime:"\u2035",breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",bumpeq:"\u224f",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",ccaps:"\u2a4d",ccaron:"\u010d",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cedil:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",conint:"\u222e",copf:"\ud835\udd54",coprod:"\u2210",copy:"\xa9",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dArr:"\u21d3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",dcaron:"\u010f",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",ddotseq:"\u2a77",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",dharl:"\u21c3",dharr:"\u21c2",diam:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",dot:"\u02d9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eDDot:"\u2a77",eDot:"\u2251",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\u2256",ecirc:"\xea",ecolon:"\u2255",ecy:"\u044d",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",equals:"=",equest:"\u225f",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",erarr:"\u2971",escr:"\u212f",esdot:"\u2250",esim:"\u2242",eta:"\u03b7",eth:"\xf0",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",gE:"\u2267",gEl:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gammad:"\u03dd",gap:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",gopf:"\ud835\udd58",grave:"`",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hArr:"\u21d4",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",hardcy:"\u044a",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",hbar:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hslash:"\u210f",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xed",ic:"\u2063",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",int:"\u222b",intcal:"\u22ba",integers:"\u2124",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",isin:"\u2208",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAarr:"\u21da",lArr:"\u21d0",lAtail:"\u291b",lBarr:"\u290e",lE:"\u2266",lEg:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",lambda:"\u03bb",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",laquo:"\xab",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lceil:"\u2308",lcub:"{",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21a2",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",leftthreetimes:"\u22cb",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297c",lfloor:"\u230a",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",lstrok:"\u0142",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",measuredangle:"\u2221",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",mstpos:"\u223e",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nGtv:"\u226b\u0338",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nLtv:"\u226a\u0338",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",neArr:"\u21d7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",ngsim:"\u2275",ngt:"\u226f",ngtr:"\u226f",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",njcy:"\u045a",nlArr:"\u21cd",nlE:"\u2266\u0338",nlarr:"\u219a",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219a",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nlsim:"\u2274",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nmid:"\u2224",nopf:"\ud835\udd5f",not:"\xac",notin:"\u2209",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24c8",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",ocirc:"\xf4",ocy:"\u043e",odash:"\u229d",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",oplus:"\u2295",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oscr:"\u2134",oslash:"\xf8",osol:"\u2298",otilde:"\xf5",otimes:"\u2297",otimesas:"\u2a36",ouml:"\xf6",ovbar:"\u233d",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",pointint:"\u2a15",popf:"\ud835\udd61",pound:"\xa3",pr:"\u227a",prE:"\u2ab3",prap:"\u2ab7",prcue:"\u227c",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",prime:"\u2032",primes:"\u2119",prnE:"\u2ab5",prnap:"\u2ab9",prnsim:"\u22e8",prod:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',rAarr:"\u21db",rArr:"\u21d2",rAtail:"\u291c",rBarr:"\u290f",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",reg:"\xae",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",rightarrow:"\u2192",rightarrowtail:"\u21a3",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",rightthreetimes:"\u22cc",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",rsaquo:"\u203a",rscr:"\ud835\udcc7",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",sbquo:"\u201a",sc:"\u227b",scE:"\u2ab4",scap:"\u2ab8",scaron:"\u0161",sccue:"\u227d",sce:"\u2ab0",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",seArr:"\u21d8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",square:"\u25a1",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",subE:"\u2ac5",subdot:"\u2abd",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",supE:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supe:"\u2287",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tbrk:"\u23b4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",thorn:"\xfe",tilde:"\u02dc",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",uArr:"\u21d1",uHar:"\u2963",uacute:"\xfa",uarr:"\u2191",ubrcy:"\u045e",ubreve:"\u016d",ucirc:"\xfb",ucy:"\u0443",udarr:"\u21c5",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",ufr:"\ud835\udd32",ugrave:"\xf9",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",uml:"\xa8",uogon:"\u0173",uopf:"\ud835\udd66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",upsi:"\u03c5",upsih:"\u03d2",upsilon:"\u03c5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",uuml:"\xfc",uwangle:"\u29a7",vArr:"\u21d5",vBar:"\u2ae8",vBarv:"\u2ae9",vDash:"\u22a8",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vcy:"\u0432",vdash:"\u22a2",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",vert:"|",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeetrf:"\u2128",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},Nl={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function Il(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const u=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"\ufffd";e in Nl&&(e=Nl[e]);return String.fromCodePoint(e)}("X"===u||"x"===u?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return Tl[e.slice(1,-1)]||e}))}function Ll(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&nl[e.currentChar]?function(e,u){const t=e.currentChar;let n=KD(e);const r=e.index;for(;n!==t;)e.index>=e.end&&zD(e,14),n=KD(e);n!==t&&zD(e,14);e.tokenValue=e.source.slice(r,e.index),KD(e),512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,u):Sl(e,u,0),e.token}function Ol(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(vl[e.source.charCodeAt(e.index)]){case 8456258:KD(e),47===e.currentChar?(KD(e),e.token=25):e.token=8456258;break;case 2162700:KD(e),e.token=2162700;break;default:{let t=0;for(;e.index2?o-2:0),s=2;s0&&Ml(e,u,209008);Ul(e,32768|u,67174411),t&&(t=Kl(t,1));let a,c=null,D=null,l=0,p=null,f=86090===e.token||241739===e.token||86092===e.token;const{token:d,tokenPos:F,linePos:E,colPos:C}=e;f?241739===d?(p=$p(e,u,0),2240512&e.token?(8738868===e.token?1024&u&&zD(e,64):p=Hl(e,u,F,E,C,{type:"VariableDeclaration",kind:"let",declarations:Ap(e,134217728|u,t,8,32)}),e.assignable=1):1024&u?zD(e,64):(f=!1,e.assignable=1,p=Lp(e,u,p,0,0,F,E,C),274549===e.token&&zD(e,111))):(wl(e,u),p=Hl(e,u,F,E,C,86090===d?{type:"VariableDeclaration",kind:"var",declarations:Ap(e,134217728|u,t,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Ap(e,134217728|u,t,16,32)}),e.assignable=1):1074790417===d?s&&zD(e,79):2097152==(2097152&d)?(p=2162700===d?Qp(e,u,void 0,1,0,0,2,32,F,E,C):Wp(e,u,void 0,1,0,0,2,32,F,E,C),l=e.destructible,256&u&&64&l&&zD(e,60),e.assignable=16&l?2:1,p=Lp(e,134217728|u,p,0,0,e.tokenPos,e.linePos,e.colPos)):p=Ip(e,134217728|u,1,0,1,F,E,C);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&zD(e,77,s?"await":"of"),Gl(e,p),wl(e,32768|u),a=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),Ul(e,32768|u,16);return Hl(e,u,r,o,i,{type:"ForOfStatement",left:p,right:a,body:Fp(e,u,t,n),await:s})}2&e.assignable&&zD(e,77,"in"),Gl(e,p),wl(e,32768|u),s&&zD(e,79),a=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos),Ul(e,32768|u,16);return Hl(e,u,r,o,i,{type:"ForInStatement",body:Fp(e,u,t,n),left:p,right:a})}s&&zD(e,79);f||(8&l&&1077936157!==e.token&&zD(e,77,"loop"),p=vp(e,134217728|u,0,0,F,E,C,p));18===e.token&&(p=xp(e,u,0,e.tokenPos,e.linePos,e.colPos,p));Ul(e,32768|u,1074790417),1074790417!==e.token&&(c=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Ul(e,32768|u,1074790417),16!==e.token&&(D=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Ul(e,32768|u,16);const A=Fp(e,u,t,n);return Hl(e,u,r,o,i,{type:"ForStatement",init:p,test:c,update:D,body:A})}(e,u,t,r,i,s,a);case 20564:return function(e,u,t,n,r,o,i){wl(e,32768|u);const s=Fp(e,u,t,n);Ul(e,u,20580),Ul(e,32768|u,67174411);const a=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return Ul(e,32768|u,16),Ml(e,u,1074790417),Hl(e,u,r,o,i,{type:"DoWhileStatement",body:s,test:a})}(e,u,t,r,i,s,a);case 20580:return function(e,u,t,n,r,o,i){wl(e,u),Ul(e,32768|u,67174411);const s=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Ul(e,32768|u,16);const a=Fp(e,u,t,n);return Hl(e,u,r,o,i,{type:"WhileStatement",test:s,body:a})}(e,u,t,r,i,s,a);case 86112:return function(e,u,t,n,r,o,i){wl(e,u),Ul(e,32768|u,67174411);const s=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Ul(e,u,16),Ul(e,u,2162700);const a=[];let c=0;t&&(t=Kl(t,8));for(;1074790415!==e.token;){const{tokenPos:r,linePos:o,colPos:i}=e;let s=null;const D=[];for(Ml(e,32768|u,20558)?s=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos):(Ul(e,32768|u,20563),c&&zD(e,86),c=1),Ul(e,32768|u,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)D.push(sp(e,4096|u,t,2,{$:n}));a.push(Hl(e,u,r,o,i,{type:"SwitchCase",test:s,consequent:D}))}return Ul(e,32768|u,1074790415),Hl(e,u,r,o,i,{type:"SwitchStatement",discriminant:s,cases:a})}(e,u,t,r,i,s,a);case 1074790417:return function(e,u,t,n,r){return wl(e,32768|u),Hl(e,u,t,n,r,{type:"EmptyStatement"})}(e,u,i,s,a);case 2162700:return cp(e,u,t?Kl(t,2):t,r,i,s,a);case 86114:return function(e,u,t,n,r){wl(e,32768|u),1&e.flags&&zD(e,87);const o=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return ql(e,32768|u),Hl(e,u,t,n,r,{type:"ThrowStatement",argument:o})}(e,u,i,s,a);case 20557:return function(e,u,t,n,r,o){wl(e,32768|u);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;i=$p(e,32768|u,0),zl(e,t,n,0)||zD(e,134,n)}else(135168&u)<1&&zD(e,66);return ql(e,32768|u),Hl(e,u,n,r,o,{type:"BreakStatement",label:i})}(e,u,r,i,s,a);case 20561:return function(e,u,t,n,r,o){(131072&u)<1&&zD(e,65);wl(e,u);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;i=$p(e,32768|u,0),zl(e,t,n,1)||zD(e,134,n)}return ql(e,32768|u),Hl(e,u,n,r,o,{type:"ContinueStatement",label:i})}(e,u,r,i,s,a);case 20579:return function(e,u,t,n,r,o,i){wl(e,32768|u);const s=t?Kl(t,32):void 0,a=cp(e,u,s,{$:n},e.tokenPos,e.linePos,e.colPos),{tokenPos:c,linePos:D,colPos:l}=e,p=Ml(e,32768|u,20559)?function(e,u,t,n,r,o,i){let s=null,a=t;Ml(e,u,67174411)&&(t&&(t=Kl(t,4)),s=Cf(e,u,t,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?zD(e,83):1077936157===e.token&&zD(e,84),Ul(e,32768|u,16),t&&(a=Kl(t,64)));const c=cp(e,u,a,{$:n},e.tokenPos,e.linePos,e.colPos);return Hl(e,u,r,o,i,{type:"CatchClause",param:s,body:c})}(e,u,t,n,c,D,l):null;let f=null;if(20568===e.token){wl(e,32768|u);f=cp(e,u,s?Kl(t,4):void 0,{$:n},e.tokenPos,e.linePos,e.colPos)}p||f||zD(e,85);return Hl(e,u,r,o,i,{type:"TryStatement",block:a,handler:p,finalizer:f})}(e,u,t,r,i,s,a);case 20581:return function(e,u,t,n,r,o,i){wl(e,u),1024&u&&zD(e,88);Ul(e,32768|u,67174411);const s=Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Ul(e,32768|u,16);const a=ap(e,u,t,2,n,0,e.tokenPos,e.linePos,e.colPos);return Hl(e,u,r,o,i,{type:"WithStatement",object:s,body:a})}(e,u,t,r,i,s,a);case 20562:return function(e,u,t,n,r){return wl(e,32768|u),ql(e,32768|u),Hl(e,u,t,n,r,{type:"DebuggerStatement"})}(e,u,i,s,a);case 209007:return pp(e,u,t,n,r,0,i,s,a);case 20559:zD(e,156);case 20568:zD(e,157);case 86106:zD(e,1024&u?73:(256&u)<1?75:74);case 86096:zD(e,76);default:return function(e,u,t,n,r,o,i,s,a){const{tokenValue:c,token:D}=e;let l;if(241739===D)l=$p(e,u,0),1024&u&&zD(e,82),69271571===e.token&&zD(e,81);else l=Rp(e,u,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos);if(143360&D&&21===e.token)return lp(e,u,t,n,r,c,l,D,o,i,s,a);l=Lp(e,u,l,0,0,i,s,a),l=vp(e,u,0,0,i,s,a,l),18===e.token&&(l=xp(e,u,0,i,s,a,l));return Dp(e,u,l,i,s,a)}(e,u,t,n,r,o,i,s,a)}}function cp(e,u,t,n,r,o,i){const s=[];for(Ul(e,32768|u,2162700);1074790415!==e.token;)s.push(sp(e,u,t,2,{$:n}));return Ul(e,32768|u,1074790415),Hl(e,u,r,o,i,{type:"BlockStatement",body:s})}function Dp(e,u,t,n,r,o){return ql(e,32768|u),Hl(e,u,n,r,o,{type:"ExpressionStatement",expression:t})}function lp(e,u,t,n,r,o,i,s,a,c,D,l){_l(e,u,0,s,1),function(e,u,t){let n=u;for(;n;)n["$"+t]&&zD(e,132,t),n=n.$;u["$"+t]=1}(e,r,o),wl(e,32768|u);return Hl(e,u,c,D,l,{type:"LabeledStatement",label:i,body:a&&(1024&u)<1&&256&u&&86106===e.token?Hp(e,u,Kl(t,2),n,0,0,0,e.tokenPos,e.linePos,e.colPos):ap(e,u,t,n,r,a,e.tokenPos,e.linePos,e.colPos)})}function pp(e,u,t,n,r,o,i,s,a){const{token:c,tokenValue:D}=e;let l=$p(e,u,0);if(21===e.token)return lp(e,u,t,n,r,D,l,c,1,i,s,a);const p=1&e.flags;if(!p){if(86106===e.token)return o||zD(e,119),Hp(e,u,t,n,1,0,1,i,s,a);if(143360==(143360&e.token))return l=af(e,u,1,i,s,a),18===e.token&&(l=xp(e,u,0,i,s,a,l)),Dp(e,u,l,i,s,a)}return 67174411===e.token?l=cf(e,u,l,1,1,0,p,i,s,a):(10===e.token&&(rp(e,u,c,1),l=tf(e,u,e.tokenValue,l,0,1,0,i,s,a)),e.assignable=1),l=Lp(e,u,l,0,0,i,s,a),18===e.token&&(l=xp(e,u,0,i,s,a,l)),l=vp(e,u,0,0,i,s,a,l),e.assignable=1,Dp(e,u,l,i,s,a)}function fp(e,u,t,n,r,o,i){return 1074790417!==n&&(e.assignable=2,t=Lp(e,u,t,0,0,r,o,i),1074790417!==e.token&&(t=vp(e,u,0,0,r,o,i,t),18===e.token&&(t=xp(e,u,0,r,o,i,t))),ql(e,32768|u)),8&u&&"Literal"===t.type&&"string"==typeof t.value?Hl(e,u,r,o,i,{type:"ExpressionStatement",expression:t,directive:t.raw.slice(1,-1)}):Hl(e,u,r,o,i,{type:"ExpressionStatement",expression:t})}function dp(e,u,t,n,r,o,i){return 1024&u||(256&u)<1||86106!==e.token?ap(e,u,t,0,{$:n},0,e.tokenPos,e.linePos,e.colPos):Hp(e,u,Kl(t,2),0,0,0,0,r,o,i)}function Fp(e,u,t,n){return ap(e,134217728^(134217728|u)|131072,t,0,{loop:1,$:n},0,e.tokenPos,e.linePos,e.colPos)}function Ep(e,u,t,n,r,o,i,s){wl(e,u);const a=Ap(e,u,t,n,r);return ql(e,32768|u),Hl(e,u,o,i,s,{type:"VariableDeclaration",kind:8&n?"let":"const",declarations:a})}function Cp(e,u,t,n,r,o,i){wl(e,u);const s=Ap(e,u,t,4,n);return ql(e,32768|u),Hl(e,u,r,o,i,{type:"VariableDeclaration",kind:"var",declarations:s})}function Ap(e,u,t,n,r){let o=1;const i=[gp(e,u,t,n,r)];for(;Ml(e,u,18);)o++,i.push(gp(e,u,t,n,r));return o>1&&32&r&&262144&e.token&&zD(e,58,hl[255&e.token]),i}function gp(e,u,t,n,r){const{token:o,tokenPos:i,linePos:s,colPos:a}=e;let c=null;const D=Cf(e,u,t,n,r,i,s,a);return 1077936157===e.token?(wl(e,32768|u),c=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&r||(2097152&o)<1)&&(274549===e.token||8738868===e.token&&(2097152&o||(4&n)<1||1024&u))&&JD(i,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&n||(2097152&o)>0)&&262144!=(262144&e.token)&&zD(e,56,16&n?"const":"destructuring"),Hl(e,u,i,s,a,{type:"VariableDeclarator",id:D,init:c})}function mp(e,u,t){return np(u,e.token)||zD(e,114),537079808==(537079808&e.token)&&zD(e,115),t&&Ql(e,u,t,e.tokenValue,8,0),$p(e,u,0)}function hp(e,u,t){const{tokenPos:n,linePos:r,colPos:o}=e;return wl(e,u),Ul(e,u,77934),134217728==(134217728&e.token)&&JD(n,e.line,e.index,28,hl[255&e.token]),Hl(e,u,n,r,o,{type:"ImportNamespaceSpecifier",local:mp(e,u,t)})}function yp(e,u,t,n){for(wl(e,u);143360&e.token;){let{token:r,tokenValue:o,tokenPos:i,linePos:s,colPos:a}=e;const c=$p(e,u,0);let D;Ml(e,u,77934)?(134217728==(134217728&e.token)||18===e.token?zD(e,103):_l(e,u,16,e.token,0),o=e.tokenValue,D=$p(e,u,0)):(_l(e,u,16,r,0),D=c),t&&Ql(e,u,t,o,8,0),n.push(Hl(e,u,i,s,a,{type:"ImportSpecifier",local:D,imported:c})),1074790415!==e.token&&Ul(e,u,18)}return Ul(e,u,1074790415),n}function Bp(e,u,t,n,r){let o=qp(e,u,Hl(e,u,t,n,r,{type:"Identifier",name:"import"}),t,n,r);return o=Lp(e,u,o,0,0,t,n,r),o=vp(e,u,0,0,t,n,r,o),Dp(e,u,o,t,n,r)}function bp(e,u,t,n,r){let o=jp(e,u,0,t,n,r);return o=Lp(e,u,o,0,0,t,n,r),Dp(e,u,o,t,n,r)}function kp(e,u,t,n,r,o,i,s){let a=Rp(e,u,2,0,t,n,r,1,o,i,s);return a=Lp(e,u,a,r,0,o,i,s),vp(e,u,r,0,o,i,s,a)}function xp(e,u,t,n,r,o,i){const s=[i];for(;Ml(e,32768|u,18);)s.push(kp(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos));return Hl(e,u,n,r,o,{type:"SequenceExpression",expressions:s})}function Pp(e,u,t,n,r,o,i){const s=kp(e,u,n,0,t,r,o,i);return 18===e.token?xp(e,u,t,r,o,i,s):s}function vp(e,u,t,n,r,o,i,s){const{token:a}=e;if(4194304==(4194304&a)){2&e.assignable&&zD(e,24),(!n&&1077936157===a&&"ArrayExpression"===s.type||"ObjectExpression"===s.type)&&Gl(e,s),wl(e,32768|u);const c=kp(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Hl(e,u,r,o,i,n?{type:"AssignmentPattern",left:s,right:c}:{type:"AssignmentExpression",left:s,operator:hl[255&a],right:c})}return 8454144==(8454144&a)&&(s=Tp(e,u,t,r,o,i,4,a,s)),Ml(e,32768|u,22)&&(s=Sp(e,u,s,r,o,i)),s}function wp(e,u,t,n,r,o,i,s){const{token:a}=e;wl(e,32768|u);const c=kp(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return s=Hl(e,u,r,o,i,n?{type:"AssignmentPattern",left:s,right:c}:{type:"AssignmentExpression",left:s,operator:hl[255&a],right:c}),e.assignable=2,s}function Sp(e,u,t,n,r,o){const i=kp(e,134217728^(134217728|u),1,0,0,e.tokenPos,e.linePos,e.colPos);Ul(e,32768|u,21),e.assignable=1;const s=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Hl(e,u,n,r,o,{type:"ConditionalExpression",test:t,consequent:i,alternate:s})}function Tp(e,u,t,n,r,o,i,s,a){const c=8738868&-((134217728&u)>0);let D,l;for(e.assignable=2;8454144&e.token&&(D=e.token,l=3840&D,(524288&D&&268435456&s||524288&s&&268435456&D)&&zD(e,159),!(l+((8457273===D)<<8)-((c===D)<<12)<=i));)wl(e,32768|u),a=Hl(e,u,n,r,o,{type:524288&D||268435456&D?"LogicalExpression":"BinaryExpression",left:a,right:Tp(e,u,t,e.tokenPos,e.linePos,e.colPos,l,D,Ip(e,u,0,t,1,e.tokenPos,e.linePos,e.colPos)),operator:hl[255&D]});return 1077936157===e.token&&zD(e,24),a}function Np(e,u,t,n,r,o){const{tokenPos:i,linePos:s,colPos:a}=e;Ul(e,32768|u,2162700);const c=[],D=u;if(1074790415!==e.token){for(;134283267===e.token;){const{index:t,tokenPos:n,tokenValue:r,token:o}=e,i=zp(e,u);jl(e,t,n,r)&&(u|=1024,128&e.flags&&JD(e.index,e.line,e.tokenPos,63),64&e.flags&&JD(e.index,e.line,e.tokenPos,8)),c.push(fp(e,u,i,o,n,e.linePos,e.colPos))}1024&u&&(r&&(537079808==(537079808&r)&&zD(e,115),36864==(36864&r)&&zD(e,38)),512&e.flags&&zD(e,115),256&e.flags&&zD(e,114)),64&u&&t&&void 0!==o&&(1024&D)<1&&(8192&u)<1&&HD(o)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)c.push(sp(e,u,t,4,{}));return Ul(e,24&n?32768|u:u,1074790415),e.flags&=-193,1077936157===e.token&&zD(e,24),Hl(e,u,i,s,a,{type:"BlockStatement",body:c})}function Ip(e,u,t,n,r,o,i,s){return Lp(e,u,Rp(e,u,2,0,t,0,n,r,o,i,s),n,0,o,i,s)}function Lp(e,u,t,n,r,o,i,s){if(33619968==(33619968&e.token)&&(1&e.flags)<1)t=function(e,u,t,n,r,o){2&e.assignable&&zD(e,52);const{token:i}=e;return wl(e,u),e.assignable=2,Hl(e,u,n,r,o,{type:"UpdateExpression",argument:t,operator:hl[255&i],prefix:!1})}(e,u,t,o,i,s);else if(67108864==(67108864&e.token)){switch(u=134225920^(134225920|u),e.token){case 67108877:wl(e,1073741824|u),e.assignable=1;t=Hl(e,u,o,i,s,{type:"MemberExpression",object:t,computed:!1,property:Op(e,u)});break;case 69271571:{let r=!1;2048==(2048&e.flags)&&(r=!0,e.flags=2048^(2048|e.flags)),wl(e,32768|u);const{tokenPos:a,linePos:c,colPos:D}=e,l=Pp(e,u,n,1,a,c,D);Ul(e,u,20),e.assignable=1,t=Hl(e,u,o,i,s,{type:"MemberExpression",object:t,computed:!0,property:l}),r&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),t;let r=!1;2048==(2048&e.flags)&&(r=!0,e.flags=2048^(2048|e.flags));const a=Xp(e,u,n);e.assignable=2,t=Hl(e,u,o,i,s,{type:"CallExpression",callee:t,arguments:a}),r&&(e.flags|=2048);break}case 67108991:wl(e,u),e.flags|=2048,e.assignable=2,t=function(e,u,t,n,r,o){let i,s=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(s=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){wl(e,32768|u);const{tokenPos:s,linePos:a,colPos:c}=e,D=Pp(e,u,0,1,s,a,c);Ul(e,u,20),e.assignable=2,i=Hl(e,u,n,r,o,{type:"MemberExpression",object:t,computed:!0,optional:!0,property:D})}else if(67174411===e.token){const s=Xp(e,u,0);e.assignable=2,i=Hl(e,u,n,r,o,{type:"CallExpression",callee:t,arguments:s,optional:!0})}else{(143360&e.token)<1&&zD(e,154);const s=$p(e,u,0);e.assignable=2,i=Hl(e,u,n,r,o,{type:"MemberExpression",object:t,computed:!1,optional:!0,property:s})}s&&(e.flags|=2048);return i}(e,u,t,o,i,s);break;default:2048==(2048&e.flags)&&zD(e,160),e.assignable=2,t=Hl(e,u,o,i,s,{type:"TaggedTemplateExpression",tag:t,quasi:67174408===e.token?Up(e,65536|u):Mp(e,u,e.tokenPos,e.linePos,e.colPos)})}t=Lp(e,u,t,0,1,o,i,s)}return 0===r&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),t=Hl(e,u,o,i,s,{type:"ChainExpression",expression:t})),t}function Op(e,u){return(143360&e.token)<1&&131!==e.token&&zD(e,154),1&u&&131===e.token?Ff(e,u,e.tokenPos,e.linePos,e.colPos):$p(e,u,0)}function Rp(e,u,t,n,r,o,i,s,a,c,D){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,u,t,n,r,o,i){if(n&&(e.destructible|=128),4194304&u||2048&u&&8192&u){t&&zD(e,0),8388608&u&&JD(e.index,e.line,e.index,29),wl(e,32768|u);const n=Ip(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&zD(e,31),e.assignable=2,Hl(e,u,r,o,i,{type:"AwaitExpression",argument:n})}return 2048&u&&zD(e,95),uf(e,u,r,o,i)}(e,u,n,i,a,c,D);case 241773:return function(e,u,t,n,r,o,i){if(t&&(e.destructible|=256),2097152&u){wl(e,32768|u),8388608&u&&zD(e,30),n||zD(e,24),22===e.token&&zD(e,120);let t=null,s=!1;return(1&e.flags)<1&&(s=Ml(e,32768|u,8457014),(77824&e.token||s)&&(t=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,Hl(e,u,r,o,i,{type:"YieldExpression",argument:t,delegate:s})}return 1024&u&&zD(e,94,"yield"),uf(e,u,r,o,i)}(e,u,i,r,a,c,D);case 209007:return function(e,u,t,n,r,o,i,s,a,c){const{token:D}=e,l=$p(e,u,o),{flags:p}=e;if((1&p)<1){if(86106===e.token)return Jp(e,u,1,t,s,a,c);if(143360==(143360&e.token))return n||zD(e,0),af(e,u,r,s,a,c)}return i||67174411!==e.token?10===e.token?(rp(e,u,D,1),i&&zD(e,48),tf(e,u,e.tokenValue,l,i,r,0,s,a,c)):l:cf(e,u,l,r,1,0,p,s,a,c)}(e,u,i,s,r,o,n,a,c,D)}const{token:l,tokenValue:p}=e,f=$p(e,65536|u,o);return 10===e.token?(s||zD(e,0),rp(e,u,l,1),tf(e,u,p,f,n,r,0,a,c,D)):(16384&u&&537079928===l&&zD(e,126),241739===l&&(1024&u&&zD(e,109),24&t&&zD(e,97)),e.assignable=1024&u&&537079808==(537079808&l)?2:1,f)}if(134217728==(134217728&e.token))return zp(e,u);switch(e.token){case 33619995:case 33619996:return function(e,u,t,n,r,o,i){t&&zD(e,53),n||zD(e,0);const{token:s}=e;wl(e,32768|u);const a=Ip(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&zD(e,52),e.assignable=2,Hl(e,u,r,o,i,{type:"UpdateExpression",argument:a,operator:hl[255&s],prefix:!0})}(e,u,n,s,a,c,D);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,u,t,n,r,o,i){t||zD(e,0);const s=e.token;wl(e,32768|u);const a=Ip(e,u,0,i,1,e.tokenPos,e.linePos,e.colPos);var c;return 8457273===e.token&&zD(e,31),1024&u&&16863278===s&&("Identifier"===a.type?zD(e,117):(c=a).property&&"PrivateIdentifier"===c.property.type&&zD(e,123)),e.assignable=2,Hl(e,u,n,r,o,{type:"UnaryExpression",operator:hl[255&s],argument:a,prefix:!0})}(e,u,s,a,c,D,i);case 86106:return Jp(e,u,0,i,a,c,D);case 2162700:return function(e,u,t,n,r,o,i){const s=Qp(e,u,void 0,t,n,0,2,0,r,o,i);256&u&&64&e.destructible&&zD(e,60);8&e.destructible&&zD(e,59);return s}(e,u,r?0:1,i,a,c,D);case 69271571:return function(e,u,t,n,r,o,i){const s=Wp(e,u,void 0,t,n,0,2,0,r,o,i);256&u&&64&e.destructible&&zD(e,60);8&e.destructible&&zD(e,59);return s}(e,u,r?0:1,i,a,c,D);case 67174411:return function(e,u,t,n,r,o,i,s){e.flags=128^(128|e.flags);const{tokenPos:a,linePos:c,colPos:D}=e;wl(e,1073774592|u);const l=64&u?Kl({parent:void 0,type:2},1024):void 0;if(Ml(e,u=134217728^(134217728|u),16))return nf(e,u,l,[],t,0,o,i,s);let p,f=0;e.destructible&=-385;let d=[],F=0,E=0;const{tokenPos:C,linePos:A,colPos:g}=e;e.assignable=1;for(;16!==e.token;){const{token:t,tokenPos:o,linePos:i,colPos:s}=e;if(143360&t)l&&Ql(e,u,l,e.tokenValue,1,0),p=Rp(e,u,n,0,1,0,1,1,o,i,s),16===e.token||18===e.token?2&e.assignable?(f|=16,E=1):537079808!=(537079808&t)&&36864!=(36864&t)||(E=1):(1077936157===e.token?E=1:f|=16,p=Lp(e,u,p,1,0,o,i,s),16!==e.token&&18!==e.token&&(p=vp(e,u,1,0,o,i,s,p)));else{if(2097152!=(2097152&t)){if(14===t){p=Kp(e,u,l,16,n,r,0,1,0,o,i,s),16&e.destructible&&zD(e,71),E=1,!F||16!==e.token&&18!==e.token||d.push(p),f|=8;break}if(f|=16,p=kp(e,u,1,0,1,o,i,s),!F||16!==e.token&&18!==e.token||d.push(p),18===e.token&&(F||(F=1,d=[p])),F){for(;Ml(e,32768|u,18);)d.push(kp(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,p=Hl(e,u,C,A,g,{type:"SequenceExpression",expressions:d})}return Ul(e,u,16),e.destructible=f,p}p=2162700===t?Qp(e,1073741824|u,l,0,1,0,n,r,o,i,s):Wp(e,1073741824|u,l,0,1,0,n,r,o,i,s),f|=e.destructible,E=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&f&&zD(e,118),p=Lp(e,u,p,0,0,o,i,s),f|=16,16!==e.token&&18!==e.token&&(p=vp(e,u,0,0,o,i,s,p)))}if(!F||16!==e.token&&18!==e.token||d.push(p),!Ml(e,32768|u,18))break;if(F||(F=1,d=[p]),16===e.token){f|=8;break}}F&&(e.assignable=2,p=Hl(e,u,C,A,g,{type:"SequenceExpression",expressions:d}));Ul(e,u,16),16&f&&8&f&&zD(e,145);if(f|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&f&&zD(e,46),4196352&u&&128&f&&zD(e,29),2098176&u&&256&f&&zD(e,30),E&&(e.flags|=128),nf(e,u,l,F?d:[p],t,0,o,i,s);8&f&&zD(e,139);return e.destructible=256^(256|e.destructible)|f,128&u?Hl(e,u,a,c,D,{type:"ParenthesizedExpression",expression:p}):p}(e,u,r,1,0,a,c,D);case 86021:case 86022:case 86023:return function(e,u,t,n,r){const o=hl[255&e.token],i=86023===e.token?null:"true"===o;return wl(e,u),e.assignable=2,Hl(e,u,t,n,r,512&u?{type:"Literal",value:i,raw:o}:{type:"Literal",value:i})}(e,u,a,c,D);case 86113:return function(e,u){const{tokenPos:t,linePos:n,colPos:r}=e;return wl(e,u),e.assignable=2,Hl(e,u,t,n,r,{type:"ThisExpression"})}(e,u);case 65540:return function(e,u,t,n,r){const{tokenRaw:o,tokenRegExp:i,tokenValue:s}=e;return wl(e,u),e.assignable=2,Hl(e,u,t,n,r,512&u?{type:"Literal",value:s,regex:i,raw:o}:{type:"Literal",value:s,regex:i})}(e,u,a,c,D);case 133:case 86096:return function(e,u,t,n,r,o){let i=null,s=null;const a=lf(e,u=16777216^(16778240|u));a.length&&(n=e.tokenPos,r=e.linePos,o=e.colPos);wl(e,u),4096&e.token&&20567!==e.token&&($l(e,u,e.token)&&zD(e,114),537079808==(537079808&e.token)&&zD(e,115),i=$p(e,u,0));let c=u;Ml(e,32768|u,20567)?(s=Ip(e,u,0,t,0,e.tokenPos,e.linePos,e.colPos),c|=524288):c=524288^(524288|c);const D=ff(e,c,u,void 0,2,0,t);return e.assignable=2,Hl(e,u,n,r,o,1&u?{type:"ClassExpression",id:i,superClass:s,decorators:a,body:D}:{type:"ClassExpression",id:i,superClass:s,body:D})}(e,u,i,a,c,D);case 86111:return function(e,u,t,n,r){switch(wl(e,u),e.token){case 67108991:zD(e,161);case 67174411:(524288&u)<1&&zD(e,26),16384&u&&zD(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&u)<1&&zD(e,27),16384&u&&zD(e,143),e.assignable=1;break;default:zD(e,28,"super")}return Hl(e,u,t,n,r,{type:"Super"})}(e,u,a,c,D);case 67174409:return Mp(e,u,a,c,D);case 67174408:return Up(e,u);case 86109:return function(e,u,t,n,r,o){const i=$p(e,32768|u,0),{tokenPos:s,linePos:a,colPos:c}=e;if(Ml(e,u,67108877)){if(67108864&u&&143494===e.token)return e.assignable=2,function(e,u,t,n,r,o){const i=$p(e,u,0);return Hl(e,u,n,r,o,{type:"MetaProperty",meta:t,property:i})}(e,u,i,n,r,o);zD(e,91)}e.assignable=2,16842752==(16842752&e.token)&&zD(e,62,hl[255&e.token]);const D=Rp(e,u,2,1,0,0,t,1,s,a,c);u=134217728^(134217728|u),67108991===e.token&&zD(e,162);const l=sf(e,u,D,t,s,a,c);return e.assignable=2,Hl(e,u,n,r,o,{type:"NewExpression",callee:l,arguments:67174411===e.token?Xp(e,u,t):[]})}(e,u,i,a,c,D);case 134283389:return Vp(e,u,a,c,D);case 131:return Ff(e,u,a,c,D);case 86108:return function(e,u,t,n,r,o,i){let s=$p(e,u,0);if(67108877===e.token)return qp(e,u,s,r,o,i);t&&zD(e,137);return s=jp(e,u,n,r,o,i),e.assignable=2,Lp(e,u,s,n,0,r,o,i)}(e,u,n,i,a,c,D);case 8456258:if(16&u)return gf(e,u,1,a,c,D);default:if(np(u,e.token))return uf(e,u,a,c,D);zD(e,28,hl[255&e.token])}}function qp(e,u,t,n,r,o){return 0==(2048&u)&&zD(e,163),wl(e,u),143495!==e.token&&"meta"!==e.tokenValue&&zD(e,28,hl[255&e.token]),e.assignable=2,Hl(e,u,n,r,o,{type:"MetaProperty",meta:t,property:$p(e,u,0)})}function jp(e,u,t,n,r,o){Ul(e,32768|u,67174411),14===e.token&&zD(e,138);const i=kp(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos);return Ul(e,u,16),Hl(e,u,n,r,o,{type:"ImportExpression",source:i})}function Vp(e,u,t,n,r){const{tokenRaw:o,tokenValue:i}=e;return wl(e,u),e.assignable=2,Hl(e,u,t,n,r,512&u?{type:"Literal",value:i,bigint:o.slice(0,-1),raw:o}:{type:"Literal",value:i,bigint:o.slice(0,-1)})}function Mp(e,u,t,n,r){e.assignable=2;const{tokenValue:o,tokenRaw:i,tokenPos:s,linePos:a,colPos:c}=e;Ul(e,u,67174409);return Hl(e,u,t,n,r,{type:"TemplateLiteral",expressions:[],quasis:[Gp(e,u,o,i,s,a,c,!0)]})}function Up(e,u){u=134217728^(134217728|u);const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;Ul(e,32768|u,67174408);const s=[Gp(e,u,t,n,r,o,i,!1)],a=[Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&zD(e,80);67174409!==(e.token=Al(e,u));){const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;Ul(e,32768|u,67174408),s.push(Gp(e,u,t,n,r,o,i,!1)),a.push(Pp(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&zD(e,80)}{const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;Ul(e,u,67174409),s.push(Gp(e,u,t,n,r,o,i,!0))}return Hl(e,u,r,o,i,{type:"TemplateLiteral",expressions:a,quasis:s})}function Gp(e,u,t,n,r,o,i,s){const a=Hl(e,u,r,o,i,{type:"TemplateElement",value:{cooked:t,raw:n},tail:s}),c=s?1:2;return 2&u&&(a.start+=1,a.range[0]+=1,a.end-=c,a.range[1]-=c),4&u&&(a.loc.start.column+=1,a.loc.end.column-=c),a}function _p(e,u,t,n,r){Ul(e,32768|(u=134217728^(134217728|u)),14);const o=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,Hl(e,u,t,n,r,{type:"SpreadElement",argument:o})}function Xp(e,u,t){wl(e,32768|u);const n=[];if(16===e.token)return wl(e,u),n;for(;16!==e.token&&(14===e.token?n.push(_p(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(kp(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(wl(e,32768|u),16!==e.token););return Ul(e,u,16),n}function $p(e,u,t){const{tokenValue:n,tokenPos:r,linePos:o,colPos:i}=e;return wl(e,u),Hl(e,u,r,o,i,268435456&u?{type:"Identifier",name:n,pattern:1===t}:{type:"Identifier",name:n})}function zp(e,u){const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;return 134283389===e.token?Vp(e,u,r,o,i):(wl(e,u),e.assignable=2,Hl(e,u,r,o,i,512&u?{type:"Literal",value:t,raw:n}:{type:"Literal",value:t}))}function Hp(e,u,t,n,r,o,i,s,a,c){wl(e,32768|u);const D=r?Vl(e,u,8457014):0;let l,p=null,f=t?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&o)<1&&zD(e,37,"Function");else{const r=4&n&&((8192&u)<1||(2048&u)<1)?4:64;Xl(e,u|(3072&u)<<11,e.token),t&&(4&r?ep(e,u,t,e.tokenValue,r):Ql(e,u,t,e.tokenValue,r,n),f=Kl(f,256),o&&2&o&&up(e,e.tokenValue)),l=e.token,143360&e.token?p=$p(e,u,0):zD(e,28,hl[255&e.token])}u=32243712^(32243712|u)|67108864|2*i+D<<21|(D?0:1073741824),t&&(f=Kl(f,512));return Hl(e,u,s,a,c,{type:"FunctionDeclaration",id:p,params:of(e,8388608|u,f,0,1),body:Np(e,143360^(143360|u),t?Kl(f,128):f,8,l,t?f.scopeError:void 0),async:1===i,generator:1===D})}function Jp(e,u,t,n,r,o,i){wl(e,32768|u);const s=Vl(e,u,8457014),a=2*t+s<<21;let c,D=null,l=64&u?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(Xl(e,32243712^(32243712|u)|a,e.token),l&&(l=Kl(l,256)),c=e.token,D=$p(e,u,0)),u=32243712^(32243712|u)|67108864|a|(s?0:1073741824),l&&(l=Kl(l,512));const p=of(e,8388608|u,l,n,1),f=Np(e,-134377473&u,l?Kl(l,128):l,0,c,void 0);return e.assignable=2,Hl(e,u,r,o,i,{type:"FunctionExpression",id:D,params:p,body:f,async:1===t,generator:1===s})}function Wp(e,u,t,n,r,o,i,s,a,c,D){wl(e,32768|u);const l=[];let p=0;for(u=134217728^(134217728|u);20!==e.token;)if(Ml(e,32768|u,18))l.push(null);else{let n;const{token:a,tokenPos:c,linePos:D,colPos:f,tokenValue:d}=e;if(143360&a)if(n=Rp(e,u,i,0,1,0,r,1,c,D,f),1077936157===e.token){2&e.assignable&&zD(e,24),wl(e,32768|u),t&&Zl(e,u,t,d,i,s);const a=kp(e,u,1,1,r,e.tokenPos,e.linePos,e.colPos);n=Hl(e,u,c,D,f,o?{type:"AssignmentPattern",left:n,right:a}:{type:"AssignmentExpression",operator:"=",left:n,right:a}),p|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?p|=16:t&&Zl(e,u,t,d,i,s),p|=256&e.destructible?256:0|128&e.destructible?128:0):(p|=1&i?32:(2&i)<1?16:0,n=Lp(e,u,n,r,0,c,D,f),18!==e.token&&20!==e.token?(1077936157!==e.token&&(p|=16),n=vp(e,u,r,o,c,D,f,n)):1077936157!==e.token&&(p|=2&e.assignable?16:32));else 2097152&a?(n=2162700===e.token?Qp(e,u,t,0,r,o,i,s,c,D,f):Wp(e,u,t,0,r,o,i,s,c,D,f),p|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(p|=16):8&e.destructible?zD(e,68):(n=Lp(e,u,n,r,0,c,D,f),p=2&e.assignable?16:0,18!==e.token&&20!==e.token?n=vp(e,u,r,o,c,D,f,n):1077936157!==e.token&&(p|=2&e.assignable?16:32))):14===a?(n=Kp(e,u,t,20,i,s,0,r,o,c,D,f),p|=e.destructible,18!==e.token&&20!==e.token&&zD(e,28,hl[255&e.token])):(n=Ip(e,u,1,0,1,c,D,f),18!==e.token&&20!==e.token?(n=vp(e,u,r,o,c,D,f,n),(3&i)<1&&67174411===a&&(p|=16)):2&e.assignable?p|=16:67174411===a&&(p|=1&e.assignable&&3&i?32:16));if(l.push(n),!Ml(e,32768|u,18))break;if(20===e.token)break}Ul(e,u,20);const f=Hl(e,u,a,c,D,{type:o?"ArrayPattern":"ArrayExpression",elements:l});return!n&&4194304&e.token?Yp(e,u,p,r,o,a,c,D,f):(e.destructible=p,f)}function Yp(e,u,t,n,r,o,i,s,a){1077936157!==e.token&&zD(e,24),wl(e,32768|u),16&t&&zD(e,24),r||Gl(e,a);const{tokenPos:c,linePos:D,colPos:l}=e,p=kp(e,u,1,1,n,c,D,l);return e.destructible=72^(72|t)|(128&e.destructible?128:0)|(256&e.destructible?256:0),Hl(e,u,o,i,s,r?{type:"AssignmentPattern",left:a,right:p}:{type:"AssignmentExpression",left:a,operator:"=",right:p})}function Kp(e,u,t,n,r,o,i,s,a,c,D,l){wl(e,32768|u);let p=null,f=0,{token:d,tokenValue:F,tokenPos:E,linePos:C,colPos:A}=e;if(143360&d)e.assignable=1,p=Rp(e,u,r,0,1,0,s,1,E,C,A),d=e.token,p=Lp(e,u,p,s,0,E,C,A),18!==e.token&&e.token!==n&&(2&e.assignable&&1077936157===e.token&&zD(e,68),f|=16,p=vp(e,u,s,a,E,C,A,p)),2&e.assignable?f|=16:d===n||18===d?t&&Zl(e,u,t,F,r,o):f|=32,f|=128&e.destructible?128:0;else if(d===n)zD(e,39);else{if(!(2097152&d)){f|=32,p=Ip(e,u,1,s,1,e.tokenPos,e.linePos,e.colPos);const{token:t,tokenPos:r,linePos:o,colPos:i}=e;return 1077936157===t&&t!==n&&18!==t?(2&e.assignable&&zD(e,24),p=vp(e,u,s,a,r,o,i,p),f|=16):(18===t?f|=16:t!==n&&(p=vp(e,u,s,a,r,o,i,p)),f|=1&e.assignable?32:16),e.destructible=f,e.token!==n&&18!==e.token&&zD(e,155),Hl(e,u,c,D,l,{type:a?"RestElement":"SpreadElement",argument:p})}p=2162700===e.token?Qp(e,u,t,1,s,a,r,o,E,C,A):Wp(e,u,t,1,s,a,r,o,E,C,A),d=e.token,1077936157!==d&&d!==n&&18!==d?(8&e.destructible&&zD(e,68),p=Lp(e,u,p,s,0,E,C,A),f|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(f|=16),p=vp(e,u,s,a,E,C,A,p)):(8454144==(8454144&e.token)&&(p=Tp(e,u,1,E,C,A,4,d,p)),Ml(e,32768|u,22)&&(p=Sp(e,u,p,E,C,A)),f|=2&e.assignable?16:32)):f|=1074790415===n&&1077936157!==d?16:e.destructible}if(e.token!==n)if(1&r&&(f|=i?16:32),Ml(e,32768|u,1077936157)){16&f&&zD(e,24),Gl(e,p);const t=kp(e,u,1,1,s,e.tokenPos,e.linePos,e.colPos);p=Hl(e,u,E,C,A,a?{type:"AssignmentPattern",left:p,right:t}:{type:"AssignmentExpression",left:p,operator:"=",right:t}),f=16}else f|=16;return e.destructible=f,Hl(e,u,c,D,l,{type:a?"RestElement":"SpreadElement",argument:p})}function Zp(e,u,t,n,r,o,i){const s=(64&t)<1?31981568:14680064;let a=64&(u=(u|s)^s|(88&t)<<18|100925440)?Kl({parent:void 0,type:2},512):void 0;const c=function(e,u,t,n,r,o){Ul(e,u,67174411);const i=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&n&&zD(e,35,"Setter","one",""),wl(e,u),i;256&n&&zD(e,35,"Getter","no","s");512&n&&14===e.token&&zD(e,36);u=134217728^(134217728|u);let s=0,a=0;for(;18!==e.token;){let c=null;const{tokenPos:D,linePos:l,colPos:p}=e;if(143360&e.token?((1024&u)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),c=Af(e,u,t,1|n,0,D,l,p)):(2162700===e.token?c=Qp(e,u,t,1,o,1,r,0,D,l,p):69271571===e.token?c=Wp(e,u,t,1,o,1,r,0,D,l,p):14===e.token&&(c=Kp(e,u,t,16,r,0,0,o,1,D,l,p)),a=1,48&e.destructible&&zD(e,47)),1077936157===e.token){wl(e,32768|u),a=1;c=Hl(e,u,D,l,p,{type:"AssignmentPattern",left:c,right:kp(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(s++,i.push(c),!Ml(e,u,18))break;if(16===e.token)break}512&n&&1!==s&&zD(e,35,"Setter","one","");t&&void 0!==t.scopeError&&HD(t.scopeError);a&&(e.flags|=128);return Ul(e,u,16),i}(e,8388608|u,a,t,1,n);a&&(a=Kl(a,128));return Hl(e,u,r,o,i,{type:"FunctionExpression",params:c,body:Np(e,-134230017&u,a,0,void 0,void 0),async:(16&t)>0,generator:(8&t)>0,id:null})}function Qp(e,u,t,n,r,o,i,s,a,c,D){wl(e,u);const l=[];let p=0,f=0;for(u=134217728^(134217728|u);1074790415!==e.token;){const{token:n,tokenValue:a,linePos:c,colPos:D,tokenPos:d}=e;if(14===n)l.push(Kp(e,u,t,1074790415,i,s,0,r,o,d,c,D));else{let F,E=0,C=null;const A=e.token;if(143360&e.token||121===e.token)if(C=$p(e,u,0),18===e.token||1074790415===e.token||1077936157===e.token)if(E|=4,1024&u&&537079808==(537079808&n)?p|=16:_l(e,u,i,n,0),t&&Zl(e,u,t,a,i,s),Ml(e,32768|u,1077936157)){p|=8;const t=kp(e,u,1,1,r,e.tokenPos,e.linePos,e.colPos);p|=256&e.destructible?256:0|128&e.destructible?128:0,F=Hl(e,u,d,c,D,{type:"AssignmentPattern",left:-2147483648&u?Object.assign({},C):C,right:t})}else p|=(209008===n?128:0)|(121===n?16:0),F=-2147483648&u?Object.assign({},C):C;else if(Ml(e,32768|u,21)){const{tokenPos:c,linePos:D,colPos:l}=e;if("__proto__"===a&&f++,143360&e.token){const n=e.token,a=e.tokenValue;p|=121===A?16:0,F=Rp(e,u,i,0,1,0,r,1,c,D,l);const{token:f}=e;F=Lp(e,u,F,r,0,c,D,l),18===e.token||1074790415===e.token?1077936157===f||1074790415===f||18===f?(p|=128&e.destructible?128:0,2&e.assignable?p|=16:t&&143360==(143360&n)&&Zl(e,u,t,a,i,s)):p|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?p|=16:1077936157!==f?p|=32:t&&Zl(e,u,t,a,i,s),F=vp(e,u,r,o,c,D,l,F)):(p|=16,8454144==(8454144&e.token)&&(F=Tp(e,u,1,c,D,l,4,f,F)),Ml(e,32768|u,22)&&(F=Sp(e,u,F,c,D,l)))}else 2097152==(2097152&e.token)?(F=69271571===e.token?Wp(e,u,t,0,r,o,i,s,c,D,l):Qp(e,u,t,0,r,o,i,s,c,D,l),p=e.destructible,e.assignable=16&p?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):8&e.destructible?zD(e,68):(F=Lp(e,u,F,r,0,c,D,l),p=2&e.assignable?16:0,4194304==(4194304&e.token)?F=wp(e,u,r,o,c,D,l,F):(8454144==(8454144&e.token)&&(F=Tp(e,u,1,c,D,l,4,n,F)),Ml(e,32768|u,22)&&(F=Sp(e,u,F,c,D,l)),p|=2&e.assignable?16:32))):(F=Ip(e,u,1,r,1,c,D,l),p|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):(F=Lp(e,u,F,r,0,c,D,l),p=2&e.assignable?16:0,18!==e.token&&1074790415!==n&&(1077936157!==e.token&&(p|=16),F=vp(e,u,r,o,c,D,l,F))))}else 69271571===e.token?(p|=16,209007===n&&(E|=16),E|=2|(12402===n?256:12403===n?512:1),C=ef(e,u,r),p|=e.assignable,F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(p|=16,121===n&&zD(e,92),209007===n&&(1&e.flags&&zD(e,128),E|=16),C=$p(e,u,0),E|=12402===n?256:12403===n?512:1,F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(p|=16,E|=1,F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(p|=16,12402===n||12403===n?zD(e,40):143483===n&&zD(e,92),wl(e,u),E|=9|(209007===n?16:0),143360&e.token?C=$p(e,u,0):134217728==(134217728&e.token)?C=zp(e,u):69271571===e.token?(E|=2,C=ef(e,u,r),p|=e.assignable):zD(e,28,hl[255&e.token]),F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===n&&(E|=16),E|=12402===n?256:12403===n?512:1,p|=16,C=zp(e,u),F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):zD(e,129);else if(134217728==(134217728&e.token))if(C=zp(e,u),21===e.token){Ul(e,32768|u,21);const{tokenPos:c,linePos:D,colPos:l}=e;if("__proto__"===a&&f++,143360&e.token){F=Rp(e,u,i,0,1,0,r,1,c,D,l);const{token:n,tokenValue:a}=e;F=Lp(e,u,F,r,0,c,D,l),18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?p|=16:t&&Zl(e,u,t,a,i,s):p|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(p|=16),F=vp(e,u,r,o,c,D,l,F)):(p|=16,F=vp(e,u,r,o,c,D,l,F))}else 2097152==(2097152&e.token)?(F=69271571===e.token?Wp(e,u,t,0,r,o,i,s,c,D,l):Qp(e,u,t,0,r,o,i,s,c,D,l),p=e.destructible,e.assignable=16&p?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):8!=(8&e.destructible)&&(F=Lp(e,u,F,r,0,c,D,l),p=2&e.assignable?16:0,4194304==(4194304&e.token)?F=wp(e,u,r,o,c,D,l,F):(8454144==(8454144&e.token)&&(F=Tp(e,u,1,c,D,l,4,n,F)),Ml(e,32768|u,22)&&(F=Sp(e,u,F,c,D,l)),p|=2&e.assignable?16:32))):(F=Ip(e,u,1,0,1,c,D,l),p|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):(F=Lp(e,u,F,r,0,c,D,l),p=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(p|=16),F=vp(e,u,r,o,c,D,l,F))))}else 67174411===e.token?(E|=1,F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos),p=16|e.assignable):zD(e,130);else if(69271571===e.token)if(C=ef(e,u,r),p|=256&e.destructible?256:0,E|=2,21===e.token){wl(e,32768|u);const{tokenPos:a,linePos:c,colPos:D,tokenValue:l,token:f}=e;if(143360&e.token){F=Rp(e,u,i,0,1,0,r,1,a,c,D);const{token:n}=e;F=Lp(e,u,F,r,0,a,c,D),4194304==(4194304&e.token)?(p|=2&e.assignable?16:1077936157===n?0:32,F=wp(e,u,r,o,a,c,D,F)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?p|=16:t&&143360==(143360&f)&&Zl(e,u,t,l,i,s):p|=1&e.assignable?32:16:(p|=16,F=vp(e,u,r,o,a,c,D,F))}else 2097152==(2097152&e.token)?(F=69271571===e.token?Wp(e,u,t,0,r,o,i,s,a,c,D):Qp(e,u,t,0,r,o,i,s,a,c,D),p=e.destructible,e.assignable=16&p?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):8&p?zD(e,59):(F=Lp(e,u,F,r,0,a,c,D),p=2&e.assignable?16|p:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(p|=16),F=wp(e,u,r,o,a,c,D,F)):(8454144==(8454144&e.token)&&(F=Tp(e,u,1,a,c,D,4,n,F)),Ml(e,32768|u,22)&&(F=Sp(e,u,F,a,c,D)),p|=2&e.assignable?16:32))):(F=Ip(e,u,1,0,1,a,c,D),p|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):(F=Lp(e,u,F,r,0,a,c,D),p=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(p|=16),F=vp(e,u,r,o,a,c,D,F))))}else 67174411===e.token?(E|=1,F=Zp(e,u,E,r,e.tokenPos,c,D),p=16):zD(e,41);else if(8457014===n)if(Ul(e,32768|u,8457014),E|=8,143360&e.token){const{token:t,line:n,index:o}=e;C=$p(e,u,0),E|=1,67174411===e.token?(p|=16,F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):JD(o,n,o,209007===t?43:12402===t||12403===e.token?42:44,hl[255&t])}else 134217728==(134217728&e.token)?(p|=16,C=zp(e,u),E|=1,F=Zp(e,u,E,r,d,c,D)):69271571===e.token?(p|=16,E|=3,C=ef(e,u,r),F=Zp(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):zD(e,122);else zD(e,28,hl[255&n]);p|=128&e.destructible?128:0,e.destructible=p,l.push(Hl(e,u,d,c,D,{type:"Property",key:C,value:F,kind:768&E?512&E?"set":"get":"init",computed:(2&E)>0,method:(1&E)>0,shorthand:(4&E)>0}))}if(p|=e.destructible,18!==e.token)break;wl(e,u)}Ul(e,u,1074790415),f>1&&(p|=64);const d=Hl(e,u,a,c,D,{type:o?"ObjectPattern":"ObjectExpression",properties:l});return!n&&4194304&e.token?Yp(e,u,p,r,o,a,c,D,d):(e.destructible=p,d)}function ef(e,u,t){wl(e,32768|u);const n=kp(e,134217728^(134217728|u),1,0,t,e.tokenPos,e.linePos,e.colPos);return Ul(e,u,20),n}function uf(e,u,t,n,r){const{tokenValue:o}=e,i=$p(e,u,0);if(e.assignable=1,10===e.token){let s;return 64&u&&(s=Wl(e,u,o)),e.flags=128^(128|e.flags),rf(e,u,s,[i],0,t,n,r)}return i}function tf(e,u,t,n,r,o,i,s,a,c){o||zD(e,54),r&&zD(e,48),e.flags&=-129;return rf(e,u,64&u?Wl(e,u,t):void 0,[n],i,s,a,c)}function nf(e,u,t,n,r,o,i,s,a){r||zD(e,54);for(let u=0;u0&&"constructor"===e.tokenValue&&zD(e,106),1074790415===e.token&&zD(e,105),Ml(e,u,1074790417)?o>0&&zD(e,116):D.push(df(e,u,n,t,r,l,0,i,e.tokenPos,e.linePos,e.colPos))}return Ul(e,8&o?32768|u:u,1074790415),Hl(e,u,s,a,c,{type:"ClassBody",body:D})}function df(e,u,t,n,r,o,i,s,a,c,D){let l=i?32:0,p=null;const{token:f,tokenPos:d,linePos:F,colPos:E}=e;if(176128&f)switch(p=$p(e,u,0),f){case 36972:if(!i&&67174411!==e.token)return df(e,u,t,n,r,o,1,s,a,c,D);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&u&&1073741824==(1073741824&e.token))return Ef(e,u,p,l,o,d,F,E);l|=16|(Vl(e,u,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return Ef(e,u,p,l,o,d,F,E);l|=256}break;case 12403:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return Ef(e,u,p,l,o,d,F,E);l|=512}}else 69271571===f?(l|=2,p=ef(e,n,s)):134217728==(134217728&f)?p=zp(e,u):8457014===f?(l|=8,wl(e,u)):1&u&&131===e.token?(l|=4096,p=Ff(e,u,d,F,E),u|=16384):1&u&&1073741824==(1073741824&e.token)?(l|=128,u|=16384):122===f?(p=$p(e,u,0),67174411!==e.token&&zD(e,28,hl[255&e.token])):zD(e,28,hl[255&e.token]);if(792&l&&(143360&e.token?p=$p(e,u,0):134217728==(134217728&e.token)?p=zp(e,u):69271571===e.token?(l|=2,p=ef(e,u,0)):122===e.token?p=$p(e,u,0):1&u&&131===e.token?(l|=4096,p=Ff(e,u,d,F,E)):zD(e,131)),(2&l)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?zD(e,125):(32&l)<1&&67174411===e.token&&(920&l?zD(e,50,"accessor"):(524288&u)<1&&(32&e.flags?zD(e,51):e.flags|=32)),l|=64):(4096&l)<1&&824&l&&"prototype"===e.tokenValue&&zD(e,49)),1&u&&67174411!==e.token)return Ef(e,u,p,l,o,d,F,E);const C=Zp(e,u,l,s,e.tokenPos,e.linePos,e.colPos);return Hl(e,u,a,c,D,1&u?{type:"MethodDefinition",kind:(32&l)<1&&64&l?"constructor":256&l?"get":512&l?"set":"method",static:(32&l)>0,computed:(2&l)>0,key:p,decorators:o,value:C}:{type:"MethodDefinition",kind:(32&l)<1&&64&l?"constructor":256&l?"get":512&l?"set":"method",static:(32&l)>0,computed:(2&l)>0,key:p,value:C})}function Ff(e,u,t,n,r){wl(e,u);const{tokenValue:o}=e;return"constructor"===o&&zD(e,124),wl(e,u),Hl(e,u,t,n,r,{type:"PrivateIdentifier",name:o})}function Ef(e,u,t,n,r,o,i,s){let a=null;if(8&n&&zD(e,0),1077936157===e.token){wl(e,32768|u);const{tokenPos:t,linePos:n,colPos:r}=e;537079928===e.token&&zD(e,115),a=Rp(e,16384|u,2,0,1,0,0,1,t,n,r),1073741824!=(1073741824&e.token)&&(a=Lp(e,16384|u,a,0,0,t,n,r),a=vp(e,16384|u,0,0,t,n,r,a),18===e.token&&(a=xp(e,u,0,o,i,s,a)))}return Hl(e,u,o,i,s,{type:"PropertyDefinition",key:t,value:a,static:(32&n)>0,computed:(2&n)>0,decorators:r})}function Cf(e,u,t,n,r,o,i,s){if(143360&e.token)return Af(e,u,t,n,r,o,i,s);2097152!=(2097152&e.token)&&zD(e,28,hl[255&e.token]);const a=69271571===e.token?Wp(e,u,t,1,0,1,n,r,o,i,s):Qp(e,u,t,1,0,1,n,r,o,i,s);return 16&e.destructible&&zD(e,47),32&e.destructible&&zD(e,47),a}function Af(e,u,t,n,r,o,i,s){const{tokenValue:a,token:c}=e;return 1024&u&&(537079808==(537079808&c)?zD(e,115):36864==(36864&c)&&zD(e,114)),20480==(20480&c)&&zD(e,99),2099200&u&&241773===c&&zD(e,30),241739===c&&24&n&&zD(e,97),4196352&u&&209008===c&&zD(e,95),wl(e,u),t&&Zl(e,u,t,a,n,r),Hl(e,u,o,i,s,{type:"Identifier",name:a})}function gf(e,u,t,n,r,o){if(wl(e,u),8456259===e.token)return Hl(e,u,n,r,o,{type:"JSXFragment",openingFragment:mf(e,u,n,r,o),children:yf(e,u),closingFragment:hf(e,u,t,e.tokenPos,e.linePos,e.colPos)});let i=null,s=[];const a=function(e,u,t,n,r,o){143360!=(143360&e.token)&&4096!=(4096&e.token)&&zD(e,0);const i=bf(e,u,e.tokenPos,e.linePos,e.colPos),s=function(e,u){const t=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)t.push(xf(e,u,e.tokenPos,e.linePos,e.colPos));return t}(e,u),a=8457016===e.token;8456259===e.token?Ol(e,u):(Ul(e,u,8457016),t?Ul(e,u,8456259):Ol(e,u));return Hl(e,u,n,r,o,{type:"JSXOpeningElement",name:i,attributes:s,selfClosing:a})}(e,u,t,n,r,o);if(!a.selfClosing){s=yf(e,u),i=function(e,u,t,n,r,o){Ul(e,u,25);const i=bf(e,u,e.tokenPos,e.linePos,e.colPos);t?Ul(e,u,8456259):e.token=Ol(e,u);return Hl(e,u,n,r,o,{type:"JSXClosingElement",name:i})}(e,u,t,e.tokenPos,e.linePos,e.colPos);const n=Jl(i.name);Jl(a.name)!==n&&zD(e,149,n)}return Hl(e,u,n,r,o,{type:"JSXElement",children:s,openingElement:a,closingElement:i})}function mf(e,u,t,n,r){return Ol(e,u),Hl(e,u,t,n,r,{type:"JSXOpeningFragment"})}function hf(e,u,t,n,r,o){return Ul(e,u,25),Ul(e,u,8456259),Hl(e,u,n,r,o,{type:"JSXClosingFragment"})}function yf(e,u){const t=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,Ol(e,u),t.push(Bf(e,u,e.tokenPos,e.linePos,e.colPos));return t}function Bf(e,u,t,n,r){return 138===e.token?function(e,u,t,n,r){Ol(e,u);const o={type:"JSXText",value:e.tokenValue};512&u&&(o.raw=e.tokenRaw);return Hl(e,u,t,n,r,o)}(e,u,t,n,r):2162700===e.token?vf(e,u,0,0,t,n,r):8456258===e.token?gf(e,u,0,t,n,r):void zD(e,0)}function bf(e,u,t,n,r){Rl(e);let o=wf(e,u,t,n,r);if(21===e.token)return Pf(e,u,o,t,n,r);for(;Ml(e,u,67108877);)Rl(e),o=kf(e,u,o,t,n,r);return o}function kf(e,u,t,n,r,o){return Hl(e,u,n,r,o,{type:"JSXMemberExpression",object:t,property:wf(e,u,e.tokenPos,e.linePos,e.colPos)})}function xf(e,u,t,n,r){if(2162700===e.token)return function(e,u,t,n,r){wl(e,u),Ul(e,u,14);const o=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Ul(e,u,1074790415),Hl(e,u,t,n,r,{type:"JSXSpreadAttribute",argument:o})}(e,u,t,n,r);Rl(e);let o=null,i=wf(e,u,t,n,r);if(21===e.token&&(i=Pf(e,u,i,t,n,r)),1077936157===e.token){const t=Ll(e,u),{tokenPos:n,linePos:r,colPos:i}=e;switch(t){case 134283267:o=zp(e,u);break;case 8456258:o=gf(e,u,1,n,r,i);break;case 2162700:o=vf(e,u,1,1,n,r,i);break;default:zD(e,148)}}return Hl(e,u,t,n,r,{type:"JSXAttribute",value:o,name:i})}function Pf(e,u,t,n,r,o){Ul(e,u,21);return Hl(e,u,n,r,o,{type:"JSXNamespacedName",namespace:t,name:wf(e,u,e.tokenPos,e.linePos,e.colPos)})}function vf(e,u,t,n,r,o,i){wl(e,u);const{tokenPos:s,linePos:a,colPos:c}=e;if(14===e.token)return function(e,u,t,n,r){Ul(e,u,14);const o=kp(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Ul(e,u,1074790415),Hl(e,u,t,n,r,{type:"JSXSpreadChild",expression:o})}(e,u,s,a,c);let D=null;return 1074790415===e.token?(n&&zD(e,151),D=function(e,u,t,n,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,Hl(e,u,t,n,r,{type:"JSXEmptyExpression"})}(e,u,e.startPos,e.startLine,e.startColumn)):D=kp(e,u,1,0,0,s,a,c),t?Ul(e,u,1074790415):Ol(e,u),Hl(e,u,r,o,i,{type:"JSXExpressionContainer",expression:D})}function wf(e,u,t,n,r){const{tokenValue:o}=e;return wl(e,u),Hl(e,u,t,n,r,{type:"JSXIdentifier",name:o})}var Sf=Object.freeze({__proto__:null});_D.ESTree=Sf,_D.parse=function(e,u){return op(e,u,0)},_D.parseModule=function(e,u){return op(e,u,3072)},_D.parseScript=function(e,u){return op(e,u,0)},_D.version="4.2.0";const Tf=t,Nf=r,If=GD,Lf={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function Of(e,u){const{parse:t}=_D,n=[],r=[],o=t(e,Object.assign(Object.assign({},Lf),{},{module:u,onComment:n,onToken:r}));return o.comments=n,o.tokens=r,o}function Rf(e){const{message:u,line:t,column:n}=e;return"number"!=typeof t?e:Tf(u,{start:{line:t,column:n}})}var qf={parsers:{meriyah:ba((function(e,u){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{result:n,error:r}=Nf((()=>Of(e,!0)),(()=>Of(e,!1)));if(!n)throw Rf(r);return t.originalText=e,If(n,t)}))}};export{qf as default}; diff --git a/node_modules/prettier/esm/parser-postcss.mjs b/node_modules/prettier/esm/parser-postcss.mjs new file mode 100755 index 0000000..c2b8e08 --- /dev/null +++ b/node_modules/prettier/esm/parser-postcss.mjs @@ -0,0 +1 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r=function(e){return e&&e.Math==Math&&e},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||function(){return this}()||Function("return this")(),o={},i=function(e){try{return!!e()}catch(e){return!0}},s=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u=Function.prototype.call,a=u.bind?u.bind(u):function(){return u.apply(u,arguments)},c={},l={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,p=f&&!l.call({1:2},1);c.f=p?function(e){var t=f(this,e);return!!t&&t.enumerable}:l;var h,d,D=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=Function.prototype,m=g.bind,v=g.call,y=m&&m.bind(v),w=m?function(e){return e&&y(v,e)}:function(e){return e&&function(){return v.apply(e,arguments)}},b=w,C=b({}.toString),E=b("".slice),F=function(e){return E(C(e),8,-1)},x=w,A=i,k=F,O=n.Object,_=x("".split),S=A((function(){return!O("z").propertyIsEnumerable(0)}))?function(e){return"String"==k(e)?_(e,""):O(e)}:O,T=n.TypeError,I=function(e){if(null==e)throw T("Can't call method on "+e);return e},N=S,M=I,R=function(e){return N(M(e))},j=function(e){return"function"==typeof e},L=j,B=function(e){return"object"==typeof e?null!==e:L(e)},P=n,U=j,G=function(e){return U(e)?e:void 0},$=function(e,t){return arguments.length<2?G(P[e]):P[e]&&P[e][t]},z=w({}.isPrototypeOf),W=$("navigator","userAgent")||"",V=n,q=W,X=V.process,J=V.Deno,H=X&&X.versions||J&&J.version,Y=H&&H.v8;Y&&(d=(h=Y.split("."))[0]>0&&h[0]<4?1:+(h[0]+h[1])),!d&&q&&(!(h=q.match(/Edge\/(\d+)/))||h[1]>=74)&&(h=q.match(/Chrome\/(\d+)/))&&(d=+h[1]);var K=d,Z=K,Q=i,ee=!!Object.getOwnPropertySymbols&&!Q((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Z&&Z<41})),te=ee&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,re=$,ne=j,oe=z,ie=te,se=n.Object,ue=ie?function(e){return"symbol"==typeof e}:function(e){var t=re("Symbol");return ne(t)&&oe(t.prototype,se(e))},ae=n.String,ce=function(e){try{return ae(e)}catch(e){return"Object"}},le=j,fe=ce,pe=n.TypeError,he=function(e){if(le(e))return e;throw pe(fe(e)+" is not a function")},de=he,De=function(e,t){var r=e[t];return null==r?void 0:de(r)},ge=a,me=j,ve=B,ye=n.TypeError,we={exports:{}},be=n,Ce=Object.defineProperty,Ee=function(e,t){try{Ce(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},Fe=Ee,xe=n["__core-js_shared__"]||Fe("__core-js_shared__",{}),Ae=xe;(we.exports=function(e,t){return Ae[e]||(Ae[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var ke=I,Oe=n.Object,_e=function(e){return Oe(ke(e))},Se=_e,Te=w({}.hasOwnProperty),Ie=Object.hasOwn||function(e,t){return Te(Se(e),t)},Ne=w,Me=0,Re=Math.random(),je=Ne(1..toString),Le=function(e){return"Symbol("+(void 0===e?"":e)+")_"+je(++Me+Re,36)},Be=n,Pe=we.exports,Ue=Ie,Ge=Le,$e=ee,ze=te,We=Pe("wks"),Ve=Be.Symbol,qe=Ve&&Ve.for,Xe=ze?Ve:Ve&&Ve.withoutSetter||Ge,Je=function(e){if(!Ue(We,e)||!$e&&"string"!=typeof We[e]){var t="Symbol."+e;$e&&Ue(Ve,e)?We[e]=Ve[e]:We[e]=ze&&qe?qe(t):Xe(t)}return We[e]},He=a,Ye=B,Ke=ue,Ze=De,Qe=function(e,t){var r,n;if("string"===t&&me(r=e.toString)&&!ve(n=ge(r,e)))return n;if(me(r=e.valueOf)&&!ve(n=ge(r,e)))return n;if("string"!==t&&me(r=e.toString)&&!ve(n=ge(r,e)))return n;throw ye("Can't convert object to primitive value")},et=Je,tt=n.TypeError,rt=et("toPrimitive"),nt=function(e,t){if(!Ye(e)||Ke(e))return e;var r,n=Ze(e,rt);if(n){if(void 0===t&&(t="default"),r=He(n,e,t),!Ye(r)||Ke(r))return r;throw tt("Can't convert object to primitive value")}return void 0===t&&(t="number"),Qe(e,t)},ot=ue,it=function(e){var t=nt(e,"string");return ot(t)?t:t+""},st=B,ut=n.document,at=st(ut)&&st(ut.createElement),ct=function(e){return at?ut.createElement(e):{}},lt=!s&&!i((function(){return 7!=Object.defineProperty(ct("div"),"a",{get:function(){return 7}}).a})),ft=s,pt=a,ht=c,dt=D,Dt=R,gt=it,mt=Ie,vt=lt,yt=Object.getOwnPropertyDescriptor;o.f=ft?yt:function(e,t){if(e=Dt(e),t=gt(t),vt)try{return yt(e,t)}catch(e){}if(mt(e,t))return dt(!pt(ht.f,e,t),e[t])};var wt={},bt=n,Ct=B,Et=bt.String,Ft=bt.TypeError,xt=function(e){if(Ct(e))return e;throw Ft(Et(e)+" is not an object")},At=s,kt=lt,Ot=xt,_t=it,St=n.TypeError,Tt=Object.defineProperty;wt.f=At?Tt:function(e,t,r){if(Ot(e),t=_t(t),Ot(r),kt)try{return Tt(e,t,r)}catch(e){}if("get"in r||"set"in r)throw St("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var It=wt,Nt=D,Mt=s?function(e,t,r){return It.f(e,t,Nt(1,r))}:function(e,t,r){return e[t]=r,e},Rt={exports:{}},jt=j,Lt=xe,Bt=w(Function.toString);jt(Lt.inspectSource)||(Lt.inspectSource=function(e){return Bt(e)});var Pt,Ut,Gt,$t=Lt.inspectSource,zt=j,Wt=$t,Vt=n.WeakMap,qt=zt(Vt)&&/native code/.test(Wt(Vt)),Xt=we.exports,Jt=Le,Ht=Xt("keys"),Yt={},Kt=qt,Zt=n,Qt=w,er=B,tr=Mt,rr=Ie,nr=xe,or=function(e){return Ht[e]||(Ht[e]=Jt(e))},ir=Yt,sr=Zt.TypeError,ur=Zt.WeakMap;if(Kt||nr.state){var ar=nr.state||(nr.state=new ur),cr=Qt(ar.get),lr=Qt(ar.has),fr=Qt(ar.set);Pt=function(e,t){if(lr(ar,e))throw new sr("Object already initialized");return t.facade=e,fr(ar,e,t),t},Ut=function(e){return cr(ar,e)||{}},Gt=function(e){return lr(ar,e)}}else{var pr=or("state");ir[pr]=!0,Pt=function(e,t){if(rr(e,pr))throw new sr("Object already initialized");return t.facade=e,tr(e,pr,t),t},Ut=function(e){return rr(e,pr)?e[pr]:{}},Gt=function(e){return rr(e,pr)}}var hr={set:Pt,get:Ut,has:Gt,enforce:function(e){return Gt(e)?Ut(e):Pt(e,{})},getterFor:function(e){return function(t){var r;if(!er(t)||(r=Ut(t)).type!==e)throw sr("Incompatible receiver, "+e+" required");return r}}},dr=s,Dr=Ie,gr=Function.prototype,mr=dr&&Object.getOwnPropertyDescriptor,vr=Dr(gr,"name"),yr=vr&&"something"===function(){}.name,wr=vr&&(!dr||dr&&mr(gr,"name").configurable),br=n,Cr=j,Er=Ie,Fr=Mt,xr=Ee,Ar=$t,kr={EXISTS:vr,PROPER:yr,CONFIGURABLE:wr}.CONFIGURABLE,Or=hr.get,_r=hr.enforce,Sr=String(String).split("String");(Rt.exports=function(e,t,r,n){var o,i=!!n&&!!n.unsafe,s=!!n&&!!n.enumerable,u=!!n&&!!n.noTargetGet,a=n&&void 0!==n.name?n.name:t;Cr(r)&&("Symbol("===String(a).slice(0,7)&&(a="["+String(a).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Er(r,"name")||kr&&r.name!==a)&&Fr(r,"name",a),(o=_r(r)).source||(o.source=Sr.join("string"==typeof a?a:""))),e!==br?(i?!u&&e[t]&&(s=!0):delete e[t],s?e[t]=r:Fr(e,t,r)):s?e[t]=r:xr(t,r)})(Function.prototype,"toString",(function(){return Cr(this)&&Or(this).source||Ar(this)}));var Tr={},Ir=Math.ceil,Nr=Math.floor,Mr=function(e){var t=+e;return t!=t||0===t?0:(t>0?Nr:Ir)(t)},Rr=Mr,jr=Math.max,Lr=Math.min,Br=Mr,Pr=Math.min,Ur=function(e){return e>0?Pr(Br(e),9007199254740991):0},Gr=function(e){return Ur(e.length)},$r=R,zr=function(e,t){var r=Rr(e);return r<0?jr(r+t,0):Lr(r,t)},Wr=Gr,Vr=function(e){return function(t,r,n){var o,i=$r(t),s=Wr(i),u=zr(n,s);if(e&&r!=r){for(;s>u;)if((o=i[u++])!=o)return!0}else for(;s>u;u++)if((e||u in i)&&i[u]===r)return e||u||0;return!e&&-1}},qr={includes:Vr(!0),indexOf:Vr(!1)},Xr=Ie,Jr=R,Hr=qr.indexOf,Yr=Yt,Kr=w([].push),Zr=function(e,t){var r,n=Jr(e),o=0,i=[];for(r in n)!Xr(Yr,r)&&Xr(n,r)&&Kr(i,r);for(;t.length>o;)Xr(n,r=t[o++])&&(~Hr(i,r)||Kr(i,r));return i},Qr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Tr.f=Object.getOwnPropertyNames||function(e){return Zr(e,Qr)};var en={};en.f=Object.getOwnPropertySymbols;var tn=$,rn=Tr,nn=en,on=xt,sn=w([].concat),un=tn("Reflect","ownKeys")||function(e){var t=rn.f(on(e)),r=nn.f;return r?sn(t,r(e)):t},an=Ie,cn=un,ln=o,fn=wt,pn=i,hn=j,dn=/#|\.prototype\./,Dn=function(e,t){var r=mn[gn(e)];return r==yn||r!=vn&&(hn(t)?pn(t):!!t)},gn=Dn.normalize=function(e){return String(e).replace(dn,".").toLowerCase()},mn=Dn.data={},vn=Dn.NATIVE="N",yn=Dn.POLYFILL="P",wn=Dn,bn=n,Cn=o.f,En=Mt,Fn=Rt.exports,xn=Ee,An=function(e,t){for(var r=cn(t),n=fn.f,o=ln.f,i=0;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},Wn=function(e,t,r,n){for(var o=t.length,i=r.length,s=0,u=0;s3)){if(ao)return!0;if(lo)return lo<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)fo.push({k:t+n,v:r})}for(fo.sort((function(e,t){return t.v-e.v})),n=0;nno(r)?1:-1}}(e)),r=o.length,n=0;n0&&Fo(a))c=xo(a),l=Oo(e,t,a,c,l,i-1)-1;else{if(l>=9007199254740991)throw ko("Exceed the acceptable array length");e[l]=a}l++}f++}return l},_o=Oo,So=w,To=i,Io=j,No=Ln,Mo=$t,Ro=function(){},jo=[],Lo=$("Reflect","construct"),Bo=/^\s*(?:class|function)\b/,Po=So(Bo.exec),Uo=!Bo.exec(Ro),Go=function(e){if(!Io(e))return!1;try{return Lo(Ro,jo,e),!0}catch(e){return!1}},$o=!Lo||To((function(){var e;return Go(Go.call)||!Go(Object)||!Go((function(){e=!0}))||e}))?function(e){if(!Io(e))return!1;switch(No(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Uo||!!Po(Bo,Mo(e))}:Go,zo=n,Wo=wo,Vo=$o,qo=B,Xo=Je("species"),Jo=zo.Array,Ho=function(e){var t;return Wo(e)&&(t=e.constructor,(Vo(t)&&(t===Jo||Wo(t.prototype))||qo(t)&&null===(t=t[Xo]))&&(t=void 0)),void 0===t?Jo:t},Yo=_o,Ko=he,Zo=_e,Qo=Gr,ei=function(e,t){return new(Ho(e))(0===t?0:t)};On({target:"Array",proto:!0},{flatMap:function(e){var t,r=Zo(this),n=Qo(r);return Ko(e),(t=ei(r,0)).length=Yo(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var ti={},ri=ti,ni=Je("iterator"),oi=Array.prototype,ii=Ln,si=De,ui=ti,ai=Je("iterator"),ci=function(e){if(null!=e)return si(e,ai)||si(e,"@@iterator")||ui[ii(e)]},li=a,fi=he,pi=xt,hi=ce,di=ci,Di=n.TypeError,gi=a,mi=xt,vi=De,yi=Eo,wi=a,bi=xt,Ci=ce,Ei=function(e){return void 0!==e&&(ri.Array===e||oi[ni]===e)},Fi=Gr,xi=z,Ai=function(e,t){var r=arguments.length<2?di(e):t;if(fi(r))return pi(li(r,e));throw Di(hi(e)+" is not iterable")},ki=ci,Oi=function(e,t,r){var n,o;mi(e);try{if(!(n=vi(e,"return"))){if("throw"===t)throw r;return r}n=gi(n,e)}catch(e){o=!0,n=e}if("throw"===t)throw r;if(o)throw n;return mi(n),r},_i=n.TypeError,Si=function(e,t){this.stopped=e,this.result=t},Ti=Si.prototype,Ii=it,Ni=wt,Mi=D,Ri=function(e,t,r){var n,o,i,s,u,a,c,l=r&&r.that,f=!(!r||!r.AS_ENTRIES),p=!(!r||!r.IS_ITERATOR),h=!(!r||!r.INTERRUPTED),d=yi(t,l),D=function(e){return n&&Oi(n,"normal",e),new Si(!0,e)},g=function(e){return f?(bi(e),h?d(e[0],e[1],D):d(e[0],e[1])):h?d(e,D):d(e)};if(p)n=e;else{if(!(o=ki(e)))throw _i(Ci(e)+" is not iterable");if(Ei(o)){for(i=0,s=Fi(e);s>i;i++)if((u=g(e[i]))&&xi(Ti,u))return u;return new Si(!1)}n=Ai(e,o)}for(a=n.next;!(c=wi(a,n)).done;){try{u=g(c.value)}catch(e){Oi(n,"throw",e)}if("object"==typeof u&&u&&xi(Ti,u))return u}return new Si(!1)},ji=function(e,t,r){var n=Ii(t);n in e?Ni.f(e,n,Mi(0,r)):e[n]=r};On({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Ri(e,(function(e,r){ji(t,e,r)}),{AS_ENTRIES:!0}),t}});var Li,Bi={exports:{}};Li=Bi,new Function("return this")(),Li.exports=(()=>{var e={5731:e=>{e.exports=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}},6215:(e,t,r)=>{var n=r(8307),o=r(9043),i=r(3885),s=n.TypeError;e.exports=function(e){if(o(e))return e;throw s(i(e)+" is not a function")}},9264:(e,t,r)=>{var n=r(8307),o=r(4835),i=n.String,s=n.TypeError;e.exports=function(e){if(o(e))return e;throw s(i(e)+" is not an object")}},1671:(e,t,r)=>{var n=r(2878),o=r(2445),i=r(4857),s=function(e){return function(t,r,s){var u,a=n(t),c=i(a),l=o(s,c);if(e&&r!=r){for(;c>l;)if((u=a[l++])!=u)return!0}else for(;c>l;l++)if((e||l in a)&&a[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},2485:(e,t,r)=>{var n=r(8026);e.exports=function(e,t){var r=[][e];return!!r&&n((function(){r.call(null,t||function(){throw 1},1)}))}},7895:(e,t,r)=>{var n=r(9747);e.exports=n([].slice)},3107:(e,t,r)=>{var n=r(7895),o=Math.floor,i=function(e,t){var r=e.length,a=o(r/2);return r<8?s(e,t):u(e,i(n(e,0,a),t),i(n(e,a),t),t)},s=function(e,t){for(var r,n,o=e.length,i=1;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},u=function(e,t,r,n){for(var o=t.length,i=r.length,s=0,u=0;s{var n=r(8307),o=r(6017),i=r(4439),s=r(4835),u=r(6993)("species"),a=n.Array;e.exports=function(e){var t;return o(e)&&(t=e.constructor,(i(t)&&(t===a||o(t.prototype))||s(t)&&null===(t=t[u]))&&(t=void 0)),void 0===t?a:t}},8015:(e,t,r)=>{var n=r(5590);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},9887:(e,t,r)=>{var n=r(9747),o=n({}.toString),i=n("".slice);e.exports=function(e){return i(o(e),8,-1)}},3274:(e,t,r)=>{var n=r(8307),o=r(732),i=r(9043),s=r(9887),u=r(6993)("toStringTag"),a=n.Object,c="Arguments"==s(function(){return arguments}());e.exports=o?s:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=a(e),u))?r:c?s(t):"Object"==(n=s(t))&&i(t.callee)?"Arguments":n}},9967:(e,t,r)=>{var n=r(1592),o=r(3405),i=r(2147),s=r(3905);e.exports=function(e,t){for(var r=o(t),u=s.f,a=i.f,c=0;c{var n=r(2508),o=r(3905),i=r(9921);e.exports=n?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},9921:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},2696:(e,t,r)=>{var n=r(4091),o=r(3905),i=r(9921);e.exports=function(e,t,r){var s=n(t);s in e?o.f(e,s,i(0,r)):e[s]=r}},2508:(e,t,r)=>{var n=r(8026);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},9382:(e,t,r)=>{var n=r(8307),o=r(4835),i=n.document,s=o(i)&&o(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},8363:(e,t,r)=>{var n=r(2684).match(/firefox\/(\d+)/i);e.exports=!!n&&+n[1]},475:(e,t,r)=>{var n=r(2684);e.exports=/MSIE|Trident/.test(n)},2684:(e,t,r)=>{var n=r(2776);e.exports=n("navigator","userAgent")||""},5154:(e,t,r)=>{var n,o,i=r(8307),s=r(2684),u=i.process,a=i.Deno,c=u&&u.versions||a&&a.version,l=c&&c.v8;l&&(o=(n=l.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(o=+n[1]),e.exports=o},9833:(e,t,r)=>{var n=r(2684).match(/AppleWebKit\/(\d+)\./);e.exports=!!n&&+n[1]},3066:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8571:(e,t,r)=>{var n=r(8307),o=r(2147).f,i=r(2225),s=r(7680),u=r(5392),a=r(9967),c=r(3070);e.exports=function(e,t){var r,l,f,p,h,d=e.target,D=e.global,g=e.stat;if(r=D?n:g?n[d]||u(d,{}):(n[d]||{}).prototype)for(l in t){if(p=t[l],f=e.noTargetGet?(h=o(r,l))&&h.value:r[l],!c(D?l:d+(g?".":"#")+l,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;a(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),s(r,l,p,e)}}},8026:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},1805:(e,t,r)=>{var n=r(8307),o=r(6017),i=r(4857),s=r(2295),u=n.TypeError,a=function(e,t,r,n,c,l,f,p){for(var h,d,D=c,g=0,m=!!f&&s(f,p);g0&&o(h))d=i(h),D=a(e,t,h,d,D,l-1)-1;else{if(D>=9007199254740991)throw u("Exceed the acceptable array length");e[D]=h}D++}g++}return D};e.exports=a},2295:(e,t,r)=>{var n=r(9747),o=r(6215),i=n(n.bind);e.exports=function(e,t){return o(e),void 0===t?e:i?i(e,t):function(){return e.apply(t,arguments)}}},4512:e=>{var t=Function.prototype.call;e.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},8762:(e,t,r)=>{var n=r(2508),o=r(1592),i=Function.prototype,s=n&&Object.getOwnPropertyDescriptor,u=o(i,"name"),a=u&&"something"===function(){}.name,c=u&&(!n||n&&s(i,"name").configurable);e.exports={EXISTS:u,PROPER:a,CONFIGURABLE:c}},9747:e=>{var t=Function.prototype,r=t.bind,n=t.call,o=r&&r.bind(n);e.exports=r?function(e){return e&&o(n,e)}:function(e){return e&&function(){return n.apply(e,arguments)}}},2776:(e,t,r)=>{var n=r(8307),o=r(9043),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(n[e]):n[e]&&n[e][t]}},1670:(e,t,r)=>{var n=r(3274),o=r(2382),i=r(311),s=r(6993)("iterator");e.exports=function(e){if(null!=e)return o(e,s)||o(e,"@@iterator")||i[n(e)]}},9121:(e,t,r)=>{var n=r(8307),o=r(4512),i=r(6215),s=r(9264),u=r(3885),a=r(1670),c=n.TypeError;e.exports=function(e,t){var r=arguments.length<2?a(e):t;if(i(r))return s(o(r,e));throw c(u(e)+" is not iterable")}},2382:(e,t,r)=>{var n=r(6215);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},8307:(e,t,r)=>{var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},1592:(e,t,r)=>{var n=r(9747),o=r(6258),i=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(o(e),t)}},638:e=>{e.exports={}},6949:(e,t,r)=>{var n=r(2508),o=r(8026),i=r(9382);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},3895:(e,t,r)=>{var n=r(8307),o=r(9747),i=r(8026),s=r(9887),u=n.Object,a=o("".split);e.exports=i((function(){return!u("z").propertyIsEnumerable(0)}))?function(e){return"String"==s(e)?a(e,""):u(e)}:u},1756:(e,t,r)=>{var n=r(9747),o=r(9043),i=r(3352),s=n(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return s(e)}),e.exports=i.inspectSource},8336:(e,t,r)=>{var n,o,i,s=r(9740),u=r(8307),a=r(9747),c=r(4835),l=r(2225),f=r(1592),p=r(3352),h=r(3647),d=r(638),D="Object already initialized",g=u.TypeError,m=u.WeakMap;if(s||p.state){var v=p.state||(p.state=new m),y=a(v.get),w=a(v.has),b=a(v.set);n=function(e,t){if(w(v,e))throw new g(D);return t.facade=e,b(v,e,t),t},o=function(e){return y(v,e)||{}},i=function(e){return w(v,e)}}else{var C=h("state");d[C]=!0,n=function(e,t){if(f(e,C))throw new g(D);return t.facade=e,l(e,C,t),t},o=function(e){return f(e,C)?e[C]:{}},i=function(e){return f(e,C)}}e.exports={set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=o(t)).type!==e)throw g("Incompatible receiver, "+e+" required");return r}}}},1710:(e,t,r)=>{var n=r(6993),o=r(311),i=n("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||s[i]===e)}},6017:(e,t,r)=>{var n=r(9887);e.exports=Array.isArray||function(e){return"Array"==n(e)}},9043:e=>{e.exports=function(e){return"function"==typeof e}},4439:(e,t,r)=>{var n=r(9747),o=r(8026),i=r(9043),s=r(3274),u=r(2776),a=r(1756),c=function(){},l=[],f=u("Reflect","construct"),p=/^\s*(?:class|function)\b/,h=n(p.exec),d=!p.exec(c),D=function(e){if(!i(e))return!1;try{return f(c,l,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return D(D.call)||!D(Object)||!D((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(s(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return d||!!h(p,a(e))}:D},3070:(e,t,r)=>{var n=r(8026),o=r(9043),i=/#|\.prototype\./,s=function(e,t){var r=a[u(e)];return r==l||r!=c&&(o(t)?n(t):!!t)},u=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},a=s.data={},c=s.NATIVE="N",l=s.POLYFILL="P";e.exports=s},4835:(e,t,r)=>{var n=r(9043);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},151:e=>{e.exports=!1},4998:(e,t,r)=>{var n=r(8307),o=r(2776),i=r(9043),s=r(9359),u=r(9145),a=n.Object;e.exports=u?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return i(t)&&s(t.prototype,a(e))}},3063:(e,t,r)=>{var n=r(8307),o=r(2295),i=r(4512),s=r(9264),u=r(3885),a=r(1710),c=r(4857),l=r(9359),f=r(9121),p=r(1670),h=r(835),d=n.TypeError,D=function(e,t){this.stopped=e,this.result=t},g=D.prototype;e.exports=function(e,t,r){var n,m,v,y,w,b,C,E=r&&r.that,F=!(!r||!r.AS_ENTRIES),x=!(!r||!r.IS_ITERATOR),A=!(!r||!r.INTERRUPTED),k=o(t,E),O=function(e){return n&&h(n,"normal",e),new D(!0,e)},_=function(e){return F?(s(e),A?k(e[0],e[1],O):k(e[0],e[1])):A?k(e,O):k(e)};if(x)n=e;else{if(!(m=p(e)))throw d(u(e)+" is not iterable");if(a(m)){for(v=0,y=c(e);y>v;v++)if((w=_(e[v]))&&l(g,w))return w;return new D(!1)}n=f(e,m)}for(b=n.next;!(C=i(b,n)).done;){try{w=_(C.value)}catch(e){h(n,"throw",e)}if("object"==typeof w&&w&&l(g,w))return w}return new D(!1)}},835:(e,t,r)=>{var n=r(4512),o=r(9264),i=r(2382);e.exports=function(e,t,r){var s,u;o(e);try{if(!(s=i(e,"return"))){if("throw"===t)throw r;return r}s=n(s,e)}catch(e){u=!0,s=e}if("throw"===t)throw r;if(u)throw s;return o(s),r}},311:e=>{e.exports={}},4857:(e,t,r)=>{var n=r(1942);e.exports=function(e){return n(e.length)}},4654:(e,t,r)=>{var n=r(5154),o=r(8026);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},9740:(e,t,r)=>{var n=r(8307),o=r(9043),i=r(1756),s=n.WeakMap;e.exports=o(s)&&/native code/.test(i(s))},3905:(e,t,r)=>{var n=r(8307),o=r(2508),i=r(6949),s=r(9264),u=r(4091),a=n.TypeError,c=Object.defineProperty;t.f=o?c:function(e,t,r){if(s(e),t=u(t),s(r),i)try{return c(e,t,r)}catch(e){}if("get"in r||"set"in r)throw a("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},2147:(e,t,r)=>{var n=r(2508),o=r(4512),i=r(3806),s=r(9921),u=r(2878),a=r(4091),c=r(1592),l=r(6949),f=Object.getOwnPropertyDescriptor;t.f=n?f:function(e,t){if(e=u(e),t=a(t),l)try{return f(e,t)}catch(e){}if(c(e,t))return s(!o(i.f,e,t),e[t])}},4753:(e,t,r)=>{var n=r(9045),o=r(3066).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},2970:(e,t)=>{t.f=Object.getOwnPropertySymbols},9359:(e,t,r)=>{var n=r(9747);e.exports=n({}.isPrototypeOf)},9045:(e,t,r)=>{var n=r(9747),o=r(1592),i=r(2878),s=r(1671).indexOf,u=r(638),a=n([].push);e.exports=function(e,t){var r,n=i(e),c=0,l=[];for(r in n)!o(u,r)&&o(n,r)&&a(l,r);for(;t.length>c;)o(n,r=t[c++])&&(~s(l,r)||a(l,r));return l}},3806:(e,t)=>{var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},7255:(e,t,r)=>{var n=r(8307),o=r(4512),i=r(9043),s=r(4835),u=n.TypeError;e.exports=function(e,t){var r,n;if("string"===t&&i(r=e.toString)&&!s(n=o(r,e)))return n;if(i(r=e.valueOf)&&!s(n=o(r,e)))return n;if("string"!==t&&i(r=e.toString)&&!s(n=o(r,e)))return n;throw u("Can't convert object to primitive value")}},3405:(e,t,r)=>{var n=r(2776),o=r(9747),i=r(4753),s=r(2970),u=r(9264),a=o([].concat);e.exports=n("Reflect","ownKeys")||function(e){var t=i.f(u(e)),r=s.f;return r?a(t,r(e)):t}},7680:(e,t,r)=>{var n=r(8307),o=r(9043),i=r(1592),s=r(2225),u=r(5392),a=r(1756),c=r(8336),l=r(8762).CONFIGURABLE,f=c.get,p=c.enforce,h=String(String).split("String");(e.exports=function(e,t,r,a){var c,f=!!a&&!!a.unsafe,d=!!a&&!!a.enumerable,D=!!a&&!!a.noTargetGet,g=a&&void 0!==a.name?a.name:t;o(r)&&("Symbol("===String(g).slice(0,7)&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!i(r,"name")||l&&r.name!==g)&&s(r,"name",g),(c=p(r)).source||(c.source=h.join("string"==typeof g?g:""))),e!==n?(f?!D&&e[t]&&(d=!0):delete e[t],d?e[t]=r:s(e,t,r)):d?e[t]=r:u(t,r)})(Function.prototype,"toString",(function(){return o(this)&&f(this).source||a(this)}))},7445:(e,t,r)=>{var n=r(8307).TypeError;e.exports=function(e){if(null==e)throw n("Can't call method on "+e);return e}},5392:(e,t,r)=>{var n=r(8307),o=Object.defineProperty;e.exports=function(e,t){try{o(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},3647:(e,t,r)=>{var n=r(8889),o=r(2337),i=n("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},3352:(e,t,r)=>{var n=r(8307),o=r(5392),i="__core-js_shared__",s=n[i]||o(i,{});e.exports=s},8889:(e,t,r)=>{var n=r(151),o=r(3352);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:n?"pure":"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})},2445:(e,t,r)=>{var n=r(1390),o=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):i(r,t)}},2878:(e,t,r)=>{var n=r(3895),o=r(7445);e.exports=function(e){return n(o(e))}},1390:e=>{var t=Math.ceil,r=Math.floor;e.exports=function(e){var n=+e;return n!=n||0===n?0:(n>0?r:t)(n)}},1942:(e,t,r)=>{var n=r(1390),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},6258:(e,t,r)=>{var n=r(8307),o=r(7445),i=n.Object;e.exports=function(e){return i(o(e))}},976:(e,t,r)=>{var n=r(8307),o=r(4512),i=r(4835),s=r(4998),u=r(2382),a=r(7255),c=r(6993),l=n.TypeError,f=c("toPrimitive");e.exports=function(e,t){if(!i(e)||s(e))return e;var r,n=u(e,f);if(n){if(void 0===t&&(t="default"),r=o(n,e,t),!i(r)||s(r))return r;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},4091:(e,t,r)=>{var n=r(976),o=r(4998);e.exports=function(e){var t=n(e,"string");return o(t)?t:t+""}},732:(e,t,r)=>{var n={};n[r(6993)("toStringTag")]="z",e.exports="[object z]"===String(n)},9178:(e,t,r)=>{var n=r(8307),o=r(3274),i=n.String;e.exports=function(e){if("Symbol"===o(e))throw TypeError("Cannot convert a Symbol value to a string");return i(e)}},3885:(e,t,r)=>{var n=r(8307).String;e.exports=function(e){try{return n(e)}catch(e){return"Object"}}},2337:(e,t,r)=>{var n=r(9747),o=0,i=Math.random(),s=n(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++o+i,36)}},9145:(e,t,r)=>{var n=r(4654);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},6993:(e,t,r)=>{var n=r(8307),o=r(8889),i=r(1592),s=r(2337),u=r(4654),a=r(9145),c=o("wks"),l=n.Symbol,f=l&&l.for,p=a?l:l&&l.withoutSetter||s;e.exports=function(e){if(!i(c,e)||!u&&"string"!=typeof c[e]){var t="Symbol."+e;u&&i(l,e)?c[e]=l[e]:c[e]=a&&f?f(t):p(t)}return c[e]}},9171:(e,t,r)=>{var n=r(8571),o=r(1805),i=r(6215),s=r(6258),u=r(4857),a=r(8015);n({target:"Array",proto:!0},{flatMap:function(e){var t,r=s(this),n=u(r);return i(e),(t=a(r,0)).length=o(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}})},9031:(e,t,r)=>{var n=r(8571),o=r(9747),i=r(6215),s=r(6258),u=r(4857),a=r(9178),c=r(8026),l=r(3107),f=r(2485),p=r(8363),h=r(475),d=r(5154),D=r(9833),g=[],m=o(g.sort),v=o(g.push),y=c((function(){g.sort(void 0)})),w=c((function(){g.sort(null)})),b=f("sort"),C=!c((function(){if(d)return d<70;if(!(p&&p>3)){if(h)return!0;if(D)return D<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)g.push({k:t+n,v:r})}for(g.sort((function(e,t){return t.v-e.v})),n=0;na(r)?1:-1}}(e)),r=o.length,n=0;n{var n=r(8571),o=r(3063),i=r(2696);n({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,r){i(t,e,r)}),{AS_ENTRIES:!0}),t}})},9117:e=>{const t=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>"\r\n"===e)).length;return r>t.length-r?"\r\n":"\n"};e.exports=t,e.exports.graceful=e=>"string"==typeof e&&t(e)||"\n"},8028:e=>{e.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}},4793:e=>{e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},4032:e=>{e.exports=function(e,t){return(t="number"==typeof t?t:1/0)?function e(r,n){return r.reduce((function(r,o){return Array.isArray(o)&&n{e.exports=function(e,t){for(var r=-1,n=[];-1!==(r=e.indexOf(t,r+1));)n.push(r);return n}},2559:e=>{const t=e=>!Number.isNaN(e)&&e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);e.exports=t,e.exports.default=t},8289:(e,t,r)=>{function n(){const e=r(4372);return n=function(){return e},e}function o(){const e=(t=r(9117))&&t.__esModule?t:{default:t};var t;return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=function(e){const t=e.match(u);return t?t[0].trimLeft():""},t.strip=function(e){const t=e.match(u);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return d(e).pragmas},t.parseWithComments=d,t.print=function(e){let{comments:t="",pragmas:r={}}=e;const i=(0,o().default)(t)||n().EOL,s=" *",u=Object.keys(r),a=u.map((e=>D(e,r[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+i)).join("");if(!t){if(0===u.length)return"";if(1===u.length&&!Array.isArray(r[u[0]])){const e=r[u[0]];return"".concat("/**"," ").concat(D(u[0],e)[0]).concat(" */")}}const c=t.split(i).map((e=>"".concat(s," ").concat(e))).join(i)+i;return"/**"+i+(t?c:"")+(t&&u.length?s+i:"")+a+" */"};const i=/\*\/$/,s=/^\/\*\*/,u=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,a=/(^|\s+)\/\/([^\r\n]*)/g,c=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,f=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g,h=[];function d(e){const t=(0,o().default)(e)||n().EOL;e=e.replace(s,"").replace(i,"").replace(p,"$1");let r="";for(;r!==e;)r=e,e=e.replace(l,"".concat(t,"$1 $2").concat(t));e=e.replace(c,"").trimRight();const u=Object.create(null),d=e.replace(f,"").replace(c,"").trimRight();let D;for(;D=f.exec(e);){const e=D[2].replace(a,"");"string"==typeof u[D[1]]||Array.isArray(u[D[1]])?u[D[1]]=h.concat(u[D[1]],e):u[D[1]]=e}return{comments:d,pragmas:u}}function D(e,t){return h.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}},1687:(e,t,r)=>{function n(){for(var e=[],t=0;tm,outdent:()=>g}),e=r.hmd(e);var i=Object.prototype.hasOwnProperty,s=function(e,t){return i.call(e,t)};function u(e,t){for(var r in t)s(t,r)&&(e[r]=t[r]);return e}var a=/^[ \t]*(?:\r\n|\r|\n)/,c=/(?:\r\n|\r|\n)[ \t]*$/,l=/^(?:[\r\n]|$)/,f=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,p=/^[ \t]*[\r\n][ \t\r\n]*$/;function h(e,t,r){var n=0,o=e[0].match(f);o&&(n=o[1].length);var i=new RegExp("(\\r\\n|\\r|\\n).{0,"+n+"}","g");t&&(e=e.slice(1));var s=r.newline,u=r.trimLeadingNewline,l=r.trimTrailingNewline,p="string"==typeof s,h=e.length;return e.map((function(e,t){return e=e.replace(i,"$1"),0===t&&u&&(e=e.replace(a,"")),t===h-1&&l&&(e=e.replace(c,"")),p&&(e=e.replace(/\r\n|\n|\r/g,(function(e){return s}))),e}))}function d(e,t){for(var r="",n=0,o=e.length;n{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",o=0,i=-1,s=0,u=0;u<=e.length;++u){if(u2){var a=n.lastIndexOf("/");if(a!==n.length-1){-1===a?(n="",o=0):o=(n=n.slice(0,a)).length-1-n.lastIndexOf("/"),i=u,s=0;continue}}else if(2===n.length||1===n.length){n="",o=0,i=u,s=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(i+1,u):n=e.slice(i+1,u),o=u-i-1;i=u,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s;i>=0?s=arguments[i]:(void 0===e&&(e=process.cwd()),s=e),t(s),0!==s.length&&(n=s+"/"+n,o=47===s.charCodeAt(0))}return n=r(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&o&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var o=1;oc){if(47===r.charCodeAt(u+f))return r.slice(u+f+1);if(0===f)return r.slice(u+f)}else s>c&&(47===e.charCodeAt(o+f)?l=f:0===f&&(l=0));break}var p=e.charCodeAt(o+f);if(p!==r.charCodeAt(u+f))break;47===p&&(l=f)}var h="";for(f=o+l+1;f<=i;++f)f!==i&&47!==e.charCodeAt(f)||(0===h.length?h+="..":h+="/..");return h.length>0?h+r.slice(u+l):(u+=l,47===r.charCodeAt(u)&&++u,r.slice(u))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,o=-1,i=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!i){o=s;break}}else i=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n,o=0,i=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var u=r.length-1,a=-1;for(n=e.length-1;n>=0;--n){var c=e.charCodeAt(n);if(47===c){if(!s){o=n+1;break}}else-1===a&&(s=!1,a=n+1),u>=0&&(c===r.charCodeAt(u)?-1==--u&&(i=n):(u=-1,i=a))}return o===i?i=a:-1===i&&(i=e.length),e.slice(o,i)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){o=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(o,i)},extname:function(e){t(e);for(var r=-1,n=0,o=-1,i=!0,s=0,u=e.length-1;u>=0;--u){var a=e.charCodeAt(u);if(47!==a)-1===o&&(i=!1,o=u+1),46===a?-1===r?r=u:1!==s&&(s=1):-1!==r&&(s=-1);else if(!i){n=u+1;break}}return-1===r||-1===o||0===s||1===s&&r===o-1&&r===n+1?"":e.slice(r,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,o=e.charCodeAt(0),i=47===o;i?(r.root="/",n=1):n=0;for(var s=-1,u=0,a=-1,c=!0,l=e.length-1,f=0;l>=n;--l)if(47!==(o=e.charCodeAt(l)))-1===a&&(c=!1,a=l+1),46===o?-1===s?s=l:1!==f&&(f=1):-1!==s&&(f=-1);else if(!c){u=l+1;break}return-1===s||-1===a||0===f||1===f&&s===a-1&&s===u+1?-1!==a&&(r.base=r.name=0===u&&i?e.slice(1,a):e.slice(u,a)):(0===u&&i?(r.name=e.slice(1,s),r.base=e.slice(1,a)):(r.name=e.slice(u,s),r.base=e.slice(u,a)),r.ext=e.slice(s,a)),u>0?r.dir=e.slice(0,u-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},1733:e=>{var t=String,r=function(){return{isColorSupported:!1,reset:t,bold:t,dim:t,italic:t,underline:t,inverse:t,hidden:t,strikethrough:t,black:t,red:t,green:t,yellow:t,blue:t,magenta:t,cyan:t,white:t,gray:t,bgBlack:t,bgRed:t,bgGreen:t,bgYellow:t,bgBlue:t,bgMagenta:t,bgCyan:t,bgWhite:t}};e.exports=r(),e.exports.createColors=r},4822:(e,t,r)=>{const n=r(3425),o=r(6118),{isInlineComment:i}=r(2827),{interpolation:s}=r(5291),{isMixinToken:u}=r(4986),a=r(6416),c=r(5451),l=/(!\s*important)$/i;e.exports=class extends o{constructor(){super(...arguments),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),a(this.lastNode),c(this.lastNode))}decl(){super.decl(...arguments),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=" ".concat(e[0][1]);const t=e.findIndex((e=>"("===e[0])),r=e.reverse().find((e=>")"===e[0])),n=e.reverse().indexOf(r),o=e.splice(t,n).map((e=>e[1])).join("");for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=o}init(e,t,r){super.init(e,t,r),this.lastNode=e}inlineComment(e){const t=new n,r=e[1].slice(2);if(this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]},t.inline=!0,t.raws.begin="//",/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{const e=r.match(/^(\s*)([^]*[^\s])(\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){const[t]=e,r=t[1].slice(0,1),n=e.findIndex((e=>"brackets"===e[0])),o=e.findIndex((e=>"("===e[0]));let i="";if((n<0||n>3)&&o>0){const t=e.reduce(((e,t,r)=>")"===t[0]?r:e)),r=e.slice(o,t+o).map((e=>e[1])).join(""),[n]=e.slice(o),i=[n[2],n[3]],[s]=e.slice(t,t+1),u=[s[2],s[3]],a=["brackets",r].concat(i,u),c=e.slice(0,o),l=e.slice(t+1);(e=c).push(a),e=e.concat(l)}const s=[];for(const t of e)if(("!"===t[1]||s.length)&&s.push(t),"important"===t[1])break;if(s.length){const[t]=s,r=e.indexOf(t),n=s[s.length-1],o=[t[2],t[3]],i=[n[4],n[5]],u=["word",s.map((e=>e[1])).join("")].concat(o,i);e.splice(r,s.length,u)}const u=e.findIndex((e=>l.test(e[1])));u>0&&([,i]=e[u],e.splice(u,1));for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=r,i&&(this.lastNode.important=!0,this.lastNode.raws.important=i)}other(e){i.bind(this)(e)||super.other(e)}rule(e){const t=e[e.length-1],r=e[e.length-2];if("at-word"===r[0]&&"{"===t[0]&&(this.tokenizer.back(t),s.bind(this)(r))){const t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(const t of e.reverse())this.tokenizer.back(t)}else super.rule(e),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){const[t]=e;"each"!==e[0][1]||"("!==e[1][0]?u(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}},3977:(e,t,r)=>{const n=r(9846);e.exports=class extends n{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);const r=e.function?"":e.raws.identifier||"@";let n="".concat(r).concat(e.name),o=e.params?this.rawValue(e,"params"):"";const i=e.raws.important||"";if(e.variable&&(o=e.value),void 0!==e.raws.afterName?n+=e.raws.afterName:o&&(n+=" "),e.nodes)this.block(e,n+o+i);else{const r=(e.raws.between||"")+i+(t?";":"");this.builder(n+o+r,e)}}comment(e){if(e.inline){const t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder("//".concat(t).concat(e.text).concat(r),e)}else super.comment(e)}}},3028:(e,t,r)=>{const n=r(7707),o=r(4822),i=r(3977);e.exports={parse(e,t){const r=new n(e,t),i=new o(r);return i.parse(),i.root},stringify(e,t){new i(t).stringify(e)},nodeToString(t){let r="";return e.exports.stringify(t,(e=>{r+=e})),r}}},6416:(e,t,r)=>{const n=r(9889),o=/^url\((.+)\)/;e.exports=e=>{const{name:t,params:r=""}=e;if("import"===t&&r.length){e.import=!0;const t=n({css:r});for(e.filename=r.replace(o,"$1");!t.endOfFile();){const[n,o]=t.nextToken();if("word"===n&&"url"===o)return;if("brackets"===n){e.options=o,e.filename=r.replace(o,"").trim();break}}}}},2827:(e,t,r)=>{const n=r(9889),o=r(7707);e.exports={isInlineComment(t){if("word"===t[0]&&"//"===t[1].slice(0,2)){const e=t,r=[];let i;for(;t;){if(/\r?\n/.test(t[1])){if(/['"].*\r?\n/.test(t[1])){r.push(t[1].substring(0,t[1].indexOf("\n")));let e=t[1].substring(t[1].indexOf("\n"));e+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new o(e),this.tokenizer=n(this.input)}else this.tokenizer.back(t);break}r.push(t[1]),i=t,t=this.tokenizer.nextToken({ignoreUnclosed:!0})}const s=["comment",r.join(""),e[2],e[3],i[2],i[3]];return this.inlineComment(s),!0}if("/"===t[1]){const r=this.tokenizer.nextToken({ignoreUnclosed:!0});if("comment"===r[0]&&/^\/\*/.test(r[1]))return r[0]="word",r[1]=r[1].slice(1),t[1]="//",this.tokenizer.back(r),e.exports.isInlineComment.bind(this)(t)}return!1}}},5291:e=>{e.exports={interpolation(e){let t=e;const r=[e],n=["word","{","}"];if(e=this.tokenizer.nextToken(),t[1].length>1||"{"!==e[0])return this.tokenizer.back(e),!1;for(;e&&n.includes(e[0]);)r.push(e),e=this.tokenizer.nextToken();const o=r.map((e=>e[1]));[t]=r;const i=r.pop(),s=[t[2],t[3]],u=[i[4]||i[2],i[5]||i[3]],a=["word",o.join("")].concat(s,u);return this.tokenizer.back(e),this.tokenizer.back(a),!0}}},4986:e=>{const t=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,r=/\.[0-9]/;e.exports={isMixinToken:e=>{const[,n]=e,[o]=n;return("."===o||"#"===o)&&!1===t.test(n)&&!1===r.test(n)}}},5451:e=>{const t=/:$/,r=/^:(\s+)?/;e.exports=e=>{const{name:n,params:o=""}=e;if(":"===e.name.slice(-1)){if(t.test(n)){const[r]=n.match(t);e.name=n.replace(r,""),e.raws.afterName=r+(e.raws.afterName||""),e.variable=!0,e.value=e.params}if(r.test(o)){const[t]=o.match(r);e.value=o.replace(t,""),e.raws.afterName=(e.raws.afterName||"")+t,e.variable=!0}}}},4118:(e,t,r)=>{t.Z=function(e){return new o.default({nodes:(0,i.parseMediaList)(e),type:"media-query-list",value:e.trim()})};var n,o=(n=r(3476))&&n.__esModule?n:{default:n},i=r(1105)},3476:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,o=(n=r(2688))&&n.__esModule?n:{default:n};function i(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(e){e.parent=t}))}i.prototype=Object.create(o.default.prototype),i.constructor=o.default,i.prototype.walk=function(e,t){for(var r="string"==typeof e||e instanceof RegExp,n=r?t:e,o="string"==typeof e?new RegExp(e):e,i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}},1105:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseMediaFeature=s,t.parseMediaQuery=u,t.parseMediaList=function(e){var t=[],r=0,i=0,s=/^(\s*)url\s*\(/.exec(e);if(null!==s){for(var a=s[0].length,c=1;c>0;){var l=e[a];"("===l&&c++,")"===l&&c--,a++}t.unshift(new n.default({type:"url",value:e.substring(0,a).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\s*)/.exec(e.substring(a))[1]})),r=a}for(var f=r;f0&&(r[f-1].after=a.before),void 0===a.type){if(f>0){if("media-feature-expression"===r[f-1].type){a.type="keyword";continue}if("not"===r[f-1].value||"only"===r[f-1].value){a.type="media-type";continue}if("and"===r[f-1].value){a.type="media-feature-expression";continue}"media-type"===r[f-1].type&&(r[f+1]?a.type="media-feature-expression"===r[f+1].type?"keyword":"media-feature-expression":a.type="media-feature-expression")}if(0===f){if(!r[f+1]){a.type="media-type";continue}if(r[f+1]&&("media-feature-expression"===r[f+1].type||"keyword"===r[f+1].type)){a.type="media-type";continue}if(r[f+2]){if("media-feature-expression"===r[f+2].type){a.type="media-type",r[f+1].type="keyword";continue}if("keyword"===r[f+2].type){a.type="keyword",r[f+1].type="media-type";continue}}if(r[f+3]&&"media-feature-expression"===r[f+3].type){a.type="keyword",r[f+1].type="media-type",r[f+2].type="keyword";continue}}}return r}},1065:(e,t,r)=>{var n=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="decl",r.isNested=!0,r.nodes||(r.nodes=[]),r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(r(5500));e.exports=n},2526:(e,t,r)=>{var n=r(7707),o=r(3941);e.exports=function(e,t){var r=new n(e,t),i=new o(r);return i.parse(),i.root}},3941:(e,t,r)=>{var n=r(3425),o=r(6118),i=r(1065),s=r(3479),u=function(e){var t,r;function o(){return e.apply(this,arguments)||this}r=e,(t=o).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var u=o.prototype;return u.createTokenizer=function(){this.tokenizer=s(this.input)},u.rule=function(t){var r=!1,n=0,o="",s=t,u=Array.isArray(s),a=0;for(s=u?s:s[Symbol.iterator]();;){var c;if(u){if(a>=s.length)break;c=s[a++]}else{if((a=s.next()).done)break;c=a.value}var l=c;if(r)"comment"!==l[0]&&"{"!==l[0]&&(o+=l[1]);else{if("space"===l[0]&&-1!==l[1].indexOf("\n"))break;"("===l[0]?n+=1:")"===l[0]?n-=1:0===n&&":"===l[0]&&(r=!0)}}if(!r||""===o.trim()||/^[a-zA-Z-:#]/.test(o))e.prototype.rule.call(this,t);else{t.pop();var f=new i;this.init(f);var p,h=t[t.length-1];for(h[4]?f.source.end={line:h[4],column:h[5]}:f.source.end={line:h[2],column:h[3]};"word"!==t[0][0];)f.raws.before+=t.shift()[1];for(f.source.start={line:t[0][2],column:t[0][3]},f.prop="";t.length;){var d=t[0][0];if(":"===d||"space"===d||"comment"===d)break;f.prop+=t.shift()[1]}for(f.raws.between="";t.length;){if(":"===(p=t.shift())[0]){f.raws.between+=p[1];break}f.raws.between+=p[1]}"_"!==f.prop[0]&&"*"!==f.prop[0]||(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1)),f.raws.between+=this.spacesAndCommentsFromStart(t),this.precheckMissedSemicolon(t);for(var D=t.length-1;D>0;D--){if("!important"===(p=t[D])[1]){f.important=!0;var g=this.stringFrom(t,D);" !important"!==(g=this.spacesFromEnd(t)+g)&&(f.raws.important=g);break}if("important"===p[1]){for(var m=t.slice(0),v="",y=D;y>0;y--){var w=m[y][0];if(0===v.trim().indexOf("!")&&"space"!==w)break;v=m.pop()[1]+v}0===v.trim().indexOf("!")&&(f.important=!0,f.raws.important=v,t=m)}if("space"!==p[0]&&"comment"!==p[0])break}this.raw(f,"value",t),-1!==f.value.indexOf(":")&&this.checkMissedSemicolon(t),this.current=f}},u.comment=function(t){if("inline"===t[6]){var r=new n;this.init(r,t[2],t[3]),r.raws.inline=!0,r.source.end={line:t[4],column:t[5]};var o=t[1].slice(2);if(/^\s*$/.test(o))r.text="",r.raws.left=o,r.raws.right="";else{var i=o.match(/^(\s*)([^]*[^\s])(\s*)$/),s=i[2].replace(/(\*\/|\/\*)/g,"*//*");r.text=s,r.raws.left=i[1],r.raws.right=i[3],r.raws.text=i[2]}}else e.prototype.comment.call(this,t)},u.raw=function(t,r,n){if(e.prototype.raw.call(this,t,r,n),t.raws[r]){var o=t.raws[r].raw;t.raws[r].raw=n.reduce((function(e,t){return"comment"===t[0]&&"inline"===t[6]?e+"/*"+t[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*")+"*/":e+t[1]}),""),o!==t.raws[r].raw&&(t.raws[r].scss=o)}},o}(o);e.exports=u},43:(e,t,r)=>{var n=function(e){var t,r;function n(){return e.apply(this,arguments)||this}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var o=n.prototype;return o.comment=function(e){var t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");if(e.raws.inline){var n=e.raws.text||e.text;this.builder("//"+t+n+r,e)}else this.builder("/*"+t+e.text+r+"*/",e)},o.decl=function(t,r){if(t.isNested){var n,o=this.raw(t,"between","colon"),i=t.prop+o+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),this.builder(i+"{",t,"start"),t.nodes&&t.nodes.length?(this.body(t),n=this.raw(t,"after")):n=this.raw(t,"after","emptyBody"),n&&this.builder(n),this.builder("}",t,"end")}else e.prototype.decl.call(this,t,r)},o.rawValue=function(e,t){var r=e[t],n=e.raws[t];return n&&n.value===r?n.scss?n.scss:n.raw:r},n}(r(9846));e.exports=n},2541:(e,t,r)=>{var n=r(43);e.exports=function(e,t){new n(t).stringify(e)}},1708:(e,t,r)=>{var n=r(2541),o=r(2526);e.exports={parse:o,stringify:n}},3479:e=>{var t="'".charCodeAt(0),r='"'.charCodeAt(0),n="\\".charCodeAt(0),o="/".charCodeAt(0),i="\n".charCodeAt(0),s=" ".charCodeAt(0),u="\f".charCodeAt(0),a="\t".charCodeAt(0),c="\r".charCodeAt(0),l="[".charCodeAt(0),f="]".charCodeAt(0),p="(".charCodeAt(0),h=")".charCodeAt(0),d="{".charCodeAt(0),D="}".charCodeAt(0),g=";".charCodeAt(0),m="*".charCodeAt(0),v=":".charCodeAt(0),y="@".charCodeAt(0),w=",".charCodeAt(0),b="#".charCodeAt(0),C=/[ \n\t\r\f{}()'"\\;/[\]#]/g,E=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,F=/.[\\/("'\n]/,x=/[a-f0-9]/i,A=/[\r\f\n]/g;e.exports=function(e,k){void 0===k&&(k={});var O,_,S,T,I,N,M,R,j,L,B,P,U,G,$=e.css.valueOf(),z=k.ignoreErrors,W=$.length,V=-1,q=1,X=0,J=[],H=[];function Y(t){throw e.error("Unclosed "+t,q,X-V)}function K(){for(var e=1,o=!1,i=!1;e>0;)_+=1,$.length<=_&&Y("interpolation"),O=$.charCodeAt(_),P=$.charCodeAt(_+1),o?i||O!==o?O===n?i=!L:i&&(i=!1):(o=!1,i=!1):O===t||O===r?o=O:O===D?e-=1:O===b&&P===d&&(e+=1)}return{back:function(e){H.push(e)},nextToken:function(){if(H.length)return H.pop();if(!(X>=W)){switch(((O=$.charCodeAt(X))===i||O===u||O===c&&$.charCodeAt(X+1)!==i)&&(V=X,q+=1),O){case i:case s:case a:case c:case u:_=X;do{_+=1,(O=$.charCodeAt(_))===i&&(V=_,q+=1)}while(O===s||O===i||O===a||O===c||O===u);U=["space",$.slice(X,_)],X=_-1;break;case l:U=["[","[",q,X-V];break;case f:U=["]","]",q,X-V];break;case d:U=["{","{",q,X-V];break;case D:U=["}","}",q,X-V];break;case w:U=["word",",",q,X-V,q,X-V+1];break;case v:U=[":",":",q,X-V];break;case g:U=[";",";",q,X-V];break;case p:if(B=J.length?J.pop()[1]:"",P=$.charCodeAt(X+1),"url"===B&&P!==t&&P!==r){for(G=1,L=!1,_=X+1;_<=$.length-1;){if((P=$.charCodeAt(_))===n)L=!L;else if(P===p)G+=1;else if(P===h&&0==(G-=1))break;_+=1}N=$.slice(X,_+1),T=N.split("\n"),(I=T.length-1)>0?(R=q+I,j=_-T[I].length):(R=q,j=V),U=["brackets",N,q,X-V,R,_-j],V=j,q=R,X=_}else _=$.indexOf(")",X+1),N=$.slice(X,_+1),-1===_||F.test(N)?U=["(","(",q,X-V]:(U=["brackets",N,q,X-V,q,_-V],X=_);break;case h:U=[")",")",q,X-V];break;case t:case r:for(S=O,_=X,L=!1;_0?(R=q+I,j=_-T[I].length):(R=q,j=V),U=["string",$.slice(X,_+1),q,X-V,R,_-j],V=j,q=R,X=_;break;case y:C.lastIndex=X+1,C.test($),_=0===C.lastIndex?$.length-1:C.lastIndex-2,U=["at-word",$.slice(X,_+1),q,X-V,q,_-V],X=_;break;case n:for(_=X,M=!0;$.charCodeAt(_+1)===n;)_+=1,M=!M;if(O=$.charCodeAt(_+1),M&&O!==o&&O!==s&&O!==i&&O!==a&&O!==c&&O!==u&&(_+=1,x.test($.charAt(_)))){for(;x.test($.charAt(_+1));)_+=1;$.charCodeAt(_+1)===s&&(_+=1)}U=["word",$.slice(X,_+1),q,X-V,q,_-V],X=_;break;default:P=$.charCodeAt(X+1),O===b&&P===d?(_=X,K(),N=$.slice(X,_+1),T=N.split("\n"),(I=T.length-1)>0?(R=q+I,j=_-T[I].length):(R=q,j=V),U=["word",N,q,X-V,R,_-j],V=j,q=R,X=_):O===o&&P===m?(0===(_=$.indexOf("*/",X+2)+1)&&(z?_=$.length:Y("comment")),N=$.slice(X,_+1),T=N.split("\n"),(I=T.length-1)>0?(R=q+I,j=_-T[I].length):(R=q,j=V),U=["comment",N,q,X-V,R,_-j],V=j,q=R,X=_):O===o&&P===o?(A.lastIndex=X+1,A.test($),_=0===A.lastIndex?$.length-1:A.lastIndex-2,N=$.slice(X,_+1),U=["comment",N,q,X-V,q,_-V,"inline"],X=_):(E.lastIndex=X+1,E.test($),_=0===E.lastIndex?$.length-1:E.lastIndex-2,U=["word",$.slice(X,_+1),q,X-V,q,_-V],J.push(U),X=_)}return X++,U}},endOfFile:function(){return 0===H.length&&X>=W}}}},9474:(e,t,r)=>{t.__esModule=!0;var n=m(r(1454)),o=m(r(438)),i=m(r(9026)),s=m(r(4799)),u=m(r(3596)),a=m(r(903)),c=m(r(8690)),l=m(r(3283)),f=m(r(5229)),p=m(r(9050)),h=m(r(1034)),d=m(r(9712)),D=m(r(4228)),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(3808));function m(e){return e&&e.__esModule?e:{default:e}}var v=function(e){return new n.default(e)};v.attribute=function(e){return new o.default(e)},v.className=function(e){return new i.default(e)},v.combinator=function(e){return new s.default(e)},v.comment=function(e){return new u.default(e)},v.id=function(e){return new a.default(e)},v.nesting=function(e){return new c.default(e)},v.pseudo=function(e){return new l.default(e)},v.root=function(e){return new f.default(e)},v.selector=function(e){return new p.default(e)},v.string=function(e){return new h.default(e)},v.tag=function(e){return new d.default(e)},v.universal=function(e){return new D.default(e)},Object.keys(g).forEach((function(e){"__esModule"!==e&&(v[e]=g[e])})),t.default=v,e.exports=t.default},6405:(e,t,r)=>{t.__esModule=!0;var n=function(){function e(e,t){for(var r=0;r1?(""===o[0]&&(o[0]=!0),i.attribute=this.parseValue(o[2]),i.namespace=this.parseNamespace(o[0])):i.attribute=this.parseValue(n[0]),t=new D.default(i),n[2]){var s=n[2].split(/(\s+i\s*?)$/),u=s[0].trim();t.value=this.lossy?u:s[0],s[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=s[1])),t.quoted="'"===u[0]||'"'===u[0],t.raws.unquoted=t.quoted?u.slice(1,-1):u}this.newNode(t),this.position++},e.prototype.combinator=function(){if("|"===this.currToken[1])return this.namespace();for(var e=new m.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&"("===e.nextToken[0]&&e.error("Misplaced parenthesis.")}))}else this.error('Unexpected "'+this.currToken[0]+'" found.')},e.prototype.space=function(){var e=this.currToken;0===this.position||","===this.prevToken[0]||"("===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},e.prototype.string=function(){var e=this.currToken;this.newNode(new h.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},e.prototype.universal=function(e){var t=this.nextToken;if(t&&"|"===t[1])return this.position++,this.namespace();this.newNode(new g.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},e.prototype.splitWord=function(e,t){for(var r=this,n=this.nextToken,u=this.currToken[1];n&&"word"===n[0];){this.position++;var a=this.currToken[1];if(u+=a,a.lastIndexOf("\\")===a.length-1){var l=this.nextToken;l&&"space"===l[0]&&(u+=this.parseSpace(l[1]," "),this.position++)}n=this.nextToken}var h=(0,i.default)(u,"."),d=(0,i.default)(u,"#"),D=(0,i.default)(u,"#{");D.length&&(d=d.filter((function(e){return!~D.indexOf(e)})));var g=(0,y.default)((0,s.default)((0,o.default)([[0],h,d])));g.forEach((function(n,o){var i=g[o+1]||u.length,s=u.slice(n,i);if(0===o&&t)return t.call(r,s,g.length);var a=void 0;a=~h.indexOf(n)?new c.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):~d.indexOf(n)?new f.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):new p.default({value:s,source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}),r.newNode(a,e)})),this.position++},e.prototype.word=function(e){var t=this.nextToken;return t&&"|"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},e.prototype.loop=function(){for(;this.position{t.__esModule=!0;var n,o=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new i.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=r,this.func(r),this},o(e,[{key:"result",get:function(){return String(this.res)}}]),e}();t.default=s,e.exports=t.default},438:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1124))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.ATTRIBUTE,n.raws={},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=[this.spaces.before,"[",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(" i"),e.push("]"),e.concat(this.spaces.after).join("")},t}(o.default);t.default=s,e.exports=t.default},9026:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1124))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.CLASS,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,String("."+this.value),this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},4799:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(8148))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.COMBINATOR,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},3596:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(8148))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.COMMENT,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},1121:(e,t,r)=>{r(9031),t.__esModule=!0;var n,o=function(){function e(e,t){for(var r=0;r=e&&(this.indexes[r]=t-1);return this},t.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),r=0;for(e=t?e:e[Symbol.iterator]();;){var n;if(t){if(r>=e.length)break;n=e[r++]}else{if((r=e.next()).done)break;n=r.value}n.parent=void 0}return this.nodes=[],this},t.prototype.empty=function(){return this.removeAll()},t.prototype.insertAfter=function(e,t){var r=this.index(e);this.nodes.splice(r+1,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},t.prototype.insertBefore=function(e,t){var r=this.index(e);this.nodes.splice(r,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},t.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var r=void 0,n=void 0;this.indexes[t]{t.__esModule=!0;var n,o=(n=r(1124))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.ID,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,String("#"+this.value),this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},1124:(e,t,r)=>{t.__esModule=!0;var n,o=function(){function e(e,t){for(var r=0;r{t.__esModule=!0;var n,o=(n=r(8148))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.NESTING,n.value="&",n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},8148:(e,t)=>{t.__esModule=!0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function e(t,n){if("object"!==(void 0===t?"undefined":r(t)))return t;var o=new t.constructor;for(var i in t)if(t.hasOwnProperty(i)){var s=t[i],u=void 0===s?"undefined":r(s);"parent"===i&&"object"===u?n&&(o[i]=n):o[i]=s instanceof Array?s.map((function(t){return e(t,o)})):e(s,o)}return o},i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var r in n(this,e),t)this[r]=t[r];var o=t.spaces,i=(o=void 0===o?{}:o).before,s=void 0===i?"":i,u=o.after,a=void 0===u?"":u;this.spaces={before:s,after:a}}return e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},e.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=o(this);for(var r in e)t[r]=e[r];return t},e.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},e}();t.default=i,e.exports=t.default},3283:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1121))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.PSEUDO,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.spaces.before,String(this.value),e,this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},5229:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1121))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.ROOT,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=this.reduce((function(e,t){var r=String(t);return r?e+r+",":""}),"").slice(0,-1);return this.trailingComma?e+",":e},t}(o.default);t.default=s,e.exports=t.default},9050:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1121))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.SELECTOR,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},1034:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(8148))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.STRING,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},9712:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1124))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.TAG,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},3808:(e,t)=>{t.__esModule=!0,t.TAG="tag",t.STRING="string",t.SELECTOR="selector",t.ROOT="root",t.PSEUDO="pseudo",t.NESTING="nesting",t.ID="id",t.COMMENT="comment",t.COMBINATOR="combinator",t.CLASS="class",t.ATTRIBUTE="attribute",t.UNIVERSAL="universal"},4228:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(1124))&&n.__esModule?n:{default:n},i=r(3808),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.UNIVERSAL,n.value="*",n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},4145:(e,t,r)=>{r(9031),t.__esModule=!0,t.default=function(e){return e.sort((function(e,t){return e-t}))},e.exports=t.default},1731:(e,t)=>{t.__esModule=!0,t.default=function(e){for(var t=[],o=e.css.valueOf(),i=void 0,s=void 0,u=void 0,a=void 0,c=void 0,l=void 0,f=void 0,p=void 0,h=void 0,d=void 0,D=void 0,g=o.length,m=-1,v=1,y=0,w=function(t,r){if(!e.safe)throw e.error("Unclosed "+t,v,y-m,y);s=(o+=r).length-1};y0?(p=v+c,h=s-a[c].length):(p=v,h=m),t.push(["comment",l,v,y-m,p,s-h,y]),m=h,v=p,y=s):(n.lastIndex=y+1,n.test(o),s=0===n.lastIndex?o.length-1:n.lastIndex-2,t.push(["word",o.slice(y,s+1),v,y-m,v,s-m,y]),y=s)}y++}return t};var r=/[ \n\t\r\{\(\)'"\\;/]/g,n=/[ \n\t\r\(\)\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g;e.exports=t.default},4181:(e,t,r)=>{const n=r(6141);class o extends n{constructor(e){super(e),this.type="atword"}toString(){return this.quoted&&this.raws.quote,[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}}n.registerWalker(o),e.exports=o},8022:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="colon"}}n.registerWalker(i),e.exports=i},4700:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="comma"}}n.registerWalker(i),e.exports=i},3060:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="comment",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}}n.registerWalker(i),e.exports=i},6141:(e,t,r)=>{const n=r(9284);class o extends n{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,r,n=this.lastEach;if(this.indexes[n]=0,this.nodes){for(;this.indexes[n]{let n=e(t,r);return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkType(e,t){if(!e||!t)throw new Error("Parameters {type} and {callback} are required.");const r="function"==typeof e;return this.walk(((n,o)=>{if(r&&n instanceof e||!r&&n.type===e)return t.call(this,n,o)}))}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let r,n=this.index(e);this.nodes.splice(n+1,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}insertBefore(e,t){let r,n=this.index(e);this.nodes.splice(n,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join("");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}}o.registerWalker=e=>{let t="walk"+e.name;t.lastIndexOf("s")!==t.length-1&&(t+="s"),o.prototype[t]||(o.prototype[t]=function(t){return this.walkType(e,t)})},e.exports=o},7:e=>{class t extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while parsing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=t},7584:e=>{class t extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while tokzenizing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=t},7959:(e,t,r)=>{const n=r(6141);class o extends n{constructor(e){super(e),this.type="func",this.unbalanced=-1}}n.registerWalker(o),e.exports=o},5484:(e,t,r)=>{const n=r(2634),o=r(4181),i=r(8022),s=r(4700),u=r(3060),a=r(7959),c=r(5474),l=r(3179),f=r(5090),p=r(2471),h=r(6866),d=r(7205),D=r(8402);let g=function(e,t){return new n(e,t)};g.atword=function(e){return new o(e)},g.colon=function(e){return new i(Object.assign({value:":"},e))},g.comma=function(e){return new s(Object.assign({value:","},e))},g.comment=function(e){return new u(e)},g.func=function(e){return new a(e)},g.number=function(e){return new c(e)},g.operator=function(e){return new l(e)},g.paren=function(e){return new f(Object.assign({value:"("},e))},g.string=function(e){return new p(Object.assign({quote:"'"},e))},g.value=function(e){return new d(e)},g.word=function(e){return new D(e)},g.unicodeRange=function(e){return new h(e)},e.exports=g},9284:e=>{let t=function(e,r){let n=new e.constructor;for(let o in e){if(!e.hasOwnProperty(o))continue;let i=e[o],s=typeof i;"parent"===o&&"object"===s?r&&(n[o]=r):"source"===o?n[o]=i:i instanceof Array?n[o]=i.map((e=>t(e,n))):"before"!==o&&"after"!==o&&"between"!==o&&"semicolon"!==o&&("object"===s&&null!==i&&(i=t(i)),n[o]=i)}return n};e.exports=class{constructor(e){e=e||{},this.raws={before:"",after:""};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(e){e=e||{};let r=t(this);for(let t in e)r[t]=e[t];return r}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t))continue;if("parent"===t)continue;let r=this[t];r instanceof Array?e[t]=r.map((e=>"object"==typeof e&&e.toJSON?e.toJSON():e)):"object"==typeof r&&r.toJSON?e[t]=r.toJSON():e[t]=r}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let o=0;o{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="number",this.unit=Object(e).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}}n.registerWalker(i),e.exports=i},3179:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="operator"}}n.registerWalker(i),e.exports=i},5090:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="paren",this.parenType=""}}n.registerWalker(i),e.exports=i},2634:(e,t,r)=>{r(9031);const n=r(3026),o=r(7205),i=r(4181),s=r(8022),u=r(4700),a=r(3060),c=r(7959),l=r(5474),f=r(3179),p=r(5090),h=r(2471),d=r(8402),D=r(6866),g=r(8897),m=r(4032),v=r(3745),y=r(2602),w=r(7);e.exports=class{constructor(e,t){this.cache=[],this.input=e,this.options=Object.assign({},{loose:!1},t),this.position=0,this.unbalanced=0,this.root=new n;let r=new o;this.root.append(r),this.current=r,this.tokens=g(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new u({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,r=this.currToken[1].replace(/\/\*|\*\//g,"");this.options.loose&&r.startsWith("//")&&(r=r.substring(2),t=!0),e=new a({value:r,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new w(e+" at line: ".concat(t[2],", column ").concat(t[3]))}loop(){for(;this.position0&&("func"===this.current.type&&"calc"===this.current.value?("space"!==this.prevToken[0]&&"("!==this.prevToken[0]||"space"!==this.nextToken[0]&&"word"!==this.nextToken[0]||"word"===this.nextToken[0]&&"operator"!==this.current.last.type&&"("!==this.current.last.value)&&this.error("Syntax Error",this.currToken):"space"!==this.nextToken[0]&&"operator"!==this.nextToken[0]&&"operator"!==this.prevToken[0]||this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&"operator"===this.current.last.type)&&"word"===this.nextToken[0])return this.word()}else if("word"===this.nextToken[0])return this.word();return e=new f({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":default:this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange()}}parenOpen(){let e,t=1,r=this.position+1,n=this.currToken;for(;r=this.tokens.length-1&&!this.current.unbalanced||(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new D({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,r=this.nextToken,n=this.currToken[1],o=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/;if(!/^(?!\#([a-z0-9]+))[\#\{\}]/gi.test(n))for(;r&&"word"===r[0];){this.position++;let e=this.currToken[1];n+=e,r=this.nextToken}var s;e=v(n,"@"),s=y(m([[0],e])),t=s.sort(((e,t)=>e-t)),t.forEach(((s,u)=>{let a,f=t[u+1]||n.length,p=n.slice(s,f);if(~e.indexOf(s))a=new i({value:p.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u]});else if(o.test(this.currToken[1])){let e=p.replace(o,"");a=new l({value:p.replace(e,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u],unit:e})}else a=new(r&&"("===r[0]?c:d)({value:p,source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u]}),"word"===a.type?(a.isHex=/^#(.+)/.test(p),a.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(p)):this.cache.push(this.current);this.newNode(a)})),this.position++}string(){let e,t=this.currToken,r=this.currToken[1],n=/^(\"|\')/,o=n.test(r),i="";o&&(i=r.match(n)[0],r=r.slice(1,r.length-1)),e=new h({value:r,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:o}),e.raws.quote=i,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=""),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}},3026:(e,t,r)=>{const n=r(6141);e.exports=class extends n{constructor(e){super(e),this.type="root"}}},2471:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="string"}toString(){let e=this.quoted?this.raws.quote:"";return[this.raws.before,e,this.value+"",e,this.raws.after].join("")}}n.registerWalker(i),e.exports=i},8897:(e,t,r)=>{const n="{".charCodeAt(0),o="}".charCodeAt(0),i="(".charCodeAt(0),s=")".charCodeAt(0),u="'".charCodeAt(0),a='"'.charCodeAt(0),c="\\".charCodeAt(0),l="/".charCodeAt(0),f=".".charCodeAt(0),p=",".charCodeAt(0),h=":".charCodeAt(0),d="*".charCodeAt(0),D="-".charCodeAt(0),g="+".charCodeAt(0),m="#".charCodeAt(0),v="\n".charCodeAt(0),y=" ".charCodeAt(0),w="\f".charCodeAt(0),b="\t".charCodeAt(0),C="\r".charCodeAt(0),E="@".charCodeAt(0),F="e".charCodeAt(0),x="E".charCodeAt(0),A="0".charCodeAt(0),k="9".charCodeAt(0),O="u".charCodeAt(0),_="U".charCodeAt(0),S=/[ \n\t\r\{\(\)'"\\;,/]/g,T=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,I=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,N=/^[a-z0-9]/i,M=/^[a-f0-9?\-]/i,R=r(8472),j=r(7584);e.exports=function(e,t){t=t||{};let r,L,B,P,U,G,$,z,W,V,q,X=[],J=e.valueOf(),H=J.length,Y=-1,K=1,Z=0,Q=0,ee=null;function te(e){let t=R.format("Unclosed %s at line: %d, column: %d, token: %d",e,K,Z-Y,Z);throw new j(t)}for(;Z0&&"word"===X[X.length-1][0]&&"url"===X[X.length-1][1],X.push(["(","(",K,Z-Y,K,L-Y,Z]);break;case s:Q--,ee=ee&&Q>0,X.push([")",")",K,Z-Y,K,L-Y,Z]);break;case u:case a:B=r===u?"'":'"',L=Z;do{for(W=!1,L=J.indexOf(B,L+1),-1===L&&te("quote"),V=L;J.charCodeAt(V-1)===c;)V-=1,W=!W}while(W);X.push(["string",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L;break;case E:S.lastIndex=Z+1,S.test(J),L=0===S.lastIndex?J.length-1:S.lastIndex-2,X.push(["atword",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L;break;case c:L=Z,r=J.charCodeAt(L+1),X.push(["word",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L;break;case g:case D:case d:if(L=Z+1,q=J.slice(Z+1,L+1),J.slice(Z-1,Z),r===D&&q.charCodeAt(0)===D){L++,X.push(["word",J.slice(Z,L),K,Z-Y,K,L-Y,Z]),Z=L-1;break}X.push(["operator",J.slice(Z,L),K,Z-Y,K,L-Y,Z]),Z=L-1;break;default:if(r===l&&(J.charCodeAt(Z+1)===d||t.loose&&!ee&&J.charCodeAt(Z+1)===l)){if(J.charCodeAt(Z+1)===d)L=J.indexOf("*/",Z+2)+1,0===L&&te("comment");else{const e=J.indexOf("\n",Z+2);L=-1!==e?e-1:H}G=J.slice(Z,L+1),P=G.split("\n"),U=P.length-1,U>0?($=K+U,z=L-P[U].length):($=K,z=Y),X.push(["comment",G,K,Z-Y,$,L-z,Z]),Y=z,K=$,Z=L}else if(r!==m||N.test(J.slice(Z+1,Z+2)))if(r!==O&&r!==_||J.charCodeAt(Z+1)!==g)if(r===l)L=Z+1,X.push(["operator",J.slice(Z,L),K,Z-Y,K,L-Y,Z]),Z=L-1;else{let e=T;if(r>=A&&r<=k&&(e=I),e.lastIndex=Z+1,e.test(J),L=0===e.lastIndex?J.length-1:e.lastIndex-2,e===I||r===f){let e=J.charCodeAt(L),t=J.charCodeAt(L+1),r=J.charCodeAt(L+2);(e===F||e===x)&&(t===D||t===g)&&r>=A&&r<=k&&(I.lastIndex=L+2,I.test(J),L=0===I.lastIndex?J.length-1:I.lastIndex-2)}X.push(["word",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L}else{L=Z+2;do{L+=1,r=J.charCodeAt(L)}while(L{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="unicode-range"}}n.registerWalker(i),e.exports=i},7205:(e,t,r)=>{const n=r(6141);e.exports=class extends n{constructor(e){super(e),this.type="value",this.unbalanced=0}}},8402:(e,t,r)=>{const n=r(6141),o=r(9284);class i extends o{constructor(e){super(e),this.type="word"}}n.registerWalker(i),e.exports=i},2661:(e,t,r)=>{var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="atrule",r}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var o=n.prototype;return o.append=function(){var t;this.nodes||(this.nodes=[]);for(var r=arguments.length,n=new Array(r),o=0;o{var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="comment",r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(((n=r(6664))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},5500:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(1050)),o=i(r(3425));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e&&(this.indexes[r]=t-1);return this},f.removeAll=function(){for(var e,t=s(this.nodes);!(e=t()).done;)e.value.parent=void 0;return this.nodes=[],this},f.replaceValues=function(e,t,r){return r||(r=t,t={}),this.walkDecls((function(n){t.props&&-1===t.props.indexOf(n.prop)||t.fast&&-1===n.value.indexOf(t.fast)||(n.value=n.value.replace(e,r))})),this},f.every=function(e){return this.nodes.every(e)},f.some=function(e){return this.nodes.some(e)},f.index=function(e){return"number"==typeof e?e:this.nodes.indexOf(e)},f.normalize=function(e,t){var i=this;if("string"==typeof e)e=c(r(8084)(e).nodes);else if(Array.isArray(e))for(var u,a=s(e=e.slice(0));!(u=a()).done;){var l=u.value;l.parent&&l.parent.removeChild(l,"ignore")}else if("root"===e.type)for(var f,p=s(e=e.nodes.slice(0));!(f=p()).done;){var h=f.value;h.parent&&h.parent.removeChild(h,"ignore")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new n.default(e)]}else if(e.selector)e=[new(r(7945))(e)];else if(e.name)e=[new(r(2661))(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new o.default(e)]}var d=e.map((function(e){return e.parent&&e.parent.removeChild(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/[^\s]/g,"")),e.parent=i,e}));return d},(l=[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}])&&a(u.prototype,l),u}(i(r(6664)).default),f=l;t.default=f,e.exports=t.default},3769:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(1733)),o=i(r(2868));function i(e){return e&&e.__esModule?e:{default:e}}function s(e){var t="function"==typeof Map?new Map:void 0;return s=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,l(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),c(n,e)},s(e)}function u(e,t,r){return u=a()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&c(o,r.prototype),o},u.apply(null,arguments)}function a(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function c(e,t){return c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},c(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}var f=function(e){var t,r;function i(t,r,n,o,s,u){var a;return(a=e.call(this,t)||this).name="CssSyntaxError",a.reason=t,s&&(a.file=s),o&&(a.source=o),u&&(a.plugin=u),void 0!==r&&void 0!==n&&(a.line=r,a.column=n),a.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(a),i),a}r=e,(t=i).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var s=i.prototype;return s.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},s.showSourceCode=function(e){var t=this;if(!this.source)return"";var r=this.source;o.default&&(void 0===e&&(e=n.default.isColorSupported),e&&(r=(0,o.default)(r)));var i=r.split(/\r?\n/),s=Math.max(this.line-3,0),u=Math.min(this.line+2,i.length),a=String(u).length;function c(t){return e&&n.default.red?n.default.red(n.default.bold(t)):t}function l(t){return e&&n.default.gray?n.default.gray(t):t}return i.slice(s,u).map((function(e,r){var n=s+1+r,o=" "+(" "+n).slice(-a)+" | ";if(n===t.line){var i=l(o.replace(/\d/g," "))+e.slice(0,t.column-1).replace(/[^\t]/g," ");return c(">")+l(o)+e+"\n "+i+c("^")}return" "+l(o)+e})).join("\n")},s.toString=function(){var e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e},i}(s(Error));t.default=f,e.exports=t.default},1050:(e,t,r)=>{var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="decl",r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(((n=r(6664))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},7707:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(3974)),o=s(r(3769)),i=s(r(9772));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var r=0;r"),this.map&&(this.map.file=this.from)}var t,r=e.prototype;return r.error=function(e,t,r,n){var i;void 0===n&&(n={});var s=this.origin(t,r);return(i=s?new o.default(e,s.line,s.column,s.source,s.file,n.plugin):new o.default(e,t,r,this.css,this.file,n.plugin)).input={line:t,column:r,source:this.css},this.file&&(i.input.file=this.file),i},r.origin=function(e,t){if(!this.map)return!1;var r=this.map.consumer(),n=r.originalPositionFor({line:e,column:t});if(!n.source)return!1;var o={file:this.mapResolve(n.source),line:n.line,column:n.column},i=r.sourceContentFor(n.source);return i&&(o.source=i),o},r.mapResolve=function(e){return/^\w+:\/\//.test(e)?e:n.default.resolve(this.map.consumer().sourceRoot||".",e)},(t=[{key:"from",get:function(){return this.file||this.id}}])&&u(e.prototype,t),e}();t.default=c,e.exports=t.default},4820:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=u(r(2807)),o=u(r(6649)),i=(u(r(706)),u(r(7724))),s=u(r(8084));function u(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=this.processor.plugins.length)return this.processed=!0,e();try{var n=this.processor.plugins[this.plugin],o=this.run(n);this.plugin+=1,f(o)?o.then((function(){r.asyncTick(e,t)})).catch((function(e){r.handleError(e,n),r.processed=!0,t(e)})):this.asyncTick(e,t)}catch(e){this.processed=!0,t(e)}},r.async=function(){var e=this;return this.processed?new Promise((function(t,r){e.error?r(e.error):t(e.stringify())})):(this.processing||(this.processing=new Promise((function(t,r){if(e.error)return r(e.error);e.plugin=0,e.asyncTick(t,r)})).then((function(){return e.processed=!0,e.stringify()}))),this.processing)},r.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var e,t=a(this.result.processor.plugins);!(e=t()).done;){var r=e.value;if(f(this.run(r)))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},r.run=function(e){this.result.lastPlugin=e;try{return e(this.result.root,this.result)}catch(t){throw this.handleError(t,e),t}},r.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var e=this.result.opts,t=o.default;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);var r=new n.default(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result},(t=[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}])&&l(e.prototype,t),e}();t.default=p,e.exports=t.default},5279:(e,t)=>{t.__esModule=!0,t.default=void 0;var r={split:function(e,t,r){for(var n=[],o="",i=!1,s=0,u=!1,a=!1,c=0;c0&&(s-=1):0===s&&-1!==t.indexOf(l)&&(i=!0),i?(""!==o&&n.push(o.trim()),o="",i=!1):o+=l}return(r||""!==o)&&n.push(o.trim()),n},space:function(e){return r.split(e,[" ","\n","\t"])},comma:function(e){return r.split(e,[","],!0)}},n=r;t.default=n,e.exports=t.default},2807:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(1503)),o=i(r(3974));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0},t.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk((function(t){if(t.source&&t.source.input.map){var r=t.source.input.map;-1===e.previousMaps.indexOf(r)&&e.previousMaps.push(r)}}))),this.previousMaps},t.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((function(e){return e.inline})))},t.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((function(e){return e.withContent()}))},t.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e,t=this.root.nodes.length-1;t>=0;t--)"comment"===(e=this.root.nodes[t]).type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)},t.setSourcesContent=function(){var e=this,t={};this.root.walk((function(r){if(r.source){var n=r.source.input.from;if(n&&!t[n]){t[n]=!0;var o=e.relative(n);e.map.setSourceContent(o,r.source.input.css)}}}))},t.applyPrevMaps=function(){for(var e,t=s(this.previous());!(e=t()).done;){var r=e.value,i=this.relative(r.file),u=r.root||o.default.dirname(r.file),a=void 0;!1===this.mapOpts.sourcesContent?(a=new n.default.SourceMapConsumer(r.text)).sourcesContent&&(a.sourcesContent=a.sourcesContent.map((function(){return null}))):a=r.consumer(),this.map.applySourceMap(a,i,this.relative(u))}},t.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((function(e){return e.annotation})))},t.toBase64=function(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))},t.addAnnotation=function(){var e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+".map";var t="\n";-1!==this.css.indexOf("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"},t.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},t.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},t.relative=function(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;var t=this.opts.to?o.default.dirname(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=o.default.dirname(o.default.resolve(t,this.mapOpts.annotation))),e=o.default.relative(t,e),"\\"===o.default.sep?e.replace(/\\/g,"/"):e},t.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},t.generateString=function(){var e=this;this.css="",this.map=new n.default.SourceMapGenerator({file:this.outputFile()});var t,r,o=1,i=1;this.stringify(this.root,(function(n,s,u){if(e.css+=n,s&&"end"!==u&&(s.source&&s.source.start?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-1},original:{line:s.source.start.line,column:s.source.start.column-1}}):e.map.addMapping({source:"",original:{line:1,column:0},generated:{line:o,column:i-1}})),(t=n.match(/\n/g))?(o+=t.length,r=n.lastIndexOf("\n"),i=n.length-r):i+=n.length,s&&"start"!==u){var a=s.parent||{raws:{}};("decl"!==s.type||s!==a.last||a.raws.semicolon)&&(s.source&&s.source.end?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-2},original:{line:s.source.end.line,column:s.source.end.column-1}}):e.map.addMapping({source:"",original:{line:1,column:0},generated:{line:o,column:i-1}}))}}))},t.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e="";return this.stringify(this.root,(function(t){e+=t})),[e]},e}();t.default=a,e.exports=t.default},6664:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(3769)),o=s(r(9846)),i=s(r(6649));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){var r=new e.constructor;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n],i=typeof o;"parent"===n&&"object"===i?t&&(r[n]=t):"source"===n?r[n]=o:o instanceof Array?r[n]=o.map((function(e){return u(e,r)})):("object"===i&&null!==o&&(o=u(o)),r[n]=o)}return r}var a=function(){function e(e){for(var t in void 0===e&&(e={}),this.raws={},e)this[t]=e[t]}var t=e.prototype;return t.error=function(e,t){if(void 0===t&&(t={}),this.source){var r=this.positionBy(t);return this.source.input.error(e,r.line,r.column,t)}return new n.default(e)},t.warn=function(e,t,r){var n={node:this};for(var o in r)n[o]=r[o];return e.warn(t,n)},t.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},t.toString=function(e){void 0===e&&(e=i.default),e.stringify&&(e=e.stringify);var t="";return e(this,(function(e){t+=e})),t},t.clone=function(e){void 0===e&&(e={});var t=u(this);for(var r in e)t[r]=e[r];return t},t.cloneBefore=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertBefore(this,t),t},t.cloneAfter=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertAfter(this,t),t},t.replaceWith=function(){if(this.parent){for(var e=arguments.length,t=new Array(e),r=0;r{t.__esModule=!0,t.default=void 0;var n=i(r(6118)),o=i(r(7707));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t){var r=new o.default(e,t),i=new n.default(r);try{i.parse()}catch(e){throw e}return i.root};t.default=s,e.exports=t.default},6118:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=c(r(1050)),o=c(r(9889)),i=c(r(3425)),s=c(r(2661)),u=c(r(4106)),a=c(r(7945));function c(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e){this.input=e,this.root=new u.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{line:1,column:1}}}var t=e.prototype;return t.createTokenizer=function(){this.tokenizer=(0,o.default)(this.input)},t.parse=function(){for(var e;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()},t.comment=function(e){var t=new i.default;this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]};var r=e[1].slice(2,-2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{var n=r.match(/^(\s*)([^]*[^\s])(\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}},t.emptyRule=function(e){var t=new a.default;this.init(t,e[2],e[3]),t.selector="",t.raws.between="",this.current=t},t.other=function(e){for(var t=!1,r=null,n=!1,o=null,i=[],s=[],u=e;u;){if(r=u[0],s.push(u),"("===r||"["===r)o||(o=u),i.push("("===r?")":"]");else if(0===i.length){if(";"===r){if(n)return void this.decl(s);break}if("{"===r)return void this.rule(s);if("}"===r){this.tokenizer.back(s.pop()),t=!0;break}":"===r&&(n=!0)}else r===i[i.length-1]&&(i.pop(),0===i.length&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(o),t&&n){for(;s.length&&("space"===(u=s[s.length-1][0])||"comment"===u);)this.tokenizer.back(s.pop());this.decl(s)}else this.unknownWord(s)},t.rule=function(e){e.pop();var t=new a.default;this.init(t,e[0][2],e[0][3]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t},t.decl=function(e){var t=new n.default;this.init(t);var r,o=e[e.length-1];for(";"===o[0]&&(this.semicolon=!0,e.pop()),o[4]?t.source.end={line:o[4],column:o[5]}:t.source.end={line:o[2],column:o[3]};"word"!==e[0][0];)1===e.length&&this.unknownWord(e),t.raws.before+=e.shift()[1];for(t.source.start={line:e[0][2],column:e[0][3]},t.prop="";e.length;){var i=e[0][0];if(":"===i||"space"===i||"comment"===i)break;t.prop+=e.shift()[1]}for(t.raws.between="";e.length;){if(":"===(r=e.shift())[0]){t.raws.between+=r[1];break}"word"===r[0]&&/\w/.test(r[1])&&this.unknownWord([r]),t.raws.between+=r[1]}"_"!==t.prop[0]&&"*"!==t.prop[0]||(t.raws.before+=t.prop[0],t.prop=t.prop.slice(1)),t.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(var s=e.length-1;s>0;s--){if("!important"===(r=e[s])[1].toLowerCase()){t.important=!0;var u=this.stringFrom(e,s);" !important"!==(u=this.spacesFromEnd(e)+u)&&(t.raws.important=u);break}if("important"===r[1].toLowerCase()){for(var a=e.slice(0),c="",l=s;l>0;l--){var f=a[l][0];if(0===c.trim().indexOf("!")&&"space"!==f)break;c=a.pop()[1]+c}0===c.trim().indexOf("!")&&(t.important=!0,t.raws.important=c,e=a)}if("space"!==r[0]&&"comment"!==r[0])break}this.raw(t,"value",e),-1!==t.value.indexOf(":")&&this.checkMissedSemicolon(e)},t.atrule=function(e){var t,r,n=new s.default;n.name=e[1].slice(1),""===n.name&&this.unnamedAtrule(n,e),this.init(n,e[2],e[3]);for(var o=!1,i=!1,u=[];!this.tokenizer.endOfFile();){if(";"===(e=this.tokenizer.nextToken())[0]){n.source.end={line:e[2],column:e[3]},this.semicolon=!0;break}if("{"===e[0]){i=!0;break}if("}"===e[0]){if(u.length>0){for(t=u[r=u.length-1];t&&"space"===t[0];)t=u[--r];t&&(n.source.end={line:t[4],column:t[5]})}this.end(e);break}if(u.push(e),this.tokenizer.endOfFile()){o=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(n.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(n,"params",u),o&&(e=u[u.length-1],n.source.end={line:e[4],column:e[5]},this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),i&&(n.nodes=[],this.current=n)},t.end=function(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:e[2],column:e[3]},this.current=this.current.parent):this.unexpectedClose(e)},t.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},t.freeSemicolon=function(e){if(this.spaces+=e[1],this.current.nodes){var t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}},t.init=function(e,t,r){this.current.push(e),e.source={start:{line:t,column:r},input:this.input},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)},t.raw=function(e,t,r){for(var n,o,i,s,u=r.length,a="",c=!0,l=/^([.|#])?([\w])+/i,f=0;f=0&&("space"===(r=e[o])[0]||2!==(n+=1));o--);throw this.input.error("Missed semicolon",r[2],r[3])}},e}();t.default=l,e.exports=t.default},9772:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(1503)),o=s(r(3974)),i=s(r(4940));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(e,t){this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");var r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);n&&(this.text=n)}var t=e.prototype;return t.consumer=function(){return this.consumerCache||(this.consumerCache=new n.default.SourceMapConsumer(this.text)),this.consumerCache},t.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},t.startWith=function(e,t){return!!e&&e.substr(0,t.length)===t},t.getAnnotationURL=function(e){return e.match(/\/\*\s*# sourceMappingURL=((?:(?!sourceMappingURL=).)*)\*\//)[1].trim()},t.loadAnnotation=function(e){var t=e.match(/\/\*\s*# sourceMappingURL=(?:(?!sourceMappingURL=).)*\*\//gm);if(t&&t.length>0){var r=t[t.length-1];r&&(this.annotation=this.getAnnotationURL(r))}},t.decodeInline=function(e){var t,r="data:application/json,";if(this.startWith(e,r))return decodeURIComponent(e.substr(r.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var n=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+n)},t.loadMap=function(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"==typeof t){var r=t(e);if(r&&i.default.existsSync&&i.default.existsSync(r))return i.default.readFileSync(r,"utf-8").toString().trim();throw new Error("Unable to load previous source map: "+r.toString())}if(t instanceof n.default.SourceMapConsumer)return n.default.SourceMapGenerator.fromSourceMap(t).toString();if(t instanceof n.default.SourceMapGenerator)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var s=this.annotation;return e&&(s=o.default.join(o.default.dirname(e),s)),this.root=o.default.dirname(s),!(!i.default.existsSync||!i.default.existsSync(s))&&i.default.readFileSync(s,"utf-8").toString().trim()}},t.isMap=function(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings)},e}();t.default=u,e.exports=t.default},5378:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n,o=(n=r(4820))&&n.__esModule?n:{default:n};function i(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{t.__esModule=!0,t.default=void 0;var n,o=(n=r(3950))&&n.__esModule?n:{default:n};function i(e,t){for(var r=0;r{var n;function o(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),e.prototype.removeChild.call(this,t)},s.normalize=function(t,r,n){var i=e.prototype.normalize.call(this,t);if(r)if("prepend"===n)this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(var s,u=o(i);!(s=u()).done;)s.value.raws.before=r.raws.before;return i},s.toResult=function(e){return void 0===e&&(e={}),new(r(4820))(new(r(5378)),this,e).stringify()},i}(((n=r(5500))&&n.__esModule?n:{default:n}).default);t.default=s,e.exports=t.default},7945:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(5500)),o=i(r(5279));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){for(var r=0;r{t.__esModule=!0,t.default=void 0;var r={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1},n=function(){function e(e){this.builder=e}var t=e.prototype;return t.stringify=function(e,t){this[e.type](e,t)},t.root=function(e){this.body(e),e.raws.after&&this.builder(e.raws.after)},t.comment=function(e){var t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+r+"*/",e)},t.decl=function(e,t){var r=this.raw(e,"between","colon"),n=e.prop+r+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),t&&(n+=";"),this.builder(n,e)},t.rule=function(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")},t.atrule=function(e,t){var r="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=" "),e.nodes)this.block(e,r+n);else{var o=(e.raws.between||"")+(t?";":"");this.builder(r+n+o,e)}},t.body=function(e){for(var t=e.nodes.length-1;t>0&&"comment"===e.nodes[t].type;)t-=1;for(var r=this.raw(e,"semicolon"),n=0;n0&&void 0!==e.raws.after)return-1!==(t=e.raws.after).indexOf("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/[^\s]/g,"")),t},t.rawBeforeOpen=function(e){var t;return e.walk((function(e){if("decl"!==e.type&&void 0!==(t=e.raws.between))return!1})),t},t.rawColon=function(e){var t;return e.walkDecls((function(e){if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1})),t},t.beforeAfter=function(e,t){var r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");for(var n=e.parent,o=0;n&&"root"!==n.type;)o+=1,n=n.parent;if(-1!==r.indexOf("\n")){var i=this.raw(e,null,"indent");if(i.length)for(var s=0;s{t.__esModule=!0,t.default=void 0;var n,o=(n=r(9846))&&n.__esModule?n:{default:n},i=function(e,t){new o.default(t).stringify(e)};t.default=i,e.exports=t.default},9889:(e,t)=>{t.__esModule=!0,t.default=function(e,t){void 0===t&&(t={});var x,A,k,O,_,S,T,I,N,M,R,j,L,B,P=e.css.valueOf(),U=t.ignoreErrors,G=P.length,$=-1,z=1,W=0,V=[],q=[];function X(t){throw e.error("Unclosed "+t,z,W-$)}return{back:function(e){q.push(e)},nextToken:function(e){if(q.length)return q.pop();if(!(W>=G)){var t=!!e&&e.ignoreUnclosed;switch(((x=P.charCodeAt(W))===s||x===a||x===l&&P.charCodeAt(W+1)!==s)&&($=W,z+=1),x){case s:case u:case c:case l:case a:A=W;do{A+=1,(x=P.charCodeAt(A))===s&&($=A,z+=1)}while(x===u||x===s||x===c||x===l||x===a);B=["space",P.slice(W,A)],W=A-1;break;case f:case p:case D:case g:case y:case m:case d:var J=String.fromCharCode(x);B=[J,J,z,W-$];break;case h:if(j=V.length?V.pop()[1]:"",L=P.charCodeAt(W+1),"url"===j&&L!==r&&L!==n&&L!==u&&L!==s&&L!==c&&L!==a&&L!==l){A=W;do{if(M=!1,-1===(A=P.indexOf(")",A+1))){if(U||t){A=W;break}X("bracket")}for(R=A;P.charCodeAt(R-1)===o;)R-=1,M=!M}while(M);B=["brackets",P.slice(W,A+1),z,W-$,z,A-$],W=A}else A=P.indexOf(")",W+1),S=P.slice(W,A+1),-1===A||E.test(S)?B=["(","(",z,W-$]:(B=["brackets",S,z,W-$,z,A-$],W=A);break;case r:case n:k=x===r?"'":'"',A=W;do{if(M=!1,-1===(A=P.indexOf(k,A+1))){if(U||t){A=W+1;break}X("string")}for(R=A;P.charCodeAt(R-1)===o;)R-=1,M=!M}while(M);S=P.slice(W,A+1),O=S.split("\n"),(_=O.length-1)>0?(I=z+_,N=A-O[_].length):(I=z,N=$),B=["string",P.slice(W,A+1),z,W-$,I,A-N],$=N,z=I,W=A;break;case w:b.lastIndex=W+1,b.test(P),A=0===b.lastIndex?P.length-1:b.lastIndex-2,B=["at-word",P.slice(W,A+1),z,W-$,z,A-$],W=A;break;case o:for(A=W,T=!0;P.charCodeAt(A+1)===o;)A+=1,T=!T;if(x=P.charCodeAt(A+1),T&&x!==i&&x!==u&&x!==s&&x!==c&&x!==l&&x!==a&&(A+=1,F.test(P.charAt(A)))){for(;F.test(P.charAt(A+1));)A+=1;P.charCodeAt(A+1)===u&&(A+=1)}B=["word",P.slice(W,A+1),z,W-$,z,A-$],W=A;break;default:x===i&&P.charCodeAt(W+1)===v?(0===(A=P.indexOf("*/",W+2)+1)&&(U||t?A=P.length:X("comment")),S=P.slice(W,A+1),O=S.split("\n"),(_=O.length-1)>0?(I=z+_,N=A-O[_].length):(I=z,N=$),B=["comment",S,z,W-$,I,A-N],$=N,z=I,W=A):(C.lastIndex=W+1,C.test(P),A=0===C.lastIndex?P.length-1:C.lastIndex-2,B=["word",P.slice(W,A+1),z,W-$,z,A-$],V.push(B),W=A)}return W++,B}},endOfFile:function(){return 0===q.length&&W>=G},position:function(){return W}}};var r="'".charCodeAt(0),n='"'.charCodeAt(0),o="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),u=" ".charCodeAt(0),a="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),f="[".charCodeAt(0),p="]".charCodeAt(0),h="(".charCodeAt(0),d=")".charCodeAt(0),D="{".charCodeAt(0),g="}".charCodeAt(0),m=";".charCodeAt(0),v="*".charCodeAt(0),y=":".charCodeAt(0),w="@".charCodeAt(0),b=/[ \n\t\r\f{}()'"\\;/[\]#]/g,C=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,E=/.[\\/("'\n]/,F=/[a-f0-9]/i;e.exports=t.default},706:(e,t)=>{t.__esModule=!0,t.default=function(e){r[e]||(r[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};var r={};e.exports=t.default},3950:(e,t)=>{t.__esModule=!0,t.default=void 0;var r=function(){function e(e,t){if(void 0===t&&(t={}),this.type="warning",this.text=e,t.node&&t.node.source){var r=t.node.positionBy(t);this.line=r.line,this.column=r.column}for(var n in t)this[n]=t[n]}return e.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text},e}();t.default=r,e.exports=t.default},3937:(e,t,r)=>{const n=r(7347),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=r(9334),{re:s,t:u}=r(7791),a=r(7110),{compareIdentifiers:c}=r(5373);class l{constructor(e,t){if(t=a(t),e instanceof l){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>o)throw new TypeError("version is longer than ".concat(o," characters"));n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[u.LOOSE]:s[u.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}e.exports=l},6711:(e,t,r)=>{const n=r(3937);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},56:(e,t,r)=>{const n=r(6711);e.exports=(e,t,r)=>n(e,t,r)>=0},4513:(e,t,r)=>{const n=r(6711);e.exports=(e,t,r)=>n(e,t,r)<0},9334:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},7347:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){for(var e=arguments.length,t=new Array(e),r=0;r{};e.exports=t},5373:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),o=t.test(r);return n&&o&&(e=+e,r=+r),e===r?0:n&&!o?-1:o&&!n?1:er(t,e)}},7110:e=>{const t=["includePrerelease","loose","rtl"];e.exports=e=>e?"object"!=typeof e?{loose:!0}:t.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{}},7791:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n}=r(9334),o=r(7347),i=(t=e.exports={}).re=[],s=t.src=[],u=t.t={};let a=0;const c=(e,t,r)=>{const n=a++;o(n,t),u[e]=n,s[n]=t,i[n]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION","(".concat(s[u.NUMERICIDENTIFIER],")\\.")+"(".concat(s[u.NUMERICIDENTIFIER],")\\.")+"(".concat(s[u.NUMERICIDENTIFIER],")")),c("MAINVERSIONLOOSE","(".concat(s[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[u.NUMERICIDENTIFIERLOOSE],")")),c("PRERELEASEIDENTIFIER","(?:".concat(s[u.NUMERICIDENTIFIER],"|").concat(s[u.NONNUMERICIDENTIFIER],")")),c("PRERELEASEIDENTIFIERLOOSE","(?:".concat(s[u.NUMERICIDENTIFIERLOOSE],"|").concat(s[u.NONNUMERICIDENTIFIER],")")),c("PRERELEASE","(?:-(".concat(s[u.PRERELEASEIDENTIFIER],"(?:\\.").concat(s[u.PRERELEASEIDENTIFIER],")*))")),c("PRERELEASELOOSE","(?:-?(".concat(s[u.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(s[u.PRERELEASEIDENTIFIERLOOSE],")*))")),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD","(?:\\+(".concat(s[u.BUILDIDENTIFIER],"(?:\\.").concat(s[u.BUILDIDENTIFIER],")*))")),c("FULLPLAIN","v?".concat(s[u.MAINVERSION]).concat(s[u.PRERELEASE],"?").concat(s[u.BUILD],"?")),c("FULL","^".concat(s[u.FULLPLAIN],"$")),c("LOOSEPLAIN","[v=\\s]*".concat(s[u.MAINVERSIONLOOSE]).concat(s[u.PRERELEASELOOSE],"?").concat(s[u.BUILD],"?")),c("LOOSE","^".concat(s[u.LOOSEPLAIN],"$")),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE","".concat(s[u.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),c("XRANGEIDENTIFIER","".concat(s[u.NUMERICIDENTIFIER],"|x|X|\\*")),c("XRANGEPLAIN","[v=\\s]*(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:".concat(s[u.PRERELEASE],")?").concat(s[u.BUILD],"?")+")?)?"),c("XRANGEPLAINLOOSE","[v=\\s]*(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(s[u.PRERELEASELOOSE],")?").concat(s[u.BUILD],"?")+")?)?"),c("XRANGE","^".concat(s[u.GTLT],"\\s*").concat(s[u.XRANGEPLAIN],"$")),c("XRANGELOOSE","^".concat(s[u.GTLT],"\\s*").concat(s[u.XRANGEPLAINLOOSE],"$")),c("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),c("COERCERTL",s[u.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM","(\\s*)".concat(s[u.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",c("TILDE","^".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAIN],"$")),c("TILDELOOSE","^".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAINLOOSE],"$")),c("LONECARET","(?:\\^)"),c("CARETTRIM","(\\s*)".concat(s[u.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",c("CARET","^".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAIN],"$")),c("CARETLOOSE","^".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAINLOOSE],"$")),c("COMPARATORLOOSE","^".concat(s[u.GTLT],"\\s*(").concat(s[u.LOOSEPLAIN],")$|^$")),c("COMPARATOR","^".concat(s[u.GTLT],"\\s*(").concat(s[u.FULLPLAIN],")$|^$")),c("COMPARATORTRIM","(\\s*)".concat(s[u.GTLT],"\\s*(").concat(s[u.LOOSEPLAIN],"|").concat(s[u.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE","^\\s*(".concat(s[u.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(s[u.XRANGEPLAIN],")")+"\\s*$"),c("HYPHENRANGELOOSE","^\\s*(".concat(s[u.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(s[u.XRANGEPLAINLOOSE],")")+"\\s*$"),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},7497:(e,t,r)=>{var n=r(3733),o=Object.prototype.hasOwnProperty,i="undefined"!=typeof Map;function s(){this._array=[],this._set=i?new Map:Object.create(null)}s.fromArray=function(e,t){for(var r=new s,n=0,o=e.length;n=0)return t}else{var r=n.toSetString(e);if(o.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},s.prototype.at=function(e){if(e>=0&&e{var n=r(4335);t.encode=function(e){var t,r="",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),r+=n.encode(t)}while(o>0);return r},t.decode=function(e,t,r){var o,i,s,u,a=e.length,c=0,l=0;do{if(t>=a)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=n.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&s)?-u:u),r.rest=t}},4335:(e,t)=>{var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{function r(e,n,o,i,s,u){var a=Math.floor((n-e)/2)+e,c=s(o,i[a],!0);return 0===c?a:c>0?n-a>1?r(a,n,o,i,s,u):u==t.LEAST_UPPER_BOUND?n1?r(e,a,o,i,s,u):u==t.LEAST_UPPER_BOUND?a:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,o,i){if(0===n.length)return-1;var s=r(-1,n.length,e,n,o,i||t.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===o(n[s],n[s-1],!0);)--s;return s}},9825:(e,t,r)=>{r(9031);var n=r(3733);function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},o.prototype.add=function(e){var t,r,o,i,s,u;r=e,o=(t=this._last).generatedLine,i=r.generatedLine,s=t.generatedColumn,u=r.generatedColumn,i>o||i==o&&u>=s||n.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=o},6359:(e,t)=>{function r(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function n(e,t,o,i){if(o{var n=r(3733),o=r(6232),i=r(7497).I,s=r(3648),u=r(6359).U;function a(e,t){var r=e;return"string"==typeof e&&(r=n.parseSourceMapInput(e)),null!=r.sections?new f(r,t):new c(r,t)}function c(e,t){var r=e;"string"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,"version"),s=n.getArg(r,"sources"),u=n.getArg(r,"names",[]),a=n.getArg(r,"sourceRoot",null),c=n.getArg(r,"sourcesContent",null),l=n.getArg(r,"mappings"),f=n.getArg(r,"file",null);if(o!=this._version)throw new Error("Unsupported version: "+o);a&&(a=n.normalize(a)),s=s.map(String).map(n.normalize).map((function(e){return a&&n.isAbsolute(a)&&n.isAbsolute(e)?n.relative(a,e):e})),this._names=i.fromArray(u.map(String),!0),this._sources=i.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(e){return n.computeSourceURL(a,e,t)})),this.sourceRoot=a,this.sourcesContent=c,this._mappings=l,this._sourceMapURL=t,this.file=f}function l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function f(e,t){var r=e;"string"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,"version"),s=n.getArg(r,"sections");if(o!=this._version)throw new Error("Unsupported version: "+o);this._sources=new i,this._names=new i;var u={line:-1,column:0};this._sections=s.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=n.getArg(e,"offset"),o=n.getArg(r,"line"),i=n.getArg(r,"column");if(o=0){var u=this._originalMappings[s];if(void 0===e.column)for(var a=u.originalLine;u&&u.originalLine===a;)i.push({line:n.getArg(u,"generatedLine",null),column:n.getArg(u,"generatedColumn",null),lastColumn:n.getArg(u,"lastGeneratedColumn",null)}),u=this._originalMappings[++s];else for(var c=u.originalColumn;u&&u.originalLine===t&&u.originalColumn==c;)i.push({line:n.getArg(u,"generatedLine",null),column:n.getArg(u,"generatedColumn",null),lastColumn:n.getArg(u,"lastGeneratedColumn",null)}),u=this._originalMappings[++s]}return i},t.SourceMapConsumer=a,c.prototype=Object.create(a.prototype),c.prototype.consumer=a,c.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=n.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=D+i[1],D+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=d+i[3],d=r.originalColumn,i.length>4&&(r.name=g+i[4],g+=i[4])),C.push(r),"number"==typeof r.originalLine&&b.push(r)}u(C,n.compareByGeneratedPositionsDeflated),this.__generatedMappings=C,u(b,n.compareByOriginalPositions),this.__originalMappings=b},c.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return o.search(e,t,i,s)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===t.generatedLine){var i=n.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),i=n.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=n.getArg(o,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:n.getArg(o,"originalLine",null),column:n.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},c.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var o,i=e;if(null!=this.sourceRoot&&(i=n.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(o=n.urlParse(this.sourceRoot))){var s=i.replace(/^file:\/\//,"");if("file"==o.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!o.path||"/"==o.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(t)return null;throw new Error('"'+i+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(e){var t=n.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:n.getArg(e,"line"),originalColumn:n.getArg(e,"column")},o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,n.getArg(e,"bias",a.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:n.getArg(i,"generatedLine",null),column:n.getArg(i,"generatedColumn",null),lastColumn:n.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},f.prototype=Object.create(a.prototype),f.prototype.constructor=a,f.prototype._version=3,Object.defineProperty(f.prototype,"sources",{get:function(){for(var e=[],t=0;t{var n=r(3648),o=r(3733),i=r(7497).I,s=r(9825).H;function u(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._skipValidation=o.getArg(e,"skipValidation",!1),this._sources=new i,this._names=new i,this._mappings=new s,this._sourcesContents=null}u.prototype._version=3,u.fromSourceMap=function(e){var t=e.sourceRoot,r=new u({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=o.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=o.relative(t,n)),r._sources.has(i)||r._sources.add(i);var s=e.sourceContentFor(n);null!=s&&r.setSourceContent(n,s)})),r},u.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),r=o.getArg(e,"original",null),n=o.getArg(e,"source",null),i=o.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},u.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=o.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},u.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var s=this._sourceRoot;null!=s&&(n=o.relative(s,n));var u=new i,a=new i;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=r&&(t.source=o.join(r,t.source)),null!=s&&(t.source=o.relative(s,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||u.has(c)||u.add(c);var l=t.name;null==l||a.has(l)||a.add(l)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=o.join(r,t)),null!=s&&(t=o.relative(s,t)),this.setSourceContent(t,n))}),this)},u.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},u.prototype._serializeMappings=function(){for(var e,t,r,i,s=0,u=1,a=0,c=0,l=0,f=0,p="",h=this._mappings.toArray(),d=0,D=h.length;d0){if(!o.compareByGeneratedPositionsInflated(t,h[d-1]))continue;e+=","}e+=n.encode(t.generatedColumn-s),s=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=n.encode(i-f),f=i,e+=n.encode(t.originalLine-1-c),c=t.originalLine-1,e+=n.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=n.encode(r-l),l=r)),p+=e}return p},u.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var r=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},u.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},u.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=u},8741:(e,t,r)=>{var n=r(1154).SourceMapGenerator,o=r(3733),i=/(\r?\n)/,s="$$$isSourceNode$$$";function u(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[s]=!0,null!=n&&this.add(n)}u.fromStringWithSourceMap=function(e,t,r){var n=new u,s=e.split(i),a=0,c=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[s]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},u.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r{t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function o(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function s(e){var r=e,n=o(e);if(n){if(!n.path)return e;r=n.path}for(var s,u=t.isAbsolute(r),a=r.split(/\/+/),c=0,l=a.length-1;l>=0;l--)"."===(s=a[l])?a.splice(l,1):".."===s?c++:c>0&&(""===s?(a.splice(l+1,c),c=0):(a.splice(l,2),c--));return""===(r=a.join("/"))&&(r=u?"/":"."),n?(n.path=r,i(n)):r}function u(e,t){""===e&&(e="."),""===t&&(t=".");var r=o(t),u=o(e);if(u&&(e=u.path||"/"),r&&!r.scheme)return u&&(r.scheme=u.scheme),i(r);if(r||t.match(n))return t;if(u&&!u.host&&!u.path)return u.host=t,i(u);var a="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return u?(u.path=a,i(u)):a}t.urlParse=o,t.urlGenerate=i,t.normalize=s,t.join=u,t.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var a=!("__proto__"in Object.create(null));function c(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function f(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=a?c:function(e){return l(e)?"$"+e:e},t.fromSetString=a?c:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=f(e.source,t.source);return 0!==n||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)||r||0!=(n=e.generatedColumn-t.generatedColumn)||0!=(n=e.generatedLine-t.generatedLine)?n:f(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=f(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:f(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||0!==(r=f(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:f(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var n=o(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var a=n.path.lastIndexOf("/");a>=0&&(n.path=n.path.substring(0,a+1))}t=u(i(n),t)}return s(t)}},1503:(e,t,r)=>{t.SourceMapGenerator=r(1154).SourceMapGenerator,t.SourceMapConsumer=r(4632).SourceMapConsumer,t.SourceNode=r(8741).SourceNode},9467:(e,t,r)=>{const n=r(5413),o=r(2559),i=r(8028),s=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=n(e)).length)return 0;e=e.replace(i()," ");let t=0;for(let r=0;r=127&&n<=159||n>=768&&n<=879||(n>65535&&r++,t+=o(n)?2:1)}return t};e.exports=s,e.exports.default=s},5413:(e,t,r)=>{const n=r(5731);e.exports=e=>"string"==typeof e?e.replace(n(),""):e},2602:(e,t,r)=>{r(9031),e.exports=function(e,t,r){return 0===e.length?e:t?(r||e.sort(t),function(e,t){for(var r=1,n=e.length,o=e[0],i=e[0],s=1;s{e.exports={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}}},3927:e=>{e.exports=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r}},4674:(e,t,r)=>{const n=r(9467),o=r(4793),i=r(4677),{getSupportInfo:s}=r(8454),u=/[^\x20-\x7F]/;function a(e){return(t,r,n)=>{const o=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let s=r;for(;s>=0&&s2&&void 0!==arguments[2]?arguments[2]:{};const n=l(e,r.backwards?t-1:t,r);return n!==D(e,n,r)}function m(e,t){let r=null,n=t;for(;n!==r;)r=n,n=f(e,n),n=h(e,n),n=l(e,n);return n=d(e,n),n=D(e,n),!1!==n&&g(e,n)}function v(e,t){let r=null,n=t;for(;n!==r;)r=n,n=l(e,n),n=h(e,n),n=d(e,n),n=D(e,n);return n}function y(e,t,r){return v(e,r(t))}function w(e,t){let r=0;for(let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;n(e.match(i.regex)||[]).length?i:o),s}function C(e,t,r){const n='"'===t?"'":'"',o=e.replace(/\\(.)|(["'])/gs,((e,o,i)=>o===n?o:i===t?"\\"+i:i||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(o)?o:"\\"+o)));return t+o+t}function E(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}(e)}e.exports={inferParserByLanguage:function(e,t){const{languages:r}=s({plugins:t.plugins}),n=r.find((t=>{let{name:r}=t;return r.toLowerCase()===e}))||r.find((t=>{let{aliases:r}=t;return Array.isArray(r)&&r.includes(e)}))||r.find((t=>{let{extensions:r}=t;return Array.isArray(r)&&r.includes(".".concat(e))}));return n&&n.parsers[0]},getStringWidth:function(e){return e?u.test(e)?n(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(o(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(o(t),")+"),"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:i,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:v,getNextNonSpaceNonCommentCharacterIndex:y,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(y(e,t,r))},skip:a,skipWhitespace:c,skipSpaces:l,skipToLineEnd:f,skipEverythingButNewLine:p,skipInlineComment:h,skipTrailingComment:d,skipNewline:D,isNextLineEmptyAfterIndex:m,isNextLineEmpty:function(e,t,r){return m(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=l(e,n,{backwards:!0}),n=D(e,n,{backwards:!0}),n=l(e,n,{backwards:!0}),n!==D(e,n,{backwards:!0})},hasNewline:g,hasNewlineInRange:function(e,t,r){for(let n=t;n2&&void 0!==arguments[2]?arguments[2]:{};return l(e,r.backwards?t-1:t,r)!==t},getAlignmentSize:w,getIndentSize:function(e,t){const r=e.lastIndexOf("\n");return-1===r?0:w(e.slice(r+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:b,printString:function(e,t){const r=e.slice(1,-1);return C(r,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":b(r,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:C,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,E(e,t)},addDanglingComment:function(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),E(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,E(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}}},7108:(e,t,r)=>{const n=r(7857),{getLast:o,skipEverythingButNewLine:i}=r(4674);function s(e,t){return"number"==typeof e.sourceIndex?e.sourceIndex:e.source?n(e.source.start,t)-1:null}function u(e,t){if("css-comment"===e.type&&e.inline)return i(t,e.source.startOffset);const r=e.nodes&&o(e.nodes);return r&&e.source&&!e.source.end&&(e=r),e.source&&e.source.end?n(e.source.end,t):null}function a(e,t,r){e.source&&(e.source.startOffset=s(e,r)+t,e.source.endOffset=u(e,r)+t);for(const n in e){const o=e[n];"source"!==n&&o&&"object"==typeof o&&a(o,t,r)}}function c(e){let t=e.source.startOffset;return"string"==typeof e.prop&&(t+=e.prop.length),"css-atrule"===e.type&&"string"==typeof e.name&&(t+=1+e.name.length+e.raws.afterName.match(/^\s*:?\s*/)[0].length),"css-atrule"!==e.type&&e.raws&&"string"==typeof e.raws.between&&(t+=e.raws.between.length),t}e.exports={locStart:function(e){return e.source.startOffset},locEnd:function(e){return e.source.endOffset},calculateLoc:function e(t,r){t.source&&(t.source.startOffset=s(t,r),t.source.endOffset=u(t,r));for(const n in t){const o=t[n];"source"!==n&&o&&"object"==typeof o&&("value-root"===o.type||"value-unknown"===o.type?a(o,c(t),o.text||o.value):e(o,r))}},replaceQuotesInInlineComments:function(e){let t,r="initial",n="initial",o=!1;const i=[];for(let s=0;s{const n=r(3927),o=r(4677),i=r(8190),{hasPragma:s}=r(2005),{hasSCSSInterpolation:u,hasStringOrFunction:a,isLessParser:c,isSCSS:l,isSCSSNestedPropertyNode:f,isSCSSVariable:p,stringifyNode:h,isModuleRuleName:d}=r(8106),{locStart:D,locEnd:g}=r(7108),{calculateLoc:m,replaceQuotesInInlineComments:v}=r(7108),y=e=>{for(;e.parent;)e=e.parent;return e};function w(e,t){const{nodes:r}=e;let n={open:null,close:null,groups:[],type:"paren_group"};const i=[n],s=n;let c={groups:[],type:"comma_group"};const f=[c];for(let s=0;s0&&n.groups.push(c),n.close=d,1===f.length)throw new Error("Unbalanced parenthesis");f.pop(),c=o(f),c.groups.push(n),i.pop(),n=o(i)}else"comma"===d.type?(n.groups.push(c),c={groups:[],type:"comma_group"},f[f.length-1]=c):c.groups.push(d)}return c.groups.length>0&&n.groups.push(c),s}function b(e){return"paren_group"!==e.type||e.open||e.close||1!==e.groups.length?"comma_group"===e.type&&1===e.groups.length?b(e.groups[0]):"paren_group"===e.type||"comma_group"===e.type?Object.assign(Object.assign({},e),{},{groups:e.groups.map(b)}):e:b(e.groups[0])}function C(e,t,r){if(e&&"object"==typeof e){delete e.parent;for(const n in e)C(e[n],t,r),"type"===n&&"string"==typeof e[n]&&(e[n].startsWith(t)||r&&r.test(e[n])||(e[n]=t+e[n]))}return e}function E(e){if(e&&"object"==typeof e){delete e.parent;for(const t in e)E(e[t]);Array.isArray(e)||!e.value||e.type||(e.type="unknown")}return e}function F(e,t){if(e&&"object"==typeof e){for(const r in e)"parent"!==r&&(F(e[r],t),"nodes"===r&&(e.group=b(w(e,t)),delete e[r]));delete e.parent}return e}function x(e,t){const n=r(5484);let o=null;try{o=n(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}return o.text=e,C(F(o,t),"value-",/^selector-/)}function A(e){if(/\/\/|\/\*/.test(e))return{type:"selector-unknown",value:e.trim()};const t=r(9474);let n=null;try{t((e=>{n=e})).process(e)}catch{return{type:"selector-unknown",value:e}}return C(n,"selector-")}function k(e){const t=r(4118).Z;let n=null;try{n=t(e)}catch{return{type:"selector-unknown",value:e}}return C(E(n),"media-")}const O=/(\s*?)(!default).*$/,_=/(\s*?)(!global).*$/;function S(e,t){if(e&&"object"==typeof e){delete e.parent;for(const r in e)S(e[r],t);if(!e.type)return e;e.raws||(e.raws={});let r="";"string"==typeof e.selector&&(r=e.raws.selector?e.raws.selector.scss?e.raws.selector.scss:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(r+=e.raws.between),e.raws.selector=r);let n="";"string"==typeof e.value&&(n=e.raws.value?e.raws.value.scss?e.raws.value.scss:e.raws.value.raw:e.value,n=n.trim(),e.raws.value=n);let o="";if("string"==typeof e.params&&(o=e.raws.params?e.raws.params.scss?e.raws.params.scss:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(o=e.raws.afterName+o),e.raws.between&&e.raws.between.trim().length>0&&(o+=e.raws.between),o=o.trim(),e.raws.params=o),r.trim().length>0)return r.startsWith("@")&&r.endsWith(":")?e:e.mixin?(e.selector=x(r,t),e):(f(e)&&(e.isSCSSNesterProperty=!0),e.selector=A(r),e);if(n.length>0){const r=n.match(O);r&&(n=n.slice(0,r.index),e.scssDefault=!0,"!default"!==r[0].trim()&&(e.raws.scssDefault=r[0]));const o=n.match(_);if(o&&(n=n.slice(0,o.index),e.scssGlobal=!0,"!global"!==o[0].trim()&&(e.raws.scssGlobal=o[0])),n.startsWith("progid:"))return{type:"value-unknown",value:n};e.value=x(n,t)}if(c(t)&&"css-decl"===e.type&&n.startsWith("extend(")&&(e.extend||(e.extend=":"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=A(n.slice("extend(".length,-1)))),"css-atrule"===e.type){if(c(t)){if(e.mixin){const t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=A(t),delete e.params,e}if(e.function)return e}if("css"===t.parser&&"custom-selector"===e.name){const t=e.params.match(/:--\S+?\s+/)[0].trim();return e.customSelector=t,e.selector=A(e.params.slice(t.length).trim()),delete e.params,e}if(c(t)){if(e.name.includes(":")&&!e.params){e.variable=!0;const r=e.name.split(":");e.name=r[0],e.value=x(r.slice(1).join(":"),t)}if(!["page","nest","keyframes"].includes(e.name)&&e.params&&":"===e.params[0]&&(e.variable=!0,e.value=x(e.params.slice(1),t),e.raws.afterName+=":"),e.variable)return delete e.params,e}}if("css-atrule"===e.type&&o.length>0){const{name:r}=e,n=e.name.toLowerCase();return"warn"===r||"error"===r?(e.params={type:"media-unknown",value:o},e):"extend"===r||"nest"===r?(e.selector=A(o),delete e.params,e):"at-root"===r?(/^\(\s*(?:without|with)\s*:.+\)$/s.test(o)?e.params=x(o,t):(e.selector=A(o),delete e.params),e):d(n)?(e.import=!0,delete e.filename,e.params=x(o,t),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(r)?(o=o.replace(/(\$\S+?)\s+?\.{3}/,"$1..."),o=o.replace(/^(?!if)(\S+)\s+\(/,"$1("),e.value=x(o,t),delete e.params,e):["media","custom-media"].includes(n)?o.includes("#{")?{type:"media-unknown",value:o}:(e.params=k(o),e):(e.params=o,e)}}return e}function T(e,t,r){const o=i(t),{frontMatter:s}=o;let u;t=o.content;try{u=e(t)}catch(e){const{name:t,reason:r,line:o,column:i}=e;if("number"!=typeof o)throw e;throw n("".concat(t,": ").concat(r),{start:{line:o,column:i}})}return u=S(C(u,"css-"),r),m(u,t),s&&(s.source={startOffset:0,endOffset:s.raw.length},u.nodes.unshift(s)),u}function I(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=r(3028);return T((e=>o.parse(v(e))),e,n)}function N(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{parse:o}=r(1708);return T(o,e,n)}const M={astFormat:"postcss",hasPragma:s,locStart:D,locEnd:g};e.exports={parsers:{css:Object.assign(Object.assign({},M),{},{parse:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=l(r.parser,e)?[N,I]:[I,N];let o;for(const i of n)try{return i(e,t,r)}catch(e){o=o||e}if(o)throw o}}),less:Object.assign(Object.assign({},M),{},{parse:I}),scss:Object.assign(Object.assign({},M),{},{parse:N})}}},2005:(e,t,r)=>{const n=r(4374),o=r(8190);e.exports={hasPragma:function(e){return n.hasPragma(o(e).content)},insertPragma:function(e){const{frontMatter:t,content:r}=o(e);return(t?t.raw+"\n\n":"")+n.insertPragma(r)}}},8106:(e,t,r)=>{const{isNonEmptyArray:n}=r(4674),o=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]),i=new Set(["import","use","forward"]);function s(e,t){const r=Array.isArray(t)?t:[t];let n,o=-1;for(;n=e.getParentNode(++o);)if(r.includes(n.type))return o;return-1}function u(e,t){const r=s(e,t);return-1===r?null:e.getParentNode(r)}function a(e){return"value-operator"===e.type&&"*"===e.value}function c(e){return"value-operator"===e.type&&"/"===e.value}function l(e){return"value-operator"===e.type&&"+"===e.value}function f(e){return"value-operator"===e.type&&"-"===e.value}function p(e){return"value-operator"===e.type&&"%"===e.value}function h(e){return"value-comma_group"===e.type&&e.groups&&e.groups[1]&&"value-colon"===e.groups[1].type}function d(e){return"value-paren_group"===e.type&&e.groups&&e.groups[0]&&h(e.groups[0])}function D(e){return e&&"value-colon"===e.type}e.exports={getAncestorCounter:s,getAncestorNode:u,getPropOfDeclNode:function(e){const t=u(e,"css-decl");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(n(e))for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1},hasStringOrFunction:function(e){if(n(e))for(let t=0;t","<=",">="].includes(e.value)},isEqualityOperatorNode:function(e){return"value-word"===e.type&&["==","!="].includes(e.value)},isMultiplicationNode:a,isDivisionNode:c,isAdditionNode:l,isSubtractionNode:f,isModuloNode:p,isMathOperatorNode:function(e){return a(e)||c(e)||l(e)||f(e)||p(e)},isEachKeywordNode:function(e){return"value-word"===e.type&&"in"===e.value},isForKeywordNode:function(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)},isURLFunctionNode:function(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)},hasComposesNode:function(e){return e.value&&"value-root"===e.value.type&&e.value.group&&"value-value"===e.value.group.type&&"composes"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&"value-paren_group"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&""===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*?\n/,"").trim().endsWith(":")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\(\s*\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith("prettier-placeholder")},isTemplatePropNode:function(e){return e.prop.startsWith("@prettier-placeholder")},isPostcssSimpleVarNode:function(e,t){return"$$"===e.value&&"value-func"===e.type&&t&&"value-word"===t.type&&!t.raws.before},isKeyValuePairNode:h,isKeyValuePairInParenGroupNode:d,isKeyInValuePairNode:function(e,t){if(!h(t))return!1;const{groups:r}=t,n=r.indexOf(e);return-1!==n&&D(r[n+1])},isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const r=e.getParentNode(1);if(!(d(t)||r&&d(r)))return!1;const n=u(e,"css-decl");return!!(n&&n.prop&&n.prop.startsWith("$"))||!!d(r)||"value-func"===r.type},isInlineValueCommentNode:function(e){return"value-comment"===e.type&&e.inline},isHashNode:function(e){return"value-word"===e.type&&"#"===e.value},isLeftCurlyBraceNode:function(e){return"value-word"===e.type&&"{"===e.value},isRightCurlyBraceNode:function(e){return"value-word"===e.type&&"}"===e.value},isWordNode:function(e){return["value-word","value-atword"].includes(e.type)},isColonNode:D,isMediaAndSupportsKeywords:function(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return"value-func"===e.type&&o.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\/\//.test(e.split(/[\n\r]/).pop())},stringifyNode:function e(t){if(t.groups)return(t.open&&t.open.value?t.open.value:"")+t.groups.reduce(((r,n,o)=>r+e(n)+("comma_group"===t.groups[0].type&&o!==t.groups.length-1?",":"")),"")+(t.close&&t.close.value?t.close.value:"");const r=t.raws&&t.raws.before?t.raws.before:"",n=t.raws&&t.raws.quote?t.raws.quote:"";return r+n+("atword"===t.type?"@":"")+(t.value?t.value:"")+n+(t.unit?t.unit:"")+(t.group?e(t.group):"")+(t.raws&&t.raws.after?t.raws.after:"")},isAtWordPlaceholderNode:function(e){return e&&"value-atword"===e.type&&e.value.startsWith("prettier-placeholder-")},isModuleRuleName:function(e){return i.has(e)},isConfigurationNode:function(e,t){if(!e.open||"("!==e.open.value||!e.close||")"!==e.close.value||e.groups.some((e=>"value-comma_group"!==e.type)))return!1;if("value-comma_group"===t.type){const r=t.groups.indexOf(e)-1,n=t.groups[r];if(n&&"value-word"===n.type&&"with"===n.value)return!0}return!1},isParenGroupNode:function(e){return"value-paren_group"===e.type&&e.open&&"("===e.open.value&&e.close&&")"===e.close.value}}},4374:(e,t,r)=>{const{parseWithComments:n,strip:o,extract:i,print:s}=r(8289),{getShebang:u}=r(4674),{normalizeEndOfLine:a}=r(6581);function c(e){const t=u(e);t&&(e=e.slice(t.length+1));const r=i(e),{pragmas:o,comments:s}=n(r);return{shebang:t,text:e,pragmas:o,comments:s}}e.exports={hasPragma:function(e){const t=Object.keys(c(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=c(e),u=o(r),l=s({pragmas:Object.assign({format:""},n),comments:i.trimStart()});return(t?"".concat(t,"\n"):"")+a(l)+(u.startsWith("\n")?"\n":"\n\n")+u}}},7070:(e,t,r)=>{var n,o,i,s,u,a;function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const{outdent:l}=r(1687),f="Config",p="Editor",h="Other",d="Global",D="Special",g={cursorOffset:{since:"1.4.0",category:D,type:"int",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:l(n||(n=c(["\n Print (to stderr) where a cursor at the given position would move to after formatting.\n This option cannot be used with --range-start and --range-end.\n "]))),cliCategory:p},endOfLine:{since:"1.15.0",category:d,type:"choice",default:[{since:"1.15.0",value:"auto"},{since:"2.0.0",value:"lf"}],description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:l(o||(o=c(["\n Maintain existing\n (mixed values within one file are normalised by looking at what's used after the first line)\n "])))}]},filepath:{since:"1.4.0",category:D,type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:h,cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{since:"1.8.0",category:D,type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:h},parser:{since:"0.0.10",category:d,type:"choice",default:[{since:"0.0.10",value:"babylon"},{since:"1.13.0",value:void 0}],description:"Which parser to use.",exception:e=>"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:d,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:f},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:d,description:l(i||(i=c(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:f},printWidth:{since:"0.0.0",category:d,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:D,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:l(s||(s=c(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:p},rangeStart:{since:"1.4.0",category:D,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:l(u||(u=c(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:p},requirePragma:{since:"1.7.0",category:D,type:"boolean",default:!1,description:l(a||(a=c(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:h},tabWidth:{type:"int",category:d,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:d,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:d,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};e.exports={CATEGORY_CONFIG:f,CATEGORY_EDITOR:p,CATEGORY_FORMAT:"Format",CATEGORY_OTHER:h,CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:d,CATEGORY_SPECIAL:D,options:g}},8454:(e,t,r)=>{const n=["cliName","cliCategory","cliDescription"];function o(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}r(9171),r(9031),r(3646);const i={compare:r(6711),lt:r(4513),gte:r(56)},s=r(8814),u=r(4147).i8,a=r(7070).options;function c(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let s=o.name;i&&i.name&&(s+=" (plugin: ".concat(i.name,")")),e.choices.push({value:t,description:s})}}e.exports={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:l=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const f=u.split("-",1)[0],p=e.flatMap((e=>e.languages||[])).filter(d),h=s(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),a),"name").filter((e=>d(e)&&D(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(d).sort(((e,t)=>i.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>d(e)&&D(e))),"parser"===t.name&&c(t,p,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:p,options:h};function d(e){return t||!("since"in e)||e.since&&i.gte(f,e.since)}function D(e){return r||!("deprecated"in e)||e.deprecated&&i.lt(f,e.deprecated)}function g(e){return l?e:o(e,n)}}}},8814:e=>{e.exports=(e,t)=>Object.entries(e).map((e=>{let[r,n]=e;return Object.assign({[t]:r},n)}))},8190:e=>{const t=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");e.exports=function(e){const r=e.match(t);if(!r)return{content:e};const{startDelimiter:n,language:o,value:i="",endDelimiter:s}=r.groups;let u=o.trim()||"yaml";if("+++"===n&&(u="toml"),"yaml"!==u&&n!==s)return{content:e};const[a]=r;return{frontMatter:{type:"front-matter",lang:u,value:i,startDelimiter:n,endDelimiter:s,raw:a.replace(/\n$/,"")},content:a.replace(/[^\n]/g," ")+e.slice(a.length)}}},4677:e=>{e.exports=e=>e[e.length-1]},7857:e=>{e.exports=function(e,t){let r=0;for(let n=0;n{},2868:()=>{},4940:(e,t,r)=>{r.r(t),r.d(t,{existsSync:()=>n,readFileSync:()=>o,default:()=>i});const n=()=>!1,o=()=>"",i={existsSync:n,readFileSync:o}},4372:(e,t,r)=>{r.r(t),r.d(t,{default:()=>n});const n={EOL:"\n",platform:()=>"browser",cpus:()=>[{model:"Prettier"}]}},3974:(e,t,r)=>{r.r(t),r.d(t,{default:()=>n});var n=r(4451),o={};for(const e in n)"default"!==e&&(o[e]=()=>n[e]);r.d(t,o)},4147:e=>{e.exports={i8:"2.5.1"}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,loaded:!1,exports:{}};return e[n](i,i.exports,r),i.loaded=!0,i.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(1267)})();var Pi=t(Bi.exports);export{Pi as default}; diff --git a/node_modules/prettier/esm/parser-typescript.mjs b/node_modules/prettier/esm/parser-typescript.mjs new file mode 100755 index 0000000..36c2dcb --- /dev/null +++ b/node_modules/prettier/esm/parser-typescript.mjs @@ -0,0 +1,13 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r};var n,i=function(){let e;for(var t=arguments.length,r=new Array(t),n=0;n{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>"\r\n"===e)).length;return r>t.length-r?"\r\n":"\n"};function E(){const e=S;return E=function(){return e},e}function k(){const e=(t=T.exports)&&t.__esModule?t:{default:t};var t;return k=function(){return e},e}T.exports=C,T.exports.graceful=e=>"string"==typeof e&&C(e)||"\n",Object.defineProperty(a,"__esModule",{value:!0}),a.extract=function(e){const t=e.match(N);return t?t[0].trimLeft():""},a.strip=function(e){const t=e.match(N);return t&&t[0]?e.substring(t[0].length):e},a.parse=function(e){return R(e).pragmas},a.parseWithComments=R,a.print=function(e){let{comments:t="",pragmas:r={}}=e;const n=(0,k().default)(t)||E().EOL,i=" *",a=Object.keys(r),o=a.map((e=>B(e,r[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+n)).join("");if(!t){if(0===a.length)return"";if(1===a.length&&!Array.isArray(r[a[0]])){const e=r[a[0]];return"".concat("/**"," ").concat(B(a[0],e)[0]).concat(" */")}}const s=t.split(n).map((e=>"".concat(i," ").concat(e))).join(n)+n;return"/**"+n+(t?s:"")+(t&&a.length?i+n:"")+o+" */"};const A=/\*\/$/,F=/^\/\*\*/,N=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,P=/(^|\s+)\/\/([^\r\n]*)/g,w=/^(\r?\n)+/,I=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,O=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,M=/(\r?\n|^) *\* ?/g,L=[];function R(e){const t=(0,k().default)(e)||E().EOL;e=e.replace(F,"").replace(A,"").replace(M,"$1");let r="";for(;r!==e;)r=e,e=e.replace(I,"".concat(t,"$1 $2").concat(t));e=e.replace(w,"").trimRight();const n=Object.create(null),i=e.replace(O,"").replace(w,"").trimRight();let a;for(;a=O.exec(e);){const e=a[2].replace(P,"");"string"==typeof n[a[1]]||Array.isArray(n[a[1]])?n[a[1]]=L.concat(n[a[1]],e):n[a[1]]=e}return{comments:i,pragmas:n}}function B(e,t){return L.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}var j={exports:{}};const J=function(){let{onlyFirst:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")};var K={exports:{}};const z=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));K.exports=z,K.exports.default=z;const U=e=>"string"==typeof e?e.replace(J(),""):e,V=K.exports,q=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},W=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=U(e)).length)return 0;e=e.replace(q()," ");let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=V(n)?2:1))}return t};j.exports=W,j.exports.default=W;var H=e=>e[e.length-1];function G(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var X=function(e){return e&&e.Math==Math&&e},Q=X("object"==typeof globalThis&&globalThis)||X("object"==typeof window&&window)||X("object"==typeof self&&self)||X("object"==typeof e&&e)||function(){return this}()||Function("return this")(),$={},Z=function(e){try{return!!e()}catch(e){return!0}},ee=!Z((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),te=Function.prototype.call,re=te.bind?te.bind(te):function(){return te.apply(te,arguments)},ne={},ie={}.propertyIsEnumerable,ae=Object.getOwnPropertyDescriptor,oe=ae&&!ie.call({1:2},1);ne.f=oe?function(e){var t=ae(this,e);return!!t&&t.enumerable}:ie;var se,ce,ue=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},le=Function.prototype,de=le.bind,_e=le.call,pe=de&&de.bind(_e),fe=de?function(e){return e&&pe(_e,e)}:function(e){return e&&function(){return _e.apply(e,arguments)}},ge=fe,me=ge({}.toString),ye=ge("".slice),ve=function(e){return ye(me(e),8,-1)},he=fe,De=Z,xe=ve,be=Q.Object,Se=he("".split),Te=De((function(){return!be("z").propertyIsEnumerable(0)}))?function(e){return"String"==xe(e)?Se(e,""):be(e)}:be,Ce=Q.TypeError,Ee=function(e){if(null==e)throw Ce("Can't call method on "+e);return e},ke=Te,Ae=Ee,Fe=function(e){return ke(Ae(e))},Ne=function(e){return"function"==typeof e},Pe=Ne,we=function(e){return"object"==typeof e?null!==e:Pe(e)},Ie=Q,Oe=Ne,Me=function(e){return Oe(e)?e:void 0},Le=function(e,t){return arguments.length<2?Me(Ie[e]):Ie[e]&&Ie[e][t]},Re=fe({}.isPrototypeOf),Be=Le("navigator","userAgent")||"",je=Q,Je=Be,Ke=je.process,ze=je.Deno,Ue=Ke&&Ke.versions||ze&&ze.version,Ve=Ue&&Ue.v8;Ve&&(ce=(se=Ve.split("."))[0]>0&&se[0]<4?1:+(se[0]+se[1])),!ce&&Je&&(!(se=Je.match(/Edge\/(\d+)/))||se[1]>=74)&&(se=Je.match(/Chrome\/(\d+)/))&&(ce=+se[1]);var qe=ce,We=qe,He=Z,Ge=!!Object.getOwnPropertySymbols&&!He((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&We&&We<41})),Ye=Ge&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Xe=Le,Qe=Ne,$e=Re,Ze=Ye,et=Q.Object,tt=Ze?function(e){return"symbol"==typeof e}:function(e){var t=Xe("Symbol");return Qe(t)&&$e(t.prototype,et(e))},rt=Q.String,nt=function(e){try{return rt(e)}catch(e){return"Object"}},it=Ne,at=nt,ot=Q.TypeError,st=function(e){if(it(e))return e;throw ot(at(e)+" is not a function")},ct=st,ut=function(e,t){var r=e[t];return null==r?void 0:ct(r)},lt=re,dt=Ne,_t=we,pt=Q.TypeError,ft={exports:{}},gt=Q,mt=Object.defineProperty,yt=function(e,t){try{mt(gt,e,{value:t,configurable:!0,writable:!0})}catch(r){gt[e]=t}return t},vt=yt,ht=Q["__core-js_shared__"]||vt("__core-js_shared__",{}),Dt=ht;(ft.exports=function(e,t){return Dt[e]||(Dt[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var xt=Ee,bt=Q.Object,St=function(e){return bt(xt(e))},Tt=St,Ct=fe({}.hasOwnProperty),Et=Object.hasOwn||function(e,t){return Ct(Tt(e),t)},kt=fe,At=0,Ft=Math.random(),Nt=kt(1..toString),Pt=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Nt(++At+Ft,36)},wt=Q,It=ft.exports,Ot=Et,Mt=Pt,Lt=Ge,Rt=Ye,Bt=It("wks"),jt=wt.Symbol,Jt=jt&&jt.for,Kt=Rt?jt:jt&&jt.withoutSetter||Mt,zt=function(e){if(!Ot(Bt,e)||!Lt&&"string"!=typeof Bt[e]){var t="Symbol."+e;Lt&&Ot(jt,e)?Bt[e]=jt[e]:Bt[e]=Rt&&Jt?Jt(t):Kt(t)}return Bt[e]},Ut=re,Vt=we,qt=tt,Wt=ut,Ht=function(e,t){var r,n;if("string"===t&&dt(r=e.toString)&&!_t(n=lt(r,e)))return n;if(dt(r=e.valueOf)&&!_t(n=lt(r,e)))return n;if("string"!==t&&dt(r=e.toString)&&!_t(n=lt(r,e)))return n;throw pt("Can't convert object to primitive value")},Gt=zt,Yt=Q.TypeError,Xt=Gt("toPrimitive"),Qt=function(e,t){if(!Vt(e)||qt(e))return e;var r,n=Wt(e,Xt);if(n){if(void 0===t&&(t="default"),r=Ut(n,e,t),!Vt(r)||qt(r))return r;throw Yt("Can't convert object to primitive value")}return void 0===t&&(t="number"),Ht(e,t)},$t=tt,Zt=function(e){var t=Qt(e,"string");return $t(t)?t:t+""},er=we,tr=Q.document,rr=er(tr)&&er(tr.createElement),nr=function(e){return rr?tr.createElement(e):{}},ir=!ee&&!Z((function(){return 7!=Object.defineProperty(nr("div"),"a",{get:function(){return 7}}).a})),ar=ee,or=re,sr=ne,cr=ue,ur=Fe,lr=Zt,dr=Et,_r=ir,pr=Object.getOwnPropertyDescriptor;$.f=ar?pr:function(e,t){if(e=ur(e),t=lr(t),_r)try{return pr(e,t)}catch(e){}if(dr(e,t))return cr(!or(sr.f,e,t),e[t])};var fr={},gr=Q,mr=we,yr=gr.String,vr=gr.TypeError,hr=function(e){if(mr(e))return e;throw vr(yr(e)+" is not an object")},Dr=ee,xr=ir,br=hr,Sr=Zt,Tr=Q.TypeError,Cr=Object.defineProperty;fr.f=Dr?Cr:function(e,t,r){if(br(e),t=Sr(t),br(r),xr)try{return Cr(e,t,r)}catch(e){}if("get"in r||"set"in r)throw Tr("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var Er=fr,kr=ue,Ar=ee?function(e,t,r){return Er.f(e,t,kr(1,r))}:function(e,t,r){return e[t]=r,e},Fr={exports:{}},Nr=Ne,Pr=ht,wr=fe(Function.toString);Nr(Pr.inspectSource)||(Pr.inspectSource=function(e){return wr(e)});var Ir,Or,Mr,Lr=Pr.inspectSource,Rr=Ne,Br=Lr,jr=Q.WeakMap,Jr=Rr(jr)&&/native code/.test(Br(jr)),Kr=ft.exports,zr=Pt,Ur=Kr("keys"),Vr={},qr=Jr,Wr=Q,Hr=fe,Gr=we,Yr=Ar,Xr=Et,Qr=ht,$r=function(e){return Ur[e]||(Ur[e]=zr(e))},Zr=Vr,en=Wr.TypeError,tn=Wr.WeakMap;if(qr||Qr.state){var rn=Qr.state||(Qr.state=new tn),nn=Hr(rn.get),an=Hr(rn.has),on=Hr(rn.set);Ir=function(e,t){if(an(rn,e))throw new en("Object already initialized");return t.facade=e,on(rn,e,t),t},Or=function(e){return nn(rn,e)||{}},Mr=function(e){return an(rn,e)}}else{var sn=$r("state");Zr[sn]=!0,Ir=function(e,t){if(Xr(e,sn))throw new en("Object already initialized");return t.facade=e,Yr(e,sn,t),t},Or=function(e){return Xr(e,sn)?e[sn]:{}},Mr=function(e){return Xr(e,sn)}}var cn={set:Ir,get:Or,has:Mr,enforce:function(e){return Mr(e)?Or(e):Ir(e,{})},getterFor:function(e){return function(t){var r;if(!Gr(t)||(r=Or(t)).type!==e)throw en("Incompatible receiver, "+e+" required");return r}}},un=ee,ln=Et,dn=Function.prototype,_n=un&&Object.getOwnPropertyDescriptor,pn=ln(dn,"name"),fn=pn&&"something"===function(){}.name,gn=pn&&(!un||un&&_n(dn,"name").configurable),mn=Q,yn=Ne,vn=Et,hn=Ar,Dn=yt,xn=Lr,bn={EXISTS:pn,PROPER:fn,CONFIGURABLE:gn}.CONFIGURABLE,Sn=cn.get,Tn=cn.enforce,Cn=String(String).split("String");(Fr.exports=function(e,t,r,n){var i,a=!!n&&!!n.unsafe,o=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,c=n&&void 0!==n.name?n.name:t;yn(r)&&("Symbol("===String(c).slice(0,7)&&(c="["+String(c).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!vn(r,"name")||bn&&r.name!==c)&&hn(r,"name",c),(i=Tn(r)).source||(i.source=Cn.join("string"==typeof c?c:""))),e!==mn?(a?!s&&e[t]&&(o=!0):delete e[t],o?e[t]=r:hn(e,t,r)):o?e[t]=r:Dn(t,r)})(Function.prototype,"toString",(function(){return yn(this)&&Sn(this).source||xn(this)}));var En={},kn=Math.ceil,An=Math.floor,Fn=function(e){var t=+e;return t!=t||0===t?0:(t>0?An:kn)(t)},Nn=Fn,Pn=Math.max,wn=Math.min,In=Fn,On=Math.min,Mn=function(e){return e>0?On(In(e),9007199254740991):0},Ln=function(e){return Mn(e.length)},Rn=Fe,Bn=function(e,t){var r=Nn(e);return r<0?Pn(r+t,0):wn(r,t)},jn=Ln,Jn=function(e){return function(t,r,n){var i,a=Rn(t),o=jn(a),s=Bn(n,o);if(e&&r!=r){for(;o>s;)if((i=a[s++])!=i)return!0}else for(;o>s;s++)if((e||s in a)&&a[s]===r)return e||s||0;return!e&&-1}},Kn={includes:Jn(!0),indexOf:Jn(!1)},zn=Et,Un=Fe,Vn=Kn.indexOf,qn=Vr,Wn=fe([].push),Hn=function(e,t){var r,n=Un(e),i=0,a=[];for(r in n)!zn(qn,r)&&zn(n,r)&&Wn(a,r);for(;t.length>i;)zn(n,r=t[i++])&&(~Vn(a,r)||Wn(a,r));return a},Gn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");En.f=Object.getOwnPropertyNames||function(e){return Hn(e,Gn)};var Yn={};Yn.f=Object.getOwnPropertySymbols;var Xn=Le,Qn=En,$n=Yn,Zn=hr,ei=fe([].concat),ti=Xn("Reflect","ownKeys")||function(e){var t=Qn.f(Zn(e)),r=$n.f;return r?ei(t,r(e)):t},ri=Et,ni=ti,ii=$,ai=fr,oi=Z,si=Ne,ci=/#|\.prototype\./,ui=function(e,t){var r=di[li(e)];return r==pi||r!=_i&&(si(t)?oi(t):!!t)},li=ui.normalize=function(e){return String(e).replace(ci,".").toLowerCase()},di=ui.data={},_i=ui.NATIVE="N",pi=ui.POLYFILL="P",fi=ui,gi=Q,mi=$.f,yi=Ar,vi=Fr.exports,hi=yt,Di=function(e,t){for(var r=ni(t),n=ai.f,i=ii.f,a=0;a0&&Ai(c))u=Fi(c),l=wi(e,t,c,u,l,a-1)-1;else{if(l>=9007199254740991)throw Pi("Exceed the acceptable array length");e[l]=c}l++}d++}return l},Ii=wi,Oi={};Oi[zt("toStringTag")]="z";var Mi=Q,Li="[object z]"===String(Oi),Ri=Ne,Bi=ve,ji=zt("toStringTag"),Ji=Mi.Object,Ki="Arguments"==Bi(function(){return arguments}()),zi=Li?Bi:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Ji(e),ji))?r:Ki?Bi(t):"Object"==(n=Bi(t))&&Ri(t.callee)?"Arguments":n},Ui=fe,Vi=Z,qi=Ne,Wi=zi,Hi=Lr,Gi=function(){},Yi=[],Xi=Le("Reflect","construct"),Qi=/^\s*(?:class|function)\b/,$i=Ui(Qi.exec),Zi=!Qi.exec(Gi),ea=function(e){if(!qi(e))return!1;try{return Xi(Gi,Yi,e),!0}catch(e){return!1}},ta=!Xi||Vi((function(){var e;return ea(ea.call)||!ea(Object)||!ea((function(){e=!0}))||e}))?function(e){if(!qi(e))return!1;switch(Wi(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Zi||!!$i(Qi,Hi(e))}:ea,ra=Q,na=Ti,ia=ta,aa=we,oa=zt("species"),sa=ra.Array,ca=function(e){var t;return na(e)&&(t=e.constructor,(ia(t)&&(t===sa||na(t.prototype))||aa(t)&&null===(t=t[oa]))&&(t=void 0)),void 0===t?sa:t},ua=Ii,la=st,da=St,_a=Ln,pa=function(e,t){return new(ca(e))(0===t?0:t)};bi({target:"Array",proto:!0},{flatMap:function(e){var t,r=da(this),n=_a(r);return la(e),(t=pa(r,0)).length=ua(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var fa=zi,ga=Q.String,ma=fe([].slice),ya=Math.floor,va=function(e,t){var r=e.length,n=ya(r/2);return r<8?ha(e,t):Da(e,va(ma(e,0,n),t),va(ma(e,n),t),t)},ha=function(e,t){for(var r,n,i=e.length,a=1;a0;)e[n]=e[--n];n!==a++&&(e[n]=r)}return e},Da=function(e,t,r,n){for(var i=t.length,a=r.length,o=0,s=0;o3)){if(Ba)return!0;if(Ja)return Ja<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)Ka.push({k:t+n,v:r})}for(Ka.sort((function(e,t){return t.v-e.v})),n=0;nIa(r)?1:-1}}(e)),r=i.length,n=0;na;a++)if((s=m(e[a]))&&ho(Co,s))return s;return new To(!1)}n=Do(e,i)}for(c=n.next;!(u=fo(c,n)).done;){try{s=m(u.value)}catch(e){bo(n,"throw",e)}if("object"==typeof s&&s&&ho(Co,s))return s}return new To(!1)},No=function(e,t,r){var n=Eo(t);n in e?ko.f(e,n,Ao(0,r)):e[n]=r};function Po(){throw new Error("setTimeout has not been defined")}function wo(){throw new Error("clearTimeout has not been defined")}bi({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Fo(e,(function(e,r){No(t,e,r)}),{AS_ENTRIES:!0}),t}});var Io=Po,Oo=wo;function Mo(e){if(Io===setTimeout)return setTimeout(e,0);if((Io===Po||!Io)&&setTimeout)return Io=setTimeout,setTimeout(e,0);try{return Io(e,0)}catch(t){try{return Io.call(null,e,0)}catch(t){return Io.call(this,e,0)}}}"function"==typeof o.setTimeout&&(Io=setTimeout),"function"==typeof o.clearTimeout&&(Oo=clearTimeout);var Lo,Ro=[],Bo=!1,jo=-1;function Jo(){Bo&&Lo&&(Bo=!1,Lo.length?Ro=Lo.concat(Ro):jo=-1,Ro.length&&Ko())}function Ko(){if(!Bo){var e=Mo(Jo);Bo=!0;for(var t=Ro.length;t;){for(Lo=Ro,Ro=[];++jo1)for(var r=1;r{};var rs={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},ns={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=rs,n=ts,i=(t=e.exports={}).re=[],a=t.src=[],o=t.t={};let s=0;const c=(e,t,r)=>{const c=s++;n(c,t),o[e]=c,a[c]=t,i[c]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION","(".concat(a[o.NUMERICIDENTIFIER],")\\.")+"(".concat(a[o.NUMERICIDENTIFIER],")\\.")+"(".concat(a[o.NUMERICIDENTIFIER],")")),c("MAINVERSIONLOOSE","(".concat(a[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(a[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(a[o.NUMERICIDENTIFIERLOOSE],")")),c("PRERELEASEIDENTIFIER","(?:".concat(a[o.NUMERICIDENTIFIER],"|").concat(a[o.NONNUMERICIDENTIFIER],")")),c("PRERELEASEIDENTIFIERLOOSE","(?:".concat(a[o.NUMERICIDENTIFIERLOOSE],"|").concat(a[o.NONNUMERICIDENTIFIER],")")),c("PRERELEASE","(?:-(".concat(a[o.PRERELEASEIDENTIFIER],"(?:\\.").concat(a[o.PRERELEASEIDENTIFIER],")*))")),c("PRERELEASELOOSE","(?:-?(".concat(a[o.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(a[o.PRERELEASEIDENTIFIERLOOSE],")*))")),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD","(?:\\+(".concat(a[o.BUILDIDENTIFIER],"(?:\\.").concat(a[o.BUILDIDENTIFIER],")*))")),c("FULLPLAIN","v?".concat(a[o.MAINVERSION]).concat(a[o.PRERELEASE],"?").concat(a[o.BUILD],"?")),c("FULL","^".concat(a[o.FULLPLAIN],"$")),c("LOOSEPLAIN","[v=\\s]*".concat(a[o.MAINVERSIONLOOSE]).concat(a[o.PRERELEASELOOSE],"?").concat(a[o.BUILD],"?")),c("LOOSE","^".concat(a[o.LOOSEPLAIN],"$")),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE","".concat(a[o.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),c("XRANGEIDENTIFIER","".concat(a[o.NUMERICIDENTIFIER],"|x|X|\\*")),c("XRANGEPLAIN","[v=\\s]*(".concat(a[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(a[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(a[o.XRANGEIDENTIFIER],")")+"(?:".concat(a[o.PRERELEASE],")?").concat(a[o.BUILD],"?")+")?)?"),c("XRANGEPLAINLOOSE","[v=\\s]*(".concat(a[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(a[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(a[o.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(a[o.PRERELEASELOOSE],")?").concat(a[o.BUILD],"?")+")?)?"),c("XRANGE","^".concat(a[o.GTLT],"\\s*").concat(a[o.XRANGEPLAIN],"$")),c("XRANGELOOSE","^".concat(a[o.GTLT],"\\s*").concat(a[o.XRANGEPLAINLOOSE],"$")),c("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),c("COERCERTL",a[o.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM","(\\s*)".concat(a[o.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",c("TILDE","^".concat(a[o.LONETILDE]).concat(a[o.XRANGEPLAIN],"$")),c("TILDELOOSE","^".concat(a[o.LONETILDE]).concat(a[o.XRANGEPLAINLOOSE],"$")),c("LONECARET","(?:\\^)"),c("CARETTRIM","(\\s*)".concat(a[o.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",c("CARET","^".concat(a[o.LONECARET]).concat(a[o.XRANGEPLAIN],"$")),c("CARETLOOSE","^".concat(a[o.LONECARET]).concat(a[o.XRANGEPLAINLOOSE],"$")),c("COMPARATORLOOSE","^".concat(a[o.GTLT],"\\s*(").concat(a[o.LOOSEPLAIN],")$|^$")),c("COMPARATOR","^".concat(a[o.GTLT],"\\s*(").concat(a[o.FULLPLAIN],")$|^$")),c("COMPARATORTRIM","(\\s*)".concat(a[o.GTLT],"\\s*(").concat(a[o.LOOSEPLAIN],"|").concat(a[o.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE","^\\s*(".concat(a[o.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(a[o.XRANGEPLAIN],")")+"\\s*$"),c("HYPHENRANGELOOSE","^\\s*(".concat(a[o.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(a[o.XRANGEPLAINLOOSE],")")+"\\s*$"),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(ns,ns.exports);const is=["includePrerelease","loose","rtl"];var as=e=>e?"object"!=typeof e?{loose:!0}:is.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const os=/^[0-9]+$/,ss=(e,t)=>{const r=os.test(e),n=os.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:ess(t,e)};const us=ts,{MAX_LENGTH:ls,MAX_SAFE_INTEGER:ds}=rs,{re:_s,t:ps}=ns.exports,fs=as,{compareIdentifiers:gs}=cs;class ms{constructor(e,t){if(t=fs(t),e instanceof ms){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>ls)throw new TypeError("version is longer than ".concat(ls," characters"));us("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?_s[ps.LOOSE]:_s[ps.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>ds||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ds||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ds||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var ys=ms;const vs=ys;var hs=(e,t,r)=>new vs(e,r).compare(new vs(t,r));const Ds=hs;var xs=(e,t,r)=>Ds(e,t,r)<0;const bs=hs;var Ss,Ts,Cs,Es,ks,As,Fs=(e,t,r)=>bs(e,t,r)>=0,Ns={exports:{}};!function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ps(Cs||(Cs=Y(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ps(Es||(Es=Y(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ps(ks||(ks=Y(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ps(As||(As=Y(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Is=["cliName","cliCategory","cliDescription"],Os={compare:hs,lt:xs,gte:Fs},Ms=(e,t)=>Object.entries(e).map((e=>{let[r,n]=e;return Object.assign({[t]:r},n)})),Ls="2.5.1",Rs={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:ws}.options;function Bs(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const a=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;a&&a.name&&(o+=" (plugin: ".concat(a.name,")")),e.choices.push({value:t,description:o})}}var js={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i=Ls.split("-",1)[0],a=e.flatMap((e=>e.languages||[])).filter(s),o=Ms(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),Rs),"name").filter((e=>s(e)&&c(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort(((e,t)=>Os.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>s(e)&&c(e))),"parser"===t.name&&Bs(t,a,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:a,options:o};function s(e){return t||!("since"in e)||e.since&&Os.gte(i,e.since)}function c(e){return r||!("deprecated"in e)||e.deprecated&&Os.lt(i,e.deprecated)}function u(e){if(n)return e;return G(e,Is)}}};const Js=j.exports,Ks=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},zs=H,{getSupportInfo:Us}=js,Vs=/[^\x20-\x7F]/;function qs(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:a}=t;let o=r;for(;o>=0&&o2&&void 0!==arguments[2]?arguments[2]:{};const n=Hs(e,r.backwards?t-1:t,r),i=$s(e,n,r);return n!==i}function ec(e,t){let r=null,n=t;for(;n!==r;)r=n,n=Gs(e,n),n=Xs(e,n),n=Hs(e,n);return n=Qs(e,n),n=$s(e,n),!1!==n&&Zs(e,n)}function tc(e,t){let r=null,n=t;for(;n!==r;)r=n,n=Hs(e,n),n=Xs(e,n),n=Qs(e,n),n=$s(e,n);return n}function rc(e,t,r){return tc(e,r(t))}function nc(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;for(let i=r;i(e.match(a.regex)||[]).length?a:i}return o}function ac(e,t,r){const n='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,a)=>i===n?i:a===t?"\\"+a:a||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function oc(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var sc={inferParserByLanguage:function(e,t){const{languages:r}=Us({plugins:t.plugins}),n=r.find((t=>{let{name:r}=t;return r.toLowerCase()===e}))||r.find((t=>{let{aliases:r}=t;return Array.isArray(r)&&r.includes(e)}))||r.find((t=>{let{extensions:r}=t;return Array.isArray(r)&&r.includes(".".concat(e))}));return n&&n.parsers[0]},getStringWidth:function(e){return e?Vs.test(e)?Js(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(Ks(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(Ks(t),")+"),"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:zs,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:tc,getNextNonSpaceNonCommentCharacterIndex:rc,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(rc(e,t,r))},skip:qs,skipWhitespace:Ws,skipSpaces:Hs,skipToLineEnd:Gs,skipEverythingButNewLine:Ys,skipInlineComment:Xs,skipTrailingComment:Qs,skipNewline:$s,isNextLineEmptyAfterIndex:ec,isNextLineEmpty:function(e,t,r){return ec(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Hs(e,n,{backwards:!0}),n=$s(e,n,{backwards:!0}),n=Hs(e,n,{backwards:!0}),n!==$s(e,n,{backwards:!0})},hasNewline:Zs,hasNewlineInRange:function(e,t,r){for(let n=t;n2&&void 0!==arguments[2]?arguments[2]:{};const n=Hs(e,r.backwards?t-1:t,r);return n!==t},getAlignmentSize:nc,getIndentSize:function(e,t){const r=e.lastIndexOf("\n");return-1===r?0:nc(e.slice(r+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:ic,printString:function(e,t){const r=e.slice(1,-1);return ac(r,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":ic(r,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:ac,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,oc(e,t)},addDanglingComment:function(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),oc(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,oc(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}};var cc={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:uc,strip:lc,extract:dc,print:_c}=a,{getShebang:pc}=sc,{normalizeEndOfLine:fc}=cc;function gc(e){const t=pc(e);t&&(e=e.slice(t.length+1));const r=dc(e),{pragmas:n,comments:i}=uc(r);return{shebang:t,text:e,pragmas:n,comments:i}}var mc={hasPragma:function(e){const t=Object.keys(gc(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=gc(e),a=lc(r),o=_c({pragmas:Object.assign({format:""},n),comments:i.trimStart()});return(t?"".concat(t,"\n"):"")+fc(o)+(a.startsWith("\n")?"\n":"\n\n")+a}};const{isNonEmptyArray:yc}=sc;function vc(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(yc(t))return vc(t[0])}return e.range?e.range[0]:e.start}function hc(e){return e.range?e.range[1]:e.end}function Dc(e,t){return vc(e)===vc(t)}var xc={locStart:vc,locEnd:hc,hasSameLocStart:Dc,hasSameLoc:function(e,t){return Dc(e,t)&&function(e,t){return hc(e)===hc(t)}(e,t)}};const{hasPragma:bc}=mc,{locStart:Sc,locEnd:Tc}=xc;var Cc=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:bc,locStart:Sc,locEnd:Tc},e)};var Ec=function(e){return"#"===e.charAt(0)&&"!"===e.charAt(1)?"//"+e.slice(2):e},kc={},Ac={exports:{}};!function(){function e(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function t(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}Ac.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&"FunctionDeclaration"===t.type},isProblematicIfStatement:function(e){var r;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;r=e.consequent;do{if("IfStatement"===r.type&&null==r.alternate)return!0;r=t(r)}while(r);return!1},trailingStatement:t}}();var Fc={exports:{}};!function(){var e,t,r,n,i,a;function o(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],n=new Array(128),a=0;a<128;++a)n[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;Fc.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?n[e]:t.NonAsciiIdentifierStart.test(o(e))},isIdentifierPartES5:function(e){return e<128?i[e]:t.NonAsciiIdentifierPart.test(o(e))},isIdentifierStartES6:function(t){return t<128?n[t]:e.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES6:function(t){return t<128?i[t]:e.NonAsciiIdentifierPart.test(o(t))}}}();var Nc={exports:{}};!function(){var e=Fc.exports;function t(e,t){return!(!t&&"yield"===e)&&r(e,t)}function r(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function n(e,r){return"null"===e||"true"===e||"false"===e||t(e,r)}function i(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function a(t){var r,n,i;if(0===t.length)return!1;if(i=t.charCodeAt(0),!e.isIdentifierStartES5(i))return!1;for(r=1,n=t.length;r=n)return!1;if(!(56320<=(a=t.charCodeAt(r))&&a<=57343))return!1;i=1024*(i-55296)+(a-56320)+65536}if(!o(i))return!1;o=e.isIdentifierPartES6}return!0}Nc.exports={isKeywordES5:t,isKeywordES6:r,isReservedWordES5:n,isReservedWordES6:i,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:a,isIdentifierNameES6:o,isIdentifierES5:function(e,t){return a(e)&&!n(e,t)},isIdentifierES6:function(e,t){return o(e)&&!i(e,t)}}}(),kc.ast=Ac.exports,kc.code=Fc.exports,kc.keyword=Nc.exports;const Pc=kc.keyword.isIdentifierNameES5,{getLast:wc,hasNewline:Ic,skipWhitespace:Oc,isNonEmptyArray:Mc,isNextLineEmptyAfterIndex:Lc,getStringWidth:Rc}=sc,{locStart:Bc,locEnd:jc,hasSameLocStart:Jc}=xc,Kc=new RegExp("^".concat("(?:(?=.)\\s)","*:")),zc=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function Uc(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function Vc(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const qc=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Wc(e){return e&&qc.has(e.type)}function Hc(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Gc(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function Yc(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function Xc(e){return nu(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Qc(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function $c(e){return"get"===e.kind||"set"===e.kind}function Zc(e){return $c(e)||Jc(e,e.value)}const eu=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const tu=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const ru=/^(?:skip|[fx]?(?:it|describe|test))$/;function nu(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function iu(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function au(e){return/^(?:\d+|\d+\.\d+)$/.test(e)}function ou(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function su(e){return e.extra?e.extra.raw:e.raw}const cu={"==":!0,"!=":!0,"===":!0,"!==":!0},uu={"*":!0,"/":!0,"%":!0},lu={">>":!0,">>>":!0,"<<":!0};const du={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const r of t)du[r]=e;function _u(e){return du[e]}const pu=new WeakMap;function fu(e){if(pu.has(e))return pu.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),pu.set(e,t),t}const gu=new WeakMap;function mu(e){if(gu.has(e))return gu.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),gu.set(e,t),t}function yu(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function vu(e){return e&&(e.prettierIgnore||xu(e,hu.PrettierIgnore))}const hu={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Du=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(r,n,i)=>!(e&hu.Leading&&!r.leading||e&hu.Trailing&&!r.trailing||e&hu.Dangling&&(r.leading||r.trailing)||e&hu.Block&&!Uc(r)||e&hu.Line&&!Vc(r)||e&hu.First&&0!==n||e&hu.Last&&n!==i.length-1||e&hu.PrettierIgnore&&!yu(r)||t&&!t(r))};function xu(e,t,r){if(!e||!Mc(e.comments))return!1;const n=Du(t,r);return!n||e.comments.some(n)}function bu(e,t,r){if(!e||!Array.isArray(e.comments))return[];const n=Du(t,r);return n?e.comments.filter(n):e.comments}function Su(e){return nu(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var Tu={getFunctionParameters:fu,iterateFunctionParametersPath:function(e,t){const r=e.getValue();let n=0;const i=e=>t(e,n++);r.this&&e.call(i,"this"),Array.isArray(r.parameters)?e.each(i,"parameters"):Array.isArray(r.params)&&e.each(i,"params"),r.rest&&e.call(i,"rest")},getCallArguments:mu,iterateCallArgumentsPath:function(e,t){const r=e.getValue();"ImportExpression"===r.type?(e.call((e=>t(e,0)),"source"),r.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=fu(e);return t.length>0&&"RestElement"===wc(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&Wc(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return Mc(e)&&Uc(e[0])&&zc.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&Mc(e.trailingComments)&&Uc(e.trailingComments[0])&&Kc.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return Qc(t)?vu(t):xu(t,hu.Leading,(t=>Ic(e,jc(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||nu(e)||iu(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,r){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,r)));const n=r(t);return"boolean"==typeof n?n:Object.values(t).some((t=>e(t,r)))},hasIgnoreComment:function(e){return vu(e.getValue())},hasNodeIgnoreComment:vu,identity:function(e){return e},isBinaryish:function(e){return eu.has(e.type)},isBlockComment:Uc,isCallLikeExpression:Su,isEnabledHackPipeline:function(e){return Boolean(e.__isUsingHackPipeline)},isLineComment:Vc,isPrettierIgnoreComment:yu,isCallExpression:nu,isMemberExpression:iu,isExportDeclaration:Wc,isFlowAnnotationComment:function(e,t){const r=Bc(t),n=Oc(e,jc(t));return!1!==n&&"/*"===e.slice(r,r+2)&&"*/"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const r of e)if(Yc(r)){if(t+=1,t>1)return!0}else if(nu(r))for(const e of r.arguments)if(Yc(e))return!0;return!1},isFunctionNotation:Zc,isFunctionOrArrowExpression:Yc,isGetterOrSetter:$c,isJestEachTemplateLiteral:function(e,t){const r=/^[fx]?(?:describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&r.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&r.test(t.tag.object.object.name))},isJsxNode:Qc,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),r=e.getParentNode();return nu(t)&&nu(r)&&r.callee===t&&t.arguments.length>r.arguments.length&&r.arguments.length>0},isSimpleCallArgument:function e(t,r){if(r>=2)return!1;const n=t=>e(t,r+1),i="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(i&&Rc(i)>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(n):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||n(e))):Su(t)?("ImportExpression"===t.type||e(t.callee,r))&&mu(t).every(n):iu(t)?e(t.object,r)&&e(t.property,r):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,r):e(t.argument,r)))},isMemberish:function(e){return iu(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:Hc,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&Hc(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"TSMappedType"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Zc(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!tu.has(e.type))},isSimpleNumber:au,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const r=e[t];return 0!==r.length&&r.every((e=>{if(xu(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(iu(e)){let t=e;for(;iu(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,xu(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:Gc,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&Gc(e.key)&&su(e.key).slice(1,-1)===e.key.value&&(Pc(e.key.value)&&!("babel-ts"===t.parser&&"ClassProperty"===e.type||"typescript"===t.parser&&"PropertyDefinition"===e.type)||au(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&ou(e)||"TaggedTemplateExpression"===e.type&&ou(e.quasi))&&!Ic(t,Bc(e),{backwards:!0})},isTestCall:function e(t,r){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(Xc(t)&&r&&e(r))return Yc(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(?:before|after)(?:Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return Xc(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&ru.test(t.callee.name)||function(e){return iu(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&ru.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||Gc(t.arguments[0])))return!(t.arguments[2]&&!Hc(t.arguments[2]))&&((2===t.arguments.length?Yc(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&fu(t.arguments[1]).length<=1)||Xc(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const r=t.getNode();if(!r.expression||!Qc(r.expression))return!1;const n=t.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||Jc(e,e.typeAnnotation))},isNextLineEmpty:(e,t)=>{let{originalText:r}=t;return Lc(r,jc(e))},needsHardlineAfterDanglingComment:function(e){if(!xu(e))return!1;const t=wc(bu(e,hu.Dangling));return t&&!Uc(t)},rawText:su,shouldPrintComma:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es5";return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(lu[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return _u(t)===_u(e)&&("**"!==e&&((!cu[e]||!cu[t])&&(!("%"===t&&uu[e]||"%"===e&&uu[t])&&((t===e||!uu[t]||!uu[e])&&(!lu[e]||!lu[t])))))},startsWithNoLookaheadToken:function e(t,r){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return r;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,r);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,r);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,r);case"ConditionalExpression":return e(t.test,r);case"UpdateExpression":return!t.prefix&&e(t.argument,r);case"BindExpression":return t.object&&e(t.object,r);case"SequenceExpression":return e(t.expressions[0],r);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,r);default:return!1}},getPrecedence:_u,hasComment:xu,getComments:bu,CommentCheckFlags:hu};const{getLast:Cu,hasNewline:Eu,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:ku,getNextNonSpaceNonCommentCharacter:Au,hasNewlineInRange:Fu,addLeadingComment:Nu,addTrailingComment:Pu,addDanglingComment:wu,getNextNonSpaceNonCommentCharacterIndex:Iu,isNonEmptyArray:Ou}=sc,{isBlockComment:Mu,getFunctionParameters:Lu,isPrettierIgnoreComment:Ru,isJsxNode:Bu,hasFlowShorthandAnnotationComment:ju,hasFlowAnnotationComment:Ju,hasIgnoreComment:Ku,isCallLikeExpression:zu,getCallArguments:Uu,isCallExpression:Vu,isMemberExpression:qu,isObjectProperty:Wu,getComments:Hu,CommentCheckFlags:Gu}=Tu,{locStart:Yu,locEnd:Xu}=xc;function Qu(e,t){const r=(e.body||e.properties).find((e=>{let{type:t}=e;return"EmptyStatement"!==t}));r?Nu(r,t):wu(e,t)}function $u(e,t){"BlockStatement"===e.type?Qu(e,t):Nu(e,t)}function Zu(e){let{comment:t,followingNode:r}=e;return!(!r||!Al(t))&&(Nu(r,t),!0)}function el(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i,text:a}=e;if(!n||"IfStatement"!==n.type||!i)return!1;return")"===Au(a,t,Xu)?(Pu(r,t),!0):r===n.consequent&&i===n.alternate?("BlockStatement"===r.type?Pu(r,t):wu(n,t),!0):"BlockStatement"===i.type?(Qu(i,t),!0):"IfStatement"===i.type?($u(i.consequent,t),!0):n.consequent===i&&(Nu(i,t),!0)}function tl(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i,text:a}=e;if(!n||"WhileStatement"!==n.type||!i)return!1;return")"===Au(a,t,Xu)?(Pu(r,t),!0):"BlockStatement"===i.type?(Qu(i,t),!0):n.body===i&&(Nu(i,t),!0)}function rl(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i}=e;return!(!n||"TryStatement"!==n.type&&"CatchClause"!==n.type||!i)&&("CatchClause"===n.type&&r?(Pu(r,t),!0):"BlockStatement"===i.type?(Qu(i,t),!0):"TryStatement"===i.type?($u(i.finalizer,t),!0):"CatchClause"===i.type&&($u(i.body,t),!0))}function nl(e){let{comment:t,enclosingNode:r,followingNode:n}=e;return!(!qu(r)||!n||"Identifier"!==n.type)&&(Nu(r,t),!0)}function il(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i,text:a}=e;const o=r&&!Fu(a,Xu(r),Yu(t));return!(r&&o||!n||"ConditionalExpression"!==n.type&&"TSConditionalType"!==n.type||!i)&&(Nu(i,t),!0)}function al(e){let{comment:t,precedingNode:r,enclosingNode:n}=e;return!(!Wu(n)||!n.shorthand||n.key!==r||"AssignmentPattern"!==n.value.type)&&(Pu(n.value.left,t),!0)}function ol(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i}=e;if(n&&("ClassDeclaration"===n.type||"ClassExpression"===n.type||"DeclareClass"===n.type||"DeclareInterface"===n.type||"InterfaceDeclaration"===n.type||"TSInterfaceDeclaration"===n.type)){if(Ou(n.decorators)&&(!i||"Decorator"!==i.type))return Pu(Cu(n.decorators),t),!0;if(n.body&&i===n.body)return Qu(n.body,t),!0;if(i)for(const e of["implements","extends","mixins"])if(n[e]&&i===n[e][0])return!r||r!==n.id&&r!==n.typeParameters&&r!==n.superClass?wu(n,t,e):Pu(r,t),!0}return!1}function sl(e){let{comment:t,precedingNode:r,enclosingNode:n,text:i}=e;return(n&&r&&("Property"===n.type||"TSDeclareMethod"===n.type||"TSAbstractMethodDefinition"===n.type)&&"Identifier"===r.type&&n.key===r&&":"!==Au(i,r,Xu)||!(!r||!n||"Decorator"!==r.type||"ClassMethod"!==n.type&&"ClassProperty"!==n.type&&"PropertyDefinition"!==n.type&&"TSAbstractPropertyDefinition"!==n.type&&"TSAbstractMethodDefinition"!==n.type&&"TSDeclareMethod"!==n.type&&"MethodDefinition"!==n.type))&&(Pu(r,t),!0)}function cl(e){let{comment:t,precedingNode:r,enclosingNode:n,text:i}=e;return"("===Au(i,t,Xu)&&(!(!r||!n||"FunctionDeclaration"!==n.type&&"FunctionExpression"!==n.type&&"ClassMethod"!==n.type&&"MethodDefinition"!==n.type&&"ObjectMethod"!==n.type)&&(Pu(r,t),!0))}function ul(e){let{comment:t,enclosingNode:r,text:n}=e;if(!r||"ArrowFunctionExpression"!==r.type)return!1;const i=Iu(n,t,Xu);return!1!==i&&"=>"===n.slice(i,i+2)&&(wu(r,t),!0)}function ll(e){let{comment:t,enclosingNode:r,text:n}=e;return")"===Au(n,t,Xu)&&(r&&(kl(r)&&0===Lu(r).length||zu(r)&&0===Uu(r).length)?(wu(r,t),!0):!(!r||"MethodDefinition"!==r.type&&"TSAbstractMethodDefinition"!==r.type||0!==Lu(r.value).length)&&(wu(r.value,t),!0))}function dl(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i,text:a}=e;if(r&&"FunctionTypeParam"===r.type&&n&&"FunctionTypeAnnotation"===n.type&&i&&"FunctionTypeParam"!==i.type)return Pu(r,t),!0;if(r&&("Identifier"===r.type||"AssignmentPattern"===r.type)&&n&&kl(n)&&")"===Au(a,t,Xu))return Pu(r,t),!0;if(n&&"FunctionDeclaration"===n.type&&i&&"BlockStatement"===i.type){const e=(()=>{const e=Lu(n);if(e.length>0)return ku(a,Xu(Cu(e)));const t=ku(a,Xu(n.id));return!1!==t&&ku(a,t+1)})();if(Yu(t)>e)return Qu(i,t),!0}return!1}function _l(e){let{comment:t,enclosingNode:r}=e;return!(!r||"ImportSpecifier"!==r.type)&&(Nu(r,t),!0)}function pl(e){let{comment:t,enclosingNode:r}=e;return!(!r||"LabeledStatement"!==r.type)&&(Nu(r,t),!0)}function fl(e){let{comment:t,enclosingNode:r}=e;return!(!r||"ContinueStatement"!==r.type&&"BreakStatement"!==r.type||r.label)&&(Pu(r,t),!0)}function gl(e){let{comment:t,precedingNode:r,enclosingNode:n}=e;return!!(Vu(n)&&r&&n.callee===r&&n.arguments.length>0)&&(Nu(n.arguments[0],t),!0)}function ml(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i}=e;return!n||"UnionTypeAnnotation"!==n.type&&"TSUnionType"!==n.type?(i&&("UnionTypeAnnotation"===i.type||"TSUnionType"===i.type)&&Ru(t)&&(i.types[0].prettierIgnore=!0,t.unignore=!0),!1):(Ru(t)&&(i.prettierIgnore=!0,t.unignore=!0),!!r&&(Pu(r,t),!0))}function yl(e){let{comment:t,enclosingNode:r}=e;return!!Wu(r)&&(Nu(r,t),!0)}function vl(e){let{comment:t,enclosingNode:r,followingNode:n,ast:i,isLastComment:a}=e;return i&&i.body&&0===i.body.length?(a?wu(i,t):Nu(i,t),!0):r&&"Program"===r.type&&0===r.body.length&&!Ou(r.directives)?(a?wu(r,t):Nu(r,t),!0):!(!n||"Program"!==n.type||0!==n.body.length||!r||"ModuleExpression"!==r.type)&&(wu(n,t),!0)}function hl(e){let{comment:t,enclosingNode:r}=e;return!(!r||"ForInStatement"!==r.type&&"ForOfStatement"!==r.type)&&(Nu(r,t),!0)}function Dl(e){let{comment:t,precedingNode:r,enclosingNode:n,text:i}=e;return!!(r&&"ImportSpecifier"===r.type&&n&&"ImportDeclaration"===n.type&&Eu(i,Xu(t)))&&(Pu(r,t),!0)}function xl(e){let{comment:t,enclosingNode:r}=e;return!(!r||"AssignmentPattern"!==r.type)&&(Nu(r,t),!0)}function bl(e){let{comment:t,enclosingNode:r}=e;return!(!r||"TypeAlias"!==r.type)&&(Nu(r,t),!0)}function Sl(e){let{comment:t,enclosingNode:r,followingNode:n}=e;return!(!r||"VariableDeclarator"!==r.type&&"AssignmentExpression"!==r.type||!n||"ObjectExpression"!==n.type&&"ArrayExpression"!==n.type&&"TemplateLiteral"!==n.type&&"TaggedTemplateExpression"!==n.type&&!Mu(t))&&(Nu(n,t),!0)}function Tl(e){let{comment:t,enclosingNode:r,followingNode:n,text:i}=e;return!(n||!r||"TSMethodSignature"!==r.type&&"TSDeclareFunction"!==r.type&&"TSAbstractMethodDefinition"!==r.type||";"!==Au(i,t,Xu))&&(Pu(r,t),!0)}function Cl(e){let{comment:t,enclosingNode:r,followingNode:n}=e;if(Ru(t)&&r&&"TSMappedType"===r.type&&n&&"TSTypeParameter"===n.type&&n.constraint)return r.prettierIgnore=!0,t.unignore=!0,!0}function El(e){let{comment:t,precedingNode:r,enclosingNode:n,followingNode:i}=e;return!(!n||"TSMappedType"!==n.type)&&(i&&"TSTypeParameter"===i.type&&i.name?(Nu(i.name,t),!0):!(!r||"TSTypeParameter"!==r.type||!r.constraint)&&(Pu(r.constraint,t),!0))}function kl(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function Al(e){return Mu(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var Fl={handleOwnLineComment:function(e){return[Cl,dl,nl,el,tl,rl,ol,_l,hl,ml,vl,Dl,xl,sl,pl].some((t=>t(e)))},handleEndOfLineComment:function(e){return[Zu,dl,il,_l,el,tl,rl,ol,pl,gl,yl,vl,bl,Sl].some((t=>t(e)))},handleRemainingComment:function(e){return[Cl,el,tl,al,ll,sl,vl,ul,cl,El,fl,Tl].some((t=>t(e)))},isTypeCastComment:Al,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===Lu(e.value).length&&!e.value.returnType&&!Ou(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),r=e.getParentNode();return(t&&(Bu(t)||ju(t)||Vu(r)&&(e=>Ju(Hu(e,Gu.Leading))||Ju(Hu(e,Gu.Trailing)))(t))||r&&("JSXSpreadAttribute"===r.type||"JSXSpreadChild"===r.type||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type||("ClassDeclaration"===r.type||"ClassExpression"===r.type)&&r.superClass===t))&&(!Ku(e)||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)}};var Nl=function e(t,r){let n;if(Array.isArray(t))n=t.entries();else{if(!t||"object"!=typeof t||"string"!=typeof t.type)return t;n=Object.entries(t)}for(const[i,a]of n)t[i]=e(a,r);return Array.isArray(t)?t:r(t)||t};const Pl=r,wl=Nl;function Il(e,t){const{start:r,end:n}=e.loc;throw Pl(t,{start:{line:r.line,column:r.column+1},end:{line:n.line,column:n.column+1}})}var Ol={throwErrorForInvalidNodes:function(e,t){const{esTreeNodeToTSNodeMap:r,tsNodeToESTreeNodeMap:n}=t.tsParseResult;e=wl(e,(e=>{const t=r.get(e);if(!t)return;const i=n.get(t);i===e&&(function(e,t,r){const n=e.decorators;if(!Array.isArray(n))return;const i=t.decorators;Array.isArray(i)&&i.length===n.length&&!n.some((e=>{const t=r.get(e);return!t||!i.includes(t)}))||Il(t,"Leading decorators must be attached to a class declaration")}(t,i,n),function(e,t){166!==e.kind||e.modifiers&&!e.modifiers.some((e=>126===e.kind))||e.initializer&&null===t.value&&Il(t,"Abstract property cannot have an initializer")}(t,i))}))}};const{getLast:Ml}=sc,{locStart:Ll,locEnd:Rl}=xc,{isTypeCastComment:Bl}=Fl,jl=Nl,{throwErrorForInvalidNodes:Jl}=Ol;function Kl(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=Kl(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=Kl(e.object)):"TSNonNullExpression"===e.type&&(e.expression=Kl(e.expression)),e}function zl(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function Ul(e){return zl(e)?Ul({type:"LogicalExpression",operator:e.operator,left:Ul({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[Ll(e.left),Rl(e.right.left)]}),right:e.right.right,range:[Ll(e),Rl(e)]}):e}var Vl=function(e,t){if("typescript"===t.parser&&/@|abstract/.test(t.originalText)&&Jl(e,t),"typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const t=new Set;e=jl(e,(e=>{e.leadingComments&&e.leadingComments.some(Bl)&&t.add(Ll(e))})),e=jl(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:r}=e;if("TypeCastExpression"===r.type)return r.range=e.range,r;const n=Ll(e);if(!t.has(n))return r.extra=Object.assign(Object.assign({},r.extra),{},{parenthesized:!0}),r}}))}return e=jl(e,(e=>{switch(e.type){case"ChainExpression":return Kl(e.expression);case"LogicalExpression":if(zl(e))return Ul(e);break;case"VariableDeclaration":{const r=Ml(e.declarations);r&&r.init&&function(e,r){if(";"===t.originalText[Rl(r)])return;e.range=[Ll(e),Rl(r)]}(e,r);break}case"TSParenthesizedType":return e.typeAnnotation.range=[Ll(e),Rl(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const t=Ll(e);e.name={type:"Identifier",name:e.name,range:[t,t+e.name.length]}}break;case"SequenceExpression":{const t=Ml(e.expressions);e.range=[Ll(e),Math.min(Rl(t),Rl(e))];break}case"TopicReference":t.__isUsingHackPipeline=!0}})),e},ql={},Wl={},Hl={exports:{}},Gl={exports:{}},Yl=1e3,Xl=60*Yl,Ql=60*Xl,$l=24*Ql,Zl=7*$l,ed=365.25*$l,td=function(e,t){t=t||{};var r=typeof e;if("string"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*ed;case"weeks":case"week":case"w":return r*Zl;case"days":case"day":case"d":return r*$l;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Ql;case"minutes":case"minute":case"mins":case"min":case"m":return r*Xl;case"seconds":case"second":case"secs":case"sec":case"s":return r*Yl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===r&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=$l)return rd(e,t,$l,"day");if(t>=Ql)return rd(e,t,Ql,"hour");if(t>=Xl)return rd(e,t,Xl,"minute");if(t>=Yl)return rd(e,t,Yl,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=$l)return Math.round(e/$l)+"d";if(t>=Ql)return Math.round(e/Ql)+"h";if(t>=Xl)return Math.round(e/Xl)+"m";if(t>=Yl)return Math.round(e/Yl)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function rd(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}var nd=function(e){function t(e){let n,i,a,o=null;function s(){for(var e=arguments.length,r=new Array(e),i=0;i{if("%%"===e)return"%";u++;const i=t.formatters[n];if("function"==typeof i){const t=r[u];e=i.call(a,t),r.splice(u,1),u--}return e})),t.formatArgs.call(a,r);const l=a.log||t.log;l.apply(a,r)}return s.namespace=e,s.useColors=t.useColors(),s.color=t.selectColor(e),s.extend=r,s.destroy=t.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(i!==t.namespaces&&(i=t.namespaces,a=t.enabled(e)),a),set:e=>{o=e}}),"function"==typeof t.init&&t.init(s),s}function r(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==es&&"env"in es&&(e=es.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=nd(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(Gl,Gl.exports);var id={exports:{}};function ad(){return!1}function od(){throw new Error("tty.ReadStream is not implemented")}function sd(){throw new Error("tty.ReadStream is not implemented")}var cd={isatty:ad,ReadStream:od,WriteStream:sd},ud=t(Object.freeze({__proto__:null,isatty:ad,ReadStream:od,WriteStream:sd,default:cd})),ld=[],dd=[],_d="undefined"!=typeof Uint8Array?Uint8Array:Array,pd=!1;function fd(){pd=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t>18&63]+ld[i>>12&63]+ld[i>>6&63]+ld[63&i]);return a.join("")}function md(e){var t;pd||fd();for(var r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;sc?c:s+o));return 1===n?(t=e[r-1],i+=ld[t>>2],i+=ld[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=ld[t>>10],i+=ld[t>>4&63],i+=ld[t<<2&63],i+="="),a.push(i),a.join("")}function yd(e,t,r,n,i){var a,o,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,_=r?-1:1,p=e[t+d];for(d+=_,a=p&(1<<-l)-1,p>>=-l,l+=s;l>0;a=256*a+e[t+d],d+=_,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=256*o+e[t+d],d+=_,l-=8);if(0===a)a=1-u;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)}function vd(e,t,r,n,i,a){var o,s,c,u=8*a-i-1,l=(1<>1,_=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+d>=1?_/c:_*Math.pow(2,1-d))*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=f,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=f,o/=256,u-=8);e[r+p-f]|=128*g}var hd={}.toString,Dd=Array.isArray||function(e){return"[object Array]"==hd.call(e)};Td.TYPED_ARRAY_SUPPORT=void 0===o.TYPED_ARRAY_SUPPORT||o.TYPED_ARRAY_SUPPORT;var xd=bd();function bd(){return Td.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Sd(e,t){if(bd()=bd())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+bd().toString(16)+" bytes");return 0|e}function Nd(e){return!(null==e||!e._isBuffer)}function Pd(e,t){if(Nd(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return n_(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return i_(e).length;default:if(n)return n_(e).length;t=(""+t).toLowerCase(),n=!0}}function wd(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Wd(this,t,r);case"utf8":case"utf-8":return Ud(this,t,r);case"ascii":return Vd(this,t,r);case"latin1":case"binary":return qd(this,t,r);case"base64":return zd(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Hd(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function Id(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Od(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=Td.from(t,n)),Nd(t))return 0===t.length?-1:Md(e,t,r,n,i);if("number"==typeof t)return t&=255,Td.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Md(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Md(e,t,r,n,i){var a,o=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=r;as&&(r=s-c),a=r;a>=0;a--){for(var d=!0,_=0;_i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function zd(e,t,r){return 0===t&&r===e.length?md(e):md(e.slice(t,r))}function Ud(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Td.prototype.compare=function(e,t,r,n,i){if(!Nd(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return Ld(this,e,t,r);case"utf8":case"utf-8":return Rd(this,e,t,r);case"ascii":return Bd(this,e,t,r);case"latin1":case"binary":return jd(this,e,t,r);case"base64":return Jd(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Kd(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},Td.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Vd(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function Yd(e,t,r,n,i,a){if(!Nd(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function Xd(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function Qd(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function $d(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Zd(e,t,r,n,i){return i||$d(e,0,r,4),vd(e,t,r,n,23,4),r+4}function e_(e,t,r,n,i){return i||$d(e,0,r,8),vd(e,t,r,n,52,8),r+8}Td.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},Td.prototype.readUInt8=function(e,t){return t||Gd(e,1,this.length),this[e]},Td.prototype.readUInt16LE=function(e,t){return t||Gd(e,2,this.length),this[e]|this[e+1]<<8},Td.prototype.readUInt16BE=function(e,t){return t||Gd(e,2,this.length),this[e]<<8|this[e+1]},Td.prototype.readUInt32LE=function(e,t){return t||Gd(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Td.prototype.readUInt32BE=function(e,t){return t||Gd(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Td.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Gd(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},Td.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Gd(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},Td.prototype.readInt8=function(e,t){return t||Gd(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Td.prototype.readInt16LE=function(e,t){t||Gd(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Td.prototype.readInt16BE=function(e,t){t||Gd(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Td.prototype.readInt32LE=function(e,t){return t||Gd(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Td.prototype.readInt32BE=function(e,t){return t||Gd(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Td.prototype.readFloatLE=function(e,t){return t||Gd(e,4,this.length),yd(this,e,!0,23,4)},Td.prototype.readFloatBE=function(e,t){return t||Gd(e,4,this.length),yd(this,e,!1,23,4)},Td.prototype.readDoubleLE=function(e,t){return t||Gd(e,8,this.length),yd(this,e,!0,52,8)},Td.prototype.readDoubleBE=function(e,t){return t||Gd(e,8,this.length),yd(this,e,!1,52,8)},Td.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||Yd(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+r},Td.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,1,255,0),Td.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Td.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,2,65535,0),Td.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Xd(this,e,t,!0),t+2},Td.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,2,65535,0),Td.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Xd(this,e,t,!1),t+2},Td.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,4,4294967295,0),Td.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Qd(this,e,t,!0),t+4},Td.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,4,4294967295,0),Td.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Qd(this,e,t,!1),t+4},Td.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Yd(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},Td.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Yd(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},Td.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,1,127,-128),Td.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Td.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,2,32767,-32768),Td.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Xd(this,e,t,!0),t+2},Td.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,2,32767,-32768),Td.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Xd(this,e,t,!1),t+2},Td.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,4,2147483647,-2147483648),Td.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Qd(this,e,t,!0),t+4},Td.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Yd(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Td.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Qd(this,e,t,!1),t+4},Td.prototype.writeFloatLE=function(e,t,r){return Zd(this,e,t,!0,r)},Td.prototype.writeFloatBE=function(e,t,r){return Zd(this,e,t,!1,r)},Td.prototype.writeDoubleLE=function(e,t,r){return e_(this,e,t,!0,r)},Td.prototype.writeDoubleBE=function(e,t,r){return e_(this,e,t,!1,r)},Td.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!Td.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function i_(e){return function(e){var t,r,n,i,a,o;pd||fd();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[s-2]?2:"="===e[s-1]?1:0,o=new _d(3*s/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=255&i;return 2===a?(i=dd[e.charCodeAt(t)]<<2|dd[e.charCodeAt(t+1)]>>4,o[c++]=255&i):1===a&&(i=dd[e.charCodeAt(t)]<<10|dd[e.charCodeAt(t+1)]<<4|dd[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(t_,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function a_(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function o_(e){return null!=e&&(!!e._isBuffer||s_(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&s_(e.slice(0,0))}(e))}function s_(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var c_=Object.freeze({__proto__:null,Buffer:Td,INSPECT_MAX_BYTES:50,SlowBuffer:function(e){return+e!=e&&(e=0),Td.alloc(+e)},isBuffer:o_,kMaxLength:xd}),u_="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},l_=/%[sdj%]/g;function d_(e){if(!k_(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),S_(t)?r.showHidden=t:t&&z_(r,t),F_(r.showHidden)&&(r.showHidden=!1),F_(r.depth)&&(r.depth=2),F_(r.colors)&&(r.colors=!1),F_(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=y_),h_(r,e,r.depth)}function y_(e,t){var r=m_.styles[t];return r?"\x1b["+m_.colors[r][0]+"m"+e+"\x1b["+m_.colors[r][1]+"m":e}function v_(e,t){return e}function h_(e,t,r){if(e.customInspect&&t&&O_(t.inspect)&&t.inspect!==m_&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return k_(n)||(n=h_(e,n,r)),n}var i=function(e,t){if(F_(t))return e.stylize("undefined","undefined");if(k_(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(E_(t))return e.stylize(""+t,"number");if(S_(t))return e.stylize(""+t,"boolean");if(T_(t))return e.stylize("null","null")}(e,t);if(i)return i;var a=Object.keys(t),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),I_(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return D_(t);if(0===a.length){if(O_(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(N_(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w_(t))return e.stylize(Date.prototype.toString.call(t),"date");if(I_(t))return D_(t)}var c,u="",l=!1,d=["{","}"];(b_(t)&&(l=!0,d=["[","]"]),O_(t))&&(u=" [Function"+(t.name?": "+t.name:"")+"]");return N_(t)&&(u=" "+RegExp.prototype.toString.call(t)),w_(t)&&(u=" "+Date.prototype.toUTCString.call(t)),I_(t)&&(u=" "+D_(t)),0!==a.length||l&&0!=t.length?r<0?N_(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=l?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,u,d)):d[0]+u+d[1]}function D_(e){return"["+Error.prototype.toString.call(e)+"]"}function x_(e,t,r,n,i,a){var o,s,c;if((c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),U_(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(s=T_(r)?h_(e,c.value,null):h_(e,c.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),F_(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function b_(e){return Array.isArray(e)}function S_(e){return"boolean"==typeof e}function T_(e){return null===e}function C_(e){return null==e}function E_(e){return"number"==typeof e}function k_(e){return"string"==typeof e}function A_(e){return"symbol"==typeof e}function F_(e){return void 0===e}function N_(e){return P_(e)&&"[object RegExp]"===R_(e)}function P_(e){return"object"==typeof e&&null!==e}function w_(e){return P_(e)&&"[object Date]"===R_(e)}function I_(e){return P_(e)&&("[object Error]"===R_(e)||e instanceof Error)}function O_(e){return"function"==typeof e}function M_(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function L_(e){return Td.isBuffer(e)}function R_(e){return Object.prototype.toString.call(e)}function B_(e){return e<10?"0"+e.toString(10):e.toString(10)}m_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},m_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var j_=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function J_(){var e=new Date,t=[B_(e.getHours()),B_(e.getMinutes()),B_(e.getSeconds())].join(":");return[e.getDate(),j_[e.getMonth()],t].join(" ")}function K_(){console.log("%s - %s",J_(),d_.apply(null,arguments))}function z_(e,t){if(!t||!P_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function U_(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var V_={inherits:u_,_extend:z_,log:K_,isBuffer:L_,isPrimitive:M_,isFunction:O_,isError:I_,isDate:w_,isObject:P_,isRegExp:N_,isUndefined:F_,isSymbol:A_,isString:k_,isNumber:E_,isNullOrUndefined:C_,isNull:T_,isBoolean:S_,isArray:b_,inspect:m_,deprecate:__,format:d_,debuglog:g_},q_=t(Object.freeze({__proto__:null,format:d_,deprecate:__,debuglog:g_,inspect:m_,isArray:b_,isBoolean:S_,isNull:T_,isNullOrUndefined:C_,isNumber:E_,isString:k_,isSymbol:A_,isUndefined:F_,isRegExp:N_,isObject:P_,isDate:w_,isError:I_,isFunction:O_,isPrimitive:M_,isBuffer:L_,log:K_,inherits:u_,_extend:z_,default:V_}));const W_=S,H_=ud,G_=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:es.argv;const r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||n=2,has16m:e>=3}}function $_(e,t){if(0===X_)return 0;if(G_("color=16m")||G_("color=full")||G_("color=truecolor"))return 3;if(G_("color=256"))return 2;if(e&&!t&&void 0===X_)return 0;const r=X_||0;if("dumb"===Y_.TERM)return r;if("win32"===es.platform){const e=W_.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Y_)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in Y_))||"codeship"===Y_.CI_NAME?1:r;if("TEAMCITY_VERSION"in Y_)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Y_.TEAMCITY_VERSION)?1:0;if("truecolor"===Y_.COLORTERM)return 3;if("TERM_PROGRAM"in Y_){const e=parseInt((Y_.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Y_.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Y_.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Y_.TERM)||"COLORTERM"in Y_?1:r}G_("no-color")||G_("no-colors")||G_("color=false")||G_("color=never")?X_=0:(G_("color")||G_("colors")||G_("color=true")||G_("color=always"))&&(X_=1),"FORCE_COLOR"in Y_&&(X_="true"===Y_.FORCE_COLOR?1:"false"===Y_.FORCE_COLOR?0:0===Y_.FORCE_COLOR.length?1:Math.min(parseInt(Y_.FORCE_COLOR,10),3));var Z_={supportsColor:function(e){return Q_($_(e,e&&e.isTTY))},stdout:Q_($_(!0,H_.isatty(1))),stderr:Q_($_(!0,H_.isatty(2)))};!function(e,t){const r=ud,n=q_;t.init=function(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;n{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=Z_;e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(es.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=es.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e}),{}),e.exports=nd(t);const{formatters:i}=e.exports;i.o=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts).split("\n").map((e=>e.trim())).join(" ")},i.O=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts)}}(id,id.exports),void 0===es||"renderer"===es.type||!0===es.browser||es.__nwjs?Hl.exports=Gl.exports:Hl.exports=id.exports +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */;var ep=function(e){if("string"!=typeof e||""===e)return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1},tp={"{":"}","(":")","[":"]"},rp=function(e){if("!"===e[0])return!0;for(var t=0,r=-2,n=-2,i=-2,a=-2,o=-2;tt)){if(-1===o||o>n)return!0;if(-1===(o=e.indexOf("\\",t))||o>n)return!0}if(-1!==i&&"{"===e[t]&&"}"!==e[t+1]&&(i=e.indexOf("}",t))>t&&(-1===(o=e.indexOf("\\",t))||o>i))return!0;if(-1!==a&&"("===e[t]&&"?"===e[t+1]&&/[:!=]/.test(e[t+2])&&")"!==e[t+3]&&(a=e.indexOf(")",t))>t&&(-1===(o=e.indexOf("\\",t))||o>a))return!0;if(-1!==r&&"("===e[t]&&"|"!==e[t+1]&&(rr&&(-1===(o=e.indexOf("\\",r))||o>a)))return!0;if("\\"===e[t]){var s=e[t+1];t+=2;var c=tp[s];if(c){var u=e.indexOf(c,t);-1!==u&&(t=u+1)}if("!"===e[t])return!0}else t++}return!1},np=function(e){if("!"===e[0])return!0;for(var t=0;t + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */const{MAX_LENGTH:ip}=rs,{re:ap,t:op}=ns.exports,sp=ys,cp=as;var up=(e,t)=>{if(t=cp(t),e instanceof sp)return e;if("string"!=typeof e)return null;if(e.length>ip)return null;if(!(t.loose?ap[op.LOOSE]:ap[op.FULL]).test(e))return null;try{return new sp(e,t)}catch(e){return null}};const lp=up;var dp=(e,t)=>{const r=lp(e,t);return r?r.version:null};const _p=up;var pp=(e,t)=>{const r=_p(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};const fp=ys;var gp=(e,t,r,n)=>{"string"==typeof r&&(n=r,r=void 0);try{return new fp(e,r).inc(t,n).version}catch(e){return null}};const mp=hs;var yp=(e,t,r)=>0===mp(e,t,r);const vp=up,hp=yp;var Dp=(e,t)=>{if(hp(e,t))return null;{const r=vp(e),n=vp(t),i=r.prerelease.length||n.prerelease.length,a=i?"pre":"",o=i?"prerelease":"";for(const e in r)if(("major"===e||"minor"===e||"patch"===e)&&r[e]!==n[e])return a+e;return o}};const xp=ys;var bp=(e,t)=>new xp(e,t).major;const Sp=ys;var Tp=(e,t)=>new Sp(e,t).minor;const Cp=ys;var Ep=(e,t)=>new Cp(e,t).patch;const kp=up;var Ap=(e,t)=>{const r=kp(e,t);return r&&r.prerelease.length?r.prerelease:null};const Fp=hs;var Np=(e,t,r)=>Fp(t,e,r);const Pp=hs;var wp=(e,t)=>Pp(e,t,!0);const Ip=ys;var Op=(e,t,r)=>{const n=new Ip(e,r),i=new Ip(t,r);return n.compare(i)||n.compareBuild(i)};const Mp=Op;var Lp=(e,t)=>e.sort(((e,r)=>Mp(e,r,t)));const Rp=Op;var Bp=(e,t)=>e.sort(((e,r)=>Rp(r,e,t)));const jp=hs;var Jp=(e,t,r)=>jp(e,t,r)>0;const Kp=hs;var zp=(e,t,r)=>0!==Kp(e,t,r);const Up=hs;var Vp=(e,t,r)=>Up(e,t,r)<=0;const qp=yp,Wp=zp,Hp=Jp,Gp=Fs,Yp=xs,Xp=Vp;var Qp=(e,t,r,n)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return qp(e,r,n);case"!=":return Wp(e,r,n);case">":return Hp(e,r,n);case">=":return Gp(e,r,n);case"<":return Yp(e,r,n);case"<=":return Xp(e,r,n);default:throw new TypeError("Invalid operator: ".concat(t))}};const $p=ys,Zp=up,{re:ef,t:tf}=ns.exports;var rf=(e,t)=>{if(e instanceof $p)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=ef[tf.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),ef[tf.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;ef[tf.COERCERTL].lastIndex=-1}else r=e.match(ef[tf.COERCE]);return null===r?null:Zp("".concat(r[2],".").concat(r[3]||"0",".").concat(r[4]||"0"),t)},nf=af;function af(e){var t=this;if(t instanceof af||(t=new af),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var r=0,n=arguments.length;r1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=e(r,n.value,i),n=n.next;return r},af.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=e(r,n.value,i),n=n.prev;return r},af.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},af.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},af.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new af;if(tthis.length&&(t=this.length);for(var n=0,i=this.head;null!==i&&nthis.length&&(t=this.length);for(var n=this.length,i=this.tail;null!==i&&n>t;n--)i=i.prev;for(;null!==i&&n>e;n--,i=i.prev)r.push(i.value);return r},af.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,n=this.head;null!==n&&r1;const bf=(e,t,r)=>{const n=e[hf].get(t);if(n){const t=n.value;if(Sf(e,t)){if(Cf(e,n),!e[ff])return}else r&&(e[Df]&&(n.value.now=Date.now()),e[vf].unshiftNode(n));return t.value}},Sf=(e,t)=>{if(!t||!t.maxAge&&!e[gf])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[gf]&&r>e[gf]},Tf=e=>{if(e[_f]>e[df])for(let t=e[vf].tail;e[_f]>e[df]&&null!==t;){const r=t.prev;Cf(e,t),t=r}},Cf=(e,t)=>{if(t){const r=t.value;e[mf]&&e[mf](r.key,r.value),e[_f]-=r.length,e[hf].delete(r.key),e[vf].removeNode(t)}};class Ef{constructor(e,t,r,n,i){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=i||0}}const kf=(e,t,r,n)=>{let i=r.value;Sf(e,i)&&(Cf(e,r),e[ff]||(i=void 0)),i&&t.call(n,i.value,i.key,e)};var Af=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[df]=e.max||1/0;const t=e.length||xf;if(this[pf]="function"!=typeof t?xf:t,this[ff]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[gf]=e.maxAge||0,this[mf]=e.dispose,this[yf]=e.noDisposeOnSet||!1,this[Df]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[df]=e||1/0,Tf(this)}get max(){return this[df]}set allowStale(e){this[ff]=!!e}get allowStale(){return this[ff]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[gf]=e,Tf(this)}get maxAge(){return this[gf]}set lengthCalculator(e){"function"!=typeof e&&(e=xf),e!==this[pf]&&(this[pf]=e,this[_f]=0,this[vf].forEach((e=>{e.length=this[pf](e.value,e.key),this[_f]+=e.length}))),Tf(this)}get lengthCalculator(){return this[pf]}get length(){return this[_f]}get itemCount(){return this[vf].length}rforEach(e,t){t=t||this;for(let r=this[vf].tail;null!==r;){const n=r.prev;kf(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[vf].head;null!==r;){const n=r.next;kf(this,e,r,t),r=n}}keys(){return this[vf].toArray().map((e=>e.key))}values(){return this[vf].toArray().map((e=>e.value))}reset(){this[mf]&&this[vf]&&this[vf].length&&this[vf].forEach((e=>this[mf](e.key,e.value))),this[hf]=new Map,this[vf]=new lf,this[_f]=0}dump(){return this[vf].map((e=>!Sf(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[vf]}set(e,t,r){if((r=r||this[gf])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,i=this[pf](t,e);if(this[hf].has(e)){if(i>this[df])return Cf(this,this[hf].get(e)),!1;const a=this[hf].get(e).value;return this[mf]&&(this[yf]||this[mf](e,a.value)),a.now=n,a.maxAge=r,a.value=t,this[_f]+=i-a.length,a.length=i,this.get(e),Tf(this),!0}const a=new Ef(e,t,i,n,r);return a.length>this[df]?(this[mf]&&this[mf](e,t),!1):(this[_f]+=a.length,this[vf].unshift(a),this[hf].set(e,this[vf].head),Tf(this),!0)}has(e){if(!this[hf].has(e))return!1;const t=this[hf].get(e).value;return!Sf(this,t)}get(e){return bf(this,e,!0)}peek(e){return bf(this,e,!1)}pop(){const e=this[vf].tail;return e?(Cf(this,e),e.value):null}del(e){Cf(this,this[hf].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const n=e[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const e=i-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[hf].forEach(((e,t)=>bf(this,t,!1)))}};class Ff{constructor(e,t){if(t=wf(t),e instanceof Ff)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Ff(e.raw,t);if(e instanceof If)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError("Invalid SemVer Range: ".concat(e));if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!Kf(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&zf(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=Object.keys(this.options).join(","),r="parseRange:".concat(t,":").concat(e),n=Pf.get(r);if(n)return n;const i=this.options.loose,a=i?Lf[Rf.HYPHENRANGELOOSE]:Lf[Rf.HYPHENRANGE];e=e.replace(a,eg(this.options.includePrerelease)),Of("hyphen replace",e),e=e.replace(Lf[Rf.COMPARATORTRIM],Bf),Of("comparator trim",e,Lf[Rf.COMPARATORTRIM]),e=(e=(e=e.replace(Lf[Rf.TILDETRIM],jf)).replace(Lf[Rf.CARETTRIM],Jf)).split(/\s+/).join(" ");const o=i?Lf[Rf.COMPARATORLOOSE]:Lf[Rf.COMPARATOR],s=e.split(" ").map((e=>Vf(e,this.options))).join(" ").split(/\s+/).map((e=>Zf(e,this.options))).filter(this.options.loose?e=>!!e.match(o):()=>!0).map((e=>new If(e,this.options)));s.length;const c=new Map;for(const e of s){if(Kf(e))return[e];c.set(e.value,e)}c.size>1&&c.has("")&&c.delete("");const u=[...c.values()];return Pf.set(r,u),u}intersects(e,t){if(!(e instanceof Ff))throw new TypeError("a Range is required");return this.set.some((r=>Uf(r,t)&&e.set.some((e=>Uf(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new Mf(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,zf=e=>""===e.value,Uf=(e,t)=>{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},Vf=(e,t)=>(Of("comp",e,t),e=Gf(e,t),Of("caret",e),e=Wf(e,t),Of("tildes",e),e=Xf(e,t),Of("xrange",e),e=$f(e,t),Of("stars",e),e),qf=e=>!e||"x"===e.toLowerCase()||"*"===e,Wf=(e,t)=>e.trim().split(/\s+/).map((e=>Hf(e,t))).join(" "),Hf=(e,t)=>{const r=t.loose?Lf[Rf.TILDELOOSE]:Lf[Rf.TILDE];return e.replace(r,((t,r,n,i,a)=>{let o;return Of("tilde",e,t,r,n,i,a),qf(r)?o="":qf(n)?o=">=".concat(r,".0.0 <").concat(+r+1,".0.0-0"):qf(i)?o=">=".concat(r,".").concat(n,".0 <").concat(r,".").concat(+n+1,".0-0"):a?(Of("replaceTilde pr",a),o=">=".concat(r,".").concat(n,".").concat(i,"-").concat(a," <").concat(r,".").concat(+n+1,".0-0")):o=">=".concat(r,".").concat(n,".").concat(i," <").concat(r,".").concat(+n+1,".0-0"),Of("tilde return",o),o}))},Gf=(e,t)=>e.trim().split(/\s+/).map((e=>Yf(e,t))).join(" "),Yf=(e,t)=>{Of("caret",e,t);const r=t.loose?Lf[Rf.CARETLOOSE]:Lf[Rf.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,i,a,o)=>{let s;return Of("caret",e,t,r,i,a,o),qf(r)?s="":qf(i)?s=">=".concat(r,".0.0").concat(n," <").concat(+r+1,".0.0-0"):qf(a)?s="0"===r?">=".concat(r,".").concat(i,".0").concat(n," <").concat(r,".").concat(+i+1,".0-0"):">=".concat(r,".").concat(i,".0").concat(n," <").concat(+r+1,".0.0-0"):o?(Of("replaceCaret pr",o),s="0"===r?"0"===i?">=".concat(r,".").concat(i,".").concat(a,"-").concat(o," <").concat(r,".").concat(i,".").concat(+a+1,"-0"):">=".concat(r,".").concat(i,".").concat(a,"-").concat(o," <").concat(r,".").concat(+i+1,".0-0"):">=".concat(r,".").concat(i,".").concat(a,"-").concat(o," <").concat(+r+1,".0.0-0")):(Of("no pr"),s="0"===r?"0"===i?">=".concat(r,".").concat(i,".").concat(a).concat(n," <").concat(r,".").concat(i,".").concat(+a+1,"-0"):">=".concat(r,".").concat(i,".").concat(a).concat(n," <").concat(r,".").concat(+i+1,".0-0"):">=".concat(r,".").concat(i,".").concat(a," <").concat(+r+1,".0.0-0")),Of("caret return",s),s}))},Xf=(e,t)=>(Of("replaceXRanges",e,t),e.split(/\s+/).map((e=>Qf(e,t))).join(" ")),Qf=(e,t)=>{e=e.trim();const r=t.loose?Lf[Rf.XRANGELOOSE]:Lf[Rf.XRANGE];return e.replace(r,((r,n,i,a,o,s)=>{Of("xRange",e,r,n,i,a,o,s);const c=qf(i),u=c||qf(a),l=u||qf(o),d=l;return"="===n&&d&&(n=""),s=t.includePrerelease?"-0":"",c?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(u&&(a=0),o=0,">"===n?(n=">=",u?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):"<="===n&&(n="<",u?i=+i+1:a=+a+1),"<"===n&&(s="-0"),r="".concat(n+i,".").concat(a,".").concat(o).concat(s)):u?r=">=".concat(i,".0.0").concat(s," <").concat(+i+1,".0.0-0"):l&&(r=">=".concat(i,".").concat(a,".0").concat(s," <").concat(i,".").concat(+a+1,".0-0")),Of("xRange return",r),r}))},$f=(e,t)=>(Of("replaceStars",e,t),e.trim().replace(Lf[Rf.STAR],"")),Zf=(e,t)=>(Of("replaceGTE0",e,t),e.trim().replace(Lf[t.includePrerelease?Rf.GTE0PRE:Rf.GTE0],"")),eg=e=>(t,r,n,i,a,o,s,c,u,l,d,_,p)=>(r=qf(n)?"":qf(i)?">=".concat(n,".0.0").concat(e?"-0":""):qf(a)?">=".concat(n,".").concat(i,".0").concat(e?"-0":""):o?">=".concat(r):">=".concat(r).concat(e?"-0":""),c=qf(u)?"":qf(l)?"<".concat(+u+1,".0.0-0"):qf(d)?"<".concat(u,".").concat(+l+1,".0-0"):_?"<=".concat(u,".").concat(l,".").concat(d,"-").concat(_):e?"<".concat(u,".").concat(l,".").concat(+d+1,"-0"):"<=".concat(c),"".concat(r," ").concat(c).trim()),tg=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0},rg=Symbol("SemVer ANY");class ng{static get ANY(){return rg}constructor(e,t){if(t=ag(t),e instanceof ng){if(e.loose===!!t.loose)return e;e=e.value}ug("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===rg?this.value="":this.value=this.operator+this.semver.version,ug("comp",this)}parse(e){const t=this.options.loose?og[sg.COMPARATORLOOSE]:og[sg.COMPARATOR],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: ".concat(e));this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new lg(r[2],this.options.loose):this.semver=rg}toString(){return this.value}test(e){if(ug("Comparator.test",e,this.options.loose),this.semver===rg||e===rg)return!0;if("string"==typeof e)try{e=new lg(e,this.options)}catch(e){return!1}return cg(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof ng))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new dg(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new dg(this.value,t).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),i=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=cg(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),s=cg(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||n||i&&a||o||s}}var ig=ng;const ag=as,{re:og,t:sg}=ns.exports,cg=Qp,ug=ts,lg=ys,dg=Nf,_g=Nf;var pg=(e,t,r)=>{try{t=new _g(t,r)}catch(e){return!1}return t.test(e)};const fg=Nf;var gg=(e,t)=>new fg(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));const mg=ys,yg=Nf;var vg=(e,t,r)=>{let n=null,i=null,a=null;try{a=new yg(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&-1!==i.compare(e)||(n=e,i=new mg(n,r)))})),n};const hg=ys,Dg=Nf;var xg=(e,t,r)=>{let n=null,i=null,a=null;try{a=new Dg(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&1!==i.compare(e)||(n=e,i=new hg(n,r)))})),n};const bg=ys,Sg=Nf,Tg=Jp;var Cg=(e,t)=>{e=new Sg(e,t);let r=new bg("0.0.0");if(e.test(r))return r;if(r=new bg("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new bg(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":i&&!Tg(t,i)||(i=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: ".concat(e.operator))}})),!i||r&&!Tg(r,i)||(r=i)}return r&&e.test(r)?r:null};const Eg=Nf;var kg=(e,t)=>{try{return new Eg(e,t).range||"*"}catch(e){return null}};const Ag=ys,Fg=ig,{ANY:Ng}=Fg,Pg=Nf,wg=pg,Ig=Jp,Og=xs,Mg=Vp,Lg=Fs;var Rg=(e,t,r,n)=>{let i,a,o,s,c;switch(e=new Ag(e,n),t=new Pg(t,n),r){case">":i=Ig,a=Mg,o=Og,s=">",c=">=";break;case"<":i=Og,a=Lg,o=Ig,s="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(wg(e,t,n))return!1;for(let r=0;r{e.semver===Ng&&(e=new Fg(">=0.0.0")),l=l||e,d=d||e,i(e.semver,l.semver,n)?l=e:o(e.semver,d.semver,n)&&(d=e)})),l.operator===s||l.operator===c)return!1;if((!d.operator||d.operator===s)&&a(e,d.semver))return!1;if(d.operator===c&&o(e,d.semver))return!1}return!0};const Bg=Rg;var jg=(e,t,r)=>Bg(e,t,">",r);const Jg=Rg;var Kg=(e,t,r)=>Jg(e,t,"<",r);const zg=Nf;var Ug=(e,t,r)=>(e=new zg(e,r),t=new zg(t,r),e.intersects(t));const Vg=pg,qg=hs;const Wg=Nf,Hg=ig,{ANY:Gg}=Hg,Yg=pg,Xg=hs,Qg=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===Gg){if(1===t.length&&t[0].semver===Gg)return!0;e=r.includePrerelease?[new Hg(">=0.0.0-0")]:[new Hg(">=0.0.0")]}if(1===t.length&&t[0].semver===Gg){if(r.includePrerelease)return!0;t=[new Hg(">=0.0.0")]}const n=new Set;let i,a,o,s,c,u,l;for(const t of e)">"===t.operator||">="===t.operator?i=$g(i,t,r):"<"===t.operator||"<="===t.operator?a=Zg(a,t,r):n.add(t.semver);if(n.size>1)return null;if(i&&a){if(o=Xg(i.semver,a.semver,r),o>0)return null;if(0===o&&(">="!==i.operator||"<="!==a.operator))return null}for(const e of n){if(i&&!Yg(e,String(i),r))return null;if(a&&!Yg(e,String(a),r))return null;for(const n of t)if(!Yg(e,String(n),r))return!1;return!0}let d=!(!a||r.includePrerelease||!a.semver.prerelease.length)&&a.semver,_=!(!i||r.includePrerelease||!i.semver.prerelease.length)&&i.semver;d&&1===d.prerelease.length&&"<"===a.operator&&0===d.prerelease[0]&&(d=!1);for(const e of t){if(l=l||">"===e.operator||">="===e.operator,u=u||"<"===e.operator||"<="===e.operator,i)if(_&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===_.major&&e.semver.minor===_.minor&&e.semver.patch===_.patch&&(_=!1),">"===e.operator||">="===e.operator){if(s=$g(i,e,r),s===e&&s!==i)return!1}else if(">="===i.operator&&!Yg(i.semver,String(e),r))return!1;if(a)if(d&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===d.major&&e.semver.minor===d.minor&&e.semver.patch===d.patch&&(d=!1),"<"===e.operator||"<="===e.operator){if(c=Zg(a,e,r),c===e&&c!==a)return!1}else if("<="===a.operator&&!Yg(a.semver,String(e),r))return!1;if(!e.operator&&(a||i)&&0!==o)return!1}return!(i&&u&&!a&&0!==o)&&(!(a&&l&&!i&&0!==o)&&(!_&&!d))},$g=(e,t,r)=>{if(!e)return t;const n=Xg(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},Zg=(e,t,r)=>{if(!e)return t;const n=Xg(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};var em=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return!0;e=new Wg(e,r),t=new Wg(t,r);let n=!1;e:for(const i of e.set){for(const e of t.set){const t=Qg(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0};const tm=ns.exports;var rm={re:tm.re,src:tm.src,tokens:tm.t,SEMVER_SPEC_VERSION:rs.SEMVER_SPEC_VERSION,SemVer:ys,compareIdentifiers:cs.compareIdentifiers,rcompareIdentifiers:cs.rcompareIdentifiers,parse:up,valid:dp,clean:pp,inc:gp,diff:Dp,major:bp,minor:Tp,patch:Ep,prerelease:Ap,compare:hs,rcompare:Np,compareLoose:wp,compareBuild:Op,sort:Lp,rsort:Bp,gt:Jp,lt:xs,eq:yp,neq:zp,gte:Fs,lte:Vp,cmp:Qp,coerce:rf,Comparator:ig,Range:Nf,satisfies:pg,toComparators:gg,maxSatisfying:vg,minSatisfying:xg,minVersion:Cg,validRange:kg,outside:Rg,gtr:jg,ltr:Kg,intersects:Ug,simplifyRange:(e,t,r)=>{const n=[];let i=null,a=null;const o=e.sort(((e,t)=>qg(e,t,r)));for(const e of o){Vg(e,t,r)?(a=e,i||(i=e)):(a&&n.push([i,a]),a=null,i=null)}i&&n.push([i,null]);const s=[];for(const[e,t]of n)e===t?s.push(e):t||e!==o[0]?t?e===o[0]?s.push("<=".concat(t)):s.push("".concat(e," - ").concat(t)):s.push(">=".concat(e)):s.push("*");const c=s.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return c.length=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var im=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,am=function(e){return im.exec(e).slice(1)};function om(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return(t?"/":"")+(e=nm(gm(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function sm(e){var t=cm(e),r="/"===mm(e,-1);return(e=nm(gm(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function cm(e){return"/"===e.charAt(0)}function um(){var e=Array.prototype.slice.call(arguments,0);return sm(gm(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function lm(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=om(e).substr(1),t=om(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),a=Math.min(n.length,i.length),o=a,s=0;s0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0;for(var r=0,n=e;r>1);switch(i(r(e[c],c),t)){case-1:o=c+1;break;case 0:return c;case 1:s=c-1}}return~o}function m(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=void 0===n||n<0?0:n,s=void 0===i||o+i>a-1?a-1:o+i,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=r;o<=s;)c=t(c,e[o],o),o++;return c}}return r}e.getIterator=function(t){if(t){if(E(t))return p(t);if(t instanceof e.Map)return t.entries();if(t instanceof e.Set)return t.values();throw new Error("Iteration not supported.")}},e.emptyArray=[],e.emptyMap=new e.Map,e.emptySet=new e.Set,e.createMap=function(){return new e.Map},e.createMapFromTemplate=function(t){var r=new e.Map;for(var n in t)y.call(t,n)&&r.set(n,t[n]);return r},e.length=function(e){return e?e.length:0},e.forEach=function(e,t){if(e)for(var r=0;r=0;r--){var n=t(e[r],r);if(n)return n}},e.firstDefined=function(e,t){if(void 0!==e)for(var r=0;r=0;r--){var n=e[r];if(t(n,r))return n}},e.findIndex=function(e,t,r){for(var n=r||0;n=0;n--)if(t(e[n],n))return n;return-1},e.findMap=function(t,r){for(var n=0;n0&&e.Debug.assertGreaterThanOrEqual(n(r[o],r[o-1]),0);t:for(var s=a;as&&e.Debug.assertGreaterThanOrEqual(n(t[a],t[a-1]),0),n(r[o],t[a])){case-1:i.push(r[o]);continue e;case 0:continue e;case 1:continue t}}return i},e.sum=function(e,t){for(var r=0,n=0,i=e;nt?1:0}function R(e,t){return O(e,t)}e.toFileNameLowerCase=w,e.notImplemented=function(){throw new Error("Not implemented")},e.memoize=function(e){var t;return function(){return e&&(t=e(),e=void 0),t}},e.memoizeOne=function(t){var r=new e.Map;return function(e){var n="".concat(typeof e,":").concat(e),i=r.get(n);return void 0!==i||r.has(n)||(i=t(e),r.set(n,i)),i}},e.compose=function(e,t,r,n,i){if(i){for(var a=[],o=0;o0?1:0}function i(e){var t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant"}).compare;return function(e,r){return n(e,r,t)}}function a(e){return void 0!==e?o():function(e,r){return n(e,r,t)};function t(e,t){return e.localeCompare(t)}}function o(){return function(t,r){return n(t,r,e)};function e(e,r){return t(e.toUpperCase(),r.toUpperCase())||t(e,r)}function t(e,t){return et?1:0}}}();function K(e,t,r){for(var n=new Array(t.length+1),i=new Array(t.length+1),a=r+.01,o=0;o<=t.length;o++)n[o]=o;for(o=1;o<=e.length;o++){var s=e.charCodeAt(o-1),c=Math.ceil(o>r?o-r:1),u=Math.floor(t.length>r+o?r+o:t.length);i[0]=o;for(var l=o,d=1;dr)return;var f=n;n=i,i=f}var g=n[t.length];return g>r?void 0:g}function z(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function U(e,t){for(var r=t;r=r.length+n.length&&W(t,r)&&z(t,n)}function G(e,t,r,n){for(var i=0,a=e[n];i0;r--){var n=e.charCodeAt(r);if(n>=48&&n<=57)do{--r,n=e.charCodeAt(r)}while(r>0&&n>=48&&n<=57);else{if(!(r>4)||110!==n&&78!==n)break;if(--r,105!==(n=e.charCodeAt(r))&&73!==n)break;if(--r,109!==(n=e.charCodeAt(r))&&77!==n)break;--r,n=e.charCodeAt(r)}if(45!==n&&46!==n)break;t=r}return t===e.length?e:e.slice(0,t)},e.orderedRemoveItem=function(e,t){for(var r=0;ri&&(i=c.prefix.length,n=s)}return n},e.startsWith=W,e.removePrefix=function(e,t){return W(e,t)?e.substr(t.length):e},e.tryRemovePrefix=function(e,t,r){return void 0===r&&(r=A),W(r(e),r(t))?e.substring(t.length):void 0},e.and=function(e,t){return function(r){return e(r)&&t(r)}},e.or=function(){for(var e=[],t=0;t=0&&e.isWhiteSpaceLike(t.charCodeAt(r));)r--;return t.slice(0,r+1)},e.trimStringStart=String.prototype.trimStart?function(e){return e.trimStart()}:function(e){return e.replace(/^\s+/g,"")}}(c||(c={})),function(e){var t;!function(e){e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Info=3]="Info",e[e.Verbose=4]="Verbose"}(t=e.LogLevel||(e.LogLevel={})),function(r){var n,i,a=0;function o(){return null!=n?n:n=new e.Version(e.version)}function s(e){return r.currentLogLevel<=e}function c(e,t){r.loggingHost&&s(e)&&r.loggingHost.log(e,t)}function u(e){c(t.Info,e)}r.currentLogLevel=t.Warning,r.isDebugging=!1,r.getTypeScriptVersion=o,r.shouldLog=s,r.log=u,i=u=r.log||(r.log={}),i.error=function(e){c(t.Error,e)},i.warn=function(e){c(t.Warning,e)},i.log=function(e){c(t.Info,e)},i.trace=function(e){c(t.Verbose,e)};var l={};function d(e){return a>=e}function _(t,n){return!!d(t)||(l[n]={level:t,assertion:r[n]},r[n]=e.noop,!1)}function p(e,t){var r=new Error(e?"Debug Failure. ".concat(e):"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(r,t||p),r}function f(e,t,r,n){e||(t=t?"False expression: ".concat(t):"False expression.",r&&(t+="\r\nVerbose Debug Information: "+("string"==typeof r?r:r())),p(t,n||f))}function g(e,t,r){null==e&&p(t,r||g)}function m(e,t,r){return g(e,t,r||m),e}function y(e,t,r){for(var n=0,i=e;n0&&0===i[0][0]?i[0][1]:"0";if(n){for(var a="",o=t,s=0,c=i;st)break;0!==l&&l&t&&(a="".concat(a).concat(a?"|":"").concat(d),o&=~l)}if(0===o)return a}else for(var _=0,p=i;_n)for(var i=0,o=e.getOwnKeys(l);i=c.level&&(r[s]=c,l[s]=void 0)}},r.shouldAssert=d,r.fail=p,r.failBadSyntaxKind=function e(t,r,n){return p("".concat(r||"Unexpected node.","\r\nNode ").concat(x(t.kind)," was unexpected."),n||e)},r.assert=f,r.assertEqual=function e(t,r,n,i,a){if(t!==r){var o=n?i?"".concat(n," ").concat(i):n:"";p("Expected ".concat(t," === ").concat(r,". ").concat(o),a||e)}},r.assertLessThan=function e(t,r,n,i){t>=r&&p("Expected ".concat(t," < ").concat(r,". ").concat(n||""),i||e)},r.assertLessThanOrEqual=function e(t,r,n){t>r&&p("Expected ".concat(t," <= ").concat(r),n||e)},r.assertGreaterThanOrEqual=function e(t,r,n){t= ").concat(r),n||e)},r.assertIsDefined=g,r.checkDefined=m,r.assertDefined=m,r.assertEachIsDefined=y,r.checkEachDefined=v,r.assertEachDefined=v,r.assertNever=function t(r,n,i){void 0===n&&(n="Illegal value:");var a="object"==typeof r&&e.hasProperty(r,"kind")&&e.hasProperty(r,"pos")&&x?"SyntaxKind: "+x(r.kind):JSON.stringify(r);return p("".concat(n," ").concat(a),i||t)},r.assertEachNode=function t(r,n,i,a){_(1,"assertEachNode")&&f(void 0===n||e.every(r,n),i||"Unexpected node.",(function(){return"Node array did not pass test '".concat(h(n),"'.")}),a||t)},r.assertNode=function e(t,r,n,i){_(1,"assertNode")&&f(void 0!==t&&(void 0===r||r(t)),n||"Unexpected node.",(function(){return"Node ".concat(x(null==t?void 0:t.kind)," did not pass test '").concat(h(r),"'.")}),i||e)},r.assertNotNode=function e(t,r,n,i){_(1,"assertNotNode")&&f(void 0===t||void 0===r||!r(t),n||"Unexpected node.",(function(){return"Node ".concat(x(t.kind)," should not have passed test '").concat(h(r),"'.")}),i||e)},r.assertOptionalNode=function e(t,r,n,i){_(1,"assertOptionalNode")&&f(void 0===r||void 0===t||r(t),n||"Unexpected node.",(function(){return"Node ".concat(x(null==t?void 0:t.kind)," did not pass test '").concat(h(r),"'.")}),i||e)},r.assertOptionalToken=function e(t,r,n,i){_(1,"assertOptionalToken")&&f(void 0===r||void 0===t||t.kind===r,n||"Unexpected node.",(function(){return"Node ".concat(x(null==t?void 0:t.kind)," was not a '").concat(x(r),"' token.")}),i||e)},r.assertMissingNode=function e(t,r,n){_(1,"assertMissingNode")&&f(void 0===t,r||"Unexpected node.",(function(){return"Node ".concat(x(t.kind)," was unexpected'.")}),n||e)},r.type=function(e){},r.getFunctionName=h,r.formatSymbol=function(t){return"{ name: ".concat(e.unescapeLeadingUnderscores(t.escapedName),"; flags: ").concat(E(t.flags),"; declarations: ").concat(e.map(t.declarations,(function(e){return x(e.kind)}))," }")},r.formatEnum=D,r.formatSyntaxKind=x,r.formatSnippetKind=function(t){return D(t,e.SnippetKind,!1)},r.formatNodeFlags=b,r.formatModifierFlags=S,r.formatTransformFlags=T,r.formatEmitFlags=C,r.formatSymbolFlags=E,r.formatTypeFlags=k,r.formatSignatureFlags=A,r.formatObjectFlags=F,r.formatFlowFlags=N;var P,w,I=!1;function O(e){return function(){throw R(),new Error("Debugging helpers could not be loaded.")}().formatControlFlowGraph(e)}function M(t){"__debugFlowFlags"in t||Object.defineProperties(t,{__tsDebuggerDisplay:{value:function(){var e=2&this.flags?"FlowStart":4&this.flags?"FlowBranchLabel":8&this.flags?"FlowLoopLabel":16&this.flags?"FlowAssignment":32&this.flags?"FlowTrueCondition":64&this.flags?"FlowFalseCondition":128&this.flags?"FlowSwitchClause":256&this.flags?"FlowArrayMutation":512&this.flags?"FlowCall":1024&this.flags?"FlowReduceLabel":1&this.flags?"FlowUnreachable":"UnknownFlow",t=-2048&this.flags;return"".concat(e).concat(t?" (".concat(N(t),")"):"")}},__debugFlowFlags:{get:function(){return D(this.flags,e.FlowFlags,!0)}},__debugToString:{value:function(){return O(this)}}})}function L(e){"__tsDebuggerDisplay"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value:function(e){return e=String(e).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),"NodeArray ".concat(e)}}})}function R(){if(!I){var t,r;Object.defineProperties(e.objectAllocator.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=33554432&this.flags?"TransientSymbol":"Symbol",r=-33554433&this.flags;return"".concat(t," '").concat(e.symbolName(this),"'").concat(r?" (".concat(E(r),")"):"")}},__debugFlags:{get:function(){return E(this.flags)}}}),Object.defineProperties(e.objectAllocator.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=98304&this.flags?"NullableType":384&this.flags?"LiteralType ".concat(JSON.stringify(this.value)):2048&this.flags?"LiteralType ".concat(this.value.negative?"-":"").concat(this.value.base10Value,"n"):8192&this.flags?"UniqueESSymbolType":32&this.flags?"EnumType":67359327&this.flags?"IntrinsicType ".concat(this.intrinsicName):1048576&this.flags?"UnionType":2097152&this.flags?"IntersectionType":4194304&this.flags?"IndexType":8388608&this.flags?"IndexedAccessType":16777216&this.flags?"ConditionalType":33554432&this.flags?"SubstitutionType":262144&this.flags?"TypeParameter":524288&this.flags?3&this.objectFlags?"InterfaceType":4&this.objectFlags?"TypeReference":8&this.objectFlags?"TupleType":16&this.objectFlags?"AnonymousType":32&this.objectFlags?"MappedType":1024&this.objectFlags?"ReverseMappedType":256&this.objectFlags?"EvolvingArrayType":"ObjectType":"Type",r=524288&this.flags?-1344&this.objectFlags:0;return"".concat(t).concat(this.symbol?" '".concat(e.symbolName(this.symbol),"'"):"").concat(r?" (".concat(F(r),")"):"")}},__debugFlags:{get:function(){return k(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?F(this.objectFlags):""}},__debugTypeToString:{value:function(){var e=(void 0===t&&"function"==typeof WeakMap&&(t=new WeakMap),t),r=null==e?void 0:e.get(this);return void 0===r&&(r=this.checker.typeToString(this),null==e||e.set(this,r)),r}}}),Object.defineProperties(e.objectAllocator.getSignatureConstructor().prototype,{__debugFlags:{get:function(){return A(this.flags)}},__debugSignatureToString:{value:function(){var e;return null===(e=this.checker)||void 0===e?void 0:e.signatureToString(this)}}});for(var n=0,i=[e.objectAllocator.getNodeConstructor(),e.objectAllocator.getIdentifierConstructor(),e.objectAllocator.getTokenConstructor(),e.objectAllocator.getSourceFileConstructor()];n=0;return d?function(e,t,r,n){var i=B(e,!0,t,r,n);return function(){throw new TypeError(i)}}(t,s,l,r.message):_?function(e,t,r,n){var i=!1;return function(){i||(u.warn(B(e,!1,t,r,n)),i=!0)}}(t,s,l,r.message):e.noop}r.printControlFlowGraph=function(e){return console.log(O(e))},r.formatControlFlowGraph=O,r.attachFlowNodeDebugInfo=function(e){I&&("function"==typeof Object.setPrototypeOf?(P||M(P=Object.create(Object.prototype)),Object.setPrototypeOf(e,P)):M(e))},r.attachNodeArrayDebugInfo=function(e){I&&("function"==typeof Object.setPrototypeOf?(w||L(w=Object.create(Array.prototype)),Object.setPrototypeOf(e,w)):L(e))},r.enableDebugInfo=R,r.deprecate=function(e,t){return function(e,t){return function(){return e(),t.apply(this,arguments)}}(j(h(e),t),e)}}(e.Debug||(e.Debug={}))}(c||(c={})),function(e){var t=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,r=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,n=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,i=/^(0|[1-9]\d*)$/,a=function(){function t(t,i,a,s,c){if(void 0===i&&(i=0),void 0===a&&(a=0),void 0===s&&(s=""),void 0===c&&(c=""),"string"==typeof t){var u=e.Debug.checkDefined(o(t),"Invalid version");t=u.major,i=u.minor,a=u.patch,s=u.prerelease,c=u.build}e.Debug.assert(t>=0,"Invalid argument: major"),e.Debug.assert(i>=0,"Invalid argument: minor"),e.Debug.assert(a>=0,"Invalid argument: patch"),e.Debug.assert(!s||r.test(s),"Invalid argument: prerelease"),e.Debug.assert(!c||n.test(c),"Invalid argument: build"),this.major=t,this.minor=i,this.patch=a,this.prerelease=s?s.split("."):e.emptyArray,this.build=c?c.split("."):e.emptyArray}return t.tryParse=function(e){var r=o(e);if(r)return new t(r.major,r.minor,r.patch,r.prerelease,r.build)},t.prototype.compareTo=function(t){return this===t?0:void 0===t?1:e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||function(t,r){if(t===r)return 0;if(0===t.length)return 0===r.length?0:1;if(0===r.length)return-1;for(var n=Math.min(t.length,r.length),a=0;a|>=|=)?\s*([a-z0-9-+.*]+)$/i;function p(t){for(var r=[],n=0,i=e.trimString(t).split(c);n=",n.version)),y(i.major)||r.push(y(i.minor)?v("<",i.version.increment("major")):y(i.patch)?v("<",i.version.increment("minor")):v("<=",i.version)),!0)}function m(e,t,r){var n=f(t);if(!n)return!1;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(y(o))"<"!==e&&">"!==e||r.push(v("<",a.zero));else switch(e){case"~":r.push(v(">=",i)),r.push(v("<",i.increment(y(s)?"major":"minor")));break;case"^":r.push(v(">=",i)),r.push(v("<",i.increment(i.major>0||y(s)?"major":i.minor>0||y(c)?"minor":"patch")));break;case"<":case">=":r.push(v(e,i));break;case"<=":case">":r.push(y(s)?v("<="===e?"<":">=",i.increment("major")):y(c)?v("<="===e?"<":">=",i.increment("minor")):v(e,i));break;case"=":case void 0:y(s)||y(c)?(r.push(v(">=",i)),r.push(v("<",i.increment(y(s)?"major":"minor")))):r.push(v("=",i));break;default:return!1}return!0}function y(e){return"*"===e||"x"===e||"X"===e}function v(e,t){return{operator:e,operand:t}}function h(e,t){for(var r=0,n=t;r":return i>0;case">=":return i>=0;case"=":return 0===i;default:return e.Debug.assertNever(r)}}function x(t){return e.map(t,b).join(" ")}function b(e){return"".concat(e.operator).concat(e.operand)}}(c||(c={})),function(e){function t(e,t){return"object"==typeof e&&"number"==typeof e.timeOrigin&&"function"==typeof e.mark&&"function"==typeof e.measure&&"function"==typeof e.now&&"function"==typeof t}var r=function(){if("object"==typeof performance&&"function"==typeof PerformanceObserver&&t(performance,PerformanceObserver))return{shouldWriteNativeEvents:!0,performance:performance,PerformanceObserver:PerformanceObserver}}()||function(){if(void 0!==es&&es.nextTick&&!es.browser&&"function"==typeof require)try{var r,n={},i=n.performance,a=n.PerformanceObserver;if(t(i,a)){r=i;var o=new e.Version("999.999.999");return new e.VersionRange("<12.16.3 || 13 <13.13").test(o)&&(r={get timeOrigin(){return i.timeOrigin},now:function(){return i.now()},mark:function(e){return i.mark(e)},measure:function(e,t,r){void 0===t&&(t="nodeStart"),void 0===r&&(r="__performance.measure-fix__",i.mark(r)),i.measure(e,t,r),"__performance.measure-fix__"===r&&i.clearMarks("__performance.measure-fix__")}}),{shouldWriteNativeEvents:!1,performance:r,PerformanceObserver:a}}}catch(e){}}(),n=null==r?void 0:r.performance;e.tryGetNativePerformanceHooks=function(){return r},e.timestamp=n?function(){return n.now()}:Date.now?Date.now:function(){return+new Date}}(c||(c={})),function(e){!function(t){var r,n;function i(t,r,n){var i=0;return{enter:function(){1==++i&&l(r)},exit:function(){0==--i?(l(n),d(t,r,n)):i<0&&e.Debug.fail("enter/exit count does not match.")}}}t.createTimerIf=function(e,r,n,a){return e?i(r,n,a):t.nullTimer},t.createTimer=i,t.nullTimer={enter:e.noop,exit:e.noop};var a=!1,o=e.timestamp(),s=new e.Map,c=new e.Map,u=new e.Map;function l(t){var r;if(a){var i=null!==(r=c.get(t))&&void 0!==r?r:0;c.set(t,i+1),s.set(t,e.timestamp()),null==n||n.mark(t)}}function d(t,r,i){var c,l;if(a){var d=null!==(c=void 0!==i?s.get(i):void 0)&&void 0!==c?c:e.timestamp(),_=null!==(l=void 0!==r?s.get(r):void 0)&&void 0!==l?l:o,p=u.get(t)||0;u.set(t,p+(d-_)),null==n||n.measure(t,r,i)}}t.mark=l,t.measure=d,t.getCount=function(e){return c.get(e)||0},t.getDuration=function(e){return u.get(e)||0},t.forEachMeasure=function(e){u.forEach((function(t,r){return e(r,t)}))},t.isEnabled=function(){return a},t.enable=function(t){var i;return void 0===t&&(t=e.sys),a||(a=!0,r||(r=e.tryGetNativePerformanceHooks()),r&&(o=r.performance.timeOrigin,(r.shouldWriteNativeEvents||(null===(i=null==t?void 0:t.cpuProfilingEnabled)||void 0===i?void 0:i.call(t))||(null==t?void 0:t.debugMode))&&(n=r.performance))),!0},t.disable=function(){a&&(s.clear(),c.clear(),u.clear(),n=void 0,a=!1)}}(e.performance||(e.performance={}))}(c||(c={})),function(e){var t,r,n={logEvent:e.noop,logErrEvent:e.noop,logPerfEvent:e.noop,logInfoEvent:e.noop,logStartCommand:e.noop,logStopCommand:e.noop,logStartUpdateProgram:e.noop,logStopUpdateProgram:e.noop,logStartUpdateGraph:e.noop,logStopUpdateGraph:e.noop,logStartResolveModule:e.noop,logStopResolveModule:e.noop,logStartParseSourceFile:e.noop,logStopParseSourceFile:e.noop,logStartReadFile:e.noop,logStopReadFile:e.noop,logStartBindFile:e.noop,logStopBindFile:e.noop,logStartScheduledOperation:e.noop,logStopScheduledOperation:e.noop};try{t=es.env.TS_ETW_MODULE_PATH;r=void 0}catch(e){r=void 0}e.perfLogger=r&&r.logEvent?r:n}(c||(c={})),function(e){var t;!function(t){var r,i,a,o,s=0,c=0,u=[],l=[];t.startTracing=function(o,d,_){if(e.Debug.assert(!e.tracing,"Tracing already started"),void 0===r)try{r=hm}catch(e){throw new Error("tracing requires having fs\n(original error: ".concat(e.message||e,")"))}i=o,u.length=0,void 0===a&&(a=e.combinePaths(d,"legend.json")),r.existsSync(d)||r.mkdirSync(d,{recursive:!0});var p="build"===i?".".concat(es.pid,"-").concat(++s):"server"===i?".".concat(es.pid):"",f=e.combinePaths(d,"trace".concat(p,".json")),g=e.combinePaths(d,"types".concat(p,".json"));l.push({configFilePath:_,tracePath:f,typesPath:g}),c=r.openSync(f,"w"),e.tracing=t;var m={cat:"__metadata",ph:"M",ts:1e3*e.timestamp(),pid:1,tid:1};r.writeSync(c,"[\n"+[n({name:"process_name",args:{name:"tsc"}},m),n({name:"thread_name",args:{name:"Main"}},m),n(n({name:"TracingStartedInBrowser"},m),{cat:"disabled-by-default-devtools.timeline"})].map((function(e){return JSON.stringify(e)})).join(",\n"))},t.stopTracing=function(){e.Debug.assert(e.tracing,"Tracing is not in progress"),e.Debug.assert(!!u.length==("server"!==i)),r.writeSync(c,"\n]\n"),r.closeSync(c),e.tracing=void 0,u.length?function(t){var i,a,o,s,c,u,d,_,p,g,m,y,v,h,D,x,b,S,T,C,E,k;e.performance.mark("beginDumpTypes");var A=l[l.length-1].typesPath,F=r.openSync(A,"w"),N=new e.Map;r.writeSync(F,"[");for(var P=t.length,w=0;w0),_(d.length-1,1e3*e.timestamp()),d.length--},t.popAll=function(){for(var t=1e3*e.timestamp(),r=d.length-1;r>=0;r--)_(r,t);d.length=0};function _(e,t){var r=d[e],n=r.phase,i=r.name,a=r.args,o=r.time;r.separateBeginAndEnd?p("E",n,i,a,void 0,t):1e4-o%1e4<=t-o&&p("X",n,i,a,'"dur":'.concat(t-o),o)}function p(t,n,a,o,s,u){void 0===u&&(u=1e3*e.timestamp()),"server"===i&&"checkTypes"===n||(e.performance.mark("beginTracing"),r.writeSync(c,',\n{"pid":1,"tid":1,"ph":"'.concat(t,'","cat":"').concat(n,'","ts":').concat(u,',"name":"').concat(a,'"')),s&&r.writeSync(c,",".concat(s)),o&&r.writeSync(c,',"args":'.concat(JSON.stringify(o))),r.writeSync(c,"}"),e.performance.mark("endTracing"),e.performance.measure("Tracing","beginTracing","endTracing"))}function f(t){var r=e.getSourceFileOfNode(t);return r?{path:r.path,start:n(e.getLineAndCharacterOfPosition(r,t.pos)),end:n(e.getLineAndCharacterOfPosition(r,t.end))}:void 0;function n(e){return{line:e.line+1,character:e.character+1}}}t.dumpLegend=function(){a&&r.writeFileSync(a,JSON.stringify(l))}}(t||(t={})),e.startTracing=t.startTracing,e.dumpTracingLegend=t.dumpLegend}(c||(c={})),function(e){var t,r,n,i,a,o,s,c;!function(e){e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.BigIntLiteral=9]="BigIntLiteral",e[e.StringLiteral=10]="StringLiteral",e[e.JsxText=11]="JsxText",e[e.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=13]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=15]="TemplateHead",e[e.TemplateMiddle=16]="TemplateMiddle",e[e.TemplateTail=17]="TemplateTail",e[e.OpenBraceToken=18]="OpenBraceToken",e[e.CloseBraceToken=19]="CloseBraceToken",e[e.OpenParenToken=20]="OpenParenToken",e[e.CloseParenToken=21]="CloseParenToken",e[e.OpenBracketToken=22]="OpenBracketToken",e[e.CloseBracketToken=23]="CloseBracketToken",e[e.DotToken=24]="DotToken",e[e.DotDotDotToken=25]="DotDotDotToken",e[e.SemicolonToken=26]="SemicolonToken",e[e.CommaToken=27]="CommaToken",e[e.QuestionDotToken=28]="QuestionDotToken",e[e.LessThanToken=29]="LessThanToken",e[e.LessThanSlashToken=30]="LessThanSlashToken",e[e.GreaterThanToken=31]="GreaterThanToken",e[e.LessThanEqualsToken=32]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=34]="EqualsEqualsToken",e[e.ExclamationEqualsToken=35]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",e[e.PlusToken=39]="PlusToken",e[e.MinusToken=40]="MinusToken",e[e.AsteriskToken=41]="AsteriskToken",e[e.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",e[e.SlashToken=43]="SlashToken",e[e.PercentToken=44]="PercentToken",e[e.PlusPlusToken=45]="PlusPlusToken",e[e.MinusMinusToken=46]="MinusMinusToken",e[e.LessThanLessThanToken=47]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=50]="AmpersandToken",e[e.BarToken=51]="BarToken",e[e.CaretToken=52]="CaretToken",e[e.ExclamationToken=53]="ExclamationToken",e[e.TildeToken=54]="TildeToken",e[e.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",e[e.BarBarToken=56]="BarBarToken",e[e.QuestionToken=57]="QuestionToken",e[e.ColonToken=58]="ColonToken",e[e.AtToken=59]="AtToken",e[e.QuestionQuestionToken=60]="QuestionQuestionToken",e[e.BacktickToken=61]="BacktickToken",e[e.HashToken=62]="HashToken",e[e.EqualsToken=63]="EqualsToken",e[e.PlusEqualsToken=64]="PlusEqualsToken",e[e.MinusEqualsToken=65]="MinusEqualsToken",e[e.AsteriskEqualsToken=66]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=68]="SlashEqualsToken",e[e.PercentEqualsToken=69]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=73]="AmpersandEqualsToken",e[e.BarEqualsToken=74]="BarEqualsToken",e[e.BarBarEqualsToken=75]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=78]="CaretEqualsToken",e[e.Identifier=79]="Identifier",e[e.PrivateIdentifier=80]="PrivateIdentifier",e[e.BreakKeyword=81]="BreakKeyword",e[e.CaseKeyword=82]="CaseKeyword",e[e.CatchKeyword=83]="CatchKeyword",e[e.ClassKeyword=84]="ClassKeyword",e[e.ConstKeyword=85]="ConstKeyword",e[e.ContinueKeyword=86]="ContinueKeyword",e[e.DebuggerKeyword=87]="DebuggerKeyword",e[e.DefaultKeyword=88]="DefaultKeyword",e[e.DeleteKeyword=89]="DeleteKeyword",e[e.DoKeyword=90]="DoKeyword",e[e.ElseKeyword=91]="ElseKeyword",e[e.EnumKeyword=92]="EnumKeyword",e[e.ExportKeyword=93]="ExportKeyword",e[e.ExtendsKeyword=94]="ExtendsKeyword",e[e.FalseKeyword=95]="FalseKeyword",e[e.FinallyKeyword=96]="FinallyKeyword",e[e.ForKeyword=97]="ForKeyword",e[e.FunctionKeyword=98]="FunctionKeyword",e[e.IfKeyword=99]="IfKeyword",e[e.ImportKeyword=100]="ImportKeyword",e[e.InKeyword=101]="InKeyword",e[e.InstanceOfKeyword=102]="InstanceOfKeyword",e[e.NewKeyword=103]="NewKeyword",e[e.NullKeyword=104]="NullKeyword",e[e.ReturnKeyword=105]="ReturnKeyword",e[e.SuperKeyword=106]="SuperKeyword",e[e.SwitchKeyword=107]="SwitchKeyword",e[e.ThisKeyword=108]="ThisKeyword",e[e.ThrowKeyword=109]="ThrowKeyword",e[e.TrueKeyword=110]="TrueKeyword",e[e.TryKeyword=111]="TryKeyword",e[e.TypeOfKeyword=112]="TypeOfKeyword",e[e.VarKeyword=113]="VarKeyword",e[e.VoidKeyword=114]="VoidKeyword",e[e.WhileKeyword=115]="WhileKeyword",e[e.WithKeyword=116]="WithKeyword",e[e.ImplementsKeyword=117]="ImplementsKeyword",e[e.InterfaceKeyword=118]="InterfaceKeyword",e[e.LetKeyword=119]="LetKeyword",e[e.PackageKeyword=120]="PackageKeyword",e[e.PrivateKeyword=121]="PrivateKeyword",e[e.ProtectedKeyword=122]="ProtectedKeyword",e[e.PublicKeyword=123]="PublicKeyword",e[e.StaticKeyword=124]="StaticKeyword",e[e.YieldKeyword=125]="YieldKeyword",e[e.AbstractKeyword=126]="AbstractKeyword",e[e.AsKeyword=127]="AsKeyword",e[e.AssertsKeyword=128]="AssertsKeyword",e[e.AssertKeyword=129]="AssertKeyword",e[e.AnyKeyword=130]="AnyKeyword",e[e.AsyncKeyword=131]="AsyncKeyword",e[e.AwaitKeyword=132]="AwaitKeyword",e[e.BooleanKeyword=133]="BooleanKeyword",e[e.ConstructorKeyword=134]="ConstructorKeyword",e[e.DeclareKeyword=135]="DeclareKeyword",e[e.GetKeyword=136]="GetKeyword",e[e.InferKeyword=137]="InferKeyword",e[e.IntrinsicKeyword=138]="IntrinsicKeyword",e[e.IsKeyword=139]="IsKeyword",e[e.KeyOfKeyword=140]="KeyOfKeyword",e[e.ModuleKeyword=141]="ModuleKeyword",e[e.NamespaceKeyword=142]="NamespaceKeyword",e[e.NeverKeyword=143]="NeverKeyword",e[e.ReadonlyKeyword=144]="ReadonlyKeyword",e[e.RequireKeyword=145]="RequireKeyword",e[e.NumberKeyword=146]="NumberKeyword",e[e.ObjectKeyword=147]="ObjectKeyword",e[e.SetKeyword=148]="SetKeyword",e[e.StringKeyword=149]="StringKeyword",e[e.SymbolKeyword=150]="SymbolKeyword",e[e.TypeKeyword=151]="TypeKeyword",e[e.UndefinedKeyword=152]="UndefinedKeyword",e[e.UniqueKeyword=153]="UniqueKeyword",e[e.UnknownKeyword=154]="UnknownKeyword",e[e.FromKeyword=155]="FromKeyword",e[e.GlobalKeyword=156]="GlobalKeyword",e[e.BigIntKeyword=157]="BigIntKeyword",e[e.OverrideKeyword=158]="OverrideKeyword",e[e.OfKeyword=159]="OfKeyword",e[e.QualifiedName=160]="QualifiedName",e[e.ComputedPropertyName=161]="ComputedPropertyName",e[e.TypeParameter=162]="TypeParameter",e[e.Parameter=163]="Parameter",e[e.Decorator=164]="Decorator",e[e.PropertySignature=165]="PropertySignature",e[e.PropertyDeclaration=166]="PropertyDeclaration",e[e.MethodSignature=167]="MethodSignature",e[e.MethodDeclaration=168]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=169]="ClassStaticBlockDeclaration",e[e.Constructor=170]="Constructor",e[e.GetAccessor=171]="GetAccessor",e[e.SetAccessor=172]="SetAccessor",e[e.CallSignature=173]="CallSignature",e[e.ConstructSignature=174]="ConstructSignature",e[e.IndexSignature=175]="IndexSignature",e[e.TypePredicate=176]="TypePredicate",e[e.TypeReference=177]="TypeReference",e[e.FunctionType=178]="FunctionType",e[e.ConstructorType=179]="ConstructorType",e[e.TypeQuery=180]="TypeQuery",e[e.TypeLiteral=181]="TypeLiteral",e[e.ArrayType=182]="ArrayType",e[e.TupleType=183]="TupleType",e[e.OptionalType=184]="OptionalType",e[e.RestType=185]="RestType",e[e.UnionType=186]="UnionType",e[e.IntersectionType=187]="IntersectionType",e[e.ConditionalType=188]="ConditionalType",e[e.InferType=189]="InferType",e[e.ParenthesizedType=190]="ParenthesizedType",e[e.ThisType=191]="ThisType",e[e.TypeOperator=192]="TypeOperator",e[e.IndexedAccessType=193]="IndexedAccessType",e[e.MappedType=194]="MappedType",e[e.LiteralType=195]="LiteralType",e[e.NamedTupleMember=196]="NamedTupleMember",e[e.TemplateLiteralType=197]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=198]="TemplateLiteralTypeSpan",e[e.ImportType=199]="ImportType",e[e.ObjectBindingPattern=200]="ObjectBindingPattern",e[e.ArrayBindingPattern=201]="ArrayBindingPattern",e[e.BindingElement=202]="BindingElement",e[e.ArrayLiteralExpression=203]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=204]="ObjectLiteralExpression",e[e.PropertyAccessExpression=205]="PropertyAccessExpression",e[e.ElementAccessExpression=206]="ElementAccessExpression",e[e.CallExpression=207]="CallExpression",e[e.NewExpression=208]="NewExpression",e[e.TaggedTemplateExpression=209]="TaggedTemplateExpression",e[e.TypeAssertionExpression=210]="TypeAssertionExpression",e[e.ParenthesizedExpression=211]="ParenthesizedExpression",e[e.FunctionExpression=212]="FunctionExpression",e[e.ArrowFunction=213]="ArrowFunction",e[e.DeleteExpression=214]="DeleteExpression",e[e.TypeOfExpression=215]="TypeOfExpression",e[e.VoidExpression=216]="VoidExpression",e[e.AwaitExpression=217]="AwaitExpression",e[e.PrefixUnaryExpression=218]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=219]="PostfixUnaryExpression",e[e.BinaryExpression=220]="BinaryExpression",e[e.ConditionalExpression=221]="ConditionalExpression",e[e.TemplateExpression=222]="TemplateExpression",e[e.YieldExpression=223]="YieldExpression",e[e.SpreadElement=224]="SpreadElement",e[e.ClassExpression=225]="ClassExpression",e[e.OmittedExpression=226]="OmittedExpression",e[e.ExpressionWithTypeArguments=227]="ExpressionWithTypeArguments",e[e.AsExpression=228]="AsExpression",e[e.NonNullExpression=229]="NonNullExpression",e[e.MetaProperty=230]="MetaProperty",e[e.SyntheticExpression=231]="SyntheticExpression",e[e.TemplateSpan=232]="TemplateSpan",e[e.SemicolonClassElement=233]="SemicolonClassElement",e[e.Block=234]="Block",e[e.EmptyStatement=235]="EmptyStatement",e[e.VariableStatement=236]="VariableStatement",e[e.ExpressionStatement=237]="ExpressionStatement",e[e.IfStatement=238]="IfStatement",e[e.DoStatement=239]="DoStatement",e[e.WhileStatement=240]="WhileStatement",e[e.ForStatement=241]="ForStatement",e[e.ForInStatement=242]="ForInStatement",e[e.ForOfStatement=243]="ForOfStatement",e[e.ContinueStatement=244]="ContinueStatement",e[e.BreakStatement=245]="BreakStatement",e[e.ReturnStatement=246]="ReturnStatement",e[e.WithStatement=247]="WithStatement",e[e.SwitchStatement=248]="SwitchStatement",e[e.LabeledStatement=249]="LabeledStatement",e[e.ThrowStatement=250]="ThrowStatement",e[e.TryStatement=251]="TryStatement",e[e.DebuggerStatement=252]="DebuggerStatement",e[e.VariableDeclaration=253]="VariableDeclaration",e[e.VariableDeclarationList=254]="VariableDeclarationList",e[e.FunctionDeclaration=255]="FunctionDeclaration",e[e.ClassDeclaration=256]="ClassDeclaration",e[e.InterfaceDeclaration=257]="InterfaceDeclaration",e[e.TypeAliasDeclaration=258]="TypeAliasDeclaration",e[e.EnumDeclaration=259]="EnumDeclaration",e[e.ModuleDeclaration=260]="ModuleDeclaration",e[e.ModuleBlock=261]="ModuleBlock",e[e.CaseBlock=262]="CaseBlock",e[e.NamespaceExportDeclaration=263]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=264]="ImportEqualsDeclaration",e[e.ImportDeclaration=265]="ImportDeclaration",e[e.ImportClause=266]="ImportClause",e[e.NamespaceImport=267]="NamespaceImport",e[e.NamedImports=268]="NamedImports",e[e.ImportSpecifier=269]="ImportSpecifier",e[e.ExportAssignment=270]="ExportAssignment",e[e.ExportDeclaration=271]="ExportDeclaration",e[e.NamedExports=272]="NamedExports",e[e.NamespaceExport=273]="NamespaceExport",e[e.ExportSpecifier=274]="ExportSpecifier",e[e.MissingDeclaration=275]="MissingDeclaration",e[e.ExternalModuleReference=276]="ExternalModuleReference",e[e.JsxElement=277]="JsxElement",e[e.JsxSelfClosingElement=278]="JsxSelfClosingElement",e[e.JsxOpeningElement=279]="JsxOpeningElement",e[e.JsxClosingElement=280]="JsxClosingElement",e[e.JsxFragment=281]="JsxFragment",e[e.JsxOpeningFragment=282]="JsxOpeningFragment",e[e.JsxClosingFragment=283]="JsxClosingFragment",e[e.JsxAttribute=284]="JsxAttribute",e[e.JsxAttributes=285]="JsxAttributes",e[e.JsxSpreadAttribute=286]="JsxSpreadAttribute",e[e.JsxExpression=287]="JsxExpression",e[e.CaseClause=288]="CaseClause",e[e.DefaultClause=289]="DefaultClause",e[e.HeritageClause=290]="HeritageClause",e[e.CatchClause=291]="CatchClause",e[e.AssertClause=292]="AssertClause",e[e.AssertEntry=293]="AssertEntry",e[e.PropertyAssignment=294]="PropertyAssignment",e[e.ShorthandPropertyAssignment=295]="ShorthandPropertyAssignment",e[e.SpreadAssignment=296]="SpreadAssignment",e[e.EnumMember=297]="EnumMember",e[e.UnparsedPrologue=298]="UnparsedPrologue",e[e.UnparsedPrepend=299]="UnparsedPrepend",e[e.UnparsedText=300]="UnparsedText",e[e.UnparsedInternalText=301]="UnparsedInternalText",e[e.UnparsedSyntheticReference=302]="UnparsedSyntheticReference",e[e.SourceFile=303]="SourceFile",e[e.Bundle=304]="Bundle",e[e.UnparsedSource=305]="UnparsedSource",e[e.InputFiles=306]="InputFiles",e[e.JSDocTypeExpression=307]="JSDocTypeExpression",e[e.JSDocNameReference=308]="JSDocNameReference",e[e.JSDocMemberName=309]="JSDocMemberName",e[e.JSDocAllType=310]="JSDocAllType",e[e.JSDocUnknownType=311]="JSDocUnknownType",e[e.JSDocNullableType=312]="JSDocNullableType",e[e.JSDocNonNullableType=313]="JSDocNonNullableType",e[e.JSDocOptionalType=314]="JSDocOptionalType",e[e.JSDocFunctionType=315]="JSDocFunctionType",e[e.JSDocVariadicType=316]="JSDocVariadicType",e[e.JSDocNamepathType=317]="JSDocNamepathType",e[e.JSDocComment=318]="JSDocComment",e[e.JSDocText=319]="JSDocText",e[e.JSDocTypeLiteral=320]="JSDocTypeLiteral",e[e.JSDocSignature=321]="JSDocSignature",e[e.JSDocLink=322]="JSDocLink",e[e.JSDocLinkCode=323]="JSDocLinkCode",e[e.JSDocLinkPlain=324]="JSDocLinkPlain",e[e.JSDocTag=325]="JSDocTag",e[e.JSDocAugmentsTag=326]="JSDocAugmentsTag",e[e.JSDocImplementsTag=327]="JSDocImplementsTag",e[e.JSDocAuthorTag=328]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=329]="JSDocDeprecatedTag",e[e.JSDocClassTag=330]="JSDocClassTag",e[e.JSDocPublicTag=331]="JSDocPublicTag",e[e.JSDocPrivateTag=332]="JSDocPrivateTag",e[e.JSDocProtectedTag=333]="JSDocProtectedTag",e[e.JSDocReadonlyTag=334]="JSDocReadonlyTag",e[e.JSDocOverrideTag=335]="JSDocOverrideTag",e[e.JSDocCallbackTag=336]="JSDocCallbackTag",e[e.JSDocEnumTag=337]="JSDocEnumTag",e[e.JSDocParameterTag=338]="JSDocParameterTag",e[e.JSDocReturnTag=339]="JSDocReturnTag",e[e.JSDocThisTag=340]="JSDocThisTag",e[e.JSDocTypeTag=341]="JSDocTypeTag",e[e.JSDocTemplateTag=342]="JSDocTemplateTag",e[e.JSDocTypedefTag=343]="JSDocTypedefTag",e[e.JSDocSeeTag=344]="JSDocSeeTag",e[e.JSDocPropertyTag=345]="JSDocPropertyTag",e[e.SyntaxList=346]="SyntaxList",e[e.NotEmittedStatement=347]="NotEmittedStatement",e[e.PartiallyEmittedExpression=348]="PartiallyEmittedExpression",e[e.CommaListExpression=349]="CommaListExpression",e[e.MergeDeclarationMarker=350]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=351]="EndOfDeclarationMarker",e[e.SyntheticReferenceExpression=352]="SyntheticReferenceExpression",e[e.Count=353]="Count",e[e.FirstAssignment=63]="FirstAssignment",e[e.LastAssignment=78]="LastAssignment",e[e.FirstCompoundAssignment=64]="FirstCompoundAssignment",e[e.LastCompoundAssignment=78]="LastCompoundAssignment",e[e.FirstReservedWord=81]="FirstReservedWord",e[e.LastReservedWord=116]="LastReservedWord",e[e.FirstKeyword=81]="FirstKeyword",e[e.LastKeyword=159]="LastKeyword",e[e.FirstFutureReservedWord=117]="FirstFutureReservedWord",e[e.LastFutureReservedWord=125]="LastFutureReservedWord",e[e.FirstTypeNode=176]="FirstTypeNode",e[e.LastTypeNode=199]="LastTypeNode",e[e.FirstPunctuation=18]="FirstPunctuation",e[e.LastPunctuation=78]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=159]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=14]="LastLiteralToken",e[e.FirstTemplateToken=14]="FirstTemplateToken",e[e.LastTemplateToken=17]="LastTemplateToken",e[e.FirstBinaryOperator=29]="FirstBinaryOperator",e[e.LastBinaryOperator=78]="LastBinaryOperator",e[e.FirstStatement=236]="FirstStatement",e[e.LastStatement=252]="LastStatement",e[e.FirstNode=160]="FirstNode",e[e.FirstJSDocNode=307]="FirstJSDocNode",e[e.LastJSDocNode=345]="LastJSDocNode",e[e.FirstJSDocTagNode=325]="FirstJSDocTagNode",e[e.LastJSDocTagNode=345]="LastJSDocTagNode",e[e.FirstContextualKeyword=126]="FirstContextualKeyword",e[e.LastContextualKeyword=159]="LastContextualKeyword"}(e.SyntaxKind||(e.SyntaxKind={})),(t=e.NodeFlags||(e.NodeFlags={}))[t.None=0]="None",t[t.Let=1]="Let",t[t.Const=2]="Const",t[t.NestedNamespace=4]="NestedNamespace",t[t.Synthesized=8]="Synthesized",t[t.Namespace=16]="Namespace",t[t.OptionalChain=32]="OptionalChain",t[t.ExportContext=64]="ExportContext",t[t.ContainsThis=128]="ContainsThis",t[t.HasImplicitReturn=256]="HasImplicitReturn",t[t.HasExplicitReturn=512]="HasExplicitReturn",t[t.GlobalAugmentation=1024]="GlobalAugmentation",t[t.HasAsyncFunctions=2048]="HasAsyncFunctions",t[t.DisallowInContext=4096]="DisallowInContext",t[t.YieldContext=8192]="YieldContext",t[t.DecoratorContext=16384]="DecoratorContext",t[t.AwaitContext=32768]="AwaitContext",t[t.ThisNodeHasError=65536]="ThisNodeHasError",t[t.JavaScriptFile=131072]="JavaScriptFile",t[t.ThisNodeOrAnySubNodesHasError=262144]="ThisNodeOrAnySubNodesHasError",t[t.HasAggregatedChildData=524288]="HasAggregatedChildData",t[t.PossiblyContainsDynamicImport=1048576]="PossiblyContainsDynamicImport",t[t.PossiblyContainsImportMeta=2097152]="PossiblyContainsImportMeta",t[t.JSDoc=4194304]="JSDoc",t[t.Ambient=8388608]="Ambient",t[t.InWithStatement=16777216]="InWithStatement",t[t.JsonFile=33554432]="JsonFile",t[t.TypeCached=67108864]="TypeCached",t[t.Deprecated=134217728]="Deprecated",t[t.BlockScoped=3]="BlockScoped",t[t.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",t[t.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",t[t.ContextFlags=25358336]="ContextFlags",t[t.TypeExcludesFlags=40960]="TypeExcludesFlags",t[t.PermanentlySetIncrementalFlags=3145728]="PermanentlySetIncrementalFlags",(r=e.ModifierFlags||(e.ModifierFlags={}))[r.None=0]="None",r[r.Export=1]="Export",r[r.Ambient=2]="Ambient",r[r.Public=4]="Public",r[r.Private=8]="Private",r[r.Protected=16]="Protected",r[r.Static=32]="Static",r[r.Readonly=64]="Readonly",r[r.Abstract=128]="Abstract",r[r.Async=256]="Async",r[r.Default=512]="Default",r[r.Const=2048]="Const",r[r.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",r[r.Deprecated=8192]="Deprecated",r[r.Override=16384]="Override",r[r.HasComputedFlags=536870912]="HasComputedFlags",r[r.AccessibilityModifier=28]="AccessibilityModifier",r[r.ParameterPropertyModifier=16476]="ParameterPropertyModifier",r[r.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",r[r.TypeScriptModifier=18654]="TypeScriptModifier",r[r.ExportDefault=513]="ExportDefault",r[r.All=27647]="All",(n=e.JsxFlags||(e.JsxFlags={}))[n.None=0]="None",n[n.IntrinsicNamedElement=1]="IntrinsicNamedElement",n[n.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",n[n.IntrinsicElement=3]="IntrinsicElement",(i=e.RelationComparisonResult||(e.RelationComparisonResult={}))[i.Succeeded=1]="Succeeded",i[i.Failed=2]="Failed",i[i.Reported=4]="Reported",i[i.ReportsUnmeasurable=8]="ReportsUnmeasurable",i[i.ReportsUnreliable=16]="ReportsUnreliable",i[i.ReportsMask=24]="ReportsMask",(a=e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={}))[a.None=0]="None",a[a.Auto=1]="Auto",a[a.Loop=2]="Loop",a[a.Unique=3]="Unique",a[a.Node=4]="Node",a[a.KindMask=7]="KindMask",a[a.ReservedInNestedScopes=8]="ReservedInNestedScopes",a[a.Optimistic=16]="Optimistic",a[a.FileLevel=32]="FileLevel",a[a.AllowNameSubstitution=64]="AllowNameSubstitution",(o=e.TokenFlags||(e.TokenFlags={}))[o.None=0]="None",o[o.PrecedingLineBreak=1]="PrecedingLineBreak",o[o.PrecedingJSDocComment=2]="PrecedingJSDocComment",o[o.Unterminated=4]="Unterminated",o[o.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",o[o.Scientific=16]="Scientific",o[o.Octal=32]="Octal",o[o.HexSpecifier=64]="HexSpecifier",o[o.BinarySpecifier=128]="BinarySpecifier",o[o.OctalSpecifier=256]="OctalSpecifier",o[o.ContainsSeparator=512]="ContainsSeparator",o[o.UnicodeEscape=1024]="UnicodeEscape",o[o.ContainsInvalidEscape=2048]="ContainsInvalidEscape",o[o.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",o[o.NumericLiteralFlags=1008]="NumericLiteralFlags",o[o.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",(s=e.FlowFlags||(e.FlowFlags={}))[s.Unreachable=1]="Unreachable",s[s.Start=2]="Start",s[s.BranchLabel=4]="BranchLabel",s[s.LoopLabel=8]="LoopLabel",s[s.Assignment=16]="Assignment",s[s.TrueCondition=32]="TrueCondition",s[s.FalseCondition=64]="FalseCondition",s[s.SwitchClause=128]="SwitchClause",s[s.ArrayMutation=256]="ArrayMutation",s[s.Call=512]="Call",s[s.ReduceLabel=1024]="ReduceLabel",s[s.Referenced=2048]="Referenced",s[s.Shared=4096]="Shared",s[s.Label=12]="Label",s[s.Condition=96]="Condition",(c=e.CommentDirectiveType||(e.CommentDirectiveType={}))[c.ExpectError=0]="ExpectError",c[c.Ignore=1]="Ignore";var u,l,d,_,p,f,g,m,y,v,h,D,x,b,S,T,C,E,k,A,F,N,P,w,I,O,M,L,R,B,j,J,K,z,U,V,q,W,H,G,Y,X,Q,$,Z,ee,te,re,ne,ie,ae,oe,se,ce,ue,le,de,_e,pe=function(){};e.OperationCanceledException=pe,(u=e.FileIncludeKind||(e.FileIncludeKind={}))[u.RootFile=0]="RootFile",u[u.SourceFromProjectReference=1]="SourceFromProjectReference",u[u.OutputFromProjectReference=2]="OutputFromProjectReference",u[u.Import=3]="Import",u[u.ReferenceFile=4]="ReferenceFile",u[u.TypeReferenceDirective=5]="TypeReferenceDirective",u[u.LibFile=6]="LibFile",u[u.LibReferenceDirective=7]="LibReferenceDirective",u[u.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",(l=e.FilePreprocessingDiagnosticsKind||(e.FilePreprocessingDiagnosticsKind={}))[l.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",l[l.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",(d=e.StructureIsReused||(e.StructureIsReused={}))[d.Not=0]="Not",d[d.SafeModules=1]="SafeModules",d[d.Completely=2]="Completely",(_=e.ExitStatus||(e.ExitStatus={}))[_.Success=0]="Success",_[_.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",_[_.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",_[_.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",_[_.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",_[_.ProjectReferenceCycle_OutputsSkupped=4]="ProjectReferenceCycle_OutputsSkupped",(p=e.MemberOverrideStatus||(e.MemberOverrideStatus={}))[p.Ok=0]="Ok",p[p.NeedsOverride=1]="NeedsOverride",p[p.HasInvalidOverride=2]="HasInvalidOverride",(f=e.UnionReduction||(e.UnionReduction={}))[f.None=0]="None",f[f.Literal=1]="Literal",f[f.Subtype=2]="Subtype",(g=e.ContextFlags||(e.ContextFlags={}))[g.None=0]="None",g[g.Signature=1]="Signature",g[g.NoConstraints=2]="NoConstraints",g[g.Completions=4]="Completions",g[g.SkipBindingPatterns=8]="SkipBindingPatterns",(m=e.NodeBuilderFlags||(e.NodeBuilderFlags={}))[m.None=0]="None",m[m.NoTruncation=1]="NoTruncation",m[m.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",m[m.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",m[m.UseStructuralFallback=8]="UseStructuralFallback",m[m.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",m[m.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",m[m.UseFullyQualifiedType=64]="UseFullyQualifiedType",m[m.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",m[m.SuppressAnyReturnType=256]="SuppressAnyReturnType",m[m.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",m[m.MultilineObjectLiterals=1024]="MultilineObjectLiterals",m[m.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",m[m.UseTypeOfFunction=4096]="UseTypeOfFunction",m[m.OmitParameterModifiers=8192]="OmitParameterModifiers",m[m.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",m[m.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",m[m.NoTypeReduction=536870912]="NoTypeReduction",m[m.NoUndefinedOptionalParameterType=1073741824]="NoUndefinedOptionalParameterType",m[m.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",m[m.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",m[m.AllowQualifedNameInPlaceOfIdentifier=65536]="AllowQualifedNameInPlaceOfIdentifier",m[m.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",m[m.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",m[m.AllowEmptyTuple=524288]="AllowEmptyTuple",m[m.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",m[m.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",m[m.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",m[m.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",m[m.IgnoreErrors=70221824]="IgnoreErrors",m[m.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",m[m.InTypeAlias=8388608]="InTypeAlias",m[m.InInitialEntityName=16777216]="InInitialEntityName",(y=e.TypeFormatFlags||(e.TypeFormatFlags={}))[y.None=0]="None",y[y.NoTruncation=1]="NoTruncation",y[y.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",y[y.UseStructuralFallback=8]="UseStructuralFallback",y[y.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",y[y.UseFullyQualifiedType=64]="UseFullyQualifiedType",y[y.SuppressAnyReturnType=256]="SuppressAnyReturnType",y[y.MultilineObjectLiterals=1024]="MultilineObjectLiterals",y[y.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",y[y.UseTypeOfFunction=4096]="UseTypeOfFunction",y[y.OmitParameterModifiers=8192]="OmitParameterModifiers",y[y.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",y[y.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",y[y.NoTypeReduction=536870912]="NoTypeReduction",y[y.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",y[y.AddUndefined=131072]="AddUndefined",y[y.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",y[y.InArrayType=524288]="InArrayType",y[y.InElementType=2097152]="InElementType",y[y.InFirstTypeArgument=4194304]="InFirstTypeArgument",y[y.InTypeAlias=8388608]="InTypeAlias",y[y.WriteOwnNameForAnyLike=0]="WriteOwnNameForAnyLike",y[y.NodeBuilderFlagsMask=814775659]="NodeBuilderFlagsMask",(v=e.SymbolFormatFlags||(e.SymbolFormatFlags={}))[v.None=0]="None",v[v.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",v[v.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",v[v.AllowAnyNodeKind=4]="AllowAnyNodeKind",v[v.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",v[v.DoNotIncludeSymbolChain=16]="DoNotIncludeSymbolChain",(h=e.SymbolAccessibility||(e.SymbolAccessibility={}))[h.Accessible=0]="Accessible",h[h.NotAccessible=1]="NotAccessible",h[h.CannotBeNamed=2]="CannotBeNamed",(D=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}))[D.UnionOrIntersection=0]="UnionOrIntersection",D[D.Spread=1]="Spread",(x=e.TypePredicateKind||(e.TypePredicateKind={}))[x.This=0]="This",x[x.Identifier=1]="Identifier",x[x.AssertsThis=2]="AssertsThis",x[x.AssertsIdentifier=3]="AssertsIdentifier",(b=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}))[b.Unknown=0]="Unknown",b[b.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",b[b.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",b[b.NumberLikeType=3]="NumberLikeType",b[b.BigIntLikeType=4]="BigIntLikeType",b[b.StringLikeType=5]="StringLikeType",b[b.BooleanType=6]="BooleanType",b[b.ArrayLikeType=7]="ArrayLikeType",b[b.ESSymbolType=8]="ESSymbolType",b[b.Promise=9]="Promise",b[b.TypeWithCallSignature=10]="TypeWithCallSignature",b[b.ObjectType=11]="ObjectType",(S=e.SymbolFlags||(e.SymbolFlags={}))[S.None=0]="None",S[S.FunctionScopedVariable=1]="FunctionScopedVariable",S[S.BlockScopedVariable=2]="BlockScopedVariable",S[S.Property=4]="Property",S[S.EnumMember=8]="EnumMember",S[S.Function=16]="Function",S[S.Class=32]="Class",S[S.Interface=64]="Interface",S[S.ConstEnum=128]="ConstEnum",S[S.RegularEnum=256]="RegularEnum",S[S.ValueModule=512]="ValueModule",S[S.NamespaceModule=1024]="NamespaceModule",S[S.TypeLiteral=2048]="TypeLiteral",S[S.ObjectLiteral=4096]="ObjectLiteral",S[S.Method=8192]="Method",S[S.Constructor=16384]="Constructor",S[S.GetAccessor=32768]="GetAccessor",S[S.SetAccessor=65536]="SetAccessor",S[S.Signature=131072]="Signature",S[S.TypeParameter=262144]="TypeParameter",S[S.TypeAlias=524288]="TypeAlias",S[S.ExportValue=1048576]="ExportValue",S[S.Alias=2097152]="Alias",S[S.Prototype=4194304]="Prototype",S[S.ExportStar=8388608]="ExportStar",S[S.Optional=16777216]="Optional",S[S.Transient=33554432]="Transient",S[S.Assignment=67108864]="Assignment",S[S.ModuleExports=134217728]="ModuleExports",S[S.All=67108863]="All",S[S.Enum=384]="Enum",S[S.Variable=3]="Variable",S[S.Value=111551]="Value",S[S.Type=788968]="Type",S[S.Namespace=1920]="Namespace",S[S.Module=1536]="Module",S[S.Accessor=98304]="Accessor",S[S.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",S[S.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",S[S.ParameterExcludes=111551]="ParameterExcludes",S[S.PropertyExcludes=0]="PropertyExcludes",S[S.EnumMemberExcludes=900095]="EnumMemberExcludes",S[S.FunctionExcludes=110991]="FunctionExcludes",S[S.ClassExcludes=899503]="ClassExcludes",S[S.InterfaceExcludes=788872]="InterfaceExcludes",S[S.RegularEnumExcludes=899327]="RegularEnumExcludes",S[S.ConstEnumExcludes=899967]="ConstEnumExcludes",S[S.ValueModuleExcludes=110735]="ValueModuleExcludes",S[S.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",S[S.MethodExcludes=103359]="MethodExcludes",S[S.GetAccessorExcludes=46015]="GetAccessorExcludes",S[S.SetAccessorExcludes=78783]="SetAccessorExcludes",S[S.TypeParameterExcludes=526824]="TypeParameterExcludes",S[S.TypeAliasExcludes=788968]="TypeAliasExcludes",S[S.AliasExcludes=2097152]="AliasExcludes",S[S.ModuleMember=2623475]="ModuleMember",S[S.ExportHasLocal=944]="ExportHasLocal",S[S.BlockScoped=418]="BlockScoped",S[S.PropertyOrAccessor=98308]="PropertyOrAccessor",S[S.ClassMember=106500]="ClassMember",S[S.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",S[S.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",S[S.Classifiable=2885600]="Classifiable",S[S.LateBindingContainer=6256]="LateBindingContainer",(T=e.EnumKind||(e.EnumKind={}))[T.Numeric=0]="Numeric",T[T.Literal=1]="Literal",(C=e.CheckFlags||(e.CheckFlags={}))[C.Instantiated=1]="Instantiated",C[C.SyntheticProperty=2]="SyntheticProperty",C[C.SyntheticMethod=4]="SyntheticMethod",C[C.Readonly=8]="Readonly",C[C.ReadPartial=16]="ReadPartial",C[C.WritePartial=32]="WritePartial",C[C.HasNonUniformType=64]="HasNonUniformType",C[C.HasLiteralType=128]="HasLiteralType",C[C.ContainsPublic=256]="ContainsPublic",C[C.ContainsProtected=512]="ContainsProtected",C[C.ContainsPrivate=1024]="ContainsPrivate",C[C.ContainsStatic=2048]="ContainsStatic",C[C.Late=4096]="Late",C[C.ReverseMapped=8192]="ReverseMapped",C[C.OptionalParameter=16384]="OptionalParameter",C[C.RestParameter=32768]="RestParameter",C[C.DeferredType=65536]="DeferredType",C[C.HasNeverType=131072]="HasNeverType",C[C.Mapped=262144]="Mapped",C[C.StripOptional=524288]="StripOptional",C[C.Unresolved=1048576]="Unresolved",C[C.Synthetic=6]="Synthetic",C[C.Discriminant=192]="Discriminant",C[C.Partial=48]="Partial",(E=e.InternalSymbolName||(e.InternalSymbolName={})).Call="__call",E.Constructor="__constructor",E.New="__new",E.Index="__index",E.ExportStar="__export",E.Global="__global",E.Missing="__missing",E.Type="__type",E.Object="__object",E.JSXAttributes="__jsxAttributes",E.Class="__class",E.Function="__function",E.Computed="__computed",E.Resolving="__resolving__",E.ExportEquals="export=",E.Default="default",E.This="this",(k=e.NodeCheckFlags||(e.NodeCheckFlags={}))[k.TypeChecked=1]="TypeChecked",k[k.LexicalThis=2]="LexicalThis",k[k.CaptureThis=4]="CaptureThis",k[k.CaptureNewTarget=8]="CaptureNewTarget",k[k.SuperInstance=256]="SuperInstance",k[k.SuperStatic=512]="SuperStatic",k[k.ContextChecked=1024]="ContextChecked",k[k.AsyncMethodWithSuper=2048]="AsyncMethodWithSuper",k[k.AsyncMethodWithSuperBinding=4096]="AsyncMethodWithSuperBinding",k[k.CaptureArguments=8192]="CaptureArguments",k[k.EnumValuesComputed=16384]="EnumValuesComputed",k[k.LexicalModuleMergesWithClass=32768]="LexicalModuleMergesWithClass",k[k.LoopWithCapturedBlockScopedBinding=65536]="LoopWithCapturedBlockScopedBinding",k[k.ContainsCapturedBlockScopeBinding=131072]="ContainsCapturedBlockScopeBinding",k[k.CapturedBlockScopedBinding=262144]="CapturedBlockScopedBinding",k[k.BlockScopedBindingInLoop=524288]="BlockScopedBindingInLoop",k[k.ClassWithBodyScopedClassBinding=1048576]="ClassWithBodyScopedClassBinding",k[k.BodyScopedClassBinding=2097152]="BodyScopedClassBinding",k[k.NeedsLoopOutParameter=4194304]="NeedsLoopOutParameter",k[k.AssignmentsMarked=8388608]="AssignmentsMarked",k[k.ClassWithConstructorReference=16777216]="ClassWithConstructorReference",k[k.ConstructorReferenceInClass=33554432]="ConstructorReferenceInClass",k[k.ContainsClassWithPrivateIdentifiers=67108864]="ContainsClassWithPrivateIdentifiers",k[k.ContainsSuperPropertyInStaticInitializer=134217728]="ContainsSuperPropertyInStaticInitializer",(A=e.TypeFlags||(e.TypeFlags={}))[A.Any=1]="Any",A[A.Unknown=2]="Unknown",A[A.String=4]="String",A[A.Number=8]="Number",A[A.Boolean=16]="Boolean",A[A.Enum=32]="Enum",A[A.BigInt=64]="BigInt",A[A.StringLiteral=128]="StringLiteral",A[A.NumberLiteral=256]="NumberLiteral",A[A.BooleanLiteral=512]="BooleanLiteral",A[A.EnumLiteral=1024]="EnumLiteral",A[A.BigIntLiteral=2048]="BigIntLiteral",A[A.ESSymbol=4096]="ESSymbol",A[A.UniqueESSymbol=8192]="UniqueESSymbol",A[A.Void=16384]="Void",A[A.Undefined=32768]="Undefined",A[A.Null=65536]="Null",A[A.Never=131072]="Never",A[A.TypeParameter=262144]="TypeParameter",A[A.Object=524288]="Object",A[A.Union=1048576]="Union",A[A.Intersection=2097152]="Intersection",A[A.Index=4194304]="Index",A[A.IndexedAccess=8388608]="IndexedAccess",A[A.Conditional=16777216]="Conditional",A[A.Substitution=33554432]="Substitution",A[A.NonPrimitive=67108864]="NonPrimitive",A[A.TemplateLiteral=134217728]="TemplateLiteral",A[A.StringMapping=268435456]="StringMapping",A[A.AnyOrUnknown=3]="AnyOrUnknown",A[A.Nullable=98304]="Nullable",A[A.Literal=2944]="Literal",A[A.Unit=109440]="Unit",A[A.StringOrNumberLiteral=384]="StringOrNumberLiteral",A[A.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",A[A.DefinitelyFalsy=117632]="DefinitelyFalsy",A[A.PossiblyFalsy=117724]="PossiblyFalsy",A[A.Intrinsic=67359327]="Intrinsic",A[A.Primitive=131068]="Primitive",A[A.StringLike=402653316]="StringLike",A[A.NumberLike=296]="NumberLike",A[A.BigIntLike=2112]="BigIntLike",A[A.BooleanLike=528]="BooleanLike",A[A.EnumLike=1056]="EnumLike",A[A.ESSymbolLike=12288]="ESSymbolLike",A[A.VoidLike=49152]="VoidLike",A[A.DisjointDomains=469892092]="DisjointDomains",A[A.UnionOrIntersection=3145728]="UnionOrIntersection",A[A.StructuredType=3670016]="StructuredType",A[A.TypeVariable=8650752]="TypeVariable",A[A.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",A[A.InstantiablePrimitive=406847488]="InstantiablePrimitive",A[A.Instantiable=465829888]="Instantiable",A[A.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",A[A.ObjectFlagsType=3899393]="ObjectFlagsType",A[A.Simplifiable=25165824]="Simplifiable",A[A.Singleton=67358815]="Singleton",A[A.Narrowable=536624127]="Narrowable",A[A.IncludesMask=205258751]="IncludesMask",A[A.IncludesMissingType=262144]="IncludesMissingType",A[A.IncludesNonWideningType=4194304]="IncludesNonWideningType",A[A.IncludesWildcard=8388608]="IncludesWildcard",A[A.IncludesEmptyObject=16777216]="IncludesEmptyObject",A[A.IncludesInstantiable=33554432]="IncludesInstantiable",A[A.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",(F=e.ObjectFlags||(e.ObjectFlags={}))[F.Class=1]="Class",F[F.Interface=2]="Interface",F[F.Reference=4]="Reference",F[F.Tuple=8]="Tuple",F[F.Anonymous=16]="Anonymous",F[F.Mapped=32]="Mapped",F[F.Instantiated=64]="Instantiated",F[F.ObjectLiteral=128]="ObjectLiteral",F[F.EvolvingArray=256]="EvolvingArray",F[F.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",F[F.ReverseMapped=1024]="ReverseMapped",F[F.JsxAttributes=2048]="JsxAttributes",F[F.MarkerType=4096]="MarkerType",F[F.JSLiteral=8192]="JSLiteral",F[F.FreshLiteral=16384]="FreshLiteral",F[F.ArrayLiteral=32768]="ArrayLiteral",F[F.PrimitiveUnion=65536]="PrimitiveUnion",F[F.ContainsWideningType=131072]="ContainsWideningType",F[F.ContainsObjectOrArrayLiteral=262144]="ContainsObjectOrArrayLiteral",F[F.NonInferrableType=524288]="NonInferrableType",F[F.CouldContainTypeVariablesComputed=1048576]="CouldContainTypeVariablesComputed",F[F.CouldContainTypeVariables=2097152]="CouldContainTypeVariables",F[F.ClassOrInterface=3]="ClassOrInterface",F[F.RequiresWidening=393216]="RequiresWidening",F[F.PropagatingFlags=917504]="PropagatingFlags",F[F.ObjectTypeKindMask=1343]="ObjectTypeKindMask",F[F.ContainsSpread=4194304]="ContainsSpread",F[F.ObjectRestType=8388608]="ObjectRestType",F[F.IsClassInstanceClone=16777216]="IsClassInstanceClone",F[F.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",F[F.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",F[F.IsGenericTypeComputed=4194304]="IsGenericTypeComputed",F[F.IsGenericObjectType=8388608]="IsGenericObjectType",F[F.IsGenericIndexType=16777216]="IsGenericIndexType",F[F.IsGenericType=25165824]="IsGenericType",F[F.ContainsIntersections=33554432]="ContainsIntersections",F[F.IsNeverIntersectionComputed=33554432]="IsNeverIntersectionComputed",F[F.IsNeverIntersection=67108864]="IsNeverIntersection",(N=e.VarianceFlags||(e.VarianceFlags={}))[N.Invariant=0]="Invariant",N[N.Covariant=1]="Covariant",N[N.Contravariant=2]="Contravariant",N[N.Bivariant=3]="Bivariant",N[N.Independent=4]="Independent",N[N.VarianceMask=7]="VarianceMask",N[N.Unmeasurable=8]="Unmeasurable",N[N.Unreliable=16]="Unreliable",N[N.AllowsStructuralFallback=24]="AllowsStructuralFallback",(P=e.ElementFlags||(e.ElementFlags={}))[P.Required=1]="Required",P[P.Optional=2]="Optional",P[P.Rest=4]="Rest",P[P.Variadic=8]="Variadic",P[P.Fixed=3]="Fixed",P[P.Variable=12]="Variable",P[P.NonRequired=14]="NonRequired",P[P.NonRest=11]="NonRest",(w=e.AccessFlags||(e.AccessFlags={}))[w.None=0]="None",w[w.IncludeUndefined=1]="IncludeUndefined",w[w.NoIndexSignatures=2]="NoIndexSignatures",w[w.Writing=4]="Writing",w[w.CacheSymbol=8]="CacheSymbol",w[w.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",w[w.ExpressionPosition=32]="ExpressionPosition",w[w.ReportDeprecated=64]="ReportDeprecated",w[w.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",w[w.Contextual=256]="Contextual",w[w.Persistent=1]="Persistent",(I=e.JsxReferenceKind||(e.JsxReferenceKind={}))[I.Component=0]="Component",I[I.Function=1]="Function",I[I.Mixed=2]="Mixed",(O=e.SignatureKind||(e.SignatureKind={}))[O.Call=0]="Call",O[O.Construct=1]="Construct",(M=e.SignatureFlags||(e.SignatureFlags={}))[M.None=0]="None",M[M.HasRestParameter=1]="HasRestParameter",M[M.HasLiteralTypes=2]="HasLiteralTypes",M[M.Abstract=4]="Abstract",M[M.IsInnerCallChain=8]="IsInnerCallChain",M[M.IsOuterCallChain=16]="IsOuterCallChain",M[M.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",M[M.PropagatingFlags=39]="PropagatingFlags",M[M.CallChainFlags=24]="CallChainFlags",(L=e.IndexKind||(e.IndexKind={}))[L.String=0]="String",L[L.Number=1]="Number",(R=e.TypeMapKind||(e.TypeMapKind={}))[R.Simple=0]="Simple",R[R.Array=1]="Array",R[R.Function=2]="Function",R[R.Composite=3]="Composite",R[R.Merged=4]="Merged",(B=e.InferencePriority||(e.InferencePriority={}))[B.NakedTypeVariable=1]="NakedTypeVariable",B[B.SpeculativeTuple=2]="SpeculativeTuple",B[B.SubstituteSource=4]="SubstituteSource",B[B.HomomorphicMappedType=8]="HomomorphicMappedType",B[B.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",B[B.MappedTypeConstraint=32]="MappedTypeConstraint",B[B.ContravariantConditional=64]="ContravariantConditional",B[B.ReturnType=128]="ReturnType",B[B.LiteralKeyof=256]="LiteralKeyof",B[B.NoConstraints=512]="NoConstraints",B[B.AlwaysStrict=1024]="AlwaysStrict",B[B.MaxValue=2048]="MaxValue",B[B.PriorityImpliesCombination=416]="PriorityImpliesCombination",B[B.Circularity=-1]="Circularity",(j=e.InferenceFlags||(e.InferenceFlags={}))[j.None=0]="None",j[j.NoDefault=1]="NoDefault",j[j.AnyDefault=2]="AnyDefault",j[j.SkippedGenericFunction=4]="SkippedGenericFunction",(J=e.Ternary||(e.Ternary={}))[J.False=0]="False",J[J.Unknown=1]="Unknown",J[J.Maybe=3]="Maybe",J[J.True=-1]="True",(K=e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={}))[K.None=0]="None",K[K.ExportsProperty=1]="ExportsProperty",K[K.ModuleExports=2]="ModuleExports",K[K.PrototypeProperty=3]="PrototypeProperty",K[K.ThisProperty=4]="ThisProperty",K[K.Property=5]="Property",K[K.Prototype=6]="Prototype",K[K.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",K[K.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",K[K.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",function(e){e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message"}(z=e.DiagnosticCategory||(e.DiagnosticCategory={})),e.diagnosticCategoryName=function(e,t){void 0===t&&(t=!0);var r=z[e.category];return t?r.toLowerCase():r},(U=e.ModuleResolutionKind||(e.ModuleResolutionKind={}))[U.Classic=1]="Classic",U[U.NodeJs=2]="NodeJs",U[U.Node12=3]="Node12",U[U.NodeNext=99]="NodeNext",(V=e.WatchFileKind||(e.WatchFileKind={}))[V.FixedPollingInterval=0]="FixedPollingInterval",V[V.PriorityPollingInterval=1]="PriorityPollingInterval",V[V.DynamicPriorityPolling=2]="DynamicPriorityPolling",V[V.FixedChunkSizePolling=3]="FixedChunkSizePolling",V[V.UseFsEvents=4]="UseFsEvents",V[V.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",(q=e.WatchDirectoryKind||(e.WatchDirectoryKind={}))[q.UseFsEvents=0]="UseFsEvents",q[q.FixedPollingInterval=1]="FixedPollingInterval",q[q.DynamicPriorityPolling=2]="DynamicPriorityPolling",q[q.FixedChunkSizePolling=3]="FixedChunkSizePolling",(W=e.PollingWatchKind||(e.PollingWatchKind={}))[W.FixedInterval=0]="FixedInterval",W[W.PriorityInterval=1]="PriorityInterval",W[W.DynamicPriority=2]="DynamicPriority",W[W.FixedChunkSize=3]="FixedChunkSize",(H=e.ModuleKind||(e.ModuleKind={}))[H.None=0]="None",H[H.CommonJS=1]="CommonJS",H[H.AMD=2]="AMD",H[H.UMD=3]="UMD",H[H.System=4]="System",H[H.ES2015=5]="ES2015",H[H.ES2020=6]="ES2020",H[H.ES2022=7]="ES2022",H[H.ESNext=99]="ESNext",H[H.Node12=100]="Node12",H[H.NodeNext=199]="NodeNext",(G=e.JsxEmit||(e.JsxEmit={}))[G.None=0]="None",G[G.Preserve=1]="Preserve",G[G.React=2]="React",G[G.ReactNative=3]="ReactNative",G[G.ReactJSX=4]="ReactJSX",G[G.ReactJSXDev=5]="ReactJSXDev",(Y=e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={}))[Y.Remove=0]="Remove",Y[Y.Preserve=1]="Preserve",Y[Y.Error=2]="Error",(X=e.NewLineKind||(e.NewLineKind={}))[X.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",X[X.LineFeed=1]="LineFeed",(Q=e.ScriptKind||(e.ScriptKind={}))[Q.Unknown=0]="Unknown",Q[Q.JS=1]="JS",Q[Q.JSX=2]="JSX",Q[Q.TS=3]="TS",Q[Q.TSX=4]="TSX",Q[Q.External=5]="External",Q[Q.JSON=6]="JSON",Q[Q.Deferred=7]="Deferred",($=e.ScriptTarget||(e.ScriptTarget={}))[$.ES3=0]="ES3",$[$.ES5=1]="ES5",$[$.ES2015=2]="ES2015",$[$.ES2016=3]="ES2016",$[$.ES2017=4]="ES2017",$[$.ES2018=5]="ES2018",$[$.ES2019=6]="ES2019",$[$.ES2020=7]="ES2020",$[$.ES2021=8]="ES2021",$[$.ESNext=99]="ESNext",$[$.JSON=100]="JSON",$[$.Latest=99]="Latest",(Z=e.LanguageVariant||(e.LanguageVariant={}))[Z.Standard=0]="Standard",Z[Z.JSX=1]="JSX",(ee=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}))[ee.None=0]="None",ee[ee.Recursive=1]="Recursive",(te=e.CharacterCodes||(e.CharacterCodes={}))[te.nullCharacter=0]="nullCharacter",te[te.maxAsciiCharacter=127]="maxAsciiCharacter",te[te.lineFeed=10]="lineFeed",te[te.carriageReturn=13]="carriageReturn",te[te.lineSeparator=8232]="lineSeparator",te[te.paragraphSeparator=8233]="paragraphSeparator",te[te.nextLine=133]="nextLine",te[te.space=32]="space",te[te.nonBreakingSpace=160]="nonBreakingSpace",te[te.enQuad=8192]="enQuad",te[te.emQuad=8193]="emQuad",te[te.enSpace=8194]="enSpace",te[te.emSpace=8195]="emSpace",te[te.threePerEmSpace=8196]="threePerEmSpace",te[te.fourPerEmSpace=8197]="fourPerEmSpace",te[te.sixPerEmSpace=8198]="sixPerEmSpace",te[te.figureSpace=8199]="figureSpace",te[te.punctuationSpace=8200]="punctuationSpace",te[te.thinSpace=8201]="thinSpace",te[te.hairSpace=8202]="hairSpace",te[te.zeroWidthSpace=8203]="zeroWidthSpace",te[te.narrowNoBreakSpace=8239]="narrowNoBreakSpace",te[te.ideographicSpace=12288]="ideographicSpace",te[te.mathematicalSpace=8287]="mathematicalSpace",te[te.ogham=5760]="ogham",te[te._=95]="_",te[te.$=36]="$",te[te._0=48]="_0",te[te._1=49]="_1",te[te._2=50]="_2",te[te._3=51]="_3",te[te._4=52]="_4",te[te._5=53]="_5",te[te._6=54]="_6",te[te._7=55]="_7",te[te._8=56]="_8",te[te._9=57]="_9",te[te.a=97]="a",te[te.b=98]="b",te[te.c=99]="c",te[te.d=100]="d",te[te.e=101]="e",te[te.f=102]="f",te[te.g=103]="g",te[te.h=104]="h",te[te.i=105]="i",te[te.j=106]="j",te[te.k=107]="k",te[te.l=108]="l",te[te.m=109]="m",te[te.n=110]="n",te[te.o=111]="o",te[te.p=112]="p",te[te.q=113]="q",te[te.r=114]="r",te[te.s=115]="s",te[te.t=116]="t",te[te.u=117]="u",te[te.v=118]="v",te[te.w=119]="w",te[te.x=120]="x",te[te.y=121]="y",te[te.z=122]="z",te[te.A=65]="A",te[te.B=66]="B",te[te.C=67]="C",te[te.D=68]="D",te[te.E=69]="E",te[te.F=70]="F",te[te.G=71]="G",te[te.H=72]="H",te[te.I=73]="I",te[te.J=74]="J",te[te.K=75]="K",te[te.L=76]="L",te[te.M=77]="M",te[te.N=78]="N",te[te.O=79]="O",te[te.P=80]="P",te[te.Q=81]="Q",te[te.R=82]="R",te[te.S=83]="S",te[te.T=84]="T",te[te.U=85]="U",te[te.V=86]="V",te[te.W=87]="W",te[te.X=88]="X",te[te.Y=89]="Y",te[te.Z=90]="Z",te[te.ampersand=38]="ampersand",te[te.asterisk=42]="asterisk",te[te.at=64]="at",te[te.backslash=92]="backslash",te[te.backtick=96]="backtick",te[te.bar=124]="bar",te[te.caret=94]="caret",te[te.closeBrace=125]="closeBrace",te[te.closeBracket=93]="closeBracket",te[te.closeParen=41]="closeParen",te[te.colon=58]="colon",te[te.comma=44]="comma",te[te.dot=46]="dot",te[te.doubleQuote=34]="doubleQuote",te[te.equals=61]="equals",te[te.exclamation=33]="exclamation",te[te.greaterThan=62]="greaterThan",te[te.hash=35]="hash",te[te.lessThan=60]="lessThan",te[te.minus=45]="minus",te[te.openBrace=123]="openBrace",te[te.openBracket=91]="openBracket",te[te.openParen=40]="openParen",te[te.percent=37]="percent",te[te.plus=43]="plus",te[te.question=63]="question",te[te.semicolon=59]="semicolon",te[te.singleQuote=39]="singleQuote",te[te.slash=47]="slash",te[te.tilde=126]="tilde",te[te.backspace=8]="backspace",te[te.formFeed=12]="formFeed",te[te.byteOrderMark=65279]="byteOrderMark",te[te.tab=9]="tab",te[te.verticalTab=11]="verticalTab",(re=e.Extension||(e.Extension={})).Ts=".ts",re.Tsx=".tsx",re.Dts=".d.ts",re.Js=".js",re.Jsx=".jsx",re.Json=".json",re.TsBuildInfo=".tsbuildinfo",re.Mjs=".mjs",re.Mts=".mts",re.Dmts=".d.mts",re.Cjs=".cjs",re.Cts=".cts",re.Dcts=".d.cts",(ne=e.TransformFlags||(e.TransformFlags={}))[ne.None=0]="None",ne[ne.ContainsTypeScript=1]="ContainsTypeScript",ne[ne.ContainsJsx=2]="ContainsJsx",ne[ne.ContainsESNext=4]="ContainsESNext",ne[ne.ContainsES2021=8]="ContainsES2021",ne[ne.ContainsES2020=16]="ContainsES2020",ne[ne.ContainsES2019=32]="ContainsES2019",ne[ne.ContainsES2018=64]="ContainsES2018",ne[ne.ContainsES2017=128]="ContainsES2017",ne[ne.ContainsES2016=256]="ContainsES2016",ne[ne.ContainsES2015=512]="ContainsES2015",ne[ne.ContainsGenerator=1024]="ContainsGenerator",ne[ne.ContainsDestructuringAssignment=2048]="ContainsDestructuringAssignment",ne[ne.ContainsTypeScriptClassSyntax=4096]="ContainsTypeScriptClassSyntax",ne[ne.ContainsLexicalThis=8192]="ContainsLexicalThis",ne[ne.ContainsRestOrSpread=16384]="ContainsRestOrSpread",ne[ne.ContainsObjectRestOrSpread=32768]="ContainsObjectRestOrSpread",ne[ne.ContainsComputedPropertyName=65536]="ContainsComputedPropertyName",ne[ne.ContainsBlockScopedBinding=131072]="ContainsBlockScopedBinding",ne[ne.ContainsBindingPattern=262144]="ContainsBindingPattern",ne[ne.ContainsYield=524288]="ContainsYield",ne[ne.ContainsAwait=1048576]="ContainsAwait",ne[ne.ContainsHoistedDeclarationOrCompletion=2097152]="ContainsHoistedDeclarationOrCompletion",ne[ne.ContainsDynamicImport=4194304]="ContainsDynamicImport",ne[ne.ContainsClassFields=8388608]="ContainsClassFields",ne[ne.ContainsPossibleTopLevelAwait=16777216]="ContainsPossibleTopLevelAwait",ne[ne.ContainsLexicalSuper=33554432]="ContainsLexicalSuper",ne[ne.ContainsUpdateExpressionForIdentifier=67108864]="ContainsUpdateExpressionForIdentifier",ne[ne.HasComputedFlags=536870912]="HasComputedFlags",ne[ne.AssertTypeScript=1]="AssertTypeScript",ne[ne.AssertJsx=2]="AssertJsx",ne[ne.AssertESNext=4]="AssertESNext",ne[ne.AssertES2021=8]="AssertES2021",ne[ne.AssertES2020=16]="AssertES2020",ne[ne.AssertES2019=32]="AssertES2019",ne[ne.AssertES2018=64]="AssertES2018",ne[ne.AssertES2017=128]="AssertES2017",ne[ne.AssertES2016=256]="AssertES2016",ne[ne.AssertES2015=512]="AssertES2015",ne[ne.AssertGenerator=1024]="AssertGenerator",ne[ne.AssertDestructuringAssignment=2048]="AssertDestructuringAssignment",ne[ne.OuterExpressionExcludes=536870912]="OuterExpressionExcludes",ne[ne.PropertyAccessExcludes=536870912]="PropertyAccessExcludes",ne[ne.NodeExcludes=536870912]="NodeExcludes",ne[ne.ArrowFunctionExcludes=557748224]="ArrowFunctionExcludes",ne[ne.FunctionExcludes=591310848]="FunctionExcludes",ne[ne.ConstructorExcludes=591306752]="ConstructorExcludes",ne[ne.MethodOrAccessorExcludes=574529536]="MethodOrAccessorExcludes",ne[ne.PropertyExcludes=570433536]="PropertyExcludes",ne[ne.ClassExcludes=536940544]="ClassExcludes",ne[ne.ModuleExcludes=589443072]="ModuleExcludes",ne[ne.TypeExcludes=-2]="TypeExcludes",ne[ne.ObjectLiteralExcludes=536973312]="ObjectLiteralExcludes",ne[ne.ArrayLiteralOrCallOrNewExcludes=536887296]="ArrayLiteralOrCallOrNewExcludes",ne[ne.VariableDeclarationListExcludes=537165824]="VariableDeclarationListExcludes",ne[ne.ParameterExcludes=536870912]="ParameterExcludes",ne[ne.CatchClauseExcludes=536903680]="CatchClauseExcludes",ne[ne.BindingPatternExcludes=536887296]="BindingPatternExcludes",ne[ne.ContainsLexicalThisOrSuper=33562624]="ContainsLexicalThisOrSuper",ne[ne.PropertyNamePropagatingFlags=33562624]="PropertyNamePropagatingFlags",(ie=e.SnippetKind||(e.SnippetKind={}))[ie.TabStop=0]="TabStop",ie[ie.Placeholder=1]="Placeholder",ie[ie.Choice=2]="Choice",ie[ie.Variable=3]="Variable",(ae=e.EmitFlags||(e.EmitFlags={}))[ae.None=0]="None",ae[ae.SingleLine=1]="SingleLine",ae[ae.AdviseOnEmitNode=2]="AdviseOnEmitNode",ae[ae.NoSubstitution=4]="NoSubstitution",ae[ae.CapturesThis=8]="CapturesThis",ae[ae.NoLeadingSourceMap=16]="NoLeadingSourceMap",ae[ae.NoTrailingSourceMap=32]="NoTrailingSourceMap",ae[ae.NoSourceMap=48]="NoSourceMap",ae[ae.NoNestedSourceMaps=64]="NoNestedSourceMaps",ae[ae.NoTokenLeadingSourceMaps=128]="NoTokenLeadingSourceMaps",ae[ae.NoTokenTrailingSourceMaps=256]="NoTokenTrailingSourceMaps",ae[ae.NoTokenSourceMaps=384]="NoTokenSourceMaps",ae[ae.NoLeadingComments=512]="NoLeadingComments",ae[ae.NoTrailingComments=1024]="NoTrailingComments",ae[ae.NoComments=1536]="NoComments",ae[ae.NoNestedComments=2048]="NoNestedComments",ae[ae.HelperName=4096]="HelperName",ae[ae.ExportName=8192]="ExportName",ae[ae.LocalName=16384]="LocalName",ae[ae.InternalName=32768]="InternalName",ae[ae.Indented=65536]="Indented",ae[ae.NoIndentation=131072]="NoIndentation",ae[ae.AsyncFunctionBody=262144]="AsyncFunctionBody",ae[ae.ReuseTempVariableScope=524288]="ReuseTempVariableScope",ae[ae.CustomPrologue=1048576]="CustomPrologue",ae[ae.NoHoisting=2097152]="NoHoisting",ae[ae.HasEndOfDeclarationMarker=4194304]="HasEndOfDeclarationMarker",ae[ae.Iterator=8388608]="Iterator",ae[ae.NoAsciiEscaping=16777216]="NoAsciiEscaping",ae[ae.TypeScriptClassWrapper=33554432]="TypeScriptClassWrapper",ae[ae.NeverApplyImportHelper=67108864]="NeverApplyImportHelper",ae[ae.IgnoreSourceNewlines=134217728]="IgnoreSourceNewlines",ae[ae.Immutable=268435456]="Immutable",ae[ae.IndirectCall=536870912]="IndirectCall",(oe=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}))[oe.Extends=1]="Extends",oe[oe.Assign=2]="Assign",oe[oe.Rest=4]="Rest",oe[oe.Decorate=8]="Decorate",oe[oe.Metadata=16]="Metadata",oe[oe.Param=32]="Param",oe[oe.Awaiter=64]="Awaiter",oe[oe.Generator=128]="Generator",oe[oe.Values=256]="Values",oe[oe.Read=512]="Read",oe[oe.SpreadArray=1024]="SpreadArray",oe[oe.Await=2048]="Await",oe[oe.AsyncGenerator=4096]="AsyncGenerator",oe[oe.AsyncDelegator=8192]="AsyncDelegator",oe[oe.AsyncValues=16384]="AsyncValues",oe[oe.ExportStar=32768]="ExportStar",oe[oe.ImportStar=65536]="ImportStar",oe[oe.ImportDefault=131072]="ImportDefault",oe[oe.MakeTemplateObject=262144]="MakeTemplateObject",oe[oe.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",oe[oe.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",oe[oe.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",oe[oe.CreateBinding=4194304]="CreateBinding",oe[oe.FirstEmitHelper=1]="FirstEmitHelper",oe[oe.LastEmitHelper=4194304]="LastEmitHelper",oe[oe.ForOfIncludes=256]="ForOfIncludes",oe[oe.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",oe[oe.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",oe[oe.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",oe[oe.SpreadIncludes=1536]="SpreadIncludes",(se=e.EmitHint||(e.EmitHint={}))[se.SourceFile=0]="SourceFile",se[se.Expression=1]="Expression",se[se.IdentifierName=2]="IdentifierName",se[se.MappedTypeParameter=3]="MappedTypeParameter",se[se.Unspecified=4]="Unspecified",se[se.EmbeddedStatement=5]="EmbeddedStatement",se[se.JsxAttributeValue=6]="JsxAttributeValue",(ce=e.OuterExpressionKinds||(e.OuterExpressionKinds={}))[ce.Parentheses=1]="Parentheses",ce[ce.TypeAssertions=2]="TypeAssertions",ce[ce.NonNullAssertions=4]="NonNullAssertions",ce[ce.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",ce[ce.Assertions=6]="Assertions",ce[ce.All=15]="All",ce[ce.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",(ue=e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={}))[ue.None=0]="None",ue[ue.InParameters=1]="InParameters",ue[ue.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",(le=e.BundleFileSectionKind||(e.BundleFileSectionKind={})).Prologue="prologue",le.EmitHelpers="emitHelpers",le.NoDefaultLib="no-default-lib",le.Reference="reference",le.Type="type",le.Lib="lib",le.Prepend="prepend",le.Text="text",le.Internal="internal",(de=e.ListFormat||(e.ListFormat={}))[de.None=0]="None",de[de.SingleLine=0]="SingleLine",de[de.MultiLine=1]="MultiLine",de[de.PreserveLines=2]="PreserveLines",de[de.LinesMask=3]="LinesMask",de[de.NotDelimited=0]="NotDelimited",de[de.BarDelimited=4]="BarDelimited",de[de.AmpersandDelimited=8]="AmpersandDelimited",de[de.CommaDelimited=16]="CommaDelimited",de[de.AsteriskDelimited=32]="AsteriskDelimited",de[de.DelimitersMask=60]="DelimitersMask",de[de.AllowTrailingComma=64]="AllowTrailingComma",de[de.Indented=128]="Indented",de[de.SpaceBetweenBraces=256]="SpaceBetweenBraces",de[de.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",de[de.Braces=1024]="Braces",de[de.Parenthesis=2048]="Parenthesis",de[de.AngleBrackets=4096]="AngleBrackets",de[de.SquareBrackets=8192]="SquareBrackets",de[de.BracketsMask=15360]="BracketsMask",de[de.OptionalIfUndefined=16384]="OptionalIfUndefined",de[de.OptionalIfEmpty=32768]="OptionalIfEmpty",de[de.Optional=49152]="Optional",de[de.PreferNewLine=65536]="PreferNewLine",de[de.NoTrailingNewLine=131072]="NoTrailingNewLine",de[de.NoInterveningComments=262144]="NoInterveningComments",de[de.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",de[de.SingleElement=1048576]="SingleElement",de[de.SpaceAfterList=2097152]="SpaceAfterList",de[de.Modifiers=262656]="Modifiers",de[de.HeritageClauses=512]="HeritageClauses",de[de.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",de[de.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",de[de.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",de[de.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",de[de.UnionTypeConstituents=516]="UnionTypeConstituents",de[de.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",de[de.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",de[de.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",de[de.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",de[de.ImportClauseEntries=526226]="ImportClauseEntries",de[de.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",de[de.CommaListElements=528]="CommaListElements",de[de.CallExpressionArguments=2576]="CallExpressionArguments",de[de.NewExpressionArguments=18960]="NewExpressionArguments",de[de.TemplateExpressionSpans=262144]="TemplateExpressionSpans",de[de.SingleLineBlockStatements=768]="SingleLineBlockStatements",de[de.MultiLineBlockStatements=129]="MultiLineBlockStatements",de[de.VariableDeclarationList=528]="VariableDeclarationList",de[de.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",de[de.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",de[de.ClassHeritageClauses=0]="ClassHeritageClauses",de[de.ClassMembers=129]="ClassMembers",de[de.InterfaceMembers=129]="InterfaceMembers",de[de.EnumMembers=145]="EnumMembers",de[de.CaseBlockClauses=129]="CaseBlockClauses",de[de.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",de[de.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",de[de.JsxElementAttributes=262656]="JsxElementAttributes",de[de.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",de[de.HeritageClauseTypes=528]="HeritageClauseTypes",de[de.SourceFileStatements=131073]="SourceFileStatements",de[de.Decorators=2146305]="Decorators",de[de.TypeArguments=53776]="TypeArguments",de[de.TypeParameters=53776]="TypeParameters",de[de.Parameters=2576]="Parameters",de[de.IndexSignatureParameters=8848]="IndexSignatureParameters",de[de.JSDocComment=33]="JSDocComment",(_e=e.PragmaKindFlags||(e.PragmaKindFlags={}))[_e.None=0]="None",_e[_e.TripleSlashXML=1]="TripleSlashXML",_e[_e.SingleLine=2]="SingleLine",_e[_e.MultiLine=4]="MultiLine",_e[_e.All=7]="All",_e[_e.Default=7]="Default",e.commentPragmas={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}(c||(c={})),function(e){e.directorySeparator="/",e.altDirectorySeparator="\\";var t=/\\/g;function n(e){return 47===e||92===e}function i(e){return l(e)>0}function a(e){return 0!==l(e)}function o(e){return/^\.\.?($|[\\/])/.test(e)}function s(t,r){return t.length>r.length&&e.endsWith(t,r)}function c(e){return e.length>0&&n(e.charCodeAt(e.length-1))}function u(e){return e>=97&&e<=122||e>=65&&e<=90}function l(t){if(!t)return 0;var r=t.charCodeAt(0);if(47===r||92===r){if(t.charCodeAt(1)!==r)return 1;var n=t.indexOf(47===r?e.directorySeparator:e.altDirectorySeparator,2);return n<0?t.length:n+1}if(u(r)&&58===t.charCodeAt(1)){var i=t.charCodeAt(2);if(47===i||92===i)return 3;if(2===t.length)return 2}var a=t.indexOf("://");if(-1!==a){var o=a+"://".length,s=t.indexOf(e.directorySeparator,o);if(-1!==s){var c=t.slice(0,a),l=t.slice(o,s);if("file"===c&&(""===l||"localhost"===l)&&u(t.charCodeAt(s+1))){var d=function(e,t){var r=e.charCodeAt(t);if(58===r)return t+1;if(37===r&&51===e.charCodeAt(t+1)){var n=e.charCodeAt(t+2);if(97===n||65===n)return t+3}return-1}(t,s+2);if(-1!==d){if(47===t.charCodeAt(d))return~(d+1);if(d===t.length)return~d}}return~(s+1)}return~t.length}return 0}function d(e){var t=l(e);return t<0?~t:t}function _(t){var r=d(t=v(t));return r===t.length?t:(t=C(t)).slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}function p(t,r,n){if(d(t=v(t))===t.length)return"";var i=(t=C(t)).slice(Math.max(d(t),t.lastIndexOf(e.directorySeparator)+1)),a=void 0!==r&&void 0!==n?g(i,r,n):void 0;return a?i.slice(0,i.length-a.length):i}function f(t,r,n){if(e.startsWith(r,".")||(r="."+r),t.length>=r.length&&46===t.charCodeAt(t.length-r.length)){var i=t.slice(t.length-r.length);if(n(i,r))return i}}function g(t,r,n){if(r)return function(e,t,r){if("string"==typeof t)return f(e,t,r)||"";for(var n=0,i=t;n=0?i.substring(a):""}function m(t,n){return void 0===n&&(n=""),function(t,n){var i=t.substring(0,n),a=t.substring(n).split(e.directorySeparator);return a.length&&!e.lastOrUndefined(a)&&a.pop(),r([i],a,!0)}(t=D(n,t),d(t))}function y(t){return 0===t.length?"":(t[0]&&E(t[0]))+t.slice(1).join(e.directorySeparator)}function v(r){var n=r.indexOf("\\");return-1===n?r:(t.lastIndex=n,r.replace(t,e.directorySeparator))}function h(t){if(!e.some(t))return[];for(var r=[t[0]],n=1;n1){if(".."!==r[r.length-1]){r.pop();continue}}else if(r[0])continue;r.push(i)}}return r}function D(e){for(var t=[],r=1;r0&&t===e.length},e.pathIsAbsolute=a,e.pathIsRelative=o,e.pathIsBareSpecifier=function(e){return!a(e)&&!o(e)},e.hasExtension=function(t){return e.stringContains(p(t),".")},e.fileExtensionIs=s,e.fileExtensionIsOneOf=function(e,t){for(var r=0,n=t;r0==d(r)>0,"Paths must either both be absolute or both be relative");var i="function"==typeof n?n:e.identity;return y(N(t,r,"boolean"==typeof n&&n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i))}function w(t,r,n,a,o){var s=N(x(n,t),x(n,r),e.equateStringsCaseSensitive,a),c=s[0];if(o&&i(c)){var u=c.charAt(0)===e.directorySeparator?"file://":"file:///";s[0]=u+c}return y(s)}e.comparePathsCaseSensitive=function(t,r){return F(t,r,e.compareStringsCaseSensitive)},e.comparePathsCaseInsensitive=function(t,r){return F(t,r,e.compareStringsCaseInsensitive)},e.comparePaths=function(t,r,n,i){return"string"==typeof n?(t=D(n,t),r=D(n,r)):"boolean"==typeof n&&(i=n),F(t,r,e.getStringComparer(i))},e.containsPath=function(t,r,n,i){if("string"==typeof n?(t=D(n,t),r=D(n,r)):"boolean"==typeof n&&(i=n),void 0===t||void 0===r)return!1;if(t===r)return!0;var a=h(m(t)),o=h(m(r));if(o.length=4,m="linux"===es.platform||"darwin"===es.platform,v=d.platform(),h="win32"!==v&&"win64"!==v&&!L("/prettier-security-filename-placeholder.js".replace(/\w/g,(function(e){var t=e.toUpperCase();return e===t?e.toLowerCase():t}))),D=null!==(n=c.realpathSync.native)&&void 0!==n?n:c.realpathSync,b=g&&("win32"===es.platform||"darwin"===es.platform),T=t.memoize((function(){return es.cwd()})),E=C({pollingWatchFile:y((function(e,t,r){var n;return c.watchFile(e,{persistent:!0,interval:r},a),{close:function(){return c.unwatchFile(e,a)}};function a(r,a){var o=0==+a.mtime||n===i.Deleted;if(0==+r.mtime){if(o)return;n=i.Deleted}else if(o)n=i.Created;else{if(+r.mtime==+a.mtime)return;n=i.Changed}t(e,n)}}),h),getModifiedTime:j,setTimeout:setTimeout,clearTimeout:clearTimeout,fsWatch:function(e,r,n,a,o,s){var u,l,d;m&&(l=e.substr(e.lastIndexOf(t.directorySeparator)),d=l.slice(t.directorySeparator.length));var _=M(e,r)?g():h();return{close:function(){_.close(),_=void 0}};function f(r){t.sysLog("sysLog:: ".concat(e,":: Changing watcher to ").concat(r===g?"Present":"Missing","FileSystemEntryWatcher")),n("rename",""),_&&(_.close(),_=r())}function g(){if(void 0===u&&(u=b?{persistent:!0,recursive:!!a}:{persistent:!0}),p)return t.sysLog("sysLog:: ".concat(e,":: Defaulting to fsWatchFile")),v();try{var r=c.watch(e,u,m?y:n);return r.on("error",(function(){return f(h)})),r}catch(r){return p||(p="ENOSPC"===r.code),t.sysLog("sysLog:: ".concat(e,":: Changing to fsWatchFile")),v()}}function y(t,i){return"rename"!==t||i&&i!==d&&(-1===i.lastIndexOf(l)||i.lastIndexOf(l)!==i.length-l.length)||M(e,r)?n(t,i):f(h)}function v(){return A(e,x(n),o,s)}function h(){return A(e,(function(t,n){n===i.Created&&M(e,r)&&f(g)}),o,s)}},useCaseSensitiveFileNames:h,getCurrentDirectory:T,fileExists:L,fsSupportsRecursiveFsWatch:b,directoryExists:R,getAccessibleSortedChildDirectories:function(e){return O(e).directories},realpath:B,tscWatchFile:es.env.TSC_WATCHFILE,useNonPollingWatchers:es.env.TSC_NONPOLLING_WATCHER,tscWatchDirectory:es.env.TSC_WATCHDIRECTORY,defaultWatchFileKind:function(){var e,t;return null===(t=(e=u).defaultWatchFileKind)||void 0===t?void 0:t.call(e)}}),A=E.watchFile,F=E.watchDirectory,N={args:es.argv.slice(2),newLine:d.EOL,useCaseSensitiveFileNames:h,write:function(e){es.stdout.write(e)},getWidthOfTerminal:function(){return es.stdout.columns},writeOutputIsTTY:function(){return es.stdout.isTTY},readFile:function(e,r){t.perfLogger.logStartReadFile(e);var n=function(e,t){var r;try{r=c.readFileSync(e)}catch(e){return}var n=r.length;if(n>=2&&254===r[0]&&255===r[1]){n&=-2;for(var i=0;i=2&&255===r[0]&&254===r[1]?r.toString("utf16le",2):n>=3&&239===r[0]&&187===r[1]&&191===r[2]?r.toString("utf8",3):r.toString("utf8")}(e);return t.perfLogger.logStopReadFile(),n},writeFile:function(e,r,n){var i;t.perfLogger.logEvent("WriteFile: "+e),n&&(r="\ufeff"+r);try{i=c.openSync(e,"w"),c.writeSync(i,r,void 0,"utf8")}finally{void 0!==i&&c.closeSync(i)}},watchFile:A,watchDirectory:F,resolvePath:function(e){return l.resolve(e)},fileExists:L,directoryExists:R,createDirectory:function(e){if(!N.directoryExists(e))try{c.mkdirSync(e)}catch(e){if("EEXIST"!==e.code)throw e}},getExecutingFilePath:function(){return"/prettier-security-filename-placeholder.js"},getCurrentDirectory:T,getDirectories:function(e){return O(e).directories.slice()},getEnvironmentVariable:function(e){return es.env[e]||""},readDirectory:function(e,r,n,i,a){return t.matchFiles(e,r,n,i,h,es.cwd(),a,O,B)},getModifiedTime:j,setModifiedTime:function(e,t){try{c.utimesSync(e,t,t)}catch(e){return}},deleteFile:function(e){try{return c.unlinkSync(e)}catch(e){return}},createHash:a?J:r,createSHA256Hash:a?J:void 0,getMemoryUsage:function(){return e.gc&&e.gc(),es.memoryUsage().heapUsed},getFileSize:function(e){try{var t=P(e);if(null==t?void 0:t.isFile())return t.size}catch(e){}return 0},exit:function(e){w((function(){return es.exit(e)}))},enableCPUProfiler:function(e,t){if(o)return t(),!1;var r={};if(!r||!r.Session)return t(),!1;var n=new r.Session;return n.connect(),n.post("Profiler.enable",(function(){n.post("Profiler.start",(function(){o=n,_=e,t()}))})),!0},disableCPUProfiler:w,cpuProfilingEnabled:function(){return!!o||t.contains(es.execArgv,"--cpu-prof")||t.contains(es.execArgv,"--prof")},realpath:B,debugMode:!!es.env.NODE_INSPECTOR_IPC||!!es.env.VSCODE_INSPECTOR_OPTIONS||t.some(es.execArgv,(function(e){return/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(e)})),tryEnableSourceMapsForHost:function(){},setTimeout:setTimeout,clearTimeout:clearTimeout,clearScreen:function(){es.stdout.write("\x1bc")},setBlocking:function(){es.stdout&&es.stdout._handle&&es.stdout._handle.setBlocking&&es.stdout._handle.setBlocking(!0)},bufferFrom:I,base64decode:function(e){return I(e,"base64").toString("utf8")},base64encode:function(e){return I(e).toString("base64")},require:function(e,r){try{return{module:void 0,modulePath:t.resolveJSModule(r,e,N),error:void 0}}catch(e){return{module:void 0,modulePath:void 0,error:e}}}};return N;function P(e){return c.statSync(e,{throwIfNoEntry:!1})}function w(e){if(o&&"stopping"!==o){var r=o;return o.post("Profiler.stop",(function(n,i){var a,u=i.profile;if(!n){try{(null===(a=P(_))||void 0===a?void 0:a.isDirectory())&&(_=l.join(_,"".concat((new Date).toISOString().replace(/:/g,"-"),"+P").concat(es.pid,".cpuprofile")))}catch(e){}try{c.mkdirSync(l.dirname(_),{recursive:!0})}catch(e){}c.writeFileSync(_,JSON.stringify(function(e){for(var r=0,n=new t.Map,i=t.normalizeSlashes("/prettier-security-dirname-placeholder"),a="file://".concat(1===t.getRootLength(i)?"":"/").concat(i),o=0,c=e.nodes;o type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:t(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1103,e.DiagnosticCategory.Error,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:t(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:t(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:t(1106,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:t(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:t(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:t(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:t(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","An object literal cannot have multiple properties with the same name in strict mode."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:t(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:t(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:t(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:t(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:t(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:t(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:t(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:t(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:t(1195,e.DiagnosticCategory.Error,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:t(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:t(1205,e.DiagnosticCategory.Error,"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205","Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'."),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:t(1208,e.DiagnosticCategory.Error,"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208","'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:t(1210,e.DiagnosticCategory.Error,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:t(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:t(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning."),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:t(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:t(1231,e.DiagnosticCategory.Error,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:t(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","A namespace declaration is only allowed in a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:t(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:t(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:t(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:t(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:t(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:t(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:t(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:t(1258,e.DiagnosticCategory.Error,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:t(1259,e.DiagnosticCategory.Error,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:t(1260,e.DiagnosticCategory.Error,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:t(1261,e.DiagnosticCategory.Error,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:t(1262,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t(1263,e.DiagnosticCategory.Error,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:t(1264,e.DiagnosticCategory.Error,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:t(1265,e.DiagnosticCategory.Error,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:t(1266,e.DiagnosticCategory.Error,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:t(1267,e.DiagnosticCategory.Error,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:t(1268,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1308,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:t(1312,e.DiagnosticCategory.Error,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node12_or_nodenext:t(1323,e.DiagnosticCategory.Error,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node12', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext:t(1324,e.DiagnosticCategory.Error,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext'."),Argument_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments."),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:t(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:t(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Type_arguments_cannot_be_used_here:t(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node12_or_nodenext:t(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node12', or 'nodenext'."),A_label_is_not_allowed_here:t(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:t(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:t(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:t(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:t(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:t(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:t(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:t(1351,e.DiagnosticCategory.Error,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:t(1352,e.DiagnosticCategory.Error,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:t(1353,e.DiagnosticCategory.Error,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:t(1354,e.DiagnosticCategory.Error,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:t(1355,e.DiagnosticCategory.Error,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:t(1356,e.DiagnosticCategory.Error,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:t(1357,e.DiagnosticCategory.Error,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:t(1358,e.DiagnosticCategory.Error,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:t(1359,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:t(1361,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:t(1362,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:t(1363,e.DiagnosticCategory.Error,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:t(1364,e.DiagnosticCategory.Message,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:t(1365,e.DiagnosticCategory.Message,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:t(1366,e.DiagnosticCategory.Message,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:t(1367,e.DiagnosticCategory.Message,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Did_you_mean_0:t(1369,e.DiagnosticCategory.Message,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:t(1371,e.DiagnosticCategory.Error,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:t(1373,e.DiagnosticCategory.Message,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:t(1374,e.DiagnosticCategory.Message,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1375,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:t(1376,e.DiagnosticCategory.Message,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:t(1377,e.DiagnosticCategory.Message,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:t(1378,e.DiagnosticCategory.Error,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_o_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:t(1379,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:t(1380,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:t(1381,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:t(1382,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Only_named_exports_may_use_export_type:t(1383,e.DiagnosticCategory.Error,"Only_named_exports_may_use_export_type_1383","Only named exports may use 'export type'."),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:t(1384,e.DiagnosticCategory.Error,"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384","A 'new' expression with type arguments must always be followed by a parenthesized argument list."),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1385,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1386,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1387,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1388,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:t(1389,e.DiagnosticCategory.Error,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:t(1390,e.DiagnosticCategory.Error,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:t(1392,e.DiagnosticCategory.Error,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:t(1393,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:t(1394,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:t(1395,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:t(1396,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:t(1397,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:t(1398,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:t(1399,e.DiagnosticCategory.Message,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:t(1400,e.DiagnosticCategory.Message,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:t(1401,e.DiagnosticCategory.Message,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:t(1402,e.DiagnosticCategory.Message,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:t(1403,e.DiagnosticCategory.Message,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:t(1404,e.DiagnosticCategory.Message,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:t(1405,e.DiagnosticCategory.Message,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:t(1406,e.DiagnosticCategory.Message,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:t(1407,e.DiagnosticCategory.Message,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:t(1408,e.DiagnosticCategory.Message,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:t(1409,e.DiagnosticCategory.Message,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:t(1410,e.DiagnosticCategory.Message,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:t(1411,e.DiagnosticCategory.Message,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:t(1412,e.DiagnosticCategory.Message,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:t(1413,e.DiagnosticCategory.Message,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:t(1414,e.DiagnosticCategory.Message,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:t(1415,e.DiagnosticCategory.Message,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:t(1416,e.DiagnosticCategory.Message,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:t(1417,e.DiagnosticCategory.Message,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:t(1418,e.DiagnosticCategory.Message,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:t(1419,e.DiagnosticCategory.Message,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:t(1420,e.DiagnosticCategory.Message,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:t(1421,e.DiagnosticCategory.Message,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:t(1422,e.DiagnosticCategory.Message,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:t(1423,e.DiagnosticCategory.Message,"File_is_library_specified_here_1423","File is library specified here."),Default_library:t(1424,e.DiagnosticCategory.Message,"Default_library_1424","Default library"),Default_library_for_target_0:t(1425,e.DiagnosticCategory.Message,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:t(1426,e.DiagnosticCategory.Message,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:t(1427,e.DiagnosticCategory.Message,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:t(1428,e.DiagnosticCategory.Message,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:t(1429,e.DiagnosticCategory.Message,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:t(1430,e.DiagnosticCategory.Message,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1431,e.DiagnosticCategory.Error,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:t(1432,e.DiagnosticCategory.Error,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or__1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Decorators_may_not_be_applied_to_this_parameters:t(1433,e.DiagnosticCategory.Error,"Decorators_may_not_be_applied_to_this_parameters_1433","Decorators may not be applied to 'this' parameters."),Unexpected_keyword_or_identifier:t(1434,e.DiagnosticCategory.Error,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:t(1435,e.DiagnosticCategory.Error,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:t(1436,e.DiagnosticCategory.Error,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:t(1437,e.DiagnosticCategory.Error,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:t(1438,e.DiagnosticCategory.Error,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:t(1439,e.DiagnosticCategory.Error,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:t(1440,e.DiagnosticCategory.Error,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:t(1441,e.DiagnosticCategory.Error,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:t(1442,e.DiagnosticCategory.Error,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:t(1443,e.DiagnosticCategory.Error,"Module_declaration_names_may_only_use_or_quoted_strings_1443","Module declaration names may only use ' or \" quoted strings."),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:t(1444,e.DiagnosticCategory.Error,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:t(1446,e.DiagnosticCategory.Error,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_isolatedModules_is_enabled:t(1448,e.DiagnosticCategory.Error,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_isol_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when 'isolatedModules' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:t(1449,e.DiagnosticCategory.Message,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:t(1450,e.DiagnosticCategory.Message,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:t(1451,e.DiagnosticCategory.Error,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:t(1470,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead:t(1471,e.DiagnosticCategory.Error,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported synchronously. Use dynamic import instead."),The_types_of_0_are_incompatible_between_these_types:t(2200,e.DiagnosticCategory.Error,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:t(2201,e.DiagnosticCategory.Error,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:t(2202,e.DiagnosticCategory.Error,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:t(2203,e.DiagnosticCategory.Error,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2204,e.DiagnosticCategory.Error,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2205,e.DiagnosticCategory.Error,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:t(2206,e.DiagnosticCategory.Error,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:t(2207,e.DiagnosticCategory.Error,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:t(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:t(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:t(2329,e.DiagnosticCategory.Error,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:t(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:t(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:t(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:t(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:t(2349,e.DiagnosticCategory.Error,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:t(2351,e.DiagnosticCategory.Error,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:t(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:t(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:t(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:t(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_in_expression_must_be_a_private_identifier_or_of_type_any_string_number_or_symbol:t(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_a_private_identifier_or_of_type_any_string_number_or__2360","The left-hand side of an 'in' expression must be a private identifier or of type 'any', 'string', 'number', or 'symbol'."),The_right_hand_side_of_an_in_expression_must_not_be_a_primitive:t(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_not_be_a_primitive_2361","The right-hand side of an 'in' expression must not be a primitive."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:t(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:t(2367,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367","This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:t(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:t(2374,e.DiagnosticCategory.Error,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:t(2375,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:t(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:t(2379,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:t(2380,e.DiagnosticCategory.Error,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:t(2394,e.DiagnosticCategory.Error,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:t(2398,e.DiagnosticCategory.Error,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:t(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:t(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:t(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:t(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:t(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:t(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:t(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:t(2412,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:t(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:t(2413,e.DiagnosticCategory.Error,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:t(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:t(2419,e.DiagnosticCategory.Error,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:t(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:t(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:t(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:t(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:t(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:t(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:t(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:t(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:t(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:t(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:t(2459,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:t(2460,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:t(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:t(2474,e.DiagnosticCategory.Error,"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474","const enum member initializers can only contain literal values and other computed enum values."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:t(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:t(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:t(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:t(2493,e.DiagnosticCategory.Error,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:t(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:t(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:t(2497,e.DiagnosticCategory.Error,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:t(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:t(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:t(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:t(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:t(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:t(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:t(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:t(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:t(2550,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:t(2556,e.DiagnosticCategory.Error,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:t(2568,e.DiagnosticCategory.Error,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:t(2569,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569","Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Could_not_find_name_0_Did_you_mean_1:t(2570,e.DiagnosticCategory.Error,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:t(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:t(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:t(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:t(2576,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:t(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:t(2578,e.DiagnosticCategory.Error,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:t(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:t(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:t(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:t(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:t(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:t(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:t(2589,e.DiagnosticCategory.Error,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:t(2590,e.DiagnosticCategory.Error,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:t(2591,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:t(2592,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:t(2593,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:t(2594,e.DiagnosticCategory.Error,"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594","This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:t(2595,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2596,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:t(2597,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2598,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:t(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:t(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:t(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:t(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:t(2610,e.DiagnosticCategory.Error,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:t(2611,e.DiagnosticCategory.Error,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:t(2612,e.DiagnosticCategory.Error,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:t(2613,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:t(2614,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:t(2615,e.DiagnosticCategory.Error,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:t(2616,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2617,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:t(2618,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:t(2619,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:t(2620,e.DiagnosticCategory.Error,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:t(2621,e.DiagnosticCategory.Error,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:t(2623,e.DiagnosticCategory.Error,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:t(2624,e.DiagnosticCategory.Error,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:t(2625,e.DiagnosticCategory.Error,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:t(2626,e.DiagnosticCategory.Error,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:t(2627,e.DiagnosticCategory.Error,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:t(2628,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:t(2629,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:t(2630,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:t(2631,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:t(2632,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:t(2633,e.DiagnosticCategory.Error,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:t(2634,e.DiagnosticCategory.Error,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:t(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:t(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:t(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:t(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:t(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:t(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:t(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:t(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:t(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:t(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:t(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:t(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:t(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:t(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:t(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:t(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:t(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:t(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:t(2690,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:t(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:t(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:t(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:t(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:t(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:t(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:t(2718,e.DiagnosticCategory.Error,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:t(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:t(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:t(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:t(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:t(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:t(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:t(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:t(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:t(2733,e.DiagnosticCategory.Error,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:t(2734,e.DiagnosticCategory.Error,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:t(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:t(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:t(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:t(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:t(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:t(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:t(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:t(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:t(2743,e.DiagnosticCategory.Error,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:t(2744,e.DiagnosticCategory.Error,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:t(2745,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:t(2746,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:t(2747,e.DiagnosticCategory.Error,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:t(2748,e.DiagnosticCategory.Error,"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748","Cannot access ambient const enums when the '--isolatedModules' flag is provided."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:t(2749,e.DiagnosticCategory.Error,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:t(2750,e.DiagnosticCategory.Error,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:t(2751,e.DiagnosticCategory.Error,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:t(2752,e.DiagnosticCategory.Error,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:t(2753,e.DiagnosticCategory.Error,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:t(2754,e.DiagnosticCategory.Error,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:t(2755,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:t(2756,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:t(2757,e.DiagnosticCategory.Error,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2758,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:t(2759,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:t(2760,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:t(2761,e.DiagnosticCategory.Error,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2762,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:t(2763,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:t(2764,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:t(2765,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:t(2766,e.DiagnosticCategory.Error,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:t(2767,e.DiagnosticCategory.Error,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:t(2768,e.DiagnosticCategory.Error,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:t(2769,e.DiagnosticCategory.Error,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:t(2770,e.DiagnosticCategory.Error,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:t(2771,e.DiagnosticCategory.Error,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:t(2772,e.DiagnosticCategory.Error,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:t(2773,e.DiagnosticCategory.Error,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:t(2774,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:t(2775,e.DiagnosticCategory.Error,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:t(2776,e.DiagnosticCategory.Error,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:t(2777,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:t(2778,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:t(2779,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:t(2780,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:t(2781,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:t(2782,e.DiagnosticCategory.Message,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:t(2783,e.DiagnosticCategory.Error,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:t(2784,e.DiagnosticCategory.Error,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:t(2785,e.DiagnosticCategory.Error,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:t(2786,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:t(2787,e.DiagnosticCategory.Error,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:t(2788,e.DiagnosticCategory.Error,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:t(2789,e.DiagnosticCategory.Error,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:t(2790,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:t(2791,e.DiagnosticCategory.Error,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:t(2792,e.DiagnosticCategory.Error,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:t(2793,e.DiagnosticCategory.Error,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:t(2794,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:t(2795,e.DiagnosticCategory.Error,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:t(2796,e.DiagnosticCategory.Error,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:t(2797,e.DiagnosticCategory.Error,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:t(2798,e.DiagnosticCategory.Error,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:t(2799,e.DiagnosticCategory.Error,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:t(2800,e.DiagnosticCategory.Error,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:t(2801,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:t(2802,e.DiagnosticCategory.Error,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:t(2803,e.DiagnosticCategory.Error,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:t(2804,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_not_specified_with_a_target_of_esnext_Consider_adding_the_useDefineForClassFields_flag:t(2805,e.DiagnosticCategory.Error,"Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_no_2805","Static fields with private names can't have initializers when the '--useDefineForClassFields' flag is not specified with a '--target' of 'esnext'. Consider adding the '--useDefineForClassFields' flag."),Private_accessor_was_defined_without_a_getter:t(2806,e.DiagnosticCategory.Error,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:t(2807,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:t(2808,e.DiagnosticCategory.Error,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses:t(2809,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses."),Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnext_and_useDefineForClassFields_is_false:t(2810,e.DiagnosticCategory.Error,"Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnex_2810","Property '{0}' may not be used in a static property's initializer in the same class when 'target' is 'esnext' and 'useDefineForClassFields' is 'false'."),Initializer_for_property_0:t(2811,e.DiagnosticCategory.Error,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:t(2812,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:t(2813,e.DiagnosticCategory.Error,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:t(2814,e.DiagnosticCategory.Error,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:t(2815,e.DiagnosticCategory.Error,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:t(2816,e.DiagnosticCategory.Error,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:t(2817,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:t(2818,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:t(2819,e.DiagnosticCategory.Error,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:t(2820,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext:t(2821,e.DiagnosticCategory.Error,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_2821","Import assertions are only supported when the '--module' option is set to 'esnext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:t(2822,e.DiagnosticCategory.Error,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:t(2833,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Consider_adding_an_extension_to_the_import_path:t(2834,e.DiagnosticCategory.Error,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0:t(2835,e.DiagnosticCategory.Error,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Did you mean '{0}'?"),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:t(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:t(4021,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:t(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:t(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:t(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:t(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:t(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:t(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:t(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:t(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:t(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:t(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:t(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:t(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:t(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:t(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:t(4084,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:t(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:t(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:t(4103,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:t(4104,e.DiagnosticCategory.Error,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:t(4105,e.DiagnosticCategory.Error,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:t(4106,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:t(4107,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4108,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:t(4109,e.DiagnosticCategory.Error,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:t(4110,e.DiagnosticCategory.Error,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:t(4111,e.DiagnosticCategory.Error,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:t(4112,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:t(4113,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:t(4114,e.DiagnosticCategory.Error,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:t(4115,e.DiagnosticCategory.Error,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:t(4116,e.DiagnosticCategory.Error,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:t(4117,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:t(4118,e.DiagnosticCategory.Error,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:t(4119,e.DiagnosticCategory.Error,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:t(4120,e.DiagnosticCategory.Error,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:t(4121,e.DiagnosticCategory.Error,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:t(4122,e.DiagnosticCategory.Error,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:t(4123,e.DiagnosticCategory.Error,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:t(4124,e.DiagnosticCategory.Error,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:t(5025,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:t(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:t(5048,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:t(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:t(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:t(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:t(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:t(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:t(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:t(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:t(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:t(5074,e.DiagnosticCategory.Error,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:t(5075,e.DiagnosticCategory.Error,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:t(5076,e.DiagnosticCategory.Error,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:t(5077,e.DiagnosticCategory.Error,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:t(5078,e.DiagnosticCategory.Error,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:t(5079,e.DiagnosticCategory.Error,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:t(5080,e.DiagnosticCategory.Error,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:t(5081,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:t(5082,e.DiagnosticCategory.Error,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:t(5083,e.DiagnosticCategory.Error,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:t(5084,e.DiagnosticCategory.Error,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:t(5085,e.DiagnosticCategory.Error,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:t(5086,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:t(5087,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:t(5088,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:t(5089,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:t(5090,e.DiagnosticCategory.Error,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled:t(5091,e.DiagnosticCategory.Error,"Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when 'isolatedModules' is enabled."),The_root_value_of_a_0_file_must_be_an_object:t(5092,e.DiagnosticCategory.Error,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:t(5093,e.DiagnosticCategory.Error,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:t(5094,e.DiagnosticCategory.Error,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later:t(5095,e.DiagnosticCategory.Error,"Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option 'preserveValueImports' can only be used when 'module' is set to 'es2015' or later."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:t(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:t(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:t(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:t(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:t(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:t(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:t(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:t(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:t(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:t(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:t(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:t(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:t(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:t(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:t(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:t(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:t(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:t(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:t(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:t(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:t(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:t(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:t(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:t(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:t(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:t(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:t(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:t(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:t(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:t(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:t(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:t(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:t(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:t(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:t(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:t(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:t(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:t(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:t(6184,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:t(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:t(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:t(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:t(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:t(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:t(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:t(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:t(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:t(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:t(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:t(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:t(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:t(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:t(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:t(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:t(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:t(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:t(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:t(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:t(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:t(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:t(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:t(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:t(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:t(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:t(6218,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:t(6219,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:t(6220,e.DiagnosticCategory.Message,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:t(6221,e.DiagnosticCategory.Message,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:t(6222,e.DiagnosticCategory.Message,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:t(6223,e.DiagnosticCategory.Message,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:t(6224,e.DiagnosticCategory.Message,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:t(6225,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:t(6226,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:t(6227,e.DiagnosticCategory.Message,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:t(6229,e.DiagnosticCategory.Error,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:t(6230,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:t(6231,e.DiagnosticCategory.Error,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:t(6232,e.DiagnosticCategory.Error,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:t(6233,e.DiagnosticCategory.Error,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:t(6234,e.DiagnosticCategory.Error,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:t(6235,e.DiagnosticCategory.Message,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:t(6236,e.DiagnosticCategory.Error,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:t(6237,e.DiagnosticCategory.Message,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:t(6238,e.DiagnosticCategory.Error,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:t(6239,e.DiagnosticCategory.Message,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:t(6240,e.DiagnosticCategory.Message,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:t(6241,e.DiagnosticCategory.Message,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:t(6242,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:t(6243,e.DiagnosticCategory.Message,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:t(6244,e.DiagnosticCategory.Message,"Modules_6244","Modules"),File_Management:t(6245,e.DiagnosticCategory.Message,"File_Management_6245","File Management"),Emit:t(6246,e.DiagnosticCategory.Message,"Emit_6246","Emit"),JavaScript_Support:t(6247,e.DiagnosticCategory.Message,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:t(6248,e.DiagnosticCategory.Message,"Type_Checking_6248","Type Checking"),Editor_Support:t(6249,e.DiagnosticCategory.Message,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:t(6250,e.DiagnosticCategory.Message,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:t(6251,e.DiagnosticCategory.Message,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:t(6252,e.DiagnosticCategory.Message,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:t(6253,e.DiagnosticCategory.Message,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:t(6254,e.DiagnosticCategory.Message,"Language_and_Environment_6254","Language and Environment"),Projects:t(6255,e.DiagnosticCategory.Message,"Projects_6255","Projects"),Output_Formatting:t(6256,e.DiagnosticCategory.Message,"Output_Formatting_6256","Output Formatting"),Completeness:t(6257,e.DiagnosticCategory.Message,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:t(6258,e.DiagnosticCategory.Error,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:t(6270,e.DiagnosticCategory.Message,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:t(6271,e.DiagnosticCategory.Message,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:t(6272,e.DiagnosticCategory.Message,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:t(6273,e.DiagnosticCategory.Message,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:t(6274,e.DiagnosticCategory.Message,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:t(6275,e.DiagnosticCategory.Message,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:t(6276,e.DiagnosticCategory.Message,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Enable_project_compilation:t(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:t(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:t(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:t(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:t(6307,e.DiagnosticCategory.Error,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:t(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:t(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:t(6310,e.DiagnosticCategory.Error,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:t(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350","Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:t(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:t(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:t(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:t(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:t(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:t(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:t(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:t(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:t(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:t(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:t(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:t(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:t(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:t(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects"),Show_what_would_be_built_or_deleted_if_specified_with_clean:t(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:t(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:t(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:t(6371,e.DiagnosticCategory.Message,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:t(6372,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:t(6373,e.DiagnosticCategory.Message,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:t(6374,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:t(6375,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:t(6376,e.DiagnosticCategory.Message,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:t(6377,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Enable_incremental_compilation:t(6378,e.DiagnosticCategory.Message,"Enable_incremental_compilation_6378","Enable incremental compilation"),Composite_projects_may_not_disable_incremental_compilation:t(6379,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:t(6380,e.DiagnosticCategory.Message,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:t(6381,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:t(6382,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:t(6383,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6384,e.DiagnosticCategory.Message,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:t(6385,e.DiagnosticCategory.Suggestion,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:t(6386,e.DiagnosticCategory.Message,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:t(6387,e.DiagnosticCategory.Suggestion,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:t(6388,e.DiagnosticCategory.Message,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:t(6389,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:t(6390,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:t(6391,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:t(6392,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:t(6393,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:t(6394,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:t(6395,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:t(6396,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:t(6397,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:t(6398,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:t(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:t(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:t(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:t(6503,e.DiagnosticCategory.Message,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:t(6504,e.DiagnosticCategory.Error,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:t(6505,e.DiagnosticCategory.Message,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:t(6506,e.DiagnosticCategory.Message,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:t(6600,e.DiagnosticCategory.Message,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:t(6601,e.DiagnosticCategory.Message,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:t(6602,e.DiagnosticCategory.Message,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:t(6603,e.DiagnosticCategory.Message,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:t(6604,e.DiagnosticCategory.Message,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:t(6605,e.DiagnosticCategory.Message,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6606,e.DiagnosticCategory.Message,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use `incremental` and `watch` mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:t(6607,e.DiagnosticCategory.Message,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:t(6608,e.DiagnosticCategory.Message,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:t(6609,e.DiagnosticCategory.Message,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:t(6611,e.DiagnosticCategory.Message,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:t(6612,e.DiagnosticCategory.Message,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:t(6613,e.DiagnosticCategory.Message,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:t(6614,e.DiagnosticCategory.Message,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:t(6615,e.DiagnosticCategory.Message,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:t(6616,e.DiagnosticCategory.Message,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:t(6617,e.DiagnosticCategory.Message,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:t(6618,e.DiagnosticCategory.Message,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:t(6619,e.DiagnosticCategory.Message,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:t(6620,e.DiagnosticCategory.Message,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects"),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:t(6621,e.DiagnosticCategory.Message,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6622,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:t(6623,e.DiagnosticCategory.Message,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:t(6624,e.DiagnosticCategory.Message,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:t(6625,e.DiagnosticCategory.Message,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:t(6626,e.DiagnosticCategory.Message,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility."),Filters_results_from_the_include_option:t(6627,e.DiagnosticCategory.Message,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:t(6628,e.DiagnosticCategory.Message,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:t(6629,e.DiagnosticCategory.Message,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_TC39_stage_2_draft_decorators:t(6630,e.DiagnosticCategory.Message,"Enable_experimental_support_for_TC39_stage_2_draft_decorators_6630","Enable experimental support for TC39 stage 2 draft decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:t(6631,e.DiagnosticCategory.Message,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:t(6632,e.DiagnosticCategory.Message,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:t(6633,e.DiagnosticCategory.Message,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:t(6634,e.DiagnosticCategory.Message,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:t(6635,e.DiagnosticCategory.Message,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:t(6636,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date"),Ensure_that_casing_is_correct_in_imports:t(6637,e.DiagnosticCategory.Message,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:t(6638,e.DiagnosticCategory.Message,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:t(6639,e.DiagnosticCategory.Message,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:t(6641,e.DiagnosticCategory.Message,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:t(6642,e.DiagnosticCategory.Message,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:t(6643,e.DiagnosticCategory.Message,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:t(6644,e.DiagnosticCategory.Message,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:t(6645,e.DiagnosticCategory.Message,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:t(6646,e.DiagnosticCategory.Message,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:t(6647,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'"),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:t(6648,e.DiagnosticCategory.Message,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:t(6649,e.DiagnosticCategory.Message,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.`"),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:t(6650,e.DiagnosticCategory.Message,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:t(6651,e.DiagnosticCategory.Message,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:t(6652,e.DiagnosticCategory.Message,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:t(6653,e.DiagnosticCategory.Message,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:t(6654,e.DiagnosticCategory.Message,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6655,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:t(6656,e.DiagnosticCategory.Message,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`."),Specify_what_module_code_is_generated:t(6657,e.DiagnosticCategory.Message,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:t(6658,e.DiagnosticCategory.Message,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:t(6659,e.DiagnosticCategory.Message,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:t(6660,e.DiagnosticCategory.Message,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:t(6661,e.DiagnosticCategory.Message,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like `__extends` in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:t(6662,e.DiagnosticCategory.Message,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:t(6663,e.DiagnosticCategory.Message,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:t(6664,e.DiagnosticCategory.Message,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:t(6665,e.DiagnosticCategory.Message,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied `any` type.."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:t(6666,e.DiagnosticCategory.Message,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:t(6667,e.DiagnosticCategory.Message,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:t(6668,e.DiagnosticCategory.Message,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when `this` is given the type `any`."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:t(6669,e.DiagnosticCategory.Message,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:t(6670,e.DiagnosticCategory.Message,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:t(6671,e.DiagnosticCategory.Message,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type"),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:t(6672,e.DiagnosticCategory.Message,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:t(6673,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:t(6674,e.DiagnosticCategory.Message,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add `undefined` to a type when accessed using an index."),Enable_error_reporting_when_a_local_variables_aren_t_read:t(6675,e.DiagnosticCategory.Message,"Enable_error_reporting_when_a_local_variables_aren_t_read_6675","Enable error reporting when a local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:t(6676,e.DiagnosticCategory.Message,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read"),Deprecated_setting_Use_outFile_instead:t(6677,e.DiagnosticCategory.Message,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use `outFile` instead."),Specify_an_output_folder_for_all_emitted_files:t(6678,e.DiagnosticCategory.Message,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:t(6679,e.DiagnosticCategory.Message,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:t(6680,e.DiagnosticCategory.Message,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:t(6681,e.DiagnosticCategory.Message,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:t(6682,e.DiagnosticCategory.Message,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing `const enum` declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:t(6683,e.DiagnosticCategory.Message,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:t(6684,e.DiagnosticCategory.Message,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode"),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:t(6685,e.DiagnosticCategory.Message,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read"),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:t(6686,e.DiagnosticCategory.Message,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:t(6687,e.DiagnosticCategory.Message,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:t(6688,e.DiagnosticCategory.Message,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:t(6689,e.DiagnosticCategory.Message,"Enable_importing_json_files_6689","Enable importing .json files"),Specify_the_root_folder_within_your_source_files:t(6690,e.DiagnosticCategory.Message,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:t(6691,e.DiagnosticCategory.Message,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:t(6692,e.DiagnosticCategory.Message,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:t(6693,e.DiagnosticCategory.Message,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:t(6694,e.DiagnosticCategory.Message,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:t(6695,e.DiagnosticCategory.Message,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:t(6697,e.DiagnosticCategory.Message,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for `bind`, `call`, and `apply` methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:t(6698,e.DiagnosticCategory.Message,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:t(6699,e.DiagnosticCategory.Message,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account `null` and `undefined`."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:t(6700,e.DiagnosticCategory.Message,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:t(6701,e.DiagnosticCategory.Message,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have `@internal` in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:t(6702,e.DiagnosticCategory.Message,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:t(6703,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress `noImplicitAny` errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:t(6704,e.DiagnosticCategory.Message,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:t(6705,e.DiagnosticCategory.Message,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:t(6706,e.DiagnosticCategory.Message,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the `moduleResolution` process."),Specify_the_folder_for_tsbuildinfo_incremental_compilation_files:t(6707,e.DiagnosticCategory.Message,"Specify_the_folder_for_tsbuildinfo_incremental_compilation_files_6707","Specify the folder for .tsbuildinfo incremental compilation files."),Specify_options_for_automatic_acquisition_of_declaration_files:t(6709,e.DiagnosticCategory.Message,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:t(6710,e.DiagnosticCategory.Message,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like `./node_modules/@types`."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:t(6711,e.DiagnosticCategory.Message,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:t(6712,e.DiagnosticCategory.Message,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:t(6713,e.DiagnosticCategory.Message,"Enable_verbose_logging_6713","Enable verbose logging"),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:t(6714,e.DiagnosticCategory.Message,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:t(6715,e.DiagnosticCategory.Message,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Include_undefined_in_index_signature_results:t(6716,e.DiagnosticCategory.Message,"Include_undefined_in_index_signature_results_6716","Include 'undefined' in index signature results"),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:t(6717,e.DiagnosticCategory.Message,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:t(6718,e.DiagnosticCategory.Message,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types"),Type_catch_clause_variables_as_unknown_instead_of_any:t(6803,e.DiagnosticCategory.Message,"Type_catch_clause_variables_as_unknown_instead_of_any_6803","Type catch clause variables as 'unknown' instead of 'any'."),one_of_Colon:t(6900,e.DiagnosticCategory.Message,"one_of_Colon_6900","one of:"),one_or_more_Colon:t(6901,e.DiagnosticCategory.Message,"one_or_more_Colon_6901","one or more:"),type_Colon:t(6902,e.DiagnosticCategory.Message,"type_Colon_6902","type:"),default_Colon:t(6903,e.DiagnosticCategory.Message,"default_Colon_6903","default:"),module_system_or_esModuleInterop:t(6904,e.DiagnosticCategory.Message,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:t(6905,e.DiagnosticCategory.Message,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:t(6906,e.DiagnosticCategory.Message,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:t(6907,e.DiagnosticCategory.Message,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:t(6908,e.DiagnosticCategory.Message,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:t(6909,e.DiagnosticCategory.Message,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:t(69010,e.DiagnosticCategory.Message,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:t(6911,e.DiagnosticCategory.Message,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:t(6912,e.DiagnosticCategory.Message,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:t(6913,e.DiagnosticCategory.Message,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:t(6914,e.DiagnosticCategory.Message,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:t(6915,e.DiagnosticCategory.Message,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:t(6916,e.DiagnosticCategory.Message,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:t(6917,e.DiagnosticCategory.Message,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:t(6918,e.DiagnosticCategory.Message,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:t(6919,e.DiagnosticCategory.Message,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:t(6920,e.DiagnosticCategory.Message,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:t(6921,e.DiagnosticCategory.Message,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:t(6922,e.DiagnosticCategory.Message,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:t(6923,e.DiagnosticCategory.Message,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:t(6924,e.DiagnosticCategory.Message,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:t(6925,e.DiagnosticCategory.Message,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:t(6926,e.DiagnosticCategory.Message,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:t(6927,e.DiagnosticCategory.Message,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:t(6928,e.DiagnosticCategory.Message,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:t(6929,e.DiagnosticCategory.Message,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:t(6930,e.DiagnosticCategory.Message,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:t(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:t(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:t(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:t(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:t(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:t(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:t(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:t(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:t(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:t(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:t(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:t(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:t(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:t(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:t(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:t(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:t(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:t(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:t(7052,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:t(7053,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:t(7054,e.DiagnosticCategory.Error,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:t(7055,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:t(7056,e.DiagnosticCategory.Error,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:t(7057,e.DiagnosticCategory.Error,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:t(7058,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:t(7059,e.DiagnosticCategory.Error,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:t(7060,e.DiagnosticCategory.Error,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:t(7061,e.DiagnosticCategory.Error,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),JSON_imports_are_experimental_in_ES_module_mode_imports:t(7062,e.DiagnosticCategory.Error,"JSON_imports_are_experimental_in_ES_module_mode_imports_7062","JSON imports are experimental in ES module mode imports."),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:t(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:t(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:t(8004,e.DiagnosticCategory.Error,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:t(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:t(8006,e.DiagnosticCategory.Error,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:t(8008,e.DiagnosticCategory.Error,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:t(8009,e.DiagnosticCategory.Error,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:t(8010,e.DiagnosticCategory.Error,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:t(8011,e.DiagnosticCategory.Error,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:t(8012,e.DiagnosticCategory.Error,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:t(8013,e.DiagnosticCategory.Error,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:t(8016,e.DiagnosticCategory.Error,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:t(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:t(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:t(8032,e.DiagnosticCategory.Error,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:t(8033,e.DiagnosticCategory.Error,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:t(8034,e.DiagnosticCategory.Error,"The_tag_was_first_specified_here_8034","The tag was first specified here."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:t(9005,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:t(9006,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:t(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:t(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:t(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:t(17016,e.DiagnosticCategory.Error,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:t(17017,e.DiagnosticCategory.Error,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:t(17018,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:t(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:t(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:t(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:t(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:t(80007,e.DiagnosticCategory.Suggestion,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:t(80008,e.DiagnosticCategory.Suggestion,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:t(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:t(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:t(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:t(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:t(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:t(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Import_default_0_from_module_1:t(90032,e.DiagnosticCategory.Message,"Import_default_0_from_module_1_90032","Import default '{0}' from module \"{1}\""),Add_default_import_0_to_existing_import_declaration_from_1:t(90033,e.DiagnosticCategory.Message,"Add_default_import_0_to_existing_import_declaration_from_1_90033","Add default import '{0}' to existing import declaration from \"{1}\""),Add_parameter_name:t(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:t(90035,e.DiagnosticCategory.Message,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:t(90036,e.DiagnosticCategory.Message,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:t(90037,e.DiagnosticCategory.Message,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:t(90038,e.DiagnosticCategory.Message,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:t(90039,e.DiagnosticCategory.Message,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:t(90041,e.DiagnosticCategory.Message,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:t(90053,e.DiagnosticCategory.Message,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:t(90054,e.DiagnosticCategory.Message,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:t(95003,e.DiagnosticCategory.Message,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:t(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:t(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:t(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:t(95017,e.DiagnosticCategory.Message,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:t(95021,e.DiagnosticCategory.Message,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:t(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:t(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:t(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:t(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:t(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:t(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:t(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:t(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:t(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:t(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:t(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:t(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:t(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:t(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:t(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:t(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:t(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:t(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:t(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:t(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:t(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:t(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:t(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:t(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:t(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:t(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:t(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:t(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:t(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:t(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:t(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:t(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:t(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:t(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:t(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:t(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:t(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:t(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:t(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:t(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:t(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:t(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:t(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:t(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:t(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:t(95067,e.DiagnosticCategory.Message,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:t(95068,e.DiagnosticCategory.Message,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:t(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:t(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:t(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:t(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:t(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:t(95074,e.DiagnosticCategory.Message,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:t(95075,e.DiagnosticCategory.Message,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:t(95077,e.DiagnosticCategory.Message,"Extract_type_95077","Extract type"),Extract_to_type_alias:t(95078,e.DiagnosticCategory.Message,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:t(95079,e.DiagnosticCategory.Message,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:t(95080,e.DiagnosticCategory.Message,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:t(95081,e.DiagnosticCategory.Message,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:t(95082,e.DiagnosticCategory.Message,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:t(95083,e.DiagnosticCategory.Message,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:t(95084,e.DiagnosticCategory.Message,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:t(95085,e.DiagnosticCategory.Message,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:t(95086,e.DiagnosticCategory.Message,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:t(95087,e.DiagnosticCategory.Message,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:t(95088,e.DiagnosticCategory.Message,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:t(95089,e.DiagnosticCategory.Message,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:t(95090,e.DiagnosticCategory.Message,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:t(95091,e.DiagnosticCategory.Message,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:t(95092,e.DiagnosticCategory.Message,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:t(95093,e.DiagnosticCategory.Message,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:t(95094,e.DiagnosticCategory.Message,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:t(95095,e.DiagnosticCategory.Message,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:t(95096,e.DiagnosticCategory.Message,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:t(95097,e.DiagnosticCategory.Message,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:t(95098,e.DiagnosticCategory.Message,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:t(95099,e.DiagnosticCategory.Message,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:t(95100,e.DiagnosticCategory.Message,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:t(95101,e.DiagnosticCategory.Message,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_function_expression_0_to_arrow_function:t(95105,e.DiagnosticCategory.Message,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:t(95106,e.DiagnosticCategory.Message,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:t(95107,e.DiagnosticCategory.Message,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:t(95108,e.DiagnosticCategory.Message,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:t(95109,e.DiagnosticCategory.Message,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:t(95110,e.DiagnosticCategory.Message,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig.json to read more about this file"),Add_a_return_statement:t(95111,e.DiagnosticCategory.Message,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:t(95112,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:t(95113,e.DiagnosticCategory.Message,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:t(95114,e.DiagnosticCategory.Message,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:t(95115,e.DiagnosticCategory.Message,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:t(95116,e.DiagnosticCategory.Message,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:t(95117,e.DiagnosticCategory.Message,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:t(95118,e.DiagnosticCategory.Message,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:t(95119,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:t(95120,e.DiagnosticCategory.Message,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:t(95121,e.DiagnosticCategory.Message,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:t(95122,e.DiagnosticCategory.Message,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:t(95123,e.DiagnosticCategory.Message,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:t(95124,e.DiagnosticCategory.Message,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:t(95125,e.DiagnosticCategory.Message,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:t(95126,e.DiagnosticCategory.Message,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:t(95127,e.DiagnosticCategory.Message,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:t(95128,e.DiagnosticCategory.Message,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:t(95129,e.DiagnosticCategory.Message,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:t(95130,e.DiagnosticCategory.Message,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:t(95131,e.DiagnosticCategory.Message,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:t(95132,e.DiagnosticCategory.Message,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:t(95133,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:t(95134,e.DiagnosticCategory.Message,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:t(95135,e.DiagnosticCategory.Message,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:t(95136,e.DiagnosticCategory.Message,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:t(95137,e.DiagnosticCategory.Message,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:t(95138,e.DiagnosticCategory.Message,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:t(95139,e.DiagnosticCategory.Message,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:t(95140,e.DiagnosticCategory.Message,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:t(95141,e.DiagnosticCategory.Message,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:t(95142,e.DiagnosticCategory.Message,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:t(95143,e.DiagnosticCategory.Message,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:t(95144,e.DiagnosticCategory.Message,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:t(95145,e.DiagnosticCategory.Message,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:t(95146,e.DiagnosticCategory.Message,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:t(95147,e.DiagnosticCategory.Message,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:t(95148,e.DiagnosticCategory.Message,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:t(95149,e.DiagnosticCategory.Message,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:t(95150,e.DiagnosticCategory.Message,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:t(95151,e.DiagnosticCategory.Message,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:t(95152,e.DiagnosticCategory.Message,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:t(95153,e.DiagnosticCategory.Message,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:t(95154,e.DiagnosticCategory.Message,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:t(95155,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:t(95156,e.DiagnosticCategory.Message,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:t(95157,e.DiagnosticCategory.Message,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:t(95158,e.DiagnosticCategory.Message,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:t(95159,e.DiagnosticCategory.Message,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:t(95160,e.DiagnosticCategory.Message,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:t(95161,e.DiagnosticCategory.Message,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:t(95162,e.DiagnosticCategory.Message,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:t(95163,e.DiagnosticCategory.Message,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:t(95164,e.DiagnosticCategory.Message,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:t(95165,e.DiagnosticCategory.Message,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:t(95166,e.DiagnosticCategory.Message,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:t(95167,e.DiagnosticCategory.Message,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:t(95168,e.DiagnosticCategory.Message,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:t(95169,e.DiagnosticCategory.Message,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:t(18004,e.DiagnosticCategory.Error,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:t(18006,e.DiagnosticCategory.Error,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:t(18007,e.DiagnosticCategory.Error,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:t(18009,e.DiagnosticCategory.Error,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:t(18010,e.DiagnosticCategory.Error,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:t(18011,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:t(18012,e.DiagnosticCategory.Error,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:t(18013,e.DiagnosticCategory.Error,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:t(18014,e.DiagnosticCategory.Error,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:t(18015,e.DiagnosticCategory.Error,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:t(18016,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:t(18017,e.DiagnosticCategory.Error,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:t(18018,e.DiagnosticCategory.Error,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:t(18019,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:t(18024,e.DiagnosticCategory.Error,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:t(18026,e.DiagnosticCategory.Error,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:t(18027,e.DiagnosticCategory.Error,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:t(18028,e.DiagnosticCategory.Error,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:t(18029,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:t(18030,e.DiagnosticCategory.Error,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:t(18031,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:t(18032,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:t(18033,e.DiagnosticCategory.Error,"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033","Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:t(18034,e.DiagnosticCategory.Message,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:t(18035,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:t(18036,e.DiagnosticCategory.Error,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:t(18037,e.DiagnosticCategory.Error,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:t(18038,e.DiagnosticCategory.Error,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:t(18039,e.DiagnosticCategory.Error,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:t(18041,e.DiagnosticCategory.Error,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block.")}}(c||(c={})),function(e){var t;function r(e){return e>=79}e.tokenIsIdentifierOrKeyword=r,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 31===e||r(e)},e.textToKeywordObj=((t={abstract:126,any:130,as:127,asserts:128,assert:129,bigint:157,boolean:133,break:81,case:82,catch:83,class:84,continue:86,const:85}).constructor=134,t.debugger=87,t.declare=135,t.default=88,t.delete=89,t.do=90,t.else=91,t.enum=92,t.export=93,t.extends=94,t.false=95,t.finally=96,t.for=97,t.from=155,t.function=98,t.get=136,t.if=99,t.implements=117,t.import=100,t.in=101,t.infer=137,t.instanceof=102,t.interface=118,t.intrinsic=138,t.is=139,t.keyof=140,t.let=119,t.module=141,t.namespace=142,t.never=143,t.new=103,t.null=104,t.number=146,t.object=147,t.package=120,t.private=121,t.protected=122,t.public=123,t.override=158,t.readonly=144,t.require=145,t.global=156,t.return=105,t.set=148,t.static=124,t.string=149,t.super=106,t.switch=107,t.symbol=150,t.this=108,t.throw=109,t.true=110,t.try=111,t.type=151,t.typeof=112,t.undefined=152,t.unique=153,t.unknown=154,t.var=113,t.void=114,t.while=115,t.with=116,t.yield=125,t.async=131,t.await=132,t.of=159,t);var i=new e.Map(e.getEntries(e.textToKeywordObj)),a=new e.Map(e.getEntries(n(n({},e.textToKeywordObj),{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),o=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],c=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],l=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],d=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],_=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,p=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/;function f(e,t){if(e=2?l:1===t?c:o)}e.isUnicodeIdentifierStart=g;var m,y=(m=[],a.forEach((function(e,t){m[e]=t})),m);function v(e){for(var t=new Array,r=0,n=0;r127&&C(i)&&(t.push(n),n=r)}}return t.push(n),t}function h(t,r,n,i,a){(r<0||r>=t.length)&&(a?r=r<0?0:r>=t.length?t.length-1:r:e.Debug.fail("Bad line number. Line: ".concat(r,", lineStarts.length: ").concat(t.length," , line map is correct? ").concat(void 0!==i?e.arraysEqual(t,v(i)):"unknown")));var o=t[r]+n;return a?o>t[r+1]?t[r+1]:"string"==typeof i&&o>i.length?i.length:o:(r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function C(e){return 10===e||13===e||8232===e||8233===e}function E(e){return e>=48&&e<=57}function k(e){return E(e)||e>=65&&e<=70||e>=97&&e<=102}function A(e){return e>=48&&e<=55}e.tokenToString=function(e){return y[e]},e.stringToToken=function(e){return a.get(e)},e.computeLineStarts=v,e.getPositionOfLineAndCharacter=function(e,t,r,n){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,n):h(D(e),t,r,e.text,n)},e.computePositionOfLineAndCharacter=h,e.getLineStarts=D,e.computeLineAndCharacterOfPosition=x,e.computeLineOfPosition=b,e.getLinesBetweenPositions=function(e,t,r){if(t===r)return 0;var n=D(e),i=Math.min(t,r),a=i===r,o=a?t:r,s=b(n,i),c=b(n,o,s);return a?s-c:c-s},e.getLineAndCharacterOfPosition=function(e,t){return x(D(e),t)},e.isWhiteSpaceLike=S,e.isWhiteSpaceSingleLine=T,e.isLineBreak=C,e.isOctalDigit=A,e.couldStartTrivia=function(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return r>127}},e.skipTrivia=function(t,r,n,i,a){if(e.positionIsSynthesized(r))return r;for(var o=!1;;){var s=t.charCodeAt(r);switch(s){case 13:10===t.charCodeAt(r+1)&&r++;case 10:if(r++,n)return r;o=!!a;continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i)break;if(47===t.charCodeAt(r+1)){for(r+=2;r127&&S(s)){r++;continue}}return r}};var F="<<<<<<<".length;function N(t,r){if(e.Debug.assert(r>=0),0===r||C(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+F=0&&r127&&S(g)){d&&C(g)&&(l=!0),r++;continue}break e}}return d&&(p=i(s,c,u,l,a,p)),p}function L(e,t,r,n,i){return M(!0,e,t,!1,r,n,i)}function R(e,t,r,n,i){return M(!0,e,t,!0,r,n,i)}function B(e,t,r,n,i,a){return a||(a=[]),a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n}),a}function j(e){var t=w.exec(e);if(t)return t[0]}function J(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&g(e,t)}function K(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||1===r&&(45===e||58===e)||e>127&&function(e,t){return f(e,t>=2?d:1===t?u:s)}(e,t)}e.isShebangTrivia=I,e.scanShebangTrivia=O,e.forEachLeadingCommentRange=function(e,t,r,n){return M(!1,e,t,!1,r,n)},e.forEachTrailingCommentRange=function(e,t,r,n){return M(!1,e,t,!0,r,n)},e.reduceEachLeadingCommentRange=L,e.reduceEachTrailingCommentRange=R,e.getLeadingCommentRanges=function(e,t){return L(e,t,B,void 0,void 0)},e.getTrailingCommentRanges=function(e,t){return R(e,t,B,void 0,void 0)},e.getShebang=j,e.isIdentifierStart=J,e.isIdentifierPart=K,e.isIdentifierText=function(e,t,r){var n=z(e,0);if(!J(n,t))return!1;for(var i=U(n);i116},isReservedWord:function(){return m>=81&&m<=116},isUnterminated:function(){return 0!=(4&v)},getCommentDirectives:function(){return h},getNumericLiteralFlags:function(){return 1008&v},getTokenFlags:function(){return v},reScanGreaterToken:function(){if(31===m){if(62===D.charCodeAt(l))return 62===D.charCodeAt(l+1)?61===D.charCodeAt(l+2)?(l+=3,m=72):(l+=2,m=49):61===D.charCodeAt(l+1)?(l+=2,m=71):(l++,m=48);if(61===D.charCodeAt(l))return l++,m=33}return m},reScanAsteriskEqualsToken:function(){return e.Debug.assert(66===m,"'reScanAsteriskEqualsToken' should only be called on a '*='"),l=g+1,m=63},reScanSlashToken:function(){if(43===m||68===m){for(var r=g+1,n=!1,i=!1;;){if(r>=d){v|=4,F(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=D.charCodeAt(r);if(C(a)){v|=4,F(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=!1;else{if(47===a&&!i){r++;break}91===a?i=!0:92===a?n=!0:93===a&&(i=!1)}r++}for(;r=d)return m=1;var e=z(D,l);switch(l+=U(e),e){case 9:case 11:case 12:case 32:for(;l=0&&J(r,t))return l+=3,v|=8,y=X()+Z(),m=ee();var n=Q();return n>=0&&J(n,t)?(l+=6,v|=1024,y=String.fromCharCode(n)+Z(),m=ee()):(l++,m=0)}if(J(e,t)){for(var i=e;l=65&&s<=70)s+=32;else if(!(s>=48&&s<=57||s>=97&&s<=102))break;i.push(s),l++,o=!1}}return i.length=d){n+=D.substring(i,l),v|=4,F(e.Diagnostics.Unterminated_string_literal);break}var a=D.charCodeAt(l);if(a===r){n+=D.substring(i,l),l++;break}if(92!==a||t){if(C(a)&&!t){n+=D.substring(i,l),v|=4,F(e.Diagnostics.Unterminated_string_literal);break}l++}else n+=D.substring(i,l),n+=G(),i=l}return n}function H(t){for(var r,n=96===D.charCodeAt(l),i=++l,a="";;){if(l>=d){a+=D.substring(i,l),v|=4,F(e.Diagnostics.Unterminated_template_literal),r=n?14:17;break}var o=D.charCodeAt(l);if(96===o){a+=D.substring(i,l),l++,r=n?14:17;break}if(36===o&&l+1=d)return F(e.Diagnostics.Unexpected_end_of_text),"";var n=D.charCodeAt(l);switch(l++,n){case 48:return t&&l=0?String.fromCharCode(r):(F(e.Diagnostics.Hexadecimal_digit_expected),"")}function X(){var t=j(1,!1),r=t?parseInt(t,16):-1,n=!1;return r<0?(F(e.Diagnostics.Hexadecimal_digit_expected),n=!0):r>1114111&&(F(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),l>=d?(F(e.Diagnostics.Unexpected_end_of_text),n=!0):125===D.charCodeAt(l)?l++:(F(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":q(r)}function Q(){if(l+5=2&&117===z(D,l+1)&&123===z(D,l+2)){var e=l;l+=3;var r=j(1,!1),n=r?parseInt(r,16):-1;return l=e,n}return-1}function Z(){for(var e="",r=l;l=0&&K(n,t)){l+=3,v|=8,e+=X(),r=l;continue}if(!((n=Q())>=0&&K(n,t)))break;v|=1024,e+=D.substring(r,l),e+=q(n),r=l+=6}}return e+=D.substring(r,l)}function ee(){var e=y.length;if(e>=2&&e<=12){var t=y.charCodeAt(0);if(t>=97&&t<=122){var r=i.get(y);if(void 0!==r)return m=r}}return m=79}function te(t){for(var r="",n=!1,i=!1;;){var a=D.charCodeAt(l);if(95!==a){if(n=!0,!E(a)||a-48>=t)break;r+=D[l],l++,i=!1}else v|=512,n?(n=!1,i=!0):F(i?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),l++}return 95===D.charCodeAt(l-1)&&F(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),r}function re(){if(110===D.charCodeAt(l))return y+="n",384&v&&(y=e.parsePseudoBigInt(y)+"n"),l++,9;var t=128&v?parseInt(y.slice(2),2):256&v?parseInt(y.slice(2),8):+y;return y=""+t,8}function ne(){var r;f=l,v=0;for(var i=!1;;){if(g=l,l>=d)return m=1;var o=z(D,l);if(35===o&&0===l&&I(D,l)){if(l=O(D,l),n)continue;return m=6}switch(o){case 10:case 13:if(v|=1,n){l++;continue}return 13===o&&l+1=0&&J(b,t))return l+=3,v|=8,y=X()+Z(),m=ee();var S=Q();return S>=0&&J(S,t)?(l+=6,v|=1024,y=String.fromCharCode(S)+Z(),m=ee()):(F(e.Diagnostics.Invalid_character),l++,m=0);case 35:return 0!==l&&"!"===D[l+1]?(F(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),l++,m=0):(J(z(D,l+1),t)?(l++,ie(z(D,l),t)):(y=String.fromCharCode(z(D,l)),F(e.Diagnostics.Invalid_character,l++,U(o))),m=80);default:var k=ie(o,t);if(k)return m=k;if(T(o)){l+=U(o);continue}if(C(o)){v|=1,l+=U(o);continue}var w=U(o);return F(e.Diagnostics.Invalid_character,l,w),l+=w,m=0}}}function ie(e,t){var r=e;if(J(r,t)){for(l+=U(r);l=d)return m=1;var r=D.charCodeAt(l);if(60===r)return 47===D.charCodeAt(l+1)?(l+=2,m=30):(l++,m=29);if(123===r)return l++,m=18;for(var n=0;l0)break;S(r)||(n=l)}l++}return y=D.substring(f,l),-1===n?12:11}function se(){switch(f=l,D.charCodeAt(l)){case 34:case 39:return y=W(!0),m=10;default:return ne()}}function ce(e,t){var r=l,n=f,i=g,a=m,o=y,s=v,c=e();return c&&!t||(l=r,f=n,g=i,m=a,y=o,v=s),c}function ue(e,t,r){D=e||"",d=void 0===r?D.length:t+r,le(t||0)}function le(t){e.Debug.assert(t>=0),l=t,f=t,g=t,m=0,y=void 0,v=0}};var z=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){var r=e.length;if(!(t<0||t>=r)){var n=e.charCodeAt(t);if(n>=55296&&n<=56319&&r>t+1){var i=e.charCodeAt(t+1);if(i>=56320&&i<=57343)return 1024*(n-55296)+i-56320+65536}return n}};function U(e){return e>=65536?2:1}var V=String.fromCodePoint?function(e){return String.fromCodePoint(e)}:function(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296,n=(t-65536)%1024+56320;return String.fromCharCode(r,n)};function q(e){return V(e)}e.utf16EncodeAsString=q}(c||(c={})),function(e){function t(e){return e.start+e.length}function r(e){return 0===e.length}function n(e,t){var r=a(e,t);return r&&0===r.length?void 0:r}function i(e,t,r,n){return r<=e+t&&r+n>=e}function a(e,r){var n=Math.max(e.start,r.start),i=Math.min(t(e),t(r));return n<=i?s(n,i):void 0}function o(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function s(e,t){return o(e,t-e)}function c(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function u(t){return!!$(t)&&e.every(t.elements,l)}function l(t){return!!e.isOmittedExpression(t)||u(t.name)}function d(t){for(var r=t.parent;e.isBindingElement(r.parent);)r=r.parent.parent;return r.parent}function _(t,r){e.isBindingElement(t)&&(t=d(t));var n=r(t);return 253===t.kind&&(t=t.parent),t&&254===t.kind&&(n|=r(t),t=t.parent),t&&236===t.kind&&(n|=r(t)),n}function p(e){return 0==(8&e.flags)}function f(e){var t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function g(e){return f(e.escapedText)}function m(t){var r=t.parent.parent;if(r){if(se(r))return y(r);switch(r.kind){case 236:if(r.declarationList&&r.declarationList.declarations[0])return y(r.declarationList.declarations[0]);break;case 237:var n=r.expression;switch(220===n.kind&&63===n.operatorToken.kind&&(n=n.left),n.kind){case 205:return n.name;case 206:var i=n.argumentExpression;if(e.isIdentifier(i))return i}break;case 211:return y(r.expression);case 249:if(se(r.statement)||ne(r.statement))return y(r.statement)}}}function y(t){var r=x(t);return r&&e.isIdentifier(r)?r:void 0}function v(e){return e.name||m(e)}function h(e){return!!e.name}function D(t){switch(t.kind){case 79:return t;case 345:case 338:var r=t.name;if(160===r.kind)return r.right;break;case 207:case 220:var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(n.left);case 7:case 8:case 9:return n.arguments[1];default:return}case 343:return v(t);case 337:return m(t);case 270:var i=t.expression;return e.isIdentifier(i)?i:void 0;case 206:var a=t;if(e.isBindableStaticElementAccessExpression(a))return a.argumentExpression}return t.name}function x(t){if(void 0!==t)return D(t)||(e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isClassExpression(t)?b(t):void 0)}function b(t){if(t.parent){if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent))return t.parent.name;if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left))return t.parent.left;if(e.isAccessExpression(t.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(t.parent.left)}else if(e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name))return t.parent.name}}function S(t,r){if(t.name){if(e.isIdentifier(t.name)){var n=t.name.escapedText;return F(t.parent,r).filter((function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===n}))}var i=t.parent.parameters.indexOf(t);e.Debug.assert(i>-1,"Parameters should always be in their parents' parameter list");var a=F(t.parent,r).filter(e.isJSDocParameterTag);if(i=160}function B(e){return e>=0&&e<=159}function j(e){return 8<=e&&e<=14}function J(e){return 14<=e&&e<=17}function K(t){return(e.isPropertyDeclaration(t)||Y(t))&&e.isPrivateIdentifier(t.name)}function z(e){switch(e){case 126:case 131:case 85:case 135:case 88:case 93:case 123:case 121:case 122:case 144:case 124:case 158:return!0}return!1}function U(t){return!!(16476&e.modifierToFlag(t))}function V(e){return!!e&&W(e.kind)}function q(e){switch(e){case 255:case 168:case 170:case 171:case 172:case 212:case 213:return!0;default:return!1}}function W(e){switch(e){case 167:case 173:case 321:case 174:case 175:case 178:case 315:case 179:return!0;default:return q(e)}}function H(e){var t=e.kind;return 170===t||166===t||168===t||171===t||172===t||175===t||169===t||233===t}function G(e){return e&&(256===e.kind||225===e.kind)}function Y(e){switch(e.kind){case 168:case 171:case 172:return!0;default:return!1}}function X(e){var t=e.kind;return 174===t||173===t||165===t||167===t||175===t}function Q(e){var t=e.kind;return 294===t||295===t||296===t||168===t||171===t||172===t}function $(e){if(e){var t=e.kind;return 201===t||200===t}return!1}function Z(e){switch(e.kind){case 200:case 204:return!0}return!1}function ee(e){switch(e.kind){case 201:case 203:return!0}return!1}function te(e){switch(e){case 205:case 206:case 208:case 207:case 277:case 278:case 281:case 209:case 203:case 211:case 204:case 225:case 212:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 222:case 95:case 104:case 108:case 110:case 106:case 229:case 230:case 100:return!0;default:return!1}}function re(e){switch(e){case 218:case 219:case 214:case 215:case 216:case 217:case 210:return!0;default:return te(e)}}function ne(e){return function(e){switch(e){case 221:case 223:case 213:case 220:case 224:case 228:case 226:case 349:case 348:return!0;default:return re(e)}}(M(e).kind)}function ie(t){return e.isExportAssignment(t)||e.isExportDeclaration(t)}function ae(e){return 255===e||275===e||256===e||257===e||258===e||259===e||260===e||265===e||264===e||271===e||270===e||263===e}function oe(e){return 245===e||244===e||252===e||239===e||237===e||235===e||242===e||243===e||241===e||238===e||249===e||246===e||248===e||250===e||251===e||236===e||240===e||247===e||347===e||351===e||350===e}function se(t){return 162===t.kind?t.parent&&342!==t.parent.kind||e.isInJSFile(t):213===(r=t.kind)||202===r||256===r||225===r||169===r||170===r||259===r||297===r||274===r||255===r||212===r||171===r||266===r||264===r||269===r||257===r||284===r||168===r||167===r||260===r||263===r||267===r||273===r||163===r||294===r||166===r||165===r||172===r||295===r||258===r||162===r||253===r||343===r||336===r||345===r;var r}function ce(e){return e.kind>=325&&e.kind<=345}e.isExternalModuleNameRelative=function(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)},e.sortAndDeduplicateDiagnostics=function(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)},e.getDefaultLibFileName=function(t){switch(e.getEmitScriptTarget(t)){case 99:return"lib.esnext.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}},e.textSpanEnd=t,e.textSpanIsEmpty=r,e.textSpanContainsPosition=function(e,r){return r>=e.start&&r=e.pos&&t<=e.end},e.textSpanContainsTextSpan=function(e,r){return r.start>=e.start&&t(r)<=t(e)},e.textSpanOverlapsWith=function(e,t){return void 0!==n(e,t)},e.textSpanOverlap=n,e.textSpanIntersectsWithTextSpan=function(e,t){return i(e.start,e.length,t.start,t.length)},e.textSpanIntersectsWith=function(e,t,r){return i(e.start,e.length,t,r)},e.decodedTextSpanIntersectsWith=i,e.textSpanIntersectsWithPosition=function(e,r){return r<=t(e)&&r>=e.start},e.textSpanIntersection=a,e.createTextSpan=o,e.createTextSpanFromBounds=s,e.textChangeRangeNewSpan=function(e){return o(e.span.start,e.newLength)},e.textChangeRangeIsUnchanged=function(e){return r(e.span)&&0===e.newLength},e.createTextChangeRange=c,e.unchangedTextChangeRange=c(o(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(r){if(0===r.length)return e.unchangedTextChangeRange;if(1===r.length)return r[0];for(var n=r[0],i=n.span.start,a=t(n.span),o=i+n.newLength,u=1;u=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e},e.unescapeLeadingUnderscores=f,e.idText=g,e.symbolName=function(e){return e.valueDeclaration&&K(e.valueDeclaration)?g(e.valueDeclaration.name):f(e.escapedName)},e.nodeHasName=function t(r,n){return!(!h(r)||!e.isIdentifier(r.name)||g(r.name)!==g(n))||!(!e.isVariableStatement(r)||!e.some(r.declarationList.declarations,(function(e){return t(e,n)})))},e.getNameOfJSDocTypedef=v,e.isNamedDeclaration=h,e.getNonAssignedNameOfDeclaration=D,e.getNameOfDeclaration=x,e.getAssignedName=b,e.getJSDocParameterTags=T,e.getJSDocParameterTagsNoCache=function(e){return S(e,!0)},e.getJSDocTypeParameterTags=function(e){return C(e,!1)},e.getJSDocTypeParameterTagsNoCache=function(e){return C(e,!0)},e.hasJSDocParameterTags=function(t){return!!P(t,e.isJSDocParameterTag)},e.getJSDocAugmentsTag=function(t){return P(t,e.isJSDocAugmentsTag)},e.getJSDocImplementsTags=function(t){return w(t,e.isJSDocImplementsTag)},e.getJSDocClassTag=function(t){return P(t,e.isJSDocClassTag)},e.getJSDocPublicTag=function(t){return P(t,e.isJSDocPublicTag)},e.getJSDocPublicTagNoCache=function(t){return P(t,e.isJSDocPublicTag,!0)},e.getJSDocPrivateTag=function(t){return P(t,e.isJSDocPrivateTag)},e.getJSDocPrivateTagNoCache=function(t){return P(t,e.isJSDocPrivateTag,!0)},e.getJSDocProtectedTag=function(t){return P(t,e.isJSDocProtectedTag)},e.getJSDocProtectedTagNoCache=function(t){return P(t,e.isJSDocProtectedTag,!0)},e.getJSDocReadonlyTag=function(t){return P(t,e.isJSDocReadonlyTag)},e.getJSDocReadonlyTagNoCache=function(t){return P(t,e.isJSDocReadonlyTag,!0)},e.getJSDocOverrideTagNoCache=function(t){return P(t,e.isJSDocOverrideTag,!0)},e.getJSDocDeprecatedTag=function(t){return P(t,e.isJSDocDeprecatedTag)},e.getJSDocDeprecatedTagNoCache=function(t){return P(t,e.isJSDocDeprecatedTag,!0)},e.getJSDocEnumTag=function(t){return P(t,e.isJSDocEnumTag)},e.getJSDocThisTag=function(t){return P(t,e.isJSDocThisTag)},e.getJSDocReturnTag=E,e.getJSDocTemplateTag=function(t){return P(t,e.isJSDocTemplateTag)},e.getJSDocTypeTag=k,e.getJSDocType=A,e.getJSDocReturnType=function(t){var r=E(t);if(r&&r.typeExpression)return r.typeExpression.type;var n=k(t);if(n&&n.typeExpression){var i=n.typeExpression.type;if(e.isTypeLiteralNode(i)){var a=e.find(i.members,e.isCallSignatureDeclaration);return a&&a.type}if(e.isFunctionTypeNode(i)||e.isJSDocFunctionType(i))return i.type}},e.getJSDocTags=N,e.getJSDocTagsNoCache=function(e){return F(e,!0)},e.getAllJSDocTags=w,e.getAllJSDocTagsOfKind=function(e,t){return N(e).filter((function(e){return e.kind===t}))},e.getTextOfJSDocComment=function(t){return"string"==typeof t?t:null==t?void 0:t.map((function(t){return 319===t.kind?t.text:"{@link ".concat(t.name?e.entityNameToString(t.name)+" ":"").concat(t.text,"}")})).join("")},e.getEffectiveTypeParameterDeclarations=function(t){if(e.isJSDocSignature(t))return e.emptyArray;if(e.isJSDocTypeAlias(t))return e.Debug.assert(318===t.parent.kind),e.flatMap(t.parent.tags,(function(t){return e.isJSDocTemplateTag(t)?t.typeParameters:void 0}));if(t.typeParameters)return t.typeParameters;if(e.isInJSFile(t)){var r=e.getJSDocTypeParameterDeclarations(t);if(r.length)return r;var n=A(t);if(n&&e.isFunctionTypeNode(n)&&n.typeParameters)return n.typeParameters}return e.emptyArray},e.getEffectiveConstraintOfTypeParameter=function(t){return t.constraint?t.constraint:e.isJSDocTemplateTag(t.parent)&&t===t.parent.typeParameters[0]?t.parent.constraint:void 0},e.isMemberName=function(e){return 79===e.kind||80===e.kind},e.isGetOrSetAccessorDeclaration=function(e){return 172===e.kind||171===e.kind},e.isPropertyAccessChain=function(t){return e.isPropertyAccessExpression(t)&&!!(32&t.flags)},e.isElementAccessChain=function(t){return e.isElementAccessExpression(t)&&!!(32&t.flags)},e.isCallChain=function(t){return e.isCallExpression(t)&&!!(32&t.flags)},e.isOptionalChain=I,e.isOptionalChainRoot=O,e.isExpressionOfOptionalChainRoot=function(e){return O(e.parent)&&e.parent.expression===e},e.isOutermostOptionalChain=function(e){return!I(e.parent)||O(e.parent)||e!==e.parent.expression},e.isNullishCoalesce=function(e){return 220===e.kind&&60===e.operatorToken.kind},e.isConstTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"const"===t.typeName.escapedText&&!t.typeArguments},e.skipPartiallyEmittedExpressions=M,e.isNonNullChain=function(t){return e.isNonNullExpression(t)&&!!(32&t.flags)},e.isBreakOrContinueStatement=function(e){return 245===e.kind||244===e.kind},e.isNamedExportBindings=function(e){return 273===e.kind||272===e.kind},e.isUnparsedTextLike=L,e.isUnparsedNode=function(e){return L(e)||298===e.kind||302===e.kind},e.isJSDocPropertyLikeTag=function(e){return 345===e.kind||338===e.kind},e.isNode=function(e){return R(e.kind)},e.isNodeKind=R,e.isTokenKind=B,e.isToken=function(e){return B(e.kind)},e.isNodeArray=function(e){return e.hasOwnProperty("pos")&&e.hasOwnProperty("end")},e.isLiteralKind=j,e.isLiteralExpression=function(e){return j(e.kind)},e.isTemplateLiteralKind=J,e.isTemplateLiteralToken=function(e){return J(e.kind)},e.isTemplateMiddleOrTemplateTail=function(e){var t=e.kind;return 16===t||17===t},e.isImportOrExportSpecifier=function(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)},e.isTypeOnlyImportOrExportDeclaration=function(e){switch(e.kind){case 269:case 274:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 267:return e.parent.isTypeOnly;case 266:case 264:return e.isTypeOnly;default:return!1}},e.isAssertionKey=function(t){return e.isStringLiteral(t)||e.isIdentifier(t)},e.isStringTextContainingNode=function(e){return 10===e.kind||J(e.kind)},e.isGeneratedIdentifier=function(t){return e.isIdentifier(t)&&(7&t.autoGenerateFlags)>0},e.isPrivateIdentifierClassElementDeclaration=K,e.isPrivateIdentifierPropertyAccessExpression=function(t){return e.isPropertyAccessExpression(t)&&e.isPrivateIdentifier(t.name)},e.isModifierKind=z,e.isParameterPropertyModifier=U,e.isClassMemberModifier=function(e){return U(e)||124===e||158===e},e.isModifier=function(e){return z(e.kind)},e.isEntityName=function(e){var t=e.kind;return 160===t||79===t},e.isPropertyName=function(e){var t=e.kind;return 79===t||80===t||10===t||8===t||161===t},e.isBindingName=function(e){var t=e.kind;return 79===t||200===t||201===t},e.isFunctionLike=V,e.isFunctionLikeOrClassStaticBlockDeclaration=function(t){return!!t&&(W(t.kind)||e.isClassStaticBlockDeclaration(t))},e.isFunctionLikeDeclaration=function(e){return e&&q(e.kind)},e.isBooleanLiteral=function(e){return 110===e.kind||95===e.kind},e.isFunctionLikeKind=W,e.isFunctionOrModuleBlock=function(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&V(t.parent)},e.isClassElement=H,e.isClassLike=G,e.isAccessor=function(e){return e&&(171===e.kind||172===e.kind)},e.isMethodOrAccessor=Y,e.isTypeElement=X,e.isClassOrTypeElement=function(e){return X(e)||H(e)},e.isObjectLiteralElementLike=Q,e.isTypeNode=function(t){return e.isTypeNodeKind(t.kind)},e.isFunctionOrConstructorTypeNode=function(e){switch(e.kind){case 178:case 179:return!0}return!1},e.isBindingPattern=$,e.isAssignmentPattern=function(e){var t=e.kind;return 203===t||204===t},e.isArrayBindingElement=function(e){var t=e.kind;return 202===t||226===t},e.isDeclarationBindingElement=function(e){switch(e.kind){case 253:case 163:case 202:return!0}return!1},e.isBindingOrAssignmentPattern=function(e){return Z(e)||ee(e)},e.isObjectBindingOrAssignmentPattern=Z,e.isObjectBindingOrAssignmentElement=function(e){switch(e.kind){case 202:case 294:case 295:case 296:return!0}return!1},e.isArrayBindingOrAssignmentPattern=ee,e.isPropertyAccessOrQualifiedNameOrImportTypeNode=function(e){var t=e.kind;return 205===t||160===t||199===t},e.isPropertyAccessOrQualifiedName=function(e){var t=e.kind;return 205===t||160===t},e.isCallLikeExpression=function(e){switch(e.kind){case 279:case 278:case 207:case 208:case 209:case 164:return!0;default:return!1}},e.isCallOrNewExpression=function(e){return 207===e.kind||208===e.kind},e.isTemplateLiteral=function(e){var t=e.kind;return 222===t||14===t},e.isLeftHandSideExpression=function(e){return te(M(e).kind)},e.isUnaryExpression=function(e){return re(M(e).kind)},e.isUnaryExpressionWithWrite=function(e){switch(e.kind){case 219:return!0;case 218:return 45===e.operator||46===e.operator;default:return!1}},e.isExpression=ne,e.isAssertionExpression=function(e){var t=e.kind;return 210===t||228===t},e.isNotEmittedOrPartiallyEmittedNode=function(t){return e.isNotEmittedStatement(t)||e.isPartiallyEmittedExpression(t)},e.isIterationStatement=function e(t,r){switch(t.kind){case 241:case 242:case 243:case 239:case 240:return!0;case 249:return r&&e(t.statement,r)}return!1},e.isScopeMarker=ie,e.hasScopeMarker=function(t){return e.some(t,ie)},e.needsScopeMarker=function(t){return!(e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)||e.isAmbientModule(t))},e.isExternalModuleIndicator=function(t){return e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)},e.isForInOrOfStatement=function(e){return 242===e.kind||243===e.kind},e.isConciseBody=function(t){return e.isBlock(t)||ne(t)},e.isFunctionBody=function(t){return e.isBlock(t)},e.isForInitializer=function(t){return e.isVariableDeclarationList(t)||ne(t)},e.isModuleBody=function(e){var t=e.kind;return 261===t||260===t||79===t},e.isNamespaceBody=function(e){var t=e.kind;return 261===t||260===t},e.isJSDocNamespaceBody=function(e){var t=e.kind;return 79===t||260===t},e.isNamedImportBindings=function(e){var t=e.kind;return 268===t||267===t},e.isModuleOrEnumDeclaration=function(e){return 260===e.kind||259===e.kind},e.isDeclaration=se,e.isDeclarationStatement=function(e){return ae(e.kind)},e.isStatementButNotDeclaration=function(e){return oe(e.kind)},e.isStatement=function(t){var r=t.kind;return oe(r)||ae(r)||function(t){if(234!==t.kind)return!1;if(void 0!==t.parent&&(251===t.parent.kind||291===t.parent.kind))return!1;return!e.isFunctionBlock(t)}(t)},e.isStatementOrBlock=function(e){var t=e.kind;return oe(t)||ae(t)||234===t},e.isModuleReference=function(e){var t=e.kind;return 276===t||160===t||79===t},e.isJsxTagNameExpression=function(e){var t=e.kind;return 108===t||79===t||205===t},e.isJsxChild=function(e){var t=e.kind;return 277===t||287===t||278===t||11===t||281===t},e.isJsxAttributeLike=function(e){var t=e.kind;return 284===t||286===t},e.isStringLiteralOrJsxExpression=function(e){var t=e.kind;return 10===t||287===t},e.isJsxOpeningLikeElement=function(e){var t=e.kind;return 279===t||278===t},e.isCaseOrDefaultClause=function(e){var t=e.kind;return 288===t||289===t},e.isJSDocNode=function(e){return e.kind>=307&&e.kind<=345},e.isJSDocCommentContainingNode=function(t){return 318===t.kind||317===t.kind||319===t.kind||le(t)||ce(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)},e.isJSDocTag=ce,e.isSetAccessor=function(e){return 172===e.kind},e.isGetAccessor=function(e){return 171===e.kind},e.hasJSDocNodes=function(e){var t=e.jsDoc;return!!t&&t.length>0},e.hasType=function(e){return!!e.type},e.hasInitializer=function(e){return!!e.initializer},e.hasOnlyExpressionInitializer=function(e){switch(e.kind){case 253:case 163:case 202:case 165:case 166:case 294:case 297:return!0;default:return!1}},e.isObjectLiteralElement=function(e){return 284===e.kind||286===e.kind||Q(e)},e.isTypeReferenceType=function(e){return 177===e.kind||227===e.kind};var ue=1073741823;function le(e){return 322===e.kind||323===e.kind||324===e.kind}e.guessIndentation=function(t){for(var r=ue,n=0,i=t;n=0);var n=e.getLineStarts(r),i=t,a=r.text;if(i+1===n.length)return a.length-1;var o=n[i],s=n[i+1]-1;for(e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));o<=s&&e.isLineBreak(a.charCodeAt(s));)s--;return s}function p(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function f(e){return!p(e)}function g(e,t,n){if(void 0===t||0===t.length)return e;for(var i=0;i0?h(t._children[0],r,n):e.skipTrivia((r||d(t)).text,t.pos,!1,!1,Se(t))}function D(e,t,r){return void 0===r&&(r=!1),x(e.text,t,r)}function x(t,r,n){if(void 0===n&&(n=!1),p(r))return"";var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);return function(t){return!!e.findAncestor(t,e.isJSDocTypeExpression)}(r)&&(i=i.split(/\r\n|\n|\r/).map((function(t){return e.trimStringStart(t.replace(/^\s*\*/,""))})).join("\n")),i}function b(e,t){return void 0===t&&(t=!1),D(d(e),e,t)}function S(e){return e.pos}function T(e){var t=e.emitNode;return t&&t.flags||0}function C(e){var t=Ft(e);return 253===t.kind&&291===t.parent.kind}function E(t){return e.isModuleDeclaration(t)&&(10===t.name.kind||A(t))}function k(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}function A(e){return!!(1024&e.flags)}function F(e){return E(e)&&N(e)}function N(t){switch(t.parent.kind){case 303:return e.isExternalModule(t.parent);case 261:return E(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function P(t){var r;return null===(r=t.declarations)||void 0===r?void 0:r.find((function(t){return!(F(t)||e.isModuleDeclaration(t)&&A(t))}))}function w(t,r){switch(t.kind){case 303:case 262:case 291:case 260:case 241:case 242:case 243:case 170:case 168:case 171:case 172:case 255:case 212:case 213:case 166:case 169:return!0;case 234:return!e.isFunctionLikeOrClassStaticBlockDeclaration(r)}return!1}function I(t){switch(t.kind){case 173:case 174:case 167:case 175:case 178:case 179:case 315:case 256:case 225:case 257:case 258:case 342:case 255:case 168:case 170:case 171:case 172:case 212:case 213:return!0;default:return e.assertType(t),!1}}function O(e){switch(e.kind){case 265:case 264:return!0;default:return!1}}function M(t){return O(t)||e.isExportDeclaration(t)}function L(t){return e.findAncestor(t.parent,(function(e){return w(e,e.parent)}))}function R(e){return e&&0!==u(e)?b(e):"(Missing)"}function B(t){switch(t.kind){case 79:case 80:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 161:return bt(t.expression)?e.escapeLeadingUnderscores(t.expression.text):e.Debug.fail("Text of property name cannot be read from non-literal-valued ComputedPropertyNames");default:return e.Debug.assertNever(t)}}function j(t){switch(t.kind){case 108:return"this";case 80:case 79:return 0===u(t)?e.idText(t):b(t);case 160:return j(t.left)+"."+j(t.right);case 205:return e.isIdentifier(t.name)||e.isPrivateIdentifier(t.name)?j(t.expression)+"."+j(t.name):e.Debug.assertNever(t.name);case 309:return j(t.left)+j(t.right);default:return e.Debug.assertNever(t)}}function J(e,t,r,n,i,a,o){var s=V(e,t);return hn(e,s.start,s.length,r,n,i,a,o)}function K(t,r,n){e.Debug.assertGreaterThanOrEqual(r,0),e.Debug.assertGreaterThanOrEqual(n,0),t&&(e.Debug.assertLessThanOrEqual(r,t.text.length),e.Debug.assertLessThanOrEqual(r+n,t.text.length))}function z(e,t,r,n,i){return K(e,t,r),{file:e,start:t,length:r,code:n.code,category:n.category,messageText:n.next?n:n.messageText,relatedInformation:i}}function U(t,r){var n=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}function V(t,r){var n=r;switch(r.kind){case 303:var i=e.skipTrivia(t.text,0,!1);return i===t.text.length?e.createTextSpan(0,0):U(t,i);case 253:case 202:case 256:case 225:case 257:case 260:case 259:case 297:case 255:case 212:case 168:case 171:case 172:case 258:case 166:case 165:case 267:n=r.name;break;case 213:return function(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&234===r.body.kind){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;if(i0?r.statements[0].pos:r.end;return e.createTextSpanFromBounds(a,o)}if(void 0===n)return U(t,r.pos);e.Debug.assert(!e.isJSDoc(n));var s=p(n),c=s||e.isJsxText(r)?n.pos:e.skipTrivia(t.text,n.pos);return s?(e.Debug.assert(c===n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c===n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(e.Debug.assert(c>=n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c<=n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),e.createTextSpanFromBounds(c,n.end)}function q(e){return 6===e.scriptKind}function W(t){return!!(2&e.getCombinedNodeFlags(t))}function H(e){return 207===e.kind&&100===e.expression.kind}function G(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}function Y(e){return 237===e.kind&&10===e.expression.kind}function X(e){return!!(1048576&T(e))}function Q(t){return e.isIdentifier(t.name)&&!t.initializer}e.changesAffectModuleResolution=function(e,t){return e.configFilePath!==t.configFilePath||s(e,t)},e.optionsHaveModuleResolutionChanges=s,e.changesAffectingProgramStructure=function(t,r){return c(t,r,e.optionsAffectingProgramStructure)},e.optionsHaveChanges=c,e.forEachAncestor=function(t,r){for(;;){var n=r(t);if("quit"===n)return;if(void 0!==n)return n;if(e.isSourceFile(t))return;t=t.parent}},e.forEachEntry=function(e,t){for(var r=e.entries(),n=r.next();!n.done;n=r.next()){var i=n.value,a=i[0],o=t(i[1],a);if(o)return o}},e.forEachKey=function(e,t){for(var r=e.keys(),n=r.next();!n.done;n=r.next()){var i=t(n.value);if(i)return i}},e.copyEntries=function(e,t){e.forEach((function(e,r){t.set(r,e)}))},e.usingSingleLineStringWriter=function(e){var t=o.getText();try{return e(o),o.getText()}finally{o.clear(),o.writeKeyword(t)}},e.getFullWidth=u,e.getResolvedModule=function(e,t,r){return e&&e.resolvedModules&&e.resolvedModules.get(t,r)},e.setResolvedModule=function(t,r,n,i){t.resolvedModules||(t.resolvedModules=e.createModeAwareCache()),t.resolvedModules.set(r,i,n)},e.setResolvedTypeReferenceDirective=function(t,r,n){t.resolvedTypeReferenceDirectiveNames||(t.resolvedTypeReferenceDirectiveNames=e.createModeAwareCache()),t.resolvedTypeReferenceDirectiveNames.set(r,void 0,n)},e.projectReferenceIsEqualTo=function(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular},e.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&(r=e.packageId,n=t.packageId,r===n||!!r&&!!n&&r.name===n.name&&r.subModuleName===n.subModuleName&&r.version===n.version);var r,n},e.packageIdToString=function(e){var t=e.name,r=e.subModuleName,n=e.version,i=r?"".concat(t,"/").concat(r):t;return"".concat(i,"@").concat(n)},e.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary&&e.originalPath===t.originalPath},e.hasChangesInResolutions=function(t,r,n,i,a){e.Debug.assert(t.length===r.length);for(var o=0;o=0),e.getLineStarts(r)[t]},e.nodePosToString=function(t){var r=d(t),n=e.getLineAndCharacterOfPosition(r,t.pos);return"".concat(r.fileName,"(").concat(n.line+1,",").concat(n.character+1,")")},e.getEndLinePosition=_,e.isFileLevelUniqueName=function(e,t,r){return!(r&&r(t)||e.identifiers.has(t))},e.nodeIsMissing=p,e.nodeIsPresent=f,e.insertStatementsAfterStandardPrologue=function(e,t){return g(e,t,Y)},e.insertStatementsAfterCustomPrologue=function(e,t){return g(e,t,y)},e.insertStatementAfterStandardPrologue=function(e,t){return m(e,t,Y)},e.insertStatementAfterCustomPrologue=function(e,t){return m(e,t,y)},e.isRecognizedTripleSlashComment=function(t,r,n){if(47===t.charCodeAt(r+1)&&r+2=e.ModuleKind.ES2015||!r.noImplicitUseStrict)))},e.isBlockScope=w,e.isDeclarationWithTypeParameters=function(t){switch(t.kind){case 336:case 343:case 321:return!0;default:return e.assertType(t),I(t)}},e.isDeclarationWithTypeParameterChildren=I,e.isAnyImportSyntax=O,e.isLateVisibilityPaintedStatement=function(e){switch(e.kind){case 265:case 264:case 236:case 256:case 255:case 260:case 258:case 257:case 259:return!0;default:return!1}},e.hasPossibleExternalModuleReference=function(t){return M(t)||e.isModuleDeclaration(t)||e.isImportTypeNode(t)||H(t)},e.isAnyImportOrReExport=M,e.getEnclosingBlockScopeContainer=L,e.forEachEnclosingBlockScopeContainer=function(e,t){for(var r=L(e);r;)t(r),r=L(r)},e.declarationNameToString=R,e.getNameFromIndexInfo=function(e){return e.declaration?R(e.declaration.parameters[0].name):void 0},e.isComputedNonLiteralName=function(e){return 161===e.kind&&!bt(e.expression)},e.getTextOfPropertyName=B,e.entityNameToString=j,e.createDiagnosticForNode=function(e,t,r,n,i,a){return J(d(e),e,t,r,n,i,a)},e.createDiagnosticForNodeArray=function(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return hn(t,c,r.end-c,n,i,a,o,s)},e.createDiagnosticForNodeInSourceFile=J,e.createDiagnosticForNodeFromMessageChain=function(e,t,r){var n=d(e),i=V(n,e);return z(n,i.start,i.length,t,r)},e.createFileDiagnosticFromMessageChain=z,e.createDiagnosticForFileFromMessageChain=function(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForRange=function(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}},e.getSpanOfTokenAtPosition=U,e.getErrorSpanForNode=V,e.isExternalOrCommonJsModule=function(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)},e.isJsonSourceFile=q,e.isEnumConst=function(t){return!!(2048&e.getCombinedModifierFlags(t))},e.isDeclarationReadonly=function(t){return!(!(64&e.getCombinedModifierFlags(t))||e.isParameterPropertyDeclaration(t,t.parent))},e.isVarConst=W,e.isLet=function(t){return!!(1&e.getCombinedNodeFlags(t))},e.isSuperCall=function(e){return 207===e.kind&&106===e.expression.kind},e.isImportCall=H,e.isImportMeta=function(t){return e.isMetaProperty(t)&&100===t.keywordToken&&"meta"===t.name.escapedText},e.isLiteralImportTypeNode=G,e.isPrologueDirective=Y,e.isCustomPrologue=X,e.isHoistedFunction=function(t){return X(t)&&e.isFunctionDeclaration(t)},e.isHoistedVariableStatement=function(t){return X(t)&&e.isVariableStatement(t)&&e.every(t.declarationList.declarations,Q)},e.getLeadingCommentRangesOfNode=function(t,r){return 11!==t.kind?e.getLeadingCommentRanges(r.text,t.pos):void 0},e.getJSDocCommentRanges=function(t,r){var n=163===t.kind||162===t.kind||212===t.kind||213===t.kind||211===t.kind||253===t.kind?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,(function(e){return 42===r.charCodeAt(e.pos+1)&&42===r.charCodeAt(e.pos+2)&&47!==r.charCodeAt(e.pos+3)}))},e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var $=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var Z,ee,te,re,ne=/^(\/\/\/\s*/;function ie(t){if(176<=t.kind&&t.kind<=199)return!0;switch(t.kind){case 130:case 154:case 146:case 157:case 149:case 133:case 150:case 147:case 152:case 143:return!0;case 114:return 216!==t.parent.kind;case 227:return!Kr(t);case 162:return 194===t.parent.kind||189===t.parent.kind;case 79:(160===t.parent.kind&&t.parent.right===t||205===t.parent.kind&&t.parent.name===t)&&(t=t.parent),e.Debug.assert(79===t.kind||160===t.kind||205===t.kind,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 160:case 205:case 108:var r=t.parent;if(180===r.kind)return!1;if(199===r.kind)return!r.isTypeOf;if(176<=r.kind&&r.kind<=199)return!0;switch(r.kind){case 227:return!Kr(r);case 162:case 342:return t===r.constraint;case 166:case 165:case 163:case 253:case 255:case 212:case 213:case 170:case 168:case 167:case 171:case 172:case 173:case 174:case 175:case 210:return t===r.type;case 207:case 208:return e.contains(r.typeArguments,t);case 209:return!1}}return!1}function ae(e){if(e)switch(e.kind){case 202:case 297:case 163:case 294:case 166:case 165:case 295:case 253:return!0}return!1}function oe(e){return 254===e.parent.kind&&236===e.parent.parent.kind}function se(e,t,r){return e.properties.filter((function(e){if(294===e.kind){var n=B(e.name);return t===n||!!r&&r===n}return!1}))}function ce(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}function ue(t,r){var n=ce(t);return n?se(n,r):e.emptyArray}function le(t,r){for(e.Debug.assert(303!==t.kind);;){if(!(t=t.parent))return e.Debug.fail();switch(t.kind){case 161:if(e.isClassLike(t.parent.parent))return t;t=t.parent;break;case 164:163===t.parent.kind&&e.isClassElement(t.parent.parent)?t=t.parent.parent:e.isClassElement(t.parent)&&(t=t.parent);break;case 213:if(!r)continue;case 255:case 212:case 260:case 169:case 166:case 165:case 168:case 167:case 170:case 171:case 172:case 173:case 174:case 175:case 259:case 303:return t}}}function de(e){var t=e.kind;return(205===t||206===t)&&106===e.expression.kind}function _e(t,r,n){if(e.isNamedDeclaration(t)&&e.isPrivateIdentifier(t.name))return!1;switch(t.kind){case 256:return!0;case 166:return 256===r.kind;case 171:case 172:case 168:return void 0!==t.body&&256===r.kind;case 163:return void 0!==r.body&&(170===r.kind||168===r.kind||172===r.kind)&&256===n.kind}return!1}function pe(e,t,r){return void 0!==e.decorators&&_e(e,t,r)}function fe(e,t,r){return pe(e,t,r)||ge(e,t)}function ge(t,r){switch(t.kind){case 256:return e.some(t.members,(function(e){return fe(e,t,r)}));case 168:case 172:case 170:return e.some(t.parameters,(function(e){return pe(e,t,r)}));default:return!1}}function me(e){var t=e.parent;return(279===t.kind||278===t.kind||280===t.kind)&&t.tagName===e}function ye(t){switch(t.kind){case 106:case 104:case 110:case 95:case 13:case 203:case 204:case 205:case 206:case 207:case 208:case 209:case 228:case 210:case 229:case 211:case 212:case 225:case 213:case 216:case 214:case 215:case 218:case 219:case 220:case 221:case 224:case 222:case 226:case 277:case 278:case 281:case 223:case 217:case 230:return!0;case 160:for(;160===t.parent.kind;)t=t.parent;return 180===t.parent.kind||e.isJSDocLinkLike(t.parent)||e.isJSDocNameReference(t.parent)||e.isJSDocMemberName(t.parent)||me(t);case 309:for(;e.isJSDocMemberName(t.parent);)t=t.parent;return 180===t.parent.kind||e.isJSDocLinkLike(t.parent)||e.isJSDocNameReference(t.parent)||e.isJSDocMemberName(t.parent)||me(t);case 80:return e.isBinaryExpression(t.parent)&&t.parent.left===t&&101===t.parent.operatorToken.kind;case 79:if(180===t.parent.kind||e.isJSDocLinkLike(t.parent)||e.isJSDocNameReference(t.parent)||e.isJSDocMemberName(t.parent)||me(t))return!0;case 8:case 9:case 10:case 14:case 108:return ve(t);default:return!1}}function ve(e){var t=e.parent;switch(t.kind){case 253:case 163:case 166:case 165:case 297:case 294:case 202:return t.initializer===e;case 237:case 238:case 239:case 240:case 246:case 247:case 248:case 288:case 250:return t.expression===e;case 241:var r=t;return r.initializer===e&&254!==r.initializer.kind||r.condition===e||r.incrementor===e;case 242:case 243:var n=t;return n.initializer===e&&254!==n.initializer.kind||n.expression===e;case 210:case 228:case 232:case 161:return e===t.expression;case 164:case 287:case 286:case 296:return!0;case 227:return t.expression===e&&Kr(t);case 295:return t.objectAssignmentInitializer===e;default:return ye(t)}}function he(e){for(;160===e.kind||79===e.kind;)e=e.parent;return 180===e.kind}function De(e){return 264===e.kind&&276===e.moduleReference.kind}function xe(e){return be(e)}function be(e){return!!e&&!!(131072&e.flags)}function Se(e){return!!e&&!!(4194304&e.flags)}function Te(t,r){if(207!==t.kind)return!1;var n=t,i=n.expression,a=n.arguments;if(79!==i.kind||"require"!==i.escapedText)return!1;if(1!==a.length)return!1;var o=a[0];return!r||e.isStringLiteralLike(o)}function Ce(t){return 202===t.kind&&(t=t.parent.parent),e.isVariableDeclaration(t)&&!!t.initializer&&Te(sn(t.initializer),!0)}function Ee(t){return e.isBinaryExpression(t)||on(t)||e.isIdentifier(t)||e.isCallExpression(t)}function ke(t){return be(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&(56===t.initializer.operatorToken.kind||60===t.initializer.operatorToken.kind)&&t.name&&zr(t.name)&&Fe(t.name,t.initializer.left)?t.initializer.right:t.initializer}function Ae(t,r){if(e.isCallExpression(t)){var n=lt(t.expression);return 212===n.kind||213===n.kind?t:void 0}return 212===t.kind||225===t.kind||213===t.kind||e.isObjectLiteralExpression(t)&&(0===t.properties.length||r)?t:void 0}function Fe(t,r){if(kt(t)&&kt(r))return At(t)===At(r);if(e.isIdentifier(t)&&Le(r)&&(108===r.expression.kind||e.isIdentifier(r.expression)&&("window"===r.expression.escapedText||"self"===r.expression.escapedText||"global"===r.expression.escapedText))){var n=Ke(r);return e.isPrivateIdentifier(n)&&e.Debug.fail("Unexpected PrivateIdentifier in name expression with literal-like access."),Fe(t,n)}return!(!Le(t)||!Le(r))&&(Ue(t)===Ue(r)&&Fe(t.expression,r.expression))}function Ne(e){for(;Jr(e,!0);)e=e.right;return e}function Pe(t){return e.isIdentifier(t)&&"exports"===t.escapedText}function we(t){return e.isIdentifier(t)&&"module"===t.escapedText}function Ie(t){return(e.isPropertyAccessExpression(t)||Re(t))&&we(t.expression)&&"exports"===Ue(t)}function Oe(t){var r=function(t){if(e.isCallExpression(t)){if(!Me(t))return 0;var r=t.arguments[0];return Pe(r)||Ie(r)?8:Be(r)&&"prototype"===Ue(r)?9:7}if(63!==t.operatorToken.kind||!on(t.left)||function(t){return e.isVoidExpression(t)&&e.isNumericLiteral(t.expression)&&"0"===t.expression.text}(Ne(t)))return 0;if(Je(t.left.expression,!0)&&"prototype"===Ue(t.left)&&e.isObjectLiteralExpression(qe(t)))return 6;return Ve(t.left)}(t);return 5===r||be(t)?r:0}function Me(t){return 3===e.length(t.arguments)&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&"Object"===e.idText(t.expression.expression)&&"defineProperty"===e.idText(t.expression.name)&&bt(t.arguments[1])&&Je(t.arguments[0],!0)}function Le(t){return e.isPropertyAccessExpression(t)||Re(t)}function Re(t){return e.isElementAccessExpression(t)&&bt(t.argumentExpression)}function Be(t,r){return e.isPropertyAccessExpression(t)&&(!r&&108===t.expression.kind||e.isIdentifier(t.name)&&Je(t.expression,!0))||je(t,r)}function je(e,t){return Re(e)&&(!t&&108===e.expression.kind||zr(e.expression)||Be(e.expression,!0))}function Je(e,t){return zr(e)||Be(e,t)}function Ke(t){return e.isPropertyAccessExpression(t)?t.name:t.argumentExpression}function ze(t){if(e.isPropertyAccessExpression(t))return t.name;var r=lt(t.argumentExpression);return e.isNumericLiteral(r)||e.isStringLiteralLike(r)?r:t}function Ue(t){var r=ze(t);if(r){if(e.isIdentifier(r))return r.escapedText;if(e.isStringLiteralLike(r)||e.isNumericLiteral(r))return e.escapeLeadingUnderscores(r.text)}}function Ve(t){if(108===t.expression.kind)return 4;if(Ie(t))return 2;if(Je(t.expression,!0)){if(Vr(t.expression))return 3;for(var r=t;!e.isIdentifier(r.expression);)r=r.expression;var n=r.expression;if(("exports"===n.escapedText||"module"===n.escapedText&&"exports"===Ue(r))&&Be(t))return 1;if(Je(t,!0)||e.isElementAccessExpression(t)&&Ct(t))return 5}return 0}function qe(t){for(;e.isBinaryExpression(t.right);)t=t.right;return t.right}function We(t){switch(t.parent.kind){case 265:case 271:return t.parent;case 276:return t.parent.parent;case 207:return H(t.parent)||Te(t.parent,!1)?t.parent:void 0;case 195:return e.Debug.assert(e.isStringLiteral(t)),e.tryCast(t.parent.parent,e.isImportTypeNode);default:return}}function He(t){switch(t.kind){case 265:case 271:return t.moduleSpecifier;case 264:return 276===t.moduleReference.kind?t.moduleReference.expression:void 0;case 199:return G(t)?t.argument.literal:void 0;case 207:return t.arguments[0];case 260:return 10===t.name.kind?t.name:void 0;default:return e.Debug.assertNever(t)}}function Ge(e){return 343===e.kind||336===e.kind||337===e.kind}function Ye(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&0!==Oe(t.expression)&&e.isBinaryExpression(t.expression.right)&&(56===t.expression.right.operatorToken.kind||60===t.expression.right.operatorToken.kind)?t.expression.right.right:void 0}function Xe(e){switch(e.kind){case 236:var t=Qe(e);return t&&t.initializer;case 166:case 294:return e.initializer}}function Qe(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):void 0}function $e(t){return e.isModuleDeclaration(t)&&t.body&&260===t.body.kind?t.body:void 0}function Ze(t,r){if(e.isJSDoc(r)){var n=e.filter(r.tags,(function(e){return et(t,e)}));return r.tags===n?[r]:n}return et(t,r)?[r]:void 0}function et(t,r){return!(e.isJSDocTypeTag(r)&&r.parent&&e.isJSDoc(r.parent)&&e.isParenthesizedExpression(r.parent.parent)&&r.parent.parent!==t)}function tt(t){var r=t.parent;return 294===r.kind||270===r.kind||166===r.kind||237===r.kind&&205===t.kind||246===r.kind||$e(r)||e.isBinaryExpression(t)&&63===t.operatorToken.kind?r:r.parent&&(Qe(r.parent)===t||e.isBinaryExpression(r)&&63===r.operatorToken.kind)?r.parent:r.parent&&r.parent.parent&&(Qe(r.parent.parent)||Xe(r.parent.parent)===t||Ye(r.parent.parent))?r.parent.parent:void 0}function rt(t){var r=nt(t);return r&&e.isFunctionLike(r)?r:void 0}function nt(t){var r=it(t);if(r)return Ye(r)||function(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&63===t.expression.operatorToken.kind?Ne(t.expression):void 0}(r)||Xe(r)||Qe(r)||$e(r)||r}function it(t){var r=at(t);if(r){var n=r.parent;return n&&n.jsDoc&&r===e.lastOrUndefined(n.jsDoc)?n:void 0}}function at(t){return e.findAncestor(t.parent,e.isJSDoc)}function ot(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return void 0!==t.dotDotDotToken||!!r&&316===r.kind}function st(e){for(var t=e.parent;;){switch(t.kind){case 220:var r=t.operatorToken.kind;return Rr(r)&&t.left===e?63===r||Lr(r)?1:2:0;case 218:case 219:var n=t.operator;return 45===n||46===n?2:0;case 242:case 243:return t.initializer===e?1:0;case 211:case 203:case 224:case 229:e=t;break;case 296:e=t.parent;break;case 295:if(t.name!==e)return 0;e=t.parent;break;case 294:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function ct(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function ut(e){return ct(e,211)}function lt(t,r){var n=r?17:1;return e.skipOuterExpressions(t,n)}function dt(t){return zr(t)||e.isClassExpression(t)}function _t(e){return dt(pt(e))}function pt(t){return e.isExportAssignment(t)?t.expression:t.right}function ft(t){var r=gt(t);if(r&&be(t)){var n=e.getJSDocAugmentsTag(t);if(n)return n.class}return r}function gt(e){var t=vt(e.heritageClauses,94);return t&&t.types.length>0?t.types[0]:void 0}function mt(t){if(be(t))return e.getJSDocImplementsTags(t).map((function(e){return e.class}));var r=vt(t.heritageClauses,117);return null==r?void 0:r.types}function yt(e){var t=vt(e.heritageClauses,94);return t?t.types:void 0}function vt(e,t){if(e)for(var r=0,n=e;r0&&e.every(t.declarationList.declarations,(function(e){return Ce(e)}))},e.isSingleOrDoubleQuote=function(e){return 39===e||34===e},e.isStringDoubleQuoted=function(e,t){return 34===D(t,e).charCodeAt(0)},e.isAssignmentDeclaration=Ee,e.getEffectiveInitializer=ke,e.getDeclaredExpandoInitializer=function(e){var t=ke(e);return t&&Ae(t,Vr(e.name))},e.getAssignedExpandoInitializer=function(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&63===t.parent.operatorToken.kind){var r=Vr(t.parent.left);return Ae(t.parent.right,r)||function(t,r,n){var i=e.isBinaryExpression(r)&&(56===r.operatorToken.kind||60===r.operatorToken.kind)&&Ae(r.right,n);if(i&&Fe(t,r.left))return i}(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&Me(t)){var n=function(t,r){return e.forEach(t.properties,(function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&"value"===t.name.escapedText&&t.initializer&&Ae(t.initializer,r)}))}(t.arguments[2],"prototype"===t.arguments[1].text);if(n)return n}},e.getExpandoInitializer=Ae,e.isDefaultedExpandoInitializer=function(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&63===t.parent.operatorToken.kind?t.parent.left:void 0;return r&&Ae(t.right,Vr(r))&&zr(r)&&Fe(r,t.left)},e.getNameOfExpando=function(t){if(e.isBinaryExpression(t.parent)){var r=56!==t.parent.operatorToken.kind&&60!==t.parent.operatorToken.kind||!e.isBinaryExpression(t.parent.parent)?t.parent:t.parent.parent;if(63===r.operatorToken.kind&&e.isIdentifier(r.left))return r.left}else if(e.isVariableDeclaration(t.parent))return t.parent.name},e.isSameEntityName=Fe,e.getRightMostAssignedExpression=Ne,e.isExportsIdentifier=Pe,e.isModuleIdentifier=we,e.isModuleExportsAccessExpression=Ie,e.getAssignmentDeclarationKind=Oe,e.isBindableObjectDefinePropertyCall=Me,e.isLiteralLikeAccess=Le,e.isLiteralLikeElementAccess=Re,e.isBindableStaticAccessExpression=Be,e.isBindableStaticElementAccessExpression=je,e.isBindableStaticNameExpression=Je,e.getNameOrArgument=Ke,e.getElementOrPropertyAccessArgumentExpressionOrName=ze,e.getElementOrPropertyAccessName=Ue,e.getAssignmentDeclarationPropertyAccessKind=Ve,e.getInitializerOfBinaryExpression=qe,e.isPrototypePropertyAssignment=function(t){return e.isBinaryExpression(t)&&3===Oe(t)},e.isSpecialPropertyDeclaration=function(t){return be(t)&&t.parent&&237===t.parent.kind&&(!e.isElementAccessExpression(t)||Re(t))&&!!e.getJSDocTypeTag(t.parent)},e.setValueDeclaration=function(e,t){var r=e.valueDeclaration;(!r||(!(8388608&t.flags)||8388608&r.flags)&&Ee(r)&&!Ee(t)||r.kind!==t.kind&&k(r))&&(e.valueDeclaration=t)},e.isFunctionSymbol=function(t){if(!t||!t.valueDeclaration)return!1;var r=t.valueDeclaration;return 255===r.kind||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)},e.tryGetModuleSpecifierFromDeclaration=function(t){var r,n,i;switch(t.kind){case 253:return t.initializer.arguments[0].text;case 265:return null===(r=e.tryCast(t.moduleSpecifier,e.isStringLiteralLike))||void 0===r?void 0:r.text;case 264:return null===(i=e.tryCast(null===(n=e.tryCast(t.moduleReference,e.isExternalModuleReference))||void 0===n?void 0:n.expression,e.isStringLiteralLike))||void 0===i?void 0:i.text;default:e.Debug.assertNever(t)}},e.importFromModuleSpecifier=function(t){return We(t)||e.Debug.failBadSyntaxKind(t.parent)},e.tryGetImportFromModuleSpecifier=We,e.getExternalModuleName=He,e.getNamespaceDeclarationNode=function(t){switch(t.kind){case 265:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 264:return t;case 271:return t.exportClause&&e.tryCast(t.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(t)}},e.isDefaultImport=function(e){return 265===e.kind&&!!e.importClause&&!!e.importClause.name},e.forEachImportClauseDeclaration=function(t,r){var n;if(t.name&&(n=r(t)))return n;if(t.namedBindings&&(n=e.isNamespaceImport(t.namedBindings)?r(t.namedBindings):e.forEach(t.namedBindings.elements,r)))return n},e.hasQuestionToken=function(e){if(e)switch(e.kind){case 163:case 168:case 167:case 295:case 294:case 166:case 165:return void 0!==e.questionToken}return!1},e.isJSDocConstructSignature=function(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):void 0,n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&"new"===n.escapedText},e.isJSDocTypeAlias=Ge,e.isTypeAlias=function(t){return Ge(t)||e.isTypeAliasDeclaration(t)},e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=Xe,e.getSingleVariableOfVariableStatement=Qe,e.getJSDocCommentsAndTags=function(t,r){var n;ae(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)&&(n=e.addRange(n,Ze(t,e.last(t.initializer.jsDoc))));for(var i=t;i&&i.parent;){if(e.hasJSDocNodes(i)&&(n=e.addRange(n,Ze(t,e.last(i.jsDoc)))),163===i.kind){n=e.addRange(n,(r?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(i));break}if(162===i.kind){n=e.addRange(n,(r?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(i));break}i=tt(i)}return n||e.emptyArray},e.getNextJSDocCommentLocation=tt,e.getParameterSymbolFromJSDoc=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t.name)){var r=t.name.escapedText,n=rt(t);if(n){var i=e.find(n.parameters,(function(e){return 79===e.name.kind&&e.name.escapedText===r}));return i&&i.symbol}}},e.getEffectiveContainerForJSDocTemplateTag=function(t){if(e.isJSDoc(t.parent)&&t.parent.tags){var r=e.find(t.parent.tags,Ge);if(r)return r}return rt(t)},e.getHostSignatureFromJSDoc=rt,e.getEffectiveJSDocHost=nt,e.getJSDocHost=it,e.getJSDocRoot=at,e.getTypeParameterFromJsDoc=function(t){var r=t.name.escapedText,n=t.parent.parent.parent.typeParameters;return n&&e.find(n,(function(e){return e.name.escapedText===r}))},e.hasRestParameter=function(t){var r=e.lastOrUndefined(t.parameters);return!!r&&ot(r)},e.isRestParameter=ot,e.hasTypeArguments=function(e){return!!e.typeArguments},(Z=e.AssignmentKind||(e.AssignmentKind={}))[Z.None=0]="None",Z[Z.Definite=1]="Definite",Z[Z.Compound=2]="Compound",e.getAssignmentTargetKind=st,e.isAssignmentTarget=function(e){return 0!==st(e)},e.isNodeWithPossibleHoistedDeclaration=function(e){switch(e.kind){case 234:case 236:case 247:case 238:case 248:case 262:case 288:case 289:case 249:case 241:case 242:case 243:case 239:case 240:case 251:case 291:return!0}return!1},e.isValueSignatureDeclaration=function(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)},e.walkUpParenthesizedTypes=function(e){return ct(e,190)},e.walkUpParenthesizedExpressions=ut,e.walkUpParenthesizedTypesAndGetParentAndChild=function(e){for(var t;e&&190===e.kind;)t=e,e=e.parent;return[t,e]},e.skipParentheses=lt,e.isDeleteTarget=function(e){return(205===e.kind||206===e.kind)&&((e=ut(e.parent))&&214===e.kind)},e.isNodeDescendantOf=function(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1},e.isDeclarationName=function(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t},e.getDeclarationFromName=function(t){var r=t.parent;switch(t.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(r))return r.parent;case 79:if(e.isDeclaration(r))return r.name===t?r:void 0;if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:void 0}var i=r.parent;return e.isBinaryExpression(i)&&0!==Oe(i)&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:void 0;case 80:return e.isDeclaration(r)&&r.name===t?r:void 0;default:return}},e.isLiteralComputedPropertyDeclarationName=function(t){return bt(t)&&161===t.parent.kind&&e.isDeclaration(t.parent.parent)},e.isIdentifierName=function(e){var t=e.parent;switch(t.kind){case 166:case 165:case 168:case 167:case 171:case 172:case 297:case 294:case 205:return t.name===e;case 160:return t.right===e;case 202:case 269:return t.propertyName===e;case 274:case 284:return!0}return!1},e.isAliasSymbolDeclaration=function(t){return 264===t.kind||263===t.kind||266===t.kind&&!!t.name||267===t.kind||273===t.kind||269===t.kind||274===t.kind||270===t.kind&&_t(t)||e.isBinaryExpression(t)&&2===Oe(t)&&_t(t)||e.isPropertyAccessExpression(t)&&e.isBinaryExpression(t.parent)&&t.parent.left===t&&63===t.parent.operatorToken.kind&&dt(t.parent.right)||295===t.kind||294===t.kind&&dt(t.initializer)},e.getAliasDeclarationFromName=function e(t){switch(t.parent.kind){case 266:case 269:case 267:case 274:case 270:case 264:return t.parent;case 160:do{t=t.parent}while(160===t.parent.kind);return e(t)}},e.isAliasableExpression=dt,e.exportAssignmentIsAlias=_t,e.getExportAssignmentExpression=pt,e.getPropertyAssignmentAliasLikeExpression=function(e){return 295===e.kind?e.name:294===e.kind?e.initializer:e.parent.right},e.getEffectiveBaseTypeNode=ft,e.getClassExtendsHeritageElement=gt,e.getEffectiveImplementsTypeNodes=mt,e.getAllSuperTypeNodes=function(t){return e.isInterfaceDeclaration(t)?yt(t)||e.emptyArray:e.isClassLike(t)&&e.concatenate(e.singleElementArray(ft(t)),mt(t))||e.emptyArray},e.getInterfaceBaseTypeNodes=yt,e.getHeritageClause=vt,e.getAncestor=function(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}},e.isKeyword=ht,e.isContextualKeyword=Dt,e.isNonContextualKeyword=xt,e.isFutureReservedKeyword=function(e){return 117<=e&&e<=125},e.isStringANonContextualKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&xt(r)},e.isStringAKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&ht(r)},e.isIdentifierANonContextualKeyword=function(e){var t=e.originalKeywordKind;return!!t&&!Dt(t)},e.isTrivia=function(e){return 2<=e&&e<=7},(ee=e.FunctionFlags||(e.FunctionFlags={}))[ee.Normal=0]="Normal",ee[ee.Generator=1]="Generator",ee[ee.Async=2]="Async",ee[ee.Invalid=4]="Invalid",ee[ee.AsyncGenerator=3]="AsyncGenerator",e.getFunctionFlags=function(e){if(!e)return 4;var t=0;switch(e.kind){case 255:case 212:case 168:e.asteriskToken&&(t|=1);case 213:Sr(e,256)&&(t|=2)}return e.body||(t|=4),t},e.isAsyncFunction=function(e){switch(e.kind){case 255:case 212:case 213:case 168:return void 0!==e.body&&void 0===e.asteriskToken&&Sr(e,256)}return!1},e.isStringOrNumericLiteralLike=bt,e.isSignedNumericLiteral=St,e.hasDynamicName=Tt,e.isDynamicName=Ct,e.getPropertyNameForPropertyNameNode=Et,e.isPropertyNameLiteral=kt,e.getTextOfIdentifierOrLiteral=At,e.getEscapedTextOfIdentifierOrLiteral=function(t){return e.isMemberName(t)?t.escapedText:e.escapeLeadingUnderscores(t.text)},e.getPropertyNameForUniqueESSymbol=function(t){return"__@".concat(e.getSymbolId(t),"@").concat(t.escapedName)},e.getSymbolNameForPrivateIdentifier=function(t,r){return"__#".concat(e.getSymbolId(t),"@").concat(r)},e.isKnownSymbol=function(t){return e.startsWith(t.escapedName,"__@")},e.isPrivateIdentifierSymbol=function(t){return e.startsWith(t.escapedName,"__#")},e.isESSymbolIdentifier=function(e){return 79===e.kind&&"Symbol"===e.escapedText},e.isPushOrUnshiftIdentifier=function(e){return"push"===e.escapedText||"unshift"===e.escapedText},e.isParameterDeclaration=function(e){return 163===Ft(e).kind},e.getRootDeclaration=Ft,e.nodeStartsNewLexicalEnvironment=function(e){var t=e.kind;return 170===t||212===t||255===t||213===t||168===t||171===t||172===t||260===t||303===t},e.nodeIsSynthesized=Nt,e.getOriginalSourceFile=function(t){return e.getParseTreeNode(t,e.isSourceFile)||t},(te=e.Associativity||(e.Associativity={}))[te.Left=0]="Left",te[te.Right=1]="Right",e.getExpressionAssociativity=function(e){var t=wt(e),r=208===e.kind&&void 0!==e.arguments;return Pt(e.kind,t,r)},e.getOperatorAssociativity=Pt,e.getExpressionPrecedence=function(e){var t=wt(e),r=208===e.kind&&void 0!==e.arguments;return It(e.kind,t,r)},e.getOperator=wt,(re=e.OperatorPrecedence||(e.OperatorPrecedence={}))[re.Comma=0]="Comma",re[re.Spread=1]="Spread",re[re.Yield=2]="Yield",re[re.Assignment=3]="Assignment",re[re.Conditional=4]="Conditional",re[re.Coalesce=4]="Coalesce",re[re.LogicalOR=5]="LogicalOR",re[re.LogicalAND=6]="LogicalAND",re[re.BitwiseOR=7]="BitwiseOR",re[re.BitwiseXOR=8]="BitwiseXOR",re[re.BitwiseAND=9]="BitwiseAND",re[re.Equality=10]="Equality",re[re.Relational=11]="Relational",re[re.Shift=12]="Shift",re[re.Additive=13]="Additive",re[re.Multiplicative=14]="Multiplicative",re[re.Exponentiation=15]="Exponentiation",re[re.Unary=16]="Unary",re[re.Update=17]="Update",re[re.LeftHandSide=18]="LeftHandSide",re[re.Member=19]="Member",re[re.Primary=20]="Primary",re[re.Highest=20]="Highest",re[re.Lowest=0]="Lowest",re[re.Invalid=-1]="Invalid",e.getOperatorPrecedence=It,e.getBinaryOperatorPrecedence=Ot,e.getSemanticJsxChildren=function(t){return e.filter(t,(function(e){switch(e.kind){case 287:return!!e.expression;case 11:return!e.containsOnlyTriviaWhiteSpaces;default:return!0}}))},e.createDiagnosticCollection=function(){var t=[],r=[],n=new e.Map,i=!1;return{add:function(a){var o;a.file?(o=n.get(a.file.fileName))||(o=[],n.set(a.file.fileName,o),e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)):(i&&(i=!1,t=t.slice()),o=t);e.insertSorted(o,a,bn)},lookup:function(r){var i;i=r.file?n.get(r.file.fileName):t;if(!i)return;var a=e.binarySearch(i,r,e.identity,Sn);if(a>=0)return i[a];return},getGlobalDiagnostics:function(){return i=!0,t},getDiagnostics:function(i){if(i)return n.get(i)||[];var a=e.flatMapToMutable(r,(function(e){return n.get(e)}));if(!t.length)return a;return a.unshift.apply(a,t),a}}};var Mt=/\$\{/g;e.hasInvalidEscape=function(t){return t&&!!(e.isNoSubstitutionTemplateLiteral(t)?t.templateFlags:t.head.templateFlags||e.some(t.templateSpans,(function(e){return!!e.literal.templateFlags})))};var Lt=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Rt=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Bt=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,jt=new e.Map(e.getEntries({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function Jt(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function Kt(e,t,r){if(0===e.charCodeAt(0)){var n=r.charCodeAt(t+e.length);return n>=48&&n<=57?"\\x00":"\\0"}return jt.get(e)||Jt(e.charCodeAt(0))}function zt(e,t){var r=96===t?Bt:39===t?Rt:Lt;return e.replace(r,Kt)}e.escapeString=zt;var Ut=/[^\u0000-\u007F]/g;function Vt(e,t){return e=zt(e,t),Ut.test(e)?e.replace(Ut,(function(e){return Jt(e.charCodeAt(0))})):e}e.escapeNonAsciiString=Vt;var qt=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,Wt=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,Ht=new e.Map(e.getEntries({'"':""","'":"'"}));function Gt(e){return 0===e.charCodeAt(0)?"�":Ht.get(e)||"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"}function Yt(e,t){var r=39===t?Wt:qt;return e.replace(r,Gt)}e.escapeJsxAttributeString=Yt,e.stripQuotes=function(e){var t,r=e.length;return r>=2&&e.charCodeAt(0)===e.charCodeAt(r-1)&&(39===(t=e.charCodeAt(0))||34===t||96===t)?e.substring(1,r-1):e},e.isIntrinsicJsxName=function(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,"-")||e.stringContains(t,":")};var Xt=[""," "];function Qt(e){for(var t=Xt[1],r=Xt.length;r<=e;r++)Xt.push(Xt[r-1]+t);return Xt[e]}function $t(){return Xt[1].length}function Zt(e){return!!e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames()}function er(e,t,r){return t.moduleName||rr(e,t.fileName,r&&r.fileName)}function tr(t,r){return t.getCanonicalFileName(e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()))}function rr(t,r,n){var i=function(e){return t.getCanonicalFileName(e)},a=e.toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i),o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()),s=oi(e.getRelativePathToDirectoryOrUrl(a,o,a,i,!1));return n?e.ensurePathIsNonModuleName(s):s}function nr(e,t,r,n,i){var a=t.declarationDir||t.outDir,o=a?cr(e,a,r,n,i):e,s=ir(o);return oi(o)+s}function ir(t){return e.fileExtensionIsOneOf(t,[".mjs",".mts"])?".d.mts":e.fileExtensionIsOneOf(t,[".cjs",".cts"])?".d.cts":e.fileExtensionIsOneOf(t,[".json"])?".json.d.ts":".d.ts"}function ar(e){return e.outFile||e.out}function or(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&xe(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&(r||!(q(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&!t.isSourceOfProjectReferenceRedirect(e.fileName))}function sr(e,t,r){return cr(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))}function cr(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);return o=0===a(o).indexOf(a(i))?o.substring(i.length):o,e.combinePaths(r,o)}function ur(t,r,n){t.length>e.getRootLength(t)&&!n(t)&&(ur(e.getDirectoryPath(t),r,n),r(t))}function lr(t,r){return e.computeLineOfPosition(t,r)}function dr(t){return e.find(t.members,(function(t){return e.isConstructorDeclaration(t)&&f(t.body)}))}function _r(e){if(e&&e.parameters.length>0){var t=2===e.parameters.length&&pr(e.parameters[0]);return e.parameters[t?1:0]}}function pr(e){return fr(e.name)}function fr(e){return!!e&&79===e.kind&&gr(e)}function gr(e){return 108===e.originalKeywordKind}function mr(t){if(be(t)||!e.isFunctionDeclaration(t)){var r=t.type;return r||!be(t)?r:e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}}function yr(e,t,r,n){vr(e,t,r.pos,n)}function vr(e,t,r,n){n&&n.length&&r!==n[0].pos&&lr(e,r)!==lr(e,n[0].pos)&&t.writeLine()}function hr(e,t,r,n,i,a,o,s){if(n&&n.length>0){i&&r.writeSpace(" ");for(var c=!1,u=0,l=n;u=0&&e.kind<=159?0:(536870912&e.modifierFlagsCache||(e.modifierFlagsCache=536870912|Ir(e)),!t||4096&e.modifierFlagsCache||!r&&!be(e)||!e.parent||(e.modifierFlagsCache|=4096|wr(e)),-536875009&e.modifierFlagsCache)}function Nr(e){return Fr(e,!0)}function Pr(e){return Fr(e,!1)}function wr(t){var r=0;return t.parent&&!e.isParameter(t)&&(be(t)&&(e.getJSDocPublicTagNoCache(t)&&(r|=4),e.getJSDocPrivateTagNoCache(t)&&(r|=8),e.getJSDocProtectedTagNoCache(t)&&(r|=16),e.getJSDocReadonlyTagNoCache(t)&&(r|=64),e.getJSDocOverrideTagNoCache(t)&&(r|=16384)),e.getJSDocDeprecatedTagNoCache(t)&&(r|=8192)),r}function Ir(e){var t=Or(e.modifiers);return(4&e.flags||79===e.kind&&e.isInJSDocNamespace)&&(t|=1),t}function Or(e){var t=0;if(e)for(var r=0,n=e;r=63&&e<=78}function Br(e){var t=jr(e);return t&&!t.isImplements?t.class:void 0}function jr(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:117===t.parent.token}:void 0}function Jr(t,r){return e.isBinaryExpression(t)&&(r?63===t.operatorToken.kind:Rr(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}function Kr(e){return void 0!==Br(e)}function zr(e){return 79===e.kind||Ur(e)}function Ur(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&zr(t.expression)}function Vr(e){return Be(e)&&"prototype"===Ue(e)}e.getIndentString=Qt,e.getIndentSize=$t,e.createTextWriter=function(t){var r,n,i,a,o,s=!1;function c(t){var n=e.computeLineStarts(t);n.length>1?(a=a+n.length-1,o=r.length-t.length+e.last(n),i=o-r.length==0):i=!1}function u(e){e&&e.length&&(i&&(e=Qt(n)+e,i=!1),r+=e,c(e))}function l(e){e&&(s=!1),u(e)}function d(){r="",n=0,i=!0,a=0,o=0,s=!1}return d(),{write:l,rawWrite:function(e){void 0!==e&&(r+=e,c(e),s=!1)},writeLiteral:function(e){e&&e.length&&l(e)},writeLine:function(e){i&&!e||(a++,o=(r+=t).length,i=!0,s=!1)},increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*$t():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},hasTrailingComment:function(){return s},hasTrailingWhitespace:function(){return!!r.length&&e.isWhiteSpaceLike(r.charCodeAt(r.length-1))},clear:d,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:function(){return!1},writeKeyword:l,writeOperator:l,writeParameter:l,writeProperty:l,writePunctuation:l,writeSpace:l,writeStringLiteral:l,writeSymbol:function(e,t){return l(e)},writeTrailingSemicolon:l,writeComment:function(e){e&&(s=!0),u(e)},getTextPosWithWriteLine:function(){return i?r.length:r.length+t.length}}},e.getTrailingSemicolonDeferringWriter=function(e){var t=!1;function r(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return n(n({},e),{writeTrailingSemicolon:function(){t=!0},writeLiteral:function(t){r(),e.writeLiteral(t)},writeStringLiteral:function(t){r(),e.writeStringLiteral(t)},writeSymbol:function(t,n){r(),e.writeSymbol(t,n)},writePunctuation:function(t){r(),e.writePunctuation(t)},writeKeyword:function(t){r(),e.writeKeyword(t)},writeOperator:function(t){r(),e.writeOperator(t)},writeParameter:function(t){r(),e.writeParameter(t)},writeSpace:function(t){r(),e.writeSpace(t)},writeProperty:function(t){r(),e.writeProperty(t)},writeComment:function(t){r(),e.writeComment(t)},writeLine:function(){r(),e.writeLine()},increaseIndent:function(){r(),e.increaseIndent()},decreaseIndent:function(){r(),e.decreaseIndent()}})},e.hostUsesCaseSensitiveFileNames=Zt,e.hostGetCanonicalFileName=function(t){return e.createGetCanonicalFileName(Zt(t))},e.getResolvedExternalModuleName=er,e.getExternalModuleNameFromDeclaration=function(t,r,n){var i=r.getExternalModuleFileFromDeclaration(n);if(i&&!i.isDeclarationFile){var a=He(n);if(!a||!e.isStringLiteralLike(a)||e.pathIsRelative(a.text)||-1!==tr(t,i.path).indexOf(tr(t,e.ensureTrailingDirectorySeparator(t.getCommonSourceDirectory()))))return er(t,i)}},e.getExternalModuleNameFromPath=rr,e.getOwnEmitOutputFilePath=function(e,t,r){var n=t.getCompilerOptions();return(n.outDir?oi(sr(e,t,n.outDir)):oi(e))+r},e.getDeclarationEmitOutputFilePath=function(e,t){return nr(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))},e.getDeclarationEmitOutputFilePathWorker=nr,e.getDeclarationEmitExtensionForPath=ir,e.outFile=ar,e.getPathsBasePath=function(t,r){var n,i;if(t.paths)return null!==(n=t.baseUrl)&&void 0!==n?n:e.Debug.checkDefined(t.pathsBasePath||(null===(i=r.getCurrentDirectory)||void 0===i?void 0:i.call(r)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")},e.getSourceFilesToEmit=function(t,r,n){var i=t.getCompilerOptions();if(ar(i)){var a=En(i),o=i.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),(function(r){return(o||!e.isExternalModule(r))&&or(r,t,n)}))}var s=void 0===r?t.getSourceFiles():[r];return e.filter(s,(function(e){return or(e,t,n)}))},e.sourceFileMayBeEmitted=or,e.getSourceFilePathInNewDir=sr,e.getSourceFilePathInNewDirWorker=cr,e.writeFile=function(t,r,n,i,a,o){t.writeFile(n,i,a,(function(t){r.add(Dn(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))}),o)},e.writeFileEnsuringDirectories=function(t,r,n,i,a,o){try{i(t,r,n)}catch(s){ur(e.getDirectoryPath(e.normalizePath(t)),a,o),i(t,r,n)}},e.getLineOfLocalPosition=function(t,r){var n=e.getLineStarts(t);return e.computeLineOfPosition(n,r)},e.getLineOfLocalPositionFromLineMap=lr,e.getFirstConstructorWithBody=dr,e.getSetAccessorValueParameter=_r,e.getSetAccessorTypeAnnotationNode=function(e){var t=_r(e);return t&&t.type},e.getThisParameter=function(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(pr(r))return r}},e.parameterIsThisKeyword=pr,e.isThisIdentifier=fr,e.isThisInTypeQuery=function(t){if(!fr(t))return!1;for(;e.isQualifiedName(t.parent)&&t.parent.left===t;)t=t.parent;return 180===t.parent.kind},e.identifierIsThisKeyword=gr,e.getAllAccessorDeclarations=function(t,r){var n,i,a,o;return Tt(r)?(n=r,171===r.kind?a=r:172===r.kind?o=r:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,(function(t){e.isAccessor(t)&&Tr(t)===Tr(r)&&(Et(t.name)===Et(r.name)&&(n?i||(i=t):n=t,171!==t.kind||a||(a=t),172!==t.kind||o||(o=t)))})),{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}},e.getEffectiveTypeAnnotationNode=mr,e.getTypeAnnotationNode=function(e){return e.type},e.getEffectiveReturnTypeNode=function(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(be(t)?e.getJSDocReturnType(t):void 0)},e.getJSDocTypeParameterDeclarations=function(t){return e.flatMap(e.getJSDocTags(t),(function(t){return function(t){return e.isJSDocTemplateTag(t)&&!(318===t.parent.kind&&t.parent.tags.some(Ge))}(t)?t.typeParameters:void 0}))},e.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=_r(e);return t&&mr(t)},e.emitNewLineBeforeLeadingComments=yr,e.emitNewLineBeforeLeadingCommentsOfPosition=vr,e.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,r,n){r!==n&&lr(e,r)!==lr(e,n)&&t.writeLine()},e.emitComments=hr,e.emitDetachedComments=function(t,r,n,i,a,o,s){var c,u;if(s?0===a.pos&&(c=e.filter(e.getLeadingCommentRanges(t,a.pos),(function(e){return v(t,e.pos)}))):c=e.getLeadingCommentRanges(t,a.pos),c){for(var l=[],d=void 0,_=0,p=c;_=g+2)break}l.push(f),d=f}if(l.length){g=lr(r,e.last(l).end);lr(r,e.skipTrivia(t,a.pos))>=g+2&&(yr(r,n,a,c),hr(t,r,n,l,!1,!0,o,i),u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end})}}return u},e.writeCommentRange=function(t,r,n,i,a,o){if(42===t.charCodeAt(i+1))for(var s=e.computeLineAndCharacterOfPosition(r,i),c=r.length,u=void 0,l=i,d=s.line;l0){var f=p%$t(),g=Qt((p-f)/$t());for(n.rawWrite(g);f;)n.rawWrite(" "),f--}else n.rawWrite("")}Dr(t,a,n,o,l,_),l=_}else n.writeComment(t.substring(i,a))},e.hasEffectiveModifiers=function(e){return 0!==Nr(e)},e.hasSyntacticModifiers=function(e){return 0!==Pr(e)},e.hasEffectiveModifier=br,e.hasSyntacticModifier=Sr,e.isStatic=Tr,e.hasStaticModifier=Cr,e.hasOverrideModifier=function(e){return br(e,16384)},e.hasAbstractModifier=function(e){return Sr(e,128)},e.hasAmbientModifier=function(e){return Sr(e,2)},e.hasEffectiveReadonlyModifier=Er,e.getSelectedEffectiveModifierFlags=kr,e.getSelectedSyntacticModifierFlags=Ar,e.getEffectiveModifierFlags=Nr,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=function(e){return Fr(e,!0,!0)},e.getSyntacticModifierFlags=Pr,e.getEffectiveModifierFlagsNoCache=function(e){return Ir(e)|wr(e)},e.getSyntacticModifierFlagsNoCache=Ir,e.modifiersToFlags=Or,e.modifierToFlag=Mr,e.createModifiers=function(t){return t?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(t)):void 0},e.isLogicalOperator=function(e){return 56===e||55===e||53===e},e.isLogicalOrCoalescingAssignmentOperator=Lr,e.isLogicalOrCoalescingAssignmentExpression=function(e){return Lr(e.operatorToken.kind)},e.isAssignmentOperator=Rr,e.tryGetClassExtendingExpressionWithTypeArguments=Br,e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=jr,e.isAssignmentExpression=Jr,e.isLeftHandSideOfAssignment=function(e){return Jr(e.parent)&&e.parent.left===e},e.isDestructuringAssignment=function(e){if(Jr(e,!0)){var t=e.left.kind;return 204===t||203===t}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=Kr,e.isEntityNameExpression=zr,e.getFirstIdentifier=function(e){switch(e.kind){case 79:return e;case 160:do{e=e.left}while(79!==e.kind);return e;case 205:do{e=e.expression}while(79!==e.kind);return e}},e.isDottedName=function e(t){return 79===t.kind||108===t.kind||106===t.kind||230===t.kind||205===t.kind&&e(t.expression)||211===t.kind&&e(t.expression)},e.isPropertyAccessEntityNameExpression=Ur,e.tryGetPropertyAccessOrIdentifierToString=function t(r){if(e.isPropertyAccessExpression(r)){if(void 0!==(n=t(r.expression)))return n+"."+j(r.name)}else if(e.isElementAccessExpression(r)){var n;if(void 0!==(n=t(r.expression))&&e.isPropertyName(r.argumentExpression))return n+"."+Et(r.argumentExpression)}else if(e.isIdentifier(r))return e.unescapeLeadingUnderscores(r.escapedText)},e.isPrototypeAccess=Vr,e.isRightSideOfQualifiedNameOrPropertyAccess=function(e){return 160===e.parent.kind&&e.parent.right===e||205===e.parent.kind&&e.parent.name===e},e.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName=function(t){return e.isQualifiedName(t.parent)&&t.parent.right===t||e.isPropertyAccessExpression(t.parent)&&t.parent.name===t||e.isJSDocMemberName(t.parent)&&t.parent.right===t},e.isEmptyObjectLiteral=function(e){return 204===e.kind&&0===e.properties.length},e.isEmptyArrayLiteral=function(e){return 203===e.kind&&0===e.elements.length},e.getLocalSymbolForExportDefault=function(t){if(function(t){return t&&e.length(t.declarations)>0&&Sr(t.declarations[0],512)}(t)&&t.declarations)for(var r=0,n=t.declarations;r>6|192),r.push(63&a|128)):a<65536?(r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)):a<131072?(r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)):e.Debug.assert(!1,"Unexpected code point")}return r}(t),c=0,u=s.length;c>2,n=(3&s[c])<<4|s[c+1]>>4,i=(15&s[c+1])<<2|s[c+2]>>6,a=63&s[c+2],c+1>=u?i=a=64:c+2>=u&&(a=64),o+=qr.charAt(r)+qr.charAt(n)+qr.charAt(i)+qr.charAt(a),c+=3;return o}e.convertToBase64=Wr,e.base64encode=function(e,t){return e&&e.base64encode?e.base64encode(t):Wr(t)},e.base64decode=function(e,t){if(e&&e.base64decode)return e.base64decode(t);for(var r=t.length,n=[],i=0;i>4&3,l=(15&o)<<4|s>>2&15,d=(3&s)<<6|63&c;0===l&&0!==s?n.push(u):0===d&&0!==c?n.push(u,l):n.push(u,l,d),i+=4}return function(e){for(var t="",r=0,n=e.length;r=t||-1===r),{pos:t,end:r}}function Yr(e,t){return Gr(t,e.end)}function Xr(e){return e.decorators&&e.decorators.length>0?Yr(e,e.decorators.end):e}function Qr(e,t,r){return $r(Zr(e,r,!1),t.end,r)}function $r(t,r,n){return 0===e.getLinesBetweenPositions(n,t,r)}function Zr(t,r,n){return li(t.pos)?-1:e.skipTrivia(r.text,t.pos,!1,n)}function en(e){return void 0!==e.initializer}function tn(e){return 33554432&e.flags?e.checkFlags:0}function rn(t){var r=t.parent;if(!r)return 0;switch(r.kind){case 211:case 203:return rn(r);case 219:case 218:var n=r.operator;return 45===n||46===n?c():0;case 220:var i=r,a=i.left,o=i.operatorToken;return a===t&&Rr(o.kind)?63===o.kind?1:c():0;case 205:return r.name!==t?0:rn(r);case 294:var s=rn(r.parent);return t===r.name?function(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}(s):s;case 295:return t===r.objectAssignmentInitializer?0:rn(r.parent);default:return 0}function c(){return r.parent&&237===ut(r.parent).kind?1:2}}function nn(e,t,r){var n=r.onDeleteValue,i=r.onExistingValue;e.forEach((function(r,a){var o=t.get(a);void 0===o?(e.delete(a),n(r,a)):i&&i(r,o,a)}))}function an(t){var r;return null===(r=t.declarations)||void 0===r?void 0:r.find(e.isClassLike)}function on(e){return 205===e.kind||206===e.kind}function sn(e){for(;on(e);)e=e.expression;return e}function cn(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function un(t,r){this.flags=r,(e.Debug.isDebugging||e.tracing)&&(this.checker=t)}function ln(t,r){this.flags=r,e.Debug.isDebugging&&(this.checker=t)}function dn(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function _n(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function pn(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function fn(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||function(e){return e}}function gn(t,r,n){return void 0===n&&(n=0),t.replace(/{(\d+)}/g,(function(t,i){return""+e.Debug.checkDefined(r[+i+n])}))}function mn(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]||t.message}function yn(e){return void 0===e.file&&void 0!==e.start&&void 0!==e.length&&"string"==typeof e.fileName}function vn(t,r){var n=r.fileName||"",i=r.text.length;e.Debug.assertEqual(t.fileName,n),e.Debug.assertLessThanOrEqual(t.start,i),e.Debug.assertLessThanOrEqual(t.start+t.length,i);var a={file:r,start:t.start,length:t.length,messageText:t.messageText,category:t.category,code:t.code,reportsUnnecessary:t.reportsUnnecessary};if(t.relatedInformation){a.relatedInformation=[];for(var o=0,s=t.relatedInformation;o4&&(i=gn(i,arguments,4)),{file:e,start:t,length:r,messageText:i,category:n.category,code:n.code,reportsUnnecessary:n.reportsUnnecessary,reportsDeprecated:n.reportsDeprecated}}function Dn(e){var t=mn(e);return arguments.length>1&&(t=gn(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function xn(e){return e.file?e.file.path:void 0}function bn(t,r){return Sn(t,r)||function(t,r){if(!t.relatedInformation&&!r.relatedInformation)return 0;if(t.relatedInformation&&r.relatedInformation)return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,(function(e,t){return bn(e,r.relatedInformation[t])}))||0;return t.relatedInformation?-1:1}(t,r)||0}function Sn(t,r){return e.compareStringsCaseSensitive(xn(t),xn(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||Tn(t.messageText,r.messageText)||0}function Tn(t,r){if("string"==typeof t&&"string"==typeof r)return e.compareStringsCaseSensitive(t,r);if("string"==typeof t)return-1;if("string"==typeof r)return 1;var n=e.compareStringsCaseSensitive(t.messageText,r.messageText);if(n)return n;if(!t.next&&!r.next)return 0;if(!t.next)return-1;if(!r.next)return 1;for(var i=Math.min(t.next.length,r.next.length),a=0;ar.next.length?1:0}function Cn(t){return t.target||t.module===e.ModuleKind.Node12&&7||t.module===e.ModuleKind.NodeNext&&99||0}function En(t){return"number"==typeof t.module?t.module:Cn(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function kn(t){if(void 0!==t.esModuleInterop)return t.esModuleInterop;switch(En(t)){case e.ModuleKind.Node12:case e.ModuleKind.NodeNext:return!0}}function An(e){return!(!e.declaration&&!e.composite)}function Fn(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function Nn(e){return void 0===e.allowJs?!!e.checkJs:e.allowJs}function Pn(e,t){return t.strictFlag?Fn(e,t.name):e[t.name]}function wn(t,r,n,i){for(var a=e.getPathComponents(e.getNormalizedAbsolutePath(t,n)),o=e.getPathComponents(e.getNormalizedAbsolutePath(r,n)),s=!1;a.length>=2&&o.length>=2&&!In(a[a.length-2],i)&&!In(o[o.length-2],i)&&i(a[a.length-1])===i(o[o.length-1]);)a.pop(),o.pop(),s=!0;return s?[e.getPathFromPathComponents(a),e.getPathFromPathComponents(o)]:void 0}function In(t,r){return void 0!==t&&("node_modules"===r(t)||e.startsWith(t,"@"))}e.getNewLineCharacter=function(t,r){switch(t.newLine){case 0:return"\r\n";case 1:return"\n"}return r?r():e.sys?e.sys.newLine:"\r\n"},e.createRange=Gr,e.moveRangeEnd=function(e,t){return Gr(e.pos,t)},e.moveRangePos=Yr,e.moveRangePastDecorators=Xr,e.moveRangePastModifiers=function(e){return e.modifiers&&e.modifiers.length>0?Yr(e,e.modifiers.end):Xr(e)},e.isCollapsedRange=function(e){return e.pos===e.end},e.createTokenRange=function(t,r){return Gr(t,t+e.tokenToString(r).length)},e.rangeIsOnSingleLine=function(e,t){return Qr(e,e,t)},e.rangeStartPositionsAreOnSameLine=function(e,t,r){return $r(Zr(e,r,!1),Zr(t,r,!1),r)},e.rangeEndPositionsAreOnSameLine=function(e,t,r){return $r(e.end,t.end,r)},e.rangeStartIsOnSameLineAsRangeEnd=Qr,e.rangeEndIsOnSameLineAsRangeStart=function(e,t,r){return $r(e.end,Zr(t,r,!1),r)},e.getLinesBetweenRangeEndAndRangeStart=function(t,r,n,i){var a=Zr(r,n,i);return e.getLinesBetweenPositions(n,t.end,a)},e.getLinesBetweenRangeEndPositions=function(t,r,n){return e.getLinesBetweenPositions(n,t.end,r.end)},e.isNodeArrayMultiLine=function(e,t){return!$r(e.pos,e.end,t)},e.positionsAreOnSameLine=$r,e.getStartPositionOfRange=Zr,e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i),o=function(t,r,n){void 0===r&&(r=0);for(;t-- >r;)if(!e.isWhiteSpaceLike(n.text.charCodeAt(t)))return t}(a,r,n);return e.getLinesBetweenPositions(n,null!=o?o:r,a)},e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i);return e.getLinesBetweenPositions(n,t,Math.min(r,a))},e.isDeclarationNameOfEnumOrNamespace=function(t){var r=e.getParseTreeNode(t);if(r)switch(r.parent.kind){case 259:case 260:return r===r.parent.name}return!1},e.getInitializedVariables=function(t){return e.filter(t.declarations,en)},e.isWatchSet=function(e){return e.watch&&e.hasOwnProperty("watch")},e.closeFileWatcher=function(e){e.close()},e.getCheckFlags=tn,e.getDeclarationModifierFlagsFromSymbol=function(t,r){if(void 0===r&&(r=!1),t.valueDeclaration){var n=r&&t.declarations&&e.find(t.declarations,(function(e){return 172===e.kind}))||t.valueDeclaration,i=e.getCombinedModifierFlags(n);return t.parent&&32&t.parent.flags?i:-29&i}if(6&tn(t)){var a=t.checkFlags;return(1024&a?8:256&a?4:16)|(2048&a?32:0)}return 4194304&t.flags?36:0},e.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},e.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},e.isWriteOnlyAccess=function(e){return 1===rn(e)},e.isWriteAccess=function(e){return 0!==rn(e)},function(e){e[e.Read=0]="Read",e[e.Write=1]="Write",e[e.ReadWrite=2]="ReadWrite"}(Hr||(Hr={})),e.compareDataObjects=function e(t,r){if(!t||!r||Object.keys(t).length!==Object.keys(r).length)return!1;for(var n in t)if("object"==typeof t[n]){if(!e(t[n],r[n]))return!1}else if("function"!=typeof t[n]&&t[n]!==r[n])return!1;return!0},e.clearMap=function(e,t){e.forEach(t),e.clear()},e.mutateMapSkippingNewValues=nn,e.mutateMap=function(e,t,r){nn(e,t,r);var n=r.createNewValue;t.forEach((function(t,r){e.has(r)||e.set(r,n(r,t))}))},e.isAbstractConstructorSymbol=function(e){if(32&e.flags){var t=an(e);return!!t&&Sr(t,128)}return!1},e.getClassLikeDeclarationOfSymbol=an,e.getObjectFlags=function(e){return 3899393&e.flags?e.objectFlags:0},e.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},e.forSomeAncestorDirectory=function(t,r){return!!e.forEachAncestorDirectory(t,(function(e){return!!r(e)||void 0}))},e.isUMDExportSymbol=function(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])},e.showModuleSpecifier=function(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:b(r)},e.getLastChild=function(t){var r;return e.forEachChild(t,(function(e){f(e)&&(r=e)}),(function(e){for(var t=e.length-1;t>=0;t--)if(f(e[t])){r=e[t];break}})),r},e.addToSeen=function(e,t,r){return void 0===r&&(r=!0),!e.has(t)&&(e.set(t,r),!0)},e.isObjectTypeDeclaration=function(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)},e.isTypeNodeKind=function(e){return e>=176&&e<=199||130===e||154===e||146===e||157===e||147===e||133===e||149===e||150===e||114===e||152===e||143===e||227===e||310===e||311===e||312===e||313===e||314===e||315===e||316===e},e.isAccessExpression=on,e.getNameOfAccessExpression=function(t){return 205===t.kind?t.name:(e.Debug.assert(206===t.kind),t.argumentExpression)},e.isBundleFileTextLike=function(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}},e.isNamedImportsOrExports=function(e){return 268===e.kind||272===e.kind},e.getLeftmostAccessExpression=sn,e.getLeftmostExpression=function(e,t){for(;;){switch(e.kind){case 219:e=e.operand;continue;case 220:e=e.left;continue;case 221:e=e.condition;continue;case 209:e=e.tag;continue;case 207:if(t)return e;case 228:case 206:case 205:case 229:case 348:e=e.expression;continue}return e}},e.objectAllocator={getNodeConstructor:function(){return dn},getTokenConstructor:function(){return _n},getIdentifierConstructor:function(){return pn},getPrivateIdentifierConstructor:function(){return dn},getSourceFileConstructor:function(){return dn},getSymbolConstructor:function(){return cn},getTypeConstructor:function(){return un},getSignatureConstructor:function(){return ln},getSourceMapSourceConstructor:function(){return fn}},e.setObjectAllocator=function(t){e.objectAllocator=t},e.formatStringFromArgs=gn,e.setLocalizedDiagnosticMessages=function(t){e.localizedDiagnosticMessages=t},e.getLocaleSpecificMessage=mn,e.createDetachedDiagnostic=function(e,t,r,n){K(void 0,t,r);var i=mn(n);return arguments.length>4&&(i=gn(i,arguments,4)),{file:void 0,start:t,length:r,messageText:i,category:n.category,code:n.code,reportsUnnecessary:n.reportsUnnecessary,fileName:e}},e.attachFileToDiagnostics=function(e,t){for(var r=[],n=0,i=e;n2&&(r=gn(r,arguments,2)),r},e.createCompilerDiagnostic=Dn,e.createCompilerDiagnosticFromMessageChain=function(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}},e.chainDiagnosticMessages=function(e,t){var r=mn(t);return arguments.length>2&&(r=gn(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:void 0===e||Array.isArray(e)?e:[e]}},e.concatenateDiagnosticMessageChains=function(e,t){for(var r=e;r.next;)r=r.next[0];r.next=[t]},e.compareDiagnostics=bn,e.compareDiagnosticsSkipRelatedInformation=Sn,e.getLanguageVariant=function(e){return 4===e||2===e||1===e||6===e?1:0},e.getEmitScriptTarget=Cn,e.getEmitModuleKind=En,e.getEmitModuleResolutionKind=function(t){var r=t.moduleResolution;if(void 0===r)switch(En(t)){case e.ModuleKind.CommonJS:r=e.ModuleResolutionKind.NodeJs;break;case e.ModuleKind.Node12:r=e.ModuleResolutionKind.Node12;break;case e.ModuleKind.NodeNext:r=e.ModuleResolutionKind.NodeNext;break;default:r=e.ModuleResolutionKind.Classic}return r},e.hasJsonModuleEmitEnabled=function(t){switch(En(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ES2022:case e.ModuleKind.ESNext:case e.ModuleKind.Node12:case e.ModuleKind.NodeNext:return!0;default:return!1}},e.unreachableCodeIsError=function(e){return!1===e.allowUnreachableCode},e.unusedLabelIsError=function(e){return!1===e.allowUnusedLabels},e.getAreDeclarationMapsEnabled=function(e){return!(!An(e)||!e.declarationMap)},e.getESModuleInterop=kn,e.getAllowSyntheticDefaultImports=function(t){var r=En(t);return void 0!==t.allowSyntheticDefaultImports?t.allowSyntheticDefaultImports:kn(t)||r===e.ModuleKind.System},e.getEmitDeclarations=An,e.shouldPreserveConstEnums=function(e){return!(!e.preserveConstEnums&&!e.isolatedModules)},e.isIncrementalCompilation=function(e){return!(!e.incremental&&!e.composite)},e.getStrictOptionValue=Fn,e.getAllowJSCompilerOption=Nn,e.getUseDefineForClassFields=function(e){return void 0===e.useDefineForClassFields?99===Cn(e):e.useDefineForClassFields},e.compilerOptionsAffectSemanticDiagnostics=function(t,r){return c(r,t,e.semanticDiagnosticsOptionDeclarations)},e.compilerOptionsAffectEmit=function(t,r){return c(r,t,e.affectsEmitOptionDeclarations)},e.getCompilerOptionValue=Pn,e.getJSXTransformEnabled=function(e){var t=e.jsx;return 2===t||4===t||5===t},e.getJSXImplicitImportBase=function(t,r){var n=null==r?void 0:r.pragmas.get("jsximportsource"),i=e.isArray(n)?n[n.length-1]:n;return 4===t.jsx||5===t.jsx||t.jsxImportSource||i?(null==i?void 0:i.arguments.factory)||t.jsxImportSource||"react":void 0},e.getJSXRuntimeImport=function(e,t){return e?"".concat(e,"/").concat(5===t.jsx?"jsx-dev-runtime":"jsx-runtime"):void 0},e.hasZeroOrOneAsteriskCharacter=function(e){for(var t=!1,r=0;r0;)c+=")?",_--;return c}}function Wn(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function Hn(t,r,n,i,a){t=e.normalizePath(t),a=e.normalizePath(a);var o=e.combinePaths(a,t);return{includeFilePatterns:e.map(Un(n,o,"files"),(function(e){return"^".concat(e,"$")})),includeFilePattern:zn(n,o,"files"),includeDirectoryPattern:zn(n,o,"directories"),excludePattern:zn(r,o,"exclude"),basePaths:Yn(t,n,i)}}function Gn(e,t){return new RegExp(e,t?"":"i")}function Yn(t,r,n){var i=[t];if(r){for(var a=[],o=0,s=r;o=0)}function di(e){return".ts"===e||".tsx"===e||".d.ts"===e||".cts"===e||".mts"===e||".d.mts"===e||".d.cts"===e}function _i(t){return e.find(ai,(function(r){return e.fileExtensionIs(t,r)}))}function pi(t,r){return t===r||"object"==typeof t&&null!==t&&"object"==typeof r&&null!==r&&e.equalOwnProperties(t,r,pi)}function fi(e,t){return e.pos=t,e}function gi(e,t){return e.end=t,e}function mi(e,t,r){return gi(fi(e,t),r)}function yi(e,t){return e&&t&&(e.parent=t),e}function vi(t){return!e.isOmittedExpression(t)}function hi(t){return e.some(e.ignoredPaths,(function(r){return e.stringContains(t,r)}))}function Di(e){return 253===e.kind&&291===e.parent.kind}e.removeFileExtension=oi,e.tryRemoveExtension=si,e.removeExtension=ci,e.changeExtension=function(t,r){return e.changeAnyExtension(t,r,ai,!1)},e.tryParsePattern=ui,e.tryParsePatterns=function(t){return e.mapDefined(e.getOwnKeys(t),(function(e){return ui(e)}))},e.positionIsSynthesized=li,e.extensionIsTS=di,e.resolutionExtensionIsTSOrJson=function(e){return di(e)||".json"===e},e.extensionFromPath=function(t){var r=_i(t);return void 0!==r?r:e.Debug.fail("File ".concat(t," has unknown extension."))},e.isAnySupportedFileExtension=function(e){return void 0!==_i(e)},e.tryGetExtensionFromPath=_i,e.isCheckJsEnabledForFile=function(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.matchPatternOrExact=function(t,r){for(var n=[],i=0,a=t;ii&&(i=o)}return{min:n,max:i}},e.rangeOfNode=function(e){return{pos:h(e),end:e.end}},e.rangeOfTypeParameters=function(t,r){return{pos:r.pos-1,end:e.skipTrivia(t.text,r.end)+1}},e.skipTypeChecking=function(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)},e.isJsonEqual=pi,e.parsePseudoBigInt=function(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:for(var r=e.length-1,n=0;48===e.charCodeAt(n);)n++;return e.slice(n,r)||"0"}for(var i=e.length-1,a=(i-2)*t,o=new Uint16Array((a>>>4)+(15&a?1:0)),s=i-1,c=0;s>=2;s--,c+=t){var u=c>>>4,l=e.charCodeAt(s),d=(l<=57?l-48:10+l-(l<=70?65:97))<<(15&c);o[u]|=d;var _=d>>>16;_&&(o[u+1]|=_)}for(var p="",f=o.length-1,g=!0;g;){var m=0;g=!1;for(u=f;u>=0;u--){var y=m<<16|o[u],v=y/10|0;o[u]=v,m=y-10*v,v&&!g&&(f=u,g=!0)}p=m+p}return p},e.pseudoBigIntToString=function(e){var t=e.negative,r=e.base10Value;return(t&&"0"!==r?"-":"")+r},e.isValidTypeOnlyAliasUseSite=function(t){return!!(8388608&t.flags)||he(t)||function(t){if(79!==t.kind)return!1;var r=e.findAncestor(t.parent,(function(e){switch(e.kind){case 290:return!0;case 205:case 227:return!1;default:return"quit"}}));return 117===(null==r?void 0:r.token)||257===(null==r?void 0:r.parent.kind)}(t)||function(e){for(;79===e.kind||205===e.kind;)e=e.parent;if(161!==e.kind)return!1;if(Sr(e.parent,128))return!0;var t=e.parent.parent.kind;return 257===t||181===t}(t)||!(ye(t)||function(t){return e.isIdentifier(t)&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t}(t))},e.isIdentifierTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)},e.arrayIsHomogeneous=function(t,r){if(void 0===r&&(r=e.equateValues),t.length<2)return!0;for(var n=t[0],i=1,a=t.length;i3)return!0;var u=e.getExpressionPrecedence(c);switch(e.compareValues(u,o)){case-1:return!(!n&&1===s&&223===r.kind);case 1:return!1;case 0:if(n)return 1===s;if(e.isBinaryExpression(c)&&c.operatorToken.kind===t){if(function(e){return 41===e||51===e||50===e||52===e}(t))return!1;if(39===t){var l=a?i(a):0;if(e.isLiteralKind(l)&&l===i(c))return!1}}return 0===e.getExpressionAssociativity(c)}}(r,n,a,o)?t.createParenthesizedExpression(n):n}function o(e,t){return a(e,t,!0)}function s(e,t,r){return a(e,r,!1,t)}function c(r){var n=e.skipPartiallyEmittedExpressions(r);return e.isLeftHandSideExpression(n)&&(208!==n.kind||n.arguments)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function u(r){var n=e.skipPartiallyEmittedExpressions(r);return e.getExpressionPrecedence(n)>e.getOperatorPrecedence(220,27)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function l(e){return 188===e.kind?t.createParenthesizedType(e):e}function d(e){switch(e.kind){case 186:case 187:case 178:case 179:return t.createParenthesizedType(e)}return l(e)}function _(r,n){return 0===n&&e.isFunctionOrConstructorTypeNode(r)&&r.typeParameters?t.createParenthesizedType(r):r}},e.nullParenthesizerRules={getParenthesizeLeftSideOfBinaryForOperator:function(t){return e.identity},getParenthesizeRightSideOfBinaryForOperator:function(t){return e.identity},parenthesizeLeftSideOfBinary:function(e,t){return t},parenthesizeRightSideOfBinary:function(e,t,r){return r},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(t){return e.cast(t,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(t){return e.cast(t,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeMemberOfConditionalType:e.identity,parenthesizeMemberOfElementType:e.identity,parenthesizeElementTypeOfArrayType:e.identity,parenthesizeConstituentTypesOfUnionOrIntersectionType:function(t){return e.cast(t,e.isNodeArray)},parenthesizeTypeArguments:function(t){return t&&e.cast(t,e.isNodeArray)}}}(c||(c={})),function(e){e.createNodeConverters=function(t){return{convertToFunctionBlock:function(r,n){if(e.isBlock(r))return r;var i=t.createReturnStatement(r);e.setTextRange(i,r);var a=t.createBlock([i],n);return e.setTextRange(a,r),a},convertToFunctionExpression:function(r){if(!r.body)return e.Debug.fail("Cannot convert a FunctionDeclaration without a body");var n=t.createFunctionExpression(r.modifiers,r.asteriskToken,r.name,r.typeParameters,r.parameters,r.type,r.body);e.setOriginalNode(n,r),e.setTextRange(n,r),e.getStartsOnNewLine(r)&&e.setStartsOnNewLine(n,!0);return n},convertToArrayAssignmentElement:r,convertToObjectAssignmentElement:n,convertToAssignmentPattern:i,convertToObjectAssignmentPattern:a,convertToArrayAssignmentPattern:o,convertToAssignmentElementTarget:s};function r(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadElement(r.name),r),r);var n=s(r.name);return r.initializer?e.setOriginalNode(e.setTextRange(t.createAssignment(n,r.initializer),r),r):n}return e.cast(r,e.isExpression)}function n(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadAssignment(r.name),r),r);if(r.propertyName){var n=s(r.name);return e.setOriginalNode(e.setTextRange(t.createPropertyAssignment(r.propertyName,r.initializer?t.createAssignment(n,r.initializer):n),r),r)}return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createShorthandPropertyAssignment(r.name,r.initializer),r),r)}return e.cast(r,e.isObjectLiteralElementLike)}function i(e){switch(e.kind){case 201:case 203:return o(e);case 200:case 204:return a(e)}}function a(r){return e.isObjectBindingPattern(r)?e.setOriginalNode(e.setTextRange(t.createObjectLiteralExpression(e.map(r.elements,n)),r),r):e.cast(r,e.isObjectLiteralExpression)}function o(n){return e.isArrayBindingPattern(n)?e.setOriginalNode(e.setTextRange(t.createArrayLiteralExpression(e.map(n.elements,r)),n),n):e.cast(n,e.isArrayLiteralExpression)}function s(t){return e.isBindingPattern(t)?i(t):e.cast(t,e.isExpression)}},e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}}(c||(c={})),function(e){var t,n,i=0;function a(t,a){var f=8&t?o:s,g=e.memoize((function(){return 1&t?e.nullParenthesizerRules:e.createParenthesizerRules(A)})),m=e.memoize((function(){return 2&t?e.nullNodeConverters:e.createNodeConverters(A)})),y=e.memoizeOne((function(e){return function(t,r){return Mt(t,e,r)}})),v=e.memoizeOne((function(e){return function(t){return It(e,t)}})),D=e.memoizeOne((function(e){return function(t){return Ot(t,e)}})),x=e.memoizeOne((function(e){return function(){return function(e){return N(e)}(e)}})),b=e.memoizeOne((function(e){return function(t){return tn(e,t)}})),S=e.memoizeOne((function(e){return function(t,r){return function(e,t,r){return t.type!==r?f(tn(e,r),t):t}(e,t,r)}})),T=e.memoizeOne((function(e){return function(t,r){return bn(e,t,r)}})),C=e.memoizeOne((function(e){return function(t,r,n){return function(e,t,r,n){void 0===r&&(r=sn(t));return t.tagName!==r||t.comment!==n?f(bn(e,r,n),t):t}(e,t,r,n)}})),E=e.memoizeOne((function(e){return function(t,r,n){return Sn(e,t,r,n)}})),k=e.memoizeOne((function(e){return function(t,r,n,i){return function(e,t,r,n,i){void 0===r&&(r=sn(t));return t.tagName!==r||t.typeExpression!==n||t.comment!==i?f(Sn(e,r,n,i),t):t}(e,t,r,n,i)}})),A={get parenthesizer(){return g()},get converters(){return m()},createNodeArray:F,createNumericLiteral:U,createBigIntLiteral:V,createStringLiteral:W,createStringLiteralFromNode:function(t){var r=q(e.getTextOfIdentifierOrLiteral(t),void 0);return r.textSourceNode=t,r},createRegularExpressionLiteral:H,createLiteralLikeNode:function(e,t){switch(e){case 8:return U(t,0);case 9:return V(t);case 10:return W(t,void 0);case 11:return wn(t,!1);case 12:return wn(t,!0);case 13:return H(t);case 14:return Jt(e,t,void 0,0)}},createIdentifier:X,updateIdentifier:function(t,r){return t.typeArguments!==r?f(X(e.idText(t),r),t):t},createTempVariable:Q,createLoopVariable:function(e){var t=2;e&&(t|=8);return Y("",t)},createUniqueName:function(t,r){void 0===r&&(r=0);return e.Debug.assert(!(7&r),"Argument out of range: flags"),e.Debug.assert(32!=(48&r),"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),Y(t,3|r)},getGeneratedNameForNode:$,createPrivateIdentifier:function(t){e.startsWith(t,"#")||e.Debug.fail("First character of private identifier must be #: "+t);var r=a.createBasePrivateIdentifierNode(80);return r.escapedText=e.escapeLeadingUnderscores(t),r.transformFlags|=8388608,r},createToken:ee,createSuper:function(){return ee(106)},createThis:te,createNull:function(){return ee(104)},createTrue:re,createFalse:ne,createModifier:ie,createModifiersFromModifierFlags:ae,createQualifiedName:oe,updateQualifiedName:function(e,t,r){return e.left!==t||e.right!==r?f(oe(t,r),e):e},createComputedPropertyName:se,updateComputedPropertyName:function(e,t){return e.expression!==t?f(se(t),e):e},createTypeParameterDeclaration:ce,updateTypeParameterDeclaration:function(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?f(ce(t,r,n),e):e},createParameterDeclaration:ue,updateParameterDeclaration:le,createDecorator:de,updateDecorator:function(e,t){return e.expression!==t?f(de(t),e):e},createPropertySignature:_e,updatePropertySignature:pe,createPropertyDeclaration:fe,updatePropertyDeclaration:ge,createMethodSignature:me,updateMethodSignature:ye,createMethodDeclaration:ve,updateMethodDeclaration:he,createConstructorDeclaration:xe,updateConstructorDeclaration:be,createGetAccessorDeclaration:Se,updateGetAccessorDeclaration:Te,createSetAccessorDeclaration:Ce,updateSetAccessorDeclaration:Ee,createCallSignature:ke,updateCallSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(ke(t,r,n),e):e},createConstructSignature:Ae,updateConstructSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ae(t,r,n),e):e},createIndexSignature:Fe,updateIndexSignature:Ne,createClassStaticBlockDeclaration:De,updateClassStaticBlockDeclaration:function(e,t,r,n){return e.decorators!==t||e.modifier!==r||e.body!==n?f(De(t,r,n),e):e},createTemplateLiteralTypeSpan:Pe,updateTemplateLiteralTypeSpan:function(e,t,r){return e.type!==t||e.literal!==r?f(Pe(t,r),e):e},createKeywordTypeNode:function(e){return ee(e)},createTypePredicateNode:we,updateTypePredicateNode:function(e,t,r,n){return e.assertsModifier!==t||e.parameterName!==r||e.type!==n?f(we(t,r,n),e):e},createTypeReferenceNode:Ie,updateTypeReferenceNode:function(e,t,r){return e.typeName!==t||e.typeArguments!==r?f(Ie(t,r),e):e},createFunctionTypeNode:Oe,updateFunctionTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Oe(t,r,n),e):e},createConstructorTypeNode:Me,updateConstructorTypeNode:function(){for(var t=[],r=0;r10?Xn(t):e.reduceLeft(t,A.createComma)},getInternalName:function(e,t,r){return ii(e,t,r,49152)},getLocalName:function(e,t,r){return ii(e,t,r,16384)},getExportName:ai,getDeclarationName:function(e,t,r){return ii(e,t,r)},getNamespaceMemberName:oi,getExternalModuleOrNamespaceExportName:function(t,r,n,i){if(t&&e.hasSyntacticModifier(r,1))return oi(t,ii(r),n,i);return ai(r,n,i)},restoreOuterExpressions:function t(r,n,i){void 0===i&&(i=15);if(r&&e.isOuterExpression(r,i)&&!function(t){return e.isParenthesizedExpression(t)&&e.nodeIsSynthesized(t)&&e.nodeIsSynthesized(e.getSourceMapRange(t))&&e.nodeIsSynthesized(e.getCommentRange(t))&&!e.some(e.getSyntheticLeadingComments(t))&&!e.some(e.getSyntheticTrailingComments(t))}(r))return function(e,t){switch(e.kind){case 211:return Tt(e,t);case 210:return bt(e,e.type,t);case 228:return Ht(e,t,e.type);case 229:return Yt(e,t);case 348:return Gn(e,t)}}(r,t(r.expression,n));return n},restoreEnclosingLabel:function t(r,n,i){if(!n)return r;var a=yr(n,n.label,e.isLabeledStatement(n.statement)?t(r,n.statement):r);i&&i(n);return a},createUseStrictPrologue:ci,copyPrologue:function(e,t,r,n){var i=ui(e,t,r);return li(e,t,i,n)},copyStandardPrologue:ui,copyCustomPrologue:li,ensureUseStrict:function(t){if(!e.findUseStrictPrologue(t))return e.setTextRange(F(r([ci()],t,!0)),t);return t},liftToBlock:function(t){return e.Debug.assert(e.every(t,e.isStatementOrBlock),"Cannot lift nodes to a Block."),e.singleOrUndefined(t)||er(t)},mergeLexicalEnvironment:function(t,n){if(!e.some(n))return t;var i=di(t,e.isPrologueDirective,0),a=di(t,e.isHoistedFunction,i),o=di(t,e.isHoistedVariableStatement,a),s=di(n,e.isPrologueDirective,0),c=di(n,e.isHoistedFunction,s),u=di(n,e.isHoistedVariableStatement,c),l=di(n,e.isCustomPrologue,u);e.Debug.assert(l===n.length,"Expected declarations to be valid standard or custom prologues");var d=e.isNodeArray(t)?t.slice():t;l>u&&d.splice.apply(d,r([o,0],n.slice(u,l),!1));u>c&&d.splice.apply(d,r([a,0],n.slice(c,u),!1));c>s&&d.splice.apply(d,r([i,0],n.slice(s,c),!1));if(s>0)if(0===i)d.splice.apply(d,r([0,0],n.slice(0,s),!1));else{for(var _=new e.Map,p=0;p=0;p--){var g=n[p];_.has(g.expression.text)||d.unshift(g)}}if(e.isNodeArray(t))return e.setTextRange(F(d,t.hasTrailingComma),t);return t},updateModifiers:function(t,r){var n;"number"==typeof r&&(r=ae(r));return e.isParameter(t)?le(t,t.decorators,r,t.dotDotDotToken,t.name,t.questionToken,t.type,t.initializer):e.isPropertySignature(t)?pe(t,r,t.name,t.questionToken,t.type):e.isPropertyDeclaration(t)?ge(t,t.decorators,r,t.name,null!==(n=t.questionToken)&&void 0!==n?n:t.exclamationToken,t.type,t.initializer):e.isMethodSignature(t)?ye(t,r,t.name,t.questionToken,t.typeParameters,t.parameters,t.type):e.isMethodDeclaration(t)?he(t,t.decorators,r,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body):e.isConstructorDeclaration(t)?be(t,t.decorators,r,t.parameters,t.body):e.isGetAccessorDeclaration(t)?Te(t,t.decorators,r,t.name,t.parameters,t.type,t.body):e.isSetAccessorDeclaration(t)?Ee(t,t.decorators,r,t.name,t.parameters,t.body):e.isIndexSignatureDeclaration(t)?Ne(t,t.decorators,r,t.parameters,t.type):e.isFunctionExpression(t)?Et(t,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isArrowFunction(t)?At(t,r,t.typeParameters,t.parameters,t.type,t.equalsGreaterThanToken,t.body):e.isClassExpression(t)?Vt(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isVariableStatement(t)?rr(t,r,t.declarationList):e.isFunctionDeclaration(t)?Sr(t,t.decorators,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isClassDeclaration(t)?Cr(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isInterfaceDeclaration(t)?kr(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isTypeAliasDeclaration(t)?Fr(t,t.decorators,r,t.name,t.typeParameters,t.type):e.isEnumDeclaration(t)?Pr(t,t.decorators,r,t.name,t.members):e.isModuleDeclaration(t)?Ir(t,t.decorators,r,t.name,t.body):e.isImportEqualsDeclaration(t)?Br(t,t.decorators,r,t.isTypeOnly,t.name,t.moduleReference):e.isImportDeclaration(t)?Jr(t,t.decorators,r,t.importClause,t.moduleSpecifier,t.assertClause):e.isExportAssignment(t)?Yr(t,t.decorators,r,t.expression):e.isExportDeclaration(t)?Qr(t,t.decorators,r,t.isTypeOnly,t.exportClause,t.moduleSpecifier,t.assertClause):e.Debug.assertNever(t)}};return A;function F(t,r){if(void 0===t||t===e.emptyArray)t=[];else if(e.isNodeArray(t)){if(void 0===r||t.hasTrailingComma===r)return void 0===t.transformFlags&&p(t),e.Debug.attachNodeArrayDebugInfo(t),t;var n=t.slice();return n.pos=t.pos,n.end=t.end,n.hasTrailingComma=r,n.transformFlags=t.transformFlags,e.Debug.attachNodeArrayDebugInfo(n),n}var i=t.length,a=i>=1&&i<=4?t.slice():t;return e.setTextRangePosEnd(a,-1,-1),a.hasTrailingComma=!!r,p(a),e.Debug.attachNodeArrayDebugInfo(a),a}function N(e){return a.createBaseNode(e)}function P(e,t,r){var n=N(e);return n.decorators=_i(t),n.modifiers=_i(r),n.transformFlags|=_(n.decorators)|_(n.modifiers),n.symbol=void 0,n.localSymbol=void 0,n.locals=void 0,n.nextContainer=void 0,n}function w(t,r,n,i){var a=P(t,r,n);if(i=pi(i),a.name=i,i)switch(a.kind){case 168:case 171:case 172:case 166:case 294:if(e.isIdentifier(i)){a.transformFlags|=l(i);break}default:a.transformFlags|=d(i)}return a}function I(e,t,r,n,i){var a=w(e,t,r,n);return a.typeParameters=_i(i),a.transformFlags|=_(a.typeParameters),i&&(a.transformFlags|=1),a}function O(e,t,r,n,i,a,o){var s=I(e,t,r,n,i);return s.parameters=F(a),s.type=o,s.transformFlags|=_(s.parameters)|d(s.type),o&&(s.transformFlags|=1),s}function M(e,t){return t.typeArguments&&(e.typeArguments=t.typeArguments),f(e,t)}function L(e,t,r,n,i,a,o,s){var c=O(e,t,r,n,i,a,o);return c.body=s,c.transformFlags|=-16777217&d(c.body),s||(c.transformFlags|=1),c}function R(e,t){return t.exclamationToken&&(e.exclamationToken=t.exclamationToken),t.typeArguments&&(e.typeArguments=t.typeArguments),M(e,t)}function B(e,t,r,n,i,a){var o=I(e,t,r,n,i);return o.heritageClauses=_i(a),o.transformFlags|=_(o.heritageClauses),o}function j(e,t,r,n,i,a,o){var s=B(e,t,r,n,i,a);return s.members=F(o),s.transformFlags|=_(s.members),s}function J(e,t,r,n,i){var a=w(e,t,r,n);return a.initializer=i,a.transformFlags|=d(a.initializer),a}function K(e,t,r,n,i,a){var o=J(e,t,r,n,a);return o.type=i,o.transformFlags|=d(i),i&&(o.transformFlags|=1),o}function z(e,t){var r=Z(e);return r.text=t,r}function U(e,t){void 0===t&&(t=0);var r=z(8,"number"==typeof e?e+"":e);return r.numericLiteralFlags=t,384&t&&(r.transformFlags|=512),r}function V(t){var r=z(9,"string"==typeof t?t:e.pseudoBigIntToString(t)+"n");return r.transformFlags|=4,r}function q(e,t){var r=z(10,e);return r.singleQuote=t,r}function W(e,t,r){var n=q(e,t);return n.hasExtendedUnicodeEscape=r,r&&(n.transformFlags|=512),n}function H(e){return z(13,e)}function G(t,r){void 0===r&&t&&(r=e.stringToToken(t)),79===r&&(r=void 0);var n=a.createBaseIdentifierNode(79);return n.originalKeywordKind=r,n.escapedText=e.escapeLeadingUnderscores(t),n}function Y(e,t){var r=G(e,void 0);return r.autoGenerateFlags=t,r.autoGenerateId=i,i++,r}function X(e,t,r){var n=G(e,r);return t&&(n.typeArguments=F(t)),132===n.originalKeywordKind&&(n.transformFlags|=16777216),n}function Q(e,t){var r=1;t&&(r|=8);var n=Y("",r);return e&&e(n),n}function $(t,r){void 0===r&&(r=0),e.Debug.assert(!(7&r),"Argument out of range: flags");var n=Y(t&&e.isIdentifier(t)?e.idText(t):"",4|r);return n.original=t,n}function Z(e){return a.createBaseTokenNode(e)}function ee(t){e.Debug.assert(t>=0&&t<=159,"Invalid token"),e.Debug.assert(t<=14||t>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),e.Debug.assert(t<=8||t>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),e.Debug.assert(79!==t,"Invalid token. Use 'createIdentifier' to create identifiers");var r=Z(t),n=0;switch(t){case 131:n=192;break;case 123:case 121:case 122:case 144:case 126:case 135:case 85:case 130:case 146:case 157:case 143:case 147:case 158:case 149:case 133:case 150:case 114:case 154:case 152:n=1;break;case 106:n=33554944;break;case 124:n=512;break;case 108:n=8192}return n&&(r.transformFlags|=n),r}function te(){return ee(108)}function re(){return ee(110)}function ne(){return ee(95)}function ie(e){return ee(e)}function ae(e){var t=[];return 1&e&&t.push(ie(93)),2&e&&t.push(ie(135)),512&e&&t.push(ie(88)),2048&e&&t.push(ie(85)),4&e&&t.push(ie(123)),8&e&&t.push(ie(121)),16&e&&t.push(ie(122)),128&e&&t.push(ie(126)),32&e&&t.push(ie(124)),16384&e&&t.push(ie(158)),64&e&&t.push(ie(144)),256&e&&t.push(ie(131)),t}function oe(e,t){var r=N(160);return r.left=e,r.right=pi(t),r.transformFlags|=d(r.left)|l(r.right),r}function se(e){var t=N(161);return t.expression=g().parenthesizeExpressionOfComputedPropertyName(e),t.transformFlags|=66048|d(t.expression),t}function ce(e,t,r){var n=w(162,void 0,void 0,e);return n.constraint=t,n.default=r,n.transformFlags=1,n}function ue(t,r,n,i,a,o,s){var c=K(163,t,r,i,o,s&&g().parenthesizeExpressionForDisallowedComma(s));return c.dotDotDotToken=n,c.questionToken=a,e.isThisIdentifier(c.name)?c.transformFlags=1:(c.transformFlags|=d(c.dotDotDotToken)|d(c.questionToken),a&&(c.transformFlags|=1),16476&e.modifiersToFlags(c.modifiers)&&(c.transformFlags|=4096),(s||n)&&(c.transformFlags|=512)),c}function le(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?f(ue(t,r,n,i,a,o,s),e):e}function de(e){var t=N(164);return t.expression=g().parenthesizeLeftSideOfAccess(e),t.transformFlags|=4097|d(t.expression),t}function _e(e,t,r,n){var i=w(165,void 0,e,t);return i.type=n,i.questionToken=r,i.transformFlags=1,i}function pe(e,t,r,n,i){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(_e(t,r,n,i),e):e}function fe(t,r,n,i,a,o){var s=K(166,t,r,n,a,o);return s.questionToken=i&&e.isQuestionToken(i)?i:void 0,s.exclamationToken=i&&e.isExclamationToken(i)?i:void 0,s.transformFlags|=d(s.questionToken)|d(s.exclamationToken)|8388608,(e.isComputedPropertyName(s.name)||e.hasStaticModifier(s)&&s.initializer)&&(s.transformFlags|=4096),(i||2&e.modifiersToFlags(s.modifiers))&&(s.transformFlags|=1),s}function ge(t,r,n,i,a,o,s){return t.decorators!==r||t.modifiers!==n||t.name!==i||t.questionToken!==(void 0!==a&&e.isQuestionToken(a)?a:void 0)||t.exclamationToken!==(void 0!==a&&e.isExclamationToken(a)?a:void 0)||t.type!==o||t.initializer!==s?f(fe(r,n,i,a,o,s),t):t}function me(e,t,r,n,i,a){var o=O(167,void 0,e,t,n,i,a);return o.questionToken=r,o.transformFlags=1,o}function ye(e,t,r,n,i,a,o){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.typeParameters!==i||e.parameters!==a||e.type!==o?M(me(t,r,n,i,a,o),e):e}function ve(t,r,n,i,a,o,s,c,u){var l=L(168,t,r,i,o,s,c,u);return l.asteriskToken=n,l.questionToken=a,l.transformFlags|=d(l.asteriskToken)|d(l.questionToken)|512,a&&(l.transformFlags|=1),256&e.modifiersToFlags(l.modifiers)?l.transformFlags|=n?64:128:n&&(l.transformFlags|=1024),l}function he(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?R(ve(t,r,n,i,a,o,s,c,u),e):e}function De(e,t,r){var n=I(169,e,t,void 0,void 0);return n.body=r,n.transformFlags=8388608|d(r),n}function xe(e,t,r,n){var i=L(170,e,t,void 0,void 0,r,void 0,n);return i.transformFlags|=512,i}function be(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?R(xe(t,r,n,i),e):e}function Se(e,t,r,n,i,a){return L(171,e,t,r,void 0,n,i,a)}function Te(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?R(Se(t,r,n,i,a,o),e):e}function Ce(e,t,r,n,i){return L(172,e,t,r,void 0,n,void 0,i)}function Ee(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?R(Ce(t,r,n,i,a),e):e}function ke(e,t,r){var n=O(173,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Ae(e,t,r){var n=O(174,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Fe(e,t,r,n){var i=O(175,e,t,void 0,void 0,r,n);return i.transformFlags=1,i}function Ne(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?M(Fe(t,r,n,i),e):e}function Pe(e,t){var r=N(198);return r.type=e,r.literal=t,r.transformFlags=1,r}function we(e,t,r){var n=N(176);return n.assertsModifier=e,n.parameterName=pi(t),n.type=r,n.transformFlags=1,n}function Ie(e,t){var r=N(177);return r.typeName=pi(e),r.typeArguments=t&&g().parenthesizeTypeArguments(F(t)),r.transformFlags=1,r}function Oe(e,t,r){var n=O(178,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Me(){for(var t=[],r=0;r0;default:return!0}}function ii(t,r,n,i){void 0===i&&(i=0);var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.setParent(e.setTextRange($n(a),a),a.parent);return i|=e.getEmitFlags(a),n||(i|=48),r||(i|=1536),i&&e.setEmitFlags(o,i),o}return $(t)}function ai(e,t,r){return ii(e,t,r,8192)}function oi(t,r,n,i){var a=lt(t,e.nodeIsSynthesized(r)?r:$n(r));e.setTextRange(a,r);var o=0;return i||(o|=48),n||(o|=1536),o&&e.setEmitFlags(a,o),a}function si(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function ci(){return e.startOnNewLine(ir(W("use strict")))}function ui(t,r,n){e.Debug.assert(0===r.length,"Prologue directives should be at the first statement in the target statements array");for(var i=!1,a=0,o=t.length;a=176&&e<=199)return-2;switch(e){case 207:case 208:case 203:case 200:case 201:return 536887296;case 260:return 589443072;case 163:case 210:case 228:case 348:case 211:case 106:case 205:case 206:default:return 536870912;case 213:return 557748224;case 212:case 255:return 591310848;case 254:return 537165824;case 256:case 225:return 536940544;case 170:return 591306752;case 166:return 570433536;case 168:case 171:case 172:return 574529536;case 130:case 146:case 157:case 143:case 149:case 147:case 133:case 150:case 114:case 162:case 165:case 167:case 173:case 174:case 175:case 257:case 258:return-2;case 204:return 536973312;case 291:return 536903680}}e.getTransformFlagsSubtreeExclusions=f;var g=e.createBaseNodeFactory();function m(e){return e.flags|=8,e}var y,v={createBaseSourceFileNode:function(e){return m(g.createBaseSourceFileNode(e))},createBaseIdentifierNode:function(e){return m(g.createBaseIdentifierNode(e))},createBasePrivateIdentifierNode:function(e){return m(g.createBasePrivateIdentifierNode(e))},createBaseTokenNode:function(e){return m(g.createBaseTokenNode(e))},createBaseNode:function(e){return m(g.createBaseNode(e))}};function h(t,r){if(t.original=r,r){var n=r.emitNode;n&&(t.emitNode=function(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,d=t.startsOnNewLine;r||(r={});i&&(r.leadingComments=e.addRange(i.slice(),r.leadingComments));a&&(r.trailingComments=e.addRange(a.slice(),r.trailingComments));n&&(r.flags=-268435457&n);o&&(r.commentRange=o);s&&(r.sourceMapRange=s);c&&(r.tokenSourceMapRanges=function(e,t){t||(t=[]);for(var r in e)t[r]=e[r];return t}(c,r.tokenSourceMapRanges));void 0!==u&&(r.constantValue=u);if(l)for(var _=0,p=l;_0&&(o[u-c]=l)}c>0&&(o.length-=c)}},e.getSnippetElement=function(e){var t;return null===(t=e.emitNode)||void 0===t?void 0:t.snippetElement},e.setSnippetElement=function(e,r){return t(e).snippetElement=r,e},e.ignoreSourceNewlines=function(e){return t(e).flags|=134217728,e}}(c||(c={})),function(e){function t(e){for(var t=[],r=1;r=2)return n.createCallExpression(n.createPropertyAccessExpression(n.createIdentifier("Object"),"assign"),void 0,r);return t.requestEmitHelper(e.assignHelper),n.createCallExpression(o("__assign"),void 0,r)},createAwaitHelper:function(r){return t.requestEmitHelper(e.awaitHelper),n.createCallExpression(o("__await"),void 0,[r])},createAsyncGeneratorHelper:function(r,i){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncGeneratorHelper),(r.emitNode||(r.emitNode={})).flags|=786432,n.createCallExpression(o("__asyncGenerator"),void 0,[i?n.createThis():n.createVoidZero(),n.createIdentifier("arguments"),r])},createAsyncDelegatorHelper:function(r){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncDelegator),n.createCallExpression(o("__asyncDelegator"),void 0,[r])},createAsyncValuesHelper:function(r){return t.requestEmitHelper(e.asyncValues),n.createCallExpression(o("__asyncValues"),void 0,[r])},createRestHelper:function(r,i,a,s){t.requestEmitHelper(e.restHelper);for(var c=[],u=0,l=0;l= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'},e.metadataHelper={name:"typescript:metadata",importName:"__metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'},e.paramHelper={name:"typescript:param",importName:"__param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"},e.assignHelper={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };"},e.awaitHelper={name:"typescript:await",importName:"__await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"},e.asyncGeneratorHelper={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[e.awaitHelper],text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };'},e.asyncDelegator={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[e.awaitHelper],text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\n };'},e.asyncValues={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'},e.restHelper={name:"typescript:rest",importName:"__rest",scoped:!1,text:'\n var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n };'},e.awaiterHelper={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'},e.extendsHelper={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:'\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();'},e.templateObjectHelper={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'},e.readHelper={name:"typescript:read",importName:"__read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };'},e.spreadArrayHelper={name:"typescript:spreadArray",importName:"__spreadArray",scoped:!1,text:"\n var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n };"},e.valuesHelper={name:"typescript:values",importName:"__values",scoped:!1,text:'\n var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === "number") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\n };'},e.generatorHelper={name:"typescript:generator",importName:"__generator",scoped:!1,priority:6,text:'\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'},e.createBindingHelper={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:"\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));"},e.setModuleDefaultHelper={name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:'\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, "default", { enumerable: true, value: v });\n }) : function(o, v) {\n o["default"] = v;\n });'},e.importStarHelper={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:'\n var __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };'},e.importDefaultHelper={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:'\n var __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n };'},e.exportStarHelper={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:'\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n };'},e.classPrivateFieldGetHelper={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:'\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\n };'},e.classPrivateFieldSetHelper={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:'\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === "m") throw new TypeError("Private method is not writable");\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");\n return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n };'},e.classPrivateFieldInHelper={name:"typescript:classPrivateFieldIn",importName:"__classPrivateFieldIn",scoped:!1,text:'\n var __classPrivateFieldIn = (this && this.__classPrivateFieldIn) || function(state, receiver) {\n if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use \'in\' operator on non-object");\n return typeof state === "function" ? receiver === state : state.has(receiver);\n };'},e.getAllUnscopedEmitHelpers=function(){return n||(n=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadArrayHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.classPrivateFieldInHelper,e.createBindingHelper,e.setModuleDefaultHelper],(function(e){return e.name})))},e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:t(i(["\n const "," = name => super[name];"],["\n const "," = name => super[name];"]),"_superIndex")},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:t(i(["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"],["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"]),"_superIndex")},e.isCallToHelper=function(t,r){return e.isCallExpression(t)&&e.isIdentifier(t.expression)&&0!=(4096&e.getEmitFlags(t.expression))&&t.expression.escapedText===r}}(c||(c={})),function(e){e.isNumericLiteral=function(e){return 8===e.kind},e.isBigIntLiteral=function(e){return 9===e.kind},e.isStringLiteral=function(e){return 10===e.kind},e.isJsxText=function(e){return 11===e.kind},e.isRegularExpressionLiteral=function(e){return 13===e.kind},e.isNoSubstitutionTemplateLiteral=function(e){return 14===e.kind},e.isTemplateHead=function(e){return 15===e.kind},e.isTemplateMiddle=function(e){return 16===e.kind},e.isTemplateTail=function(e){return 17===e.kind},e.isDotDotDotToken=function(e){return 25===e.kind},e.isCommaToken=function(e){return 27===e.kind},e.isPlusToken=function(e){return 39===e.kind},e.isMinusToken=function(e){return 40===e.kind},e.isAsteriskToken=function(e){return 41===e.kind},e.isExclamationToken=function(e){return 53===e.kind},e.isQuestionToken=function(e){return 57===e.kind},e.isColonToken=function(e){return 58===e.kind},e.isQuestionDotToken=function(e){return 28===e.kind},e.isEqualsGreaterThanToken=function(e){return 38===e.kind},e.isIdentifier=function(e){return 79===e.kind},e.isPrivateIdentifier=function(e){return 80===e.kind},e.isExportModifier=function(e){return 93===e.kind},e.isAsyncModifier=function(e){return 131===e.kind},e.isAssertsKeyword=function(e){return 128===e.kind},e.isAwaitKeyword=function(e){return 132===e.kind},e.isReadonlyKeyword=function(e){return 144===e.kind},e.isStaticModifier=function(e){return 124===e.kind},e.isAbstractModifier=function(e){return 126===e.kind},e.isSuperKeyword=function(e){return 106===e.kind},e.isImportKeyword=function(e){return 100===e.kind},e.isQualifiedName=function(e){return 160===e.kind},e.isComputedPropertyName=function(e){return 161===e.kind},e.isTypeParameterDeclaration=function(e){return 162===e.kind},e.isParameter=function(e){return 163===e.kind},e.isDecorator=function(e){return 164===e.kind},e.isPropertySignature=function(e){return 165===e.kind},e.isPropertyDeclaration=function(e){return 166===e.kind},e.isMethodSignature=function(e){return 167===e.kind},e.isMethodDeclaration=function(e){return 168===e.kind},e.isClassStaticBlockDeclaration=function(e){return 169===e.kind},e.isConstructorDeclaration=function(e){return 170===e.kind},e.isGetAccessorDeclaration=function(e){return 171===e.kind},e.isSetAccessorDeclaration=function(e){return 172===e.kind},e.isCallSignatureDeclaration=function(e){return 173===e.kind},e.isConstructSignatureDeclaration=function(e){return 174===e.kind},e.isIndexSignatureDeclaration=function(e){return 175===e.kind},e.isTypePredicateNode=function(e){return 176===e.kind},e.isTypeReferenceNode=function(e){return 177===e.kind},e.isFunctionTypeNode=function(e){return 178===e.kind},e.isConstructorTypeNode=function(e){return 179===e.kind},e.isTypeQueryNode=function(e){return 180===e.kind},e.isTypeLiteralNode=function(e){return 181===e.kind},e.isArrayTypeNode=function(e){return 182===e.kind},e.isTupleTypeNode=function(e){return 183===e.kind},e.isNamedTupleMember=function(e){return 196===e.kind},e.isOptionalTypeNode=function(e){return 184===e.kind},e.isRestTypeNode=function(e){return 185===e.kind},e.isUnionTypeNode=function(e){return 186===e.kind},e.isIntersectionTypeNode=function(e){return 187===e.kind},e.isConditionalTypeNode=function(e){return 188===e.kind},e.isInferTypeNode=function(e){return 189===e.kind},e.isParenthesizedTypeNode=function(e){return 190===e.kind},e.isThisTypeNode=function(e){return 191===e.kind},e.isTypeOperatorNode=function(e){return 192===e.kind},e.isIndexedAccessTypeNode=function(e){return 193===e.kind},e.isMappedTypeNode=function(e){return 194===e.kind},e.isLiteralTypeNode=function(e){return 195===e.kind},e.isImportTypeNode=function(e){return 199===e.kind},e.isTemplateLiteralTypeSpan=function(e){return 198===e.kind},e.isTemplateLiteralTypeNode=function(e){return 197===e.kind},e.isObjectBindingPattern=function(e){return 200===e.kind},e.isArrayBindingPattern=function(e){return 201===e.kind},e.isBindingElement=function(e){return 202===e.kind},e.isArrayLiteralExpression=function(e){return 203===e.kind},e.isObjectLiteralExpression=function(e){return 204===e.kind},e.isPropertyAccessExpression=function(e){return 205===e.kind},e.isElementAccessExpression=function(e){return 206===e.kind},e.isCallExpression=function(e){return 207===e.kind},e.isNewExpression=function(e){return 208===e.kind},e.isTaggedTemplateExpression=function(e){return 209===e.kind},e.isTypeAssertionExpression=function(e){return 210===e.kind},e.isParenthesizedExpression=function(e){return 211===e.kind},e.isFunctionExpression=function(e){return 212===e.kind},e.isArrowFunction=function(e){return 213===e.kind},e.isDeleteExpression=function(e){return 214===e.kind},e.isTypeOfExpression=function(e){return 215===e.kind},e.isVoidExpression=function(e){return 216===e.kind},e.isAwaitExpression=function(e){return 217===e.kind},e.isPrefixUnaryExpression=function(e){return 218===e.kind},e.isPostfixUnaryExpression=function(e){return 219===e.kind},e.isBinaryExpression=function(e){return 220===e.kind},e.isConditionalExpression=function(e){return 221===e.kind},e.isTemplateExpression=function(e){return 222===e.kind},e.isYieldExpression=function(e){return 223===e.kind},e.isSpreadElement=function(e){return 224===e.kind},e.isClassExpression=function(e){return 225===e.kind},e.isOmittedExpression=function(e){return 226===e.kind},e.isExpressionWithTypeArguments=function(e){return 227===e.kind},e.isAsExpression=function(e){return 228===e.kind},e.isNonNullExpression=function(e){return 229===e.kind},e.isMetaProperty=function(e){return 230===e.kind},e.isSyntheticExpression=function(e){return 231===e.kind},e.isPartiallyEmittedExpression=function(e){return 348===e.kind},e.isCommaListExpression=function(e){return 349===e.kind},e.isTemplateSpan=function(e){return 232===e.kind},e.isSemicolonClassElement=function(e){return 233===e.kind},e.isBlock=function(e){return 234===e.kind},e.isVariableStatement=function(e){return 236===e.kind},e.isEmptyStatement=function(e){return 235===e.kind},e.isExpressionStatement=function(e){return 237===e.kind},e.isIfStatement=function(e){return 238===e.kind},e.isDoStatement=function(e){return 239===e.kind},e.isWhileStatement=function(e){return 240===e.kind},e.isForStatement=function(e){return 241===e.kind},e.isForInStatement=function(e){return 242===e.kind},e.isForOfStatement=function(e){return 243===e.kind},e.isContinueStatement=function(e){return 244===e.kind},e.isBreakStatement=function(e){return 245===e.kind},e.isReturnStatement=function(e){return 246===e.kind},e.isWithStatement=function(e){return 247===e.kind},e.isSwitchStatement=function(e){return 248===e.kind},e.isLabeledStatement=function(e){return 249===e.kind},e.isThrowStatement=function(e){return 250===e.kind},e.isTryStatement=function(e){return 251===e.kind},e.isDebuggerStatement=function(e){return 252===e.kind},e.isVariableDeclaration=function(e){return 253===e.kind},e.isVariableDeclarationList=function(e){return 254===e.kind},e.isFunctionDeclaration=function(e){return 255===e.kind},e.isClassDeclaration=function(e){return 256===e.kind},e.isInterfaceDeclaration=function(e){return 257===e.kind},e.isTypeAliasDeclaration=function(e){return 258===e.kind},e.isEnumDeclaration=function(e){return 259===e.kind},e.isModuleDeclaration=function(e){return 260===e.kind},e.isModuleBlock=function(e){return 261===e.kind},e.isCaseBlock=function(e){return 262===e.kind},e.isNamespaceExportDeclaration=function(e){return 263===e.kind},e.isImportEqualsDeclaration=function(e){return 264===e.kind},e.isImportDeclaration=function(e){return 265===e.kind},e.isImportClause=function(e){return 266===e.kind},e.isAssertClause=function(e){return 292===e.kind},e.isAssertEntry=function(e){return 293===e.kind},e.isNamespaceImport=function(e){return 267===e.kind},e.isNamespaceExport=function(e){return 273===e.kind},e.isNamedImports=function(e){return 268===e.kind},e.isImportSpecifier=function(e){return 269===e.kind},e.isExportAssignment=function(e){return 270===e.kind},e.isExportDeclaration=function(e){return 271===e.kind},e.isNamedExports=function(e){return 272===e.kind},e.isExportSpecifier=function(e){return 274===e.kind},e.isMissingDeclaration=function(e){return 275===e.kind},e.isNotEmittedStatement=function(e){return 347===e.kind},e.isSyntheticReference=function(e){return 352===e.kind},e.isMergeDeclarationMarker=function(e){return 350===e.kind},e.isEndOfDeclarationMarker=function(e){return 351===e.kind},e.isExternalModuleReference=function(e){return 276===e.kind},e.isJsxElement=function(e){return 277===e.kind},e.isJsxSelfClosingElement=function(e){return 278===e.kind},e.isJsxOpeningElement=function(e){return 279===e.kind},e.isJsxClosingElement=function(e){return 280===e.kind},e.isJsxFragment=function(e){return 281===e.kind},e.isJsxOpeningFragment=function(e){return 282===e.kind},e.isJsxClosingFragment=function(e){return 283===e.kind},e.isJsxAttribute=function(e){return 284===e.kind},e.isJsxAttributes=function(e){return 285===e.kind},e.isJsxSpreadAttribute=function(e){return 286===e.kind},e.isJsxExpression=function(e){return 287===e.kind},e.isCaseClause=function(e){return 288===e.kind},e.isDefaultClause=function(e){return 289===e.kind},e.isHeritageClause=function(e){return 290===e.kind},e.isCatchClause=function(e){return 291===e.kind},e.isPropertyAssignment=function(e){return 294===e.kind},e.isShorthandPropertyAssignment=function(e){return 295===e.kind},e.isSpreadAssignment=function(e){return 296===e.kind},e.isEnumMember=function(e){return 297===e.kind},e.isUnparsedPrepend=function(e){return 299===e.kind},e.isSourceFile=function(e){return 303===e.kind},e.isBundle=function(e){return 304===e.kind},e.isUnparsedSource=function(e){return 305===e.kind},e.isJSDocTypeExpression=function(e){return 307===e.kind},e.isJSDocNameReference=function(e){return 308===e.kind},e.isJSDocMemberName=function(e){return 309===e.kind},e.isJSDocLink=function(e){return 322===e.kind},e.isJSDocLinkCode=function(e){return 323===e.kind},e.isJSDocLinkPlain=function(e){return 324===e.kind},e.isJSDocAllType=function(e){return 310===e.kind},e.isJSDocUnknownType=function(e){return 311===e.kind},e.isJSDocNullableType=function(e){return 312===e.kind},e.isJSDocNonNullableType=function(e){return 313===e.kind},e.isJSDocOptionalType=function(e){return 314===e.kind},e.isJSDocFunctionType=function(e){return 315===e.kind},e.isJSDocVariadicType=function(e){return 316===e.kind},e.isJSDocNamepathType=function(e){return 317===e.kind},e.isJSDoc=function(e){return 318===e.kind},e.isJSDocTypeLiteral=function(e){return 320===e.kind},e.isJSDocSignature=function(e){return 321===e.kind},e.isJSDocAugmentsTag=function(e){return 326===e.kind},e.isJSDocAuthorTag=function(e){return 328===e.kind},e.isJSDocClassTag=function(e){return 330===e.kind},e.isJSDocCallbackTag=function(e){return 336===e.kind},e.isJSDocPublicTag=function(e){return 331===e.kind},e.isJSDocPrivateTag=function(e){return 332===e.kind},e.isJSDocProtectedTag=function(e){return 333===e.kind},e.isJSDocReadonlyTag=function(e){return 334===e.kind},e.isJSDocOverrideTag=function(e){return 335===e.kind},e.isJSDocDeprecatedTag=function(e){return 329===e.kind},e.isJSDocSeeTag=function(e){return 344===e.kind},e.isJSDocEnumTag=function(e){return 337===e.kind},e.isJSDocParameterTag=function(e){return 338===e.kind},e.isJSDocReturnTag=function(e){return 339===e.kind},e.isJSDocThisTag=function(e){return 340===e.kind},e.isJSDocTypeTag=function(e){return 341===e.kind},e.isJSDocTemplateTag=function(e){return 342===e.kind},e.isJSDocTypedefTag=function(e){return 343===e.kind},e.isJSDocUnknownTag=function(e){return 325===e.kind},e.isJSDocPropertyTag=function(e){return 345===e.kind},e.isJSDocImplementsTag=function(e){return 327===e.kind},e.isSyntaxList=function(e){return 346===e.kind}}(c||(c={})),function(e){function t(t,r,n,i){if(e.isComputedPropertyName(n))return e.setTextRange(t.createElementAccessExpression(r,n.expression),i);var a=e.setTextRange(e.isMemberName(n)?t.createPropertyAccessExpression(r,n):t.createElementAccessExpression(r,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function n(t,r){var n=e.parseNodeFactory.createIdentifier(t||"React");return e.setParent(n,e.getParseTreeNode(r)),n}function i(t,r,a){if(e.isQualifiedName(r)){var o=i(t,r.left,a),s=t.createIdentifier(e.idText(r.right));return s.escapedText=r.right.escapedText,t.createPropertyAccessExpression(o,s)}return n(e.idText(r),a)}function a(e,t,r,a){return t?i(e,t,a):e.createPropertyAccessExpression(n(r,a),"createElement")}function o(t,r){return e.isIdentifier(r)?t.createStringLiteralFromNode(r):e.isComputedPropertyName(r)?e.setParent(e.setTextRange(t.cloneNode(r.expression),r.expression),r.expression.parent):e.setParent(e.setTextRange(t.cloneNode(r),r),r.parent)}function s(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function c(t){return e.isParenthesizedExpression(t)&&e.isInJSFile(t)&&!!e.getJSDocTypeTag(t)}function u(e,t){switch(void 0===t&&(t=15),e.kind){case 211:return!(16&t&&c(e))&&0!=(1&t);case 210:case 228:return 0!=(2&t);case 229:return 0!=(4&t);case 348:return 0!=(8&t)}return!1}function l(e,t){for(void 0===t&&(t=15);u(e,t);)e=e.expression;return e}function d(t){return e.setStartsOnNewLine(t,!0)}function _(t){var r=e.getOriginalNode(t,e.isSourceFile),n=r&&r.emitNode;return n&&n.externalHelpersModuleName}function p(t,r,n,i,a){if(n.importHelpers&&e.isEffectiveExternalModule(r,n)){var o=_(r);if(o)return o;var s=e.getEmitModuleKind(n),c=(i||e.getESModuleInterop(n)&&a)&&s!==e.ModuleKind.System&&(s0)if(i||s.push(t.createNull()),a.length>1)for(var c=0,u=a;c0)if(c.length>1)for(var f=0,g=c;f=e.ModuleKind.ES2015&&u<=e.ModuleKind.ESNext||n.impliedNodeFormat===e.ModuleKind.ESNext){var l=e.getEmitHelpers(n);if(l){for(var d=[],_=0,f=l;_0?o[n-1]:void 0;return e.Debug.assertEqual(i[n],r),o[n]=t.onEnter(a[n],l,u),i[n]=c(t,r),n}function n(t,r,i,a,o,s,d){e.Debug.assertEqual(i[r],n),e.Debug.assertIsDefined(t.onLeft),i[r]=c(t,n);var _=t.onLeft(a[r].left,o[r],a[r]);return _?(l(r,a,_),u(r,i,a,o,_)):r}function i(t,r,n,a,o,s,u){return e.Debug.assertEqual(n[r],i),e.Debug.assertIsDefined(t.onOperator),n[r]=c(t,i),t.onOperator(a[r].operatorToken,o[r],a[r]),r}function a(t,r,n,i,o,s,d){e.Debug.assertEqual(n[r],a),e.Debug.assertIsDefined(t.onRight),n[r]=c(t,a);var _=t.onRight(i[r].right,o[r],i[r]);return _?(l(r,i,_),u(r,n,i,o,_)):r}function o(t,r,n,i,a,s,u){e.Debug.assertEqual(n[r],o),n[r]=c(t,o);var l=t.onExit(i[r],a[r]);if(r>0){if(r--,t.foldState){var d=n[r]===o?"right":"left";a[r]=t.foldState(a[r],l,d)}}else s.value=l;return r}function s(t,r,n,i,a,o,c){return e.Debug.assertEqual(n[r],s),r}function c(t,c){switch(c){case r:if(t.onLeft)return n;case n:if(t.onOperator)return i;case i:if(t.onRight)return a;case a:return o;case o:case s:return s;default:e.Debug.fail("Invalid state")}}function u(e,t,n,i,a){return t[++e]=r,n[e]=a,i[e]=void 0,e}function l(t,r,n){if(e.Debug.shouldAssert(2))for(;t>=0;)e.Debug.assert(r[t]!==n,"Circular traversal detected."),t--}t.enter=r,t.left=n,t.operator=i,t.right=a,t.exit=o,t.done=s,t.nextState=c}(h||(h={}));var D=function(e,t,r,n,i,a){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=n,this.onExit=i,this.foldState=a};e.createBinaryExpressionTrampoline=function(t,r,n,i,a,o){var s=new D(t,r,n,i,a,o);return function(t,r){var n={value:void 0},i=[h.enter],a=[t],o=[void 0],c=0;for(;i[c]!==h.done;)c=i[c](s,c,i,a,o,n,r);return e.Debug.assertEqual(c,0),n.value}}}(c||(c={})),function(e){e.setTextRange=function(t,r){return r?e.setTextRangePosEnd(t,r.pos,r.end):t}}(c||(c={})),function(e){var t,n,i,a,o,s,c,u,l;function d(e,t){return t&&e(t)}function _(e,t,r){if(r){if(t)return t(r);for(var n=0,i=r;nt.checkJsDirective.pos)&&(t.checkJsDirective={enabled:"ts-check"===i,end:e.range.end,pos:e.range.pos})}));break;case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:e.Debug.fail("Unhandled pragma kind")}}))}!function(e){e[e.None=0]="None",e[e.Yield=1]="Yield",e[e.Await=2]="Await",e[e.Type=4]="Type",e[e.IgnoreMissingOpenBrace=16]="IgnoreMissingOpenBrace",e[e.JSDoc=32]="JSDoc"}(t||(t={})),function(e){e[e.TryParse=0]="TryParse",e[e.Lookahead=1]="Lookahead",e[e.Reparse=2]="Reparse"}(n||(n={})),e.parseBaseNodeFactory={createBaseSourceFileNode:function(t){return new(c||(c=e.objectAllocator.getSourceFileConstructor()))(t,-1,-1)},createBaseIdentifierNode:function(t){return new(o||(o=e.objectAllocator.getIdentifierConstructor()))(t,-1,-1)},createBasePrivateIdentifierNode:function(t){return new(s||(s=e.objectAllocator.getPrivateIdentifierConstructor()))(t,-1,-1)},createBaseTokenNode:function(t){return new(a||(a=e.objectAllocator.getTokenConstructor()))(t,-1,-1)},createBaseNode:function(t){return new(i||(i=e.objectAllocator.getNodeConstructor()))(t,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory),e.isJSDocLikeText=p,e.forEachChild=f,e.forEachChildRecursively=function(t,r,n){for(var i=g(t),a=[];a.length=0;--c)i.push(o[c]),a.push(s)}else{var u;if(u=r(o,s)){if("skip"===u)continue;return u}if(o.kind>=160)for(var l=0,d=g(o);l=r.pos})),l=u>=0?e.findIndex(a,(function(e){return e.start>=n.pos}),u):-1;u>=0&&e.addRange(T,a,u,l>=0?l:void 0),ke((function(){var e=M;for(M|=32768,c.setTextPos(n.pos),he();1!==me();){var r=c.getStartPos(),a=St(0,Xn);if(i.push(a),r===c.getStartPos()&&he(),o>=0){var s=t.statements[o];if(a.end===s.pos)break;a.end>s.pos&&(o=g(t.statements,o+1))}}M=e}),2),s=o>=0?f(t.statements,o):-1};-1!==s;)u();if(o>=0){var d=t.statements[o];e.addRange(i,t.statements,o);var _=e.findIndex(a,(function(e){return e.start>=d.pos}));_>=0&&e.addRange(T,a,_)}return k=r,R.updateSourceFile(t,e.setTextRange(R.createNodeArray(i),t.statements));function p(e){return!(32768&e.flags||!(16777216&e.transformFlags))}function f(e,t){for(var r=t;r116}function Pe(){return 79===me()||(125!==me()||!ae())&&((132!==me()||!ce())&&me()>116)}function we(t,r,n){return void 0===n&&(n=!0),me()===t?(n&&he(),!0):(r?ue(r):ue(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}t.fixupParentReferences=H;var Ie,Oe,Me,Le=Object.keys(e.textToKeywordObj).filter((function(e){return e.length>2}));function Re(t){var r;if(e.isTaggedTemplateExpression(t))de(e.skipTrivia(D,t.template.pos),t.template.end,e.Diagnostics.Module_declaration_names_may_only_use_or_quoted_strings);else{var n=e.isIdentifier(t)?e.idText(t):void 0;if(n&&e.isIdentifierText(n,x)){var i=e.skipTrivia(D,t.pos);switch(n){case"const":case"let":case"var":return void de(i,t.end,e.Diagnostics.Variable_declaration_not_allowed_at_this_location);case"declare":return;case"interface":return void Be(e.Diagnostics.Interface_name_cannot_be_0,e.Diagnostics.Interface_must_be_given_a_name,18);case"is":return void de(i,c.getTextPos(),e.Diagnostics.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);case"module":case"namespace":return void Be(e.Diagnostics.Namespace_name_cannot_be_0,e.Diagnostics.Namespace_must_be_given_a_name,18);case"type":return void Be(e.Diagnostics.Type_alias_name_cannot_be_0,e.Diagnostics.Type_alias_must_be_given_a_name,63)}var a=null!==(r=e.getSpellingSuggestion(n,Le,(function(e){return e})))&&void 0!==r?r:function(t){for(var r=0,n=Le;ri.length+2&&e.startsWith(t,i))return"".concat(i," ").concat(t.slice(i.length))}return}(n);a?de(i,t.end,e.Diagnostics.Unknown_keyword_or_identifier_Did_you_mean_0,a):0!==me()&&de(i,t.end,e.Diagnostics.Unexpected_keyword_or_identifier)}else ue(e.Diagnostics._0_expected,e.tokenToString(26))}}function Be(e,t,r){me()===r?ue(t):ue(e,c.getTokenValue())}function je(t){return me()===t?(De(),!0):(ue(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Je(e){return me()===e&&(he(),!0)}function Ke(e){if(me()===e)return Ve()}function ze(e){if(me()===e)return t=fe(),r=me(),De(),Ye(R.createToken(r),t);var t,r}function Ue(t,r,n){return Ke(t)||Xe(t,!1,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function Ve(){var e=fe(),t=me();return he(),Ye(R.createToken(t),e)}function qe(){return 26===me()||(19===me()||1===me()||c.hasPrecedingLineBreak())}function We(){return!!qe()&&(26===me()&&he(),!0)}function He(){return We()||we(26)}function Ge(t,r,n,i){var a=R.createNodeArray(t,i);return e.setTextRangePosEnd(a,r,null!=n?n:c.getStartPos()),a}function Ye(t,r,n){return e.setTextRangePosEnd(t,r,null!=n?n:c.getStartPos()),M&&(t.flags|=M),j&&(j=!1,t.flags|=65536),t}function Xe(t,r,n,i){r?le(c.getStartPos(),0,n,i):n&&ue(n,i);var a=fe();return Ye(79===t?R.createIdentifier("",void 0,void 0):e.isTemplateLiteralKind(t)?R.createTemplateLiteralLikeNode(t,"","",void 0):8===t?R.createNumericLiteral("",void 0):10===t?R.createStringLiteral("",void 0):275===t?R.createMissingDeclaration():R.createToken(t),a)}function Qe(e){var t=N.get(e);return void 0===t&&N.set(e,t=e),t}function $e(t,r,n){if(t){w++;var i=fe(),a=me(),o=Qe(c.getTokenValue());return ye(),Ye(R.createIdentifier(o,void 0,a),i)}if(80===me())return ue(n||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),$e(!0);if(0===me()&&c.tryScan((function(){return 79===c.reScanInvalidIdentifier()})))return $e(!0);w++;var s=1===me(),u=c.isReservedWord(),l=c.getTokenText(),d=u?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return Xe(79,s,r||d,l)}function Ze(e){return $e(Ne(),void 0,e)}function et(e,t){return $e(Pe(),e,t)}function tt(t){return $e(e.tokenIsIdentifierOrKeyword(me()),t)}function rt(){return e.tokenIsIdentifierOrKeyword(me())||10===me()||8===me()}function nt(e){if(10===me()||8===me()){var t=jt();return t.text=Qe(t.text),t}return e&&22===me()?function(){var e=fe();we(22);var t=re(qr);return we(23),Ye(R.createComputedPropertyName(t),e)}():80===me()?at():tt()}function it(){return nt(!0)}function at(){var e,t,r=fe(),n=R.createPrivateIdentifier((e=c.getTokenText(),void 0===(t=P.get(e))&&P.set(e,t=e),t));return he(),Ye(n,r)}function ot(e){return me()===e&&Fe(ct)}function st(){return he(),!c.hasPrecedingLineBreak()&&dt()}function ct(){switch(me()){case 85:return 92===he();case 93:return he(),88===me()?Ae(_t):151===me()?Ae(lt):ut();case 88:return _t();case 124:case 136:case 148:return he(),dt();default:return st()}}function ut(){return 41!==me()&&127!==me()&&18!==me()&&dt()}function lt(){return he(),ut()}function dt(){return 22===me()||18===me()||41===me()||25===me()||rt()}function _t(){return he(),84===me()||98===me()||118===me()||126===me()&&Ae(Un)||131===me()&&Ae(Vn)}function pt(t,r){if(Tt(t))return!0;switch(t){case 0:case 1:case 3:return!(26===me()&&r)&&Gn();case 2:return 82===me()||88===me();case 4:return Ae(ur);case 5:return Ae(yi)||26===me()&&!r;case 6:return 22===me()||rt();case 12:switch(me()){case 22:case 41:case 25:case 24:return!0;default:return rt()}case 18:return rt();case 9:return 22===me()||25===me()||rt();case 24:return e.tokenIsIdentifierOrKeyword(me())||10===me();case 7:return 18===me()?Ae(ft):r?Pe()&&!vt():Ur()&&!vt();case 8:return ii();case 10:return 27===me()||25===me()||ii();case 19:return Pe();case 15:switch(me()){case 27:case 24:return!0}case 11:return 25===me()||Vr();case 16:return Qt(!1);case 17:return Qt(!0);case 20:case 21:return 27===me()||Ar();case 22:return wi();case 23:return e.tokenIsIdentifierOrKeyword(me());case 13:return e.tokenIsIdentifierOrKeyword(me())||18===me();case 14:return!0}return e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function ft(){if(e.Debug.assert(18===me()),19===he()){var t=he();return 27===t||18===t||94===t||117===t}return!0}function gt(){return he(),Pe()}function mt(){return he(),e.tokenIsIdentifierOrKeyword(me())}function yt(){return he(),e.tokenIsIdentifierOrKeywordOrGreaterThan(me())}function vt(){return(117===me()||94===me())&&Ae(ht)}function ht(){return he(),Vr()}function Dt(){return he(),Ar()}function xt(e){if(1===me())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return 19===me();case 3:return 19===me()||82===me()||88===me();case 7:return 18===me()||94===me()||117===me();case 8:return function(){if(qe())return!0;if(tn(me()))return!0;if(38===me())return!0;return!1}();case 19:return 31===me()||20===me()||18===me()||94===me()||117===me();case 11:return 21===me()||26===me();case 15:case 21:case 10:return 23===me();case 17:case 16:case 18:return 21===me()||23===me();case 20:return 27!==me();case 22:return 18===me()||19===me();case 13:return 31===me()||43===me();case 14:return 29===me()&&Ae(ji);default:return!1}}function bt(e,t){var r=I;I|=1<=0)}function At(t){return 6===t?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function Ft(){var e=Ge([],fe());return e.isMissingList=!0,e}function Nt(e,t,r,n){if(we(r)){var i=kt(e,t);return we(n),i}return Ft()}function Pt(e,t){for(var r=fe(),n=e?tt(t):et(t),i=fe();Je(24);){if(29===me()){n.jsdocDotPos=i;break}i=fe(),n=Ye(R.createQualifiedName(n,It(e,!1)),r)}return n}function wt(e,t){return Ye(R.createQualifiedName(e,t),e.pos)}function It(t,r){if(c.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(me())&&Ae(zn))return Xe(79,!0,e.Diagnostics.Identifier_expected);if(80===me()){var n=at();return r?n:Xe(79,!0,e.Diagnostics.Identifier_expected)}return t?tt():et()}function Ot(e){var t=fe();return Ye(R.createTemplateExpression(Jt(e),function(e){var t,r=fe(),n=[];do{t=Bt(e),n.push(t)}while(16===t.literal.kind);return Ge(n,r)}(e)),t)}function Mt(){var e=fe();return Ye(R.createTemplateLiteralType(Jt(!1),function(){var e,t=fe(),r=[];do{e=Lt(),r.push(e)}while(16===e.literal.kind);return Ge(r,t)}()),e)}function Lt(){var e=fe();return Ye(R.createTemplateLiteralTypeSpan(Jr(),Rt(!1)),e)}function Rt(t){return 19===me()?(function(e){A=c.reScanTemplateToken(e)}(t),r=Kt(me()),e.Debug.assert(16===r.kind||17===r.kind,"Template fragment has wrong token kind"),r):Ue(17,e.Diagnostics._0_expected,e.tokenToString(19));var r}function Bt(e){var t=fe();return Ye(R.createTemplateSpan(re(qr),Rt(e)),t)}function jt(){return Kt(me())}function Jt(t){t&&be();var r=Kt(me());return e.Debug.assert(15===r.kind,"Template head has wrong token kind"),r}function Kt(t){var r=fe(),n=e.isTemplateLiteralKind(t)?R.createTemplateLiteralLikeNode(t,c.getTokenValue(),function(e){var t=14===e||17===e,r=c.getTokenText();return r.substring(1,r.length-(c.isUnterminated()?0:t?1:2))}(t),2048&c.getTokenFlags()):8===t?R.createNumericLiteral(c.getTokenValue(),c.getNumericLiteralFlags()):10===t?R.createStringLiteral(c.getTokenValue(),void 0,c.hasExtendedUnicodeEscape()):e.isLiteralKind(t)?R.createLiteralLikeNode(t,c.getTokenValue()):e.Debug.fail();return c.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),c.isUnterminated()&&(n.isUnterminated=!0),he(),Ye(n,r)}function zt(){return Pt(!0,e.Diagnostics.Type_expected)}function Ut(){if(!c.hasPrecedingLineBreak()&&29===Se())return Nt(20,Jr,29,31)}function Vt(){var e=fe();return Ye(R.createTypeReferenceNode(zt(),Ut()),e)}function qt(t){switch(t.kind){case 177:return e.nodeIsMissing(t.typeName);case 178:case 179:var r=t,n=r.parameters,i=r.type;return!!n.isMissingList||qt(i);case 190:return qt(t.type);default:return!1}}function Wt(){var e=fe();return he(),Ye(R.createThisTypeNode(),e)}function Ht(){var e,t=fe();return 108!==me()&&103!==me()||(e=tt(),we(58)),Ye(R.createParameterDeclaration(void 0,void 0,void 0,e,void 0,Gt(),void 0),t)}function Gt(){c.setInJSDocType(!0);var e=fe();if(Je(141)){var t=R.createJSDocNamepathType(void 0);e:for(;;)switch(me()){case 19:case 1:case 27:case 5:break e;default:De()}return c.setInJSDocType(!1),Ye(t,e)}var r=Je(25),n=Br();return c.setInJSDocType(!1),r&&(n=Ye(R.createJSDocVariadicType(n),e)),63===me()?(he(),Ye(R.createJSDocOptionalType(n),e)):n}function Yt(){var e,t,r=fe(),n=et();Je(94)&&(Ar()||!Vr()?e=Jr():t=on());var i=Je(63)?Jr():void 0,a=R.createTypeParameterDeclaration(n,e,i);return a.expression=t,Ye(a,r)}function Xt(){if(29===me())return Nt(19,Yt,29,31)}function Qt(t){return 25===me()||ii()||e.isModifierKind(me())||59===me()||Ar(!t)}function $t(){return er(!0)}function Zt(){return er(!1)}function er(t){var r=fe(),n=ge(),i=t?ne(xi):xi();if(108===me()){var a=R.createParameterDeclaration(i,void 0,void 0,$e(!0),void 0,zr(),void 0);return i&&_e(i[0],e.Diagnostics.Decorators_may_not_be_applied_to_this_parameters),V(Ye(a,r),n)}var o=B;B=!1;var s=Si(),c=V(Ye(R.createParameterDeclaration(i,s,Ke(25),function(t){var r=ai(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return 0===e.getFullWidth(r)&&!e.some(t)&&e.isModifierKind(me())&&he(),r}(s),Ke(57),zr(),Wr()),r),n);return B=o,c}function tr(t,r){if(function(t,r){if(38===t)return we(t),!0;if(Je(58))return!0;if(r&&38===me())return ue(e.Diagnostics._0_expected,e.tokenToString(58)),he(),!0;return!1}(t,r))return Br()}function rr(e){var t=ae(),r=ce();Q(!!(1&e)),Z(!!(2&e));var n=32&e?kt(17,Ht):kt(16,r?$t:Zt);return Q(t),Z(r),n}function nr(e){if(!we(20))return Ft();var t=rr(e);return we(21),t}function ir(){Je(27)||He()}function ar(e){var t=fe(),r=ge();174===e&&we(103);var n=Xt(),i=nr(4),a=tr(58,!0);return ir(),V(Ye(173===e?R.createCallSignature(n,i,a):R.createConstructSignature(n,i,a),t),r)}function or(){return 22===me()&&Ae(sr)}function sr(){if(he(),25===me()||23===me())return!0;if(e.isModifierKind(me())){if(he(),Pe())return!0}else{if(!Pe())return!1;he()}return 58===me()||27===me()||57===me()&&(he(),58===me()||27===me()||23===me())}function cr(e,t,r,n){var i=Nt(16,Zt,22,23),a=zr();return ir(),V(Ye(R.createIndexSignature(r,n,i,a),e),t)}function ur(){if(20===me()||29===me()||136===me()||148===me())return!0;for(var t=!1;e.isModifierKind(me());)t=!0,he();return 22===me()||(rt()&&(t=!0,he()),!!t&&(20===me()||29===me()||57===me()||58===me()||27===me()||qe()))}function lr(){if(20===me()||29===me())return ar(173);if(103===me()&&Ae(dr))return ar(174);var e=fe(),t=ge(),r=Si();return ot(136)?mi(e,t,void 0,r,171):ot(148)?mi(e,t,void 0,r,172):or()?cr(e,t,void 0,r):function(e,t,r){var n,i=it(),a=Ke(57);if(20===me()||29===me()){var o=Xt(),s=nr(4),c=tr(58,!0);n=R.createMethodSignature(r,i,a,o,s,c)}else c=zr(),n=R.createPropertySignature(r,i,a,c),63===me()&&(n.initializer=Wr());return ir(),V(Ye(n,e),t)}(e,t,r)}function dr(){return he(),20===me()||29===me()}function _r(){return 24===he()}function pr(){switch(he()){case 20:case 29:case 24:return!0}return!1}function fr(){var e;return we(18)?(e=bt(4,lr),we(19)):e=Ft(),e}function gr(){return he(),39===me()||40===me()?144===he():(144===me()&&he(),22===me()&>()&&101===he())}function mr(){var e,t=fe();we(18),144!==me()&&39!==me()&&40!==me()||144!==(e=Ve()).kind&&we(144),we(22);var r,n=function(){var e=fe(),t=tt();we(101);var r=Jr();return Ye(R.createTypeParameterDeclaration(t,r,void 0),e)}(),i=Je(127)?Jr():void 0;we(23),57!==me()&&39!==me()&&40!==me()||57!==(r=Ve()).kind&&we(57);var a=zr();He();var o=bt(4,lr);return we(19),Ye(R.createMappedTypeNode(e,n,i,r,a,o),t)}function yr(){var t=fe();if(Je(25))return Ye(R.createRestTypeNode(Jr()),t);var r=Jr();if(e.isJSDocNullableType(r)&&r.pos===r.type.pos){var n=R.createOptionalTypeNode(r.type);return e.setTextRange(n,r),n.flags=r.flags,n}return r}function vr(){return 58===he()||57===me()&&58===he()}function hr(){return 25===me()?e.tokenIsIdentifierOrKeyword(he())&&vr():e.tokenIsIdentifierOrKeyword(me())&&vr()}function Dr(){if(Ae(hr)){var e=fe(),t=ge(),r=Ke(25),n=tt(),i=Ke(57);we(58);var a=yr();return V(Ye(R.createNamedTupleMember(r,n,i,a),e),t)}return yr()}function xr(){var e=fe(),t=ge(),r=function(){var e;if(126===me()){var t=fe();he(),e=Ge([Ye(R.createToken(126),t)],t)}return e}(),n=Je(103),i=Xt(),a=nr(4),o=tr(38,!1),s=n?R.createConstructorTypeNode(r,i,a,o):R.createFunctionTypeNode(i,a,o);return n||(s.modifiers=r),V(Ye(s,e),t)}function br(){var e=Ve();return 24===me()?void 0:e}function Sr(e){var t=fe();e&&he();var r=110===me()||95===me()||104===me()?Ve():Kt(me());return e&&(r=Ye(R.createPrefixUnaryExpression(40,r),t)),Ye(R.createLiteralTypeNode(r),t)}function Tr(){return he(),100===me()}function Cr(){g|=1048576;var e=fe(),t=Je(112);we(100),we(20);var r=Jr();we(21);var n=Je(24)?zt():void 0,i=Ut();return Ye(R.createImportTypeNode(r,n,i,t),e)}function Er(){return he(),8===me()||9===me()}function kr(){switch(me()){case 130:case 154:case 149:case 146:case 157:case 150:case 133:case 152:case 143:case 147:return Fe(br)||Vt();case 66:c.reScanAsteriskEqualsToken();case 41:return r=fe(),he(),Ye(R.createJSDocAllType(),r);case 60:c.reScanQuestionToken();case 57:return function(){var e=fe();return he(),27===me()||19===me()||21===me()||31===me()||63===me()||51===me()?Ye(R.createJSDocUnknownType(),e):Ye(R.createJSDocNullableType(Jr()),e)}();case 98:return function(){var e=fe(),t=ge();if(Ae(Ri)){he();var r=nr(36),n=tr(58,!1);return V(Ye(R.createJSDocFunctionType(r,n),e),t)}return Ye(R.createTypeReferenceNode(tt(),void 0),e)}();case 53:return function(){var e=fe();return he(),Ye(R.createJSDocNonNullableType(kr()),e)}();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return Sr();case 40:return Ae(Er)?Sr(!0):Vt();case 114:return Ve();case 108:var e=Wt();return 139!==me()||c.hasPrecedingLineBreak()?e:(t=e,he(),Ye(R.createTypePredicateNode(void 0,t,Jr()),t.pos));case 112:return Ae(Tr)?Cr():function(){var e=fe();return we(112),Ye(R.createTypeQueryNode(Pt(!0)),e)}();case 18:return Ae(gr)?mr():function(){var e=fe();return Ye(R.createTypeLiteralNode(fr()),e)}();case 22:return function(){var e=fe();return Ye(R.createTupleTypeNode(Nt(21,Dr,22,23)),e)}();case 20:return function(){var e=fe();we(20);var t=Jr();return we(21),Ye(R.createParenthesizedType(t),e)}();case 100:return Cr();case 128:return Ae(zn)?function(){var e=fe(),t=Ue(128),r=108===me()?Wt():et(),n=Je(139)?Jr():void 0;return Ye(R.createTypePredicateNode(t,r,n),e)}():Vt();case 15:return Mt();default:return Vt()}var t,r}function Ar(e){switch(me()){case 130:case 154:case 149:case 146:case 157:case 133:case 144:case 150:case 153:case 114:case 152:case 104:case 108:case 112:case 143:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 147:case 41:case 57:case 53:case 25:case 137:case 100:case 128:case 14:case 15:return!0;case 98:return!e;case 40:return!e&&Ae(Er);case 20:return!e&&Ae(Fr);default:return Pe()}}function Fr(){return he(),21===me()||Qt(!1)||Ar()}function Nr(){var e=fe();return we(137),Ye(R.createInferTypeNode(function(){var e=fe();return Ye(R.createTypeParameterDeclaration(et(),void 0,void 0),e)}()),e)}function Pr(){var e=me();switch(e){case 140:case 153:case 144:return function(e){var t=fe();return we(e),Ye(R.createTypeOperatorNode(e,Pr()),t)}(e);case 137:return Nr()}return function(){for(var e=fe(),t=kr();!c.hasPrecedingLineBreak();)switch(me()){case 53:he(),t=Ye(R.createJSDocNonNullableType(t),e);break;case 57:if(Ae(Dt))return t;he(),t=Ye(R.createJSDocNullableType(t),e);break;case 22:if(we(22),Ar()){var r=Jr();we(23),t=Ye(R.createIndexedAccessTypeNode(t,r),e)}else we(23),t=Ye(R.createArrayTypeNode(t),e);break;default:return t}return t}()}function wr(t){if(Lr()){var r=xr();return _e(r,e.isFunctionTypeNode(r)?t?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type),r}}function Ir(e,t,r){var n=fe(),i=51===e,a=Je(e),o=a&&wr(i)||t();if(me()===e||a){for(var s=[o];Je(e);)s.push(wr(i)||t());o=Ye(r(Ge(s,n)),n)}return o}function Or(){return Ir(50,Pr,R.createIntersectionTypeNode)}function Mr(){return he(),103===me()}function Lr(){return 29===me()||(!(20!==me()||!Ae(Rr))||(103===me()||126===me()&&Ae(Mr)))}function Rr(){if(he(),21===me()||25===me())return!0;if(function(){if(e.isModifierKind(me())&&Si(),Pe()||108===me())return he(),!0;if(22===me()||18===me()){var t=T.length;return ai(),t===T.length}return!1}()){if(58===me()||27===me()||57===me()||63===me())return!0;if(21===me()&&(he(),38===me()))return!0}return!1}function Br(){var e=fe(),t=Pe()&&Fe(jr),r=Jr();return t?Ye(R.createTypePredicateNode(void 0,t,r),e):r}function jr(){var e=et();if(139===me()&&!c.hasPrecedingLineBreak())return he(),e}function Jr(){return ee(40960,Kr)}function Kr(e){if(Lr())return xr();var t=fe(),r=Ir(51,Or,R.createUnionTypeNode);if(!e&&!c.hasPrecedingLineBreak()&&Je(94)){var n=Kr(!0);we(57);var i=Kr();we(58);var a=Kr();return Ye(R.createConditionalTypeNode(r,n,i,a),t)}return r}function zr(){return Je(58)?Jr():void 0}function Ur(){switch(me()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return Ae(pr);default:return Pe()}}function Vr(){if(Ur())return!0;switch(me()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 132:case 125:case 80:return!0;default:return!!function(){if(oe()&&101===me())return!1;return e.getBinaryOperatorPrecedence(me())>0}()||Pe()}}function qr(){var e=se();e&&$(!1);for(var t,r=fe(),n=Hr();t=Ke(27);)n=nn(n,t,Hr(),r);return e&&$(!0),n}function Wr(){return Je(63)?Hr():void 0}function Hr(){if(function(){if(125===me())return!!ae()||Ae(qn);return!1}())return function(){var e=fe();return he(),c.hasPrecedingLineBreak()||41!==me()&&!Vr()?Ye(R.createYieldExpression(void 0,void 0),e):Ye(R.createYieldExpression(Ke(41),Hr()),e)}();var t=function(){var e=function(){if(20===me()||29===me()||131===me())return Ae(Yr);if(38===me())return 1;return 0}();if(0===e)return;return 1===e?$r(!0):Fe(Xr)}()||function(){if(131===me()&&1===Ae(Qr)){var e=fe(),t=Ti();return Gr(e,en(0),t)}return}();if(t)return t;var r=fe(),n=en(0);return 79===n.kind&&38===me()?Gr(r,n,void 0):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(xe())?nn(n,Ve(),Hr(),r):function(t,r){var n,i=Ke(57);if(!i)return t;return Ye(R.createConditionalExpression(t,i,ee(u,Hr),n=Ue(58),e.nodeIsPresent(n)?Hr():Xe(79,!1,e.Diagnostics._0_expected,e.tokenToString(58))),r)}(n,r)}function Gr(t,r,n){e.Debug.assert(38===me(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var i=R.createParameterDeclaration(void 0,void 0,void 0,r,void 0,void 0,void 0);Ye(i,r.pos);var a=Ge([i],i.pos,i.end),o=Ue(38),s=Zr(!!n);return W(Ye(R.createArrowFunction(n,void 0,a,void 0,o,s),t))}function Yr(){if(131===me()){if(he(),c.hasPrecedingLineBreak())return 0;if(20!==me()&&29!==me())return 0}var t=me(),r=he();if(20===t){if(21===r)switch(he()){case 38:case 58:case 18:return 1;default:return 0}if(22===r||18===r)return 2;if(25===r)return 1;if(e.isModifierKind(r)&&131!==r&&Ae(gt))return 1;if(!Pe()&&108!==r)return 0;switch(he()){case 58:return 1;case 57:return he(),58===me()||27===me()||63===me()||21===me()?1:0;case 27:case 63:case 21:return 2}return 0}if(e.Debug.assert(29===t),!Pe())return 0;if(1===S){var n=Ae((function(){var e=he();if(94===e)switch(he()){case 63:case 31:return!1;default:return!0}else if(27===e)return!0;return!1}));return n?1:0}return 2}function Xr(){var t=c.getTokenPos();if(!(null==O?void 0:O.has(t))){var r=$r(!1);return r||(O||(O=new e.Set)).add(t),r}}function Qr(){if(131===me()){if(he(),c.hasPrecedingLineBreak()||38===me())return 0;var e=en(0);if(!c.hasPrecedingLineBreak()&&79===e.kind&&38===me())return 1}return 0}function $r(t){var r,n=fe(),i=ge(),a=Ti(),o=e.some(a,e.isAsyncModifier)?2:0,s=Xt();if(we(20)){if(r=rr(o),!we(21)&&!t)return}else{if(!t)return;r=Ft()}var c=tr(58,!1);if(!c||t||!qt(c)){var u=c&&e.isJSDocFunctionType(c);if(t||38===me()||!u&&18===me()){var l=me(),d=Ue(38),_=38===l||18===l?Zr(e.some(a,e.isAsyncModifier)):et();return V(Ye(R.createArrowFunction(a,s,r,c,d,_),n),i)}}}function Zr(e){if(18===me())return Ln(e?2:0);if(26!==me()&&98!==me()&&84!==me()&&Gn()&&(18===me()||98===me()||84===me()||59===me()||!Vr()))return Ln(16|(e?2:0));var t=B;B=!1;var r=e?ne(Hr):ee(32768,Hr);return B=t,r}function en(e){var t=fe();return rn(e,on(),t)}function tn(e){return 101===e||159===e}function rn(t,r,n){for(;;){xe();var i=e.getBinaryOperatorPrecedence(me());if(!(42===me()?i>=t:i>t))break;if(101===me()&&oe())break;if(127===me()){if(c.hasPrecedingLineBreak())break;he(),a=r,o=Jr(),r=Ye(R.createAsExpression(a,o),a.pos)}else r=nn(r,Ve(),en(i),n)}var a,o;return r}function nn(e,t,r,n){return Ye(R.createBinaryExpression(e,t,r),n)}function an(){var e=fe();return Ye(R.createPrefixUnaryExpression(me(),ve(sn)),e)}function on(){if(function(){switch(me()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 132:return!1;case 29:if(1!==S)return!1;default:return!0}}()){var t=fe(),r=cn();return 42===me()?rn(e.getBinaryOperatorPrecedence(me()),r,t):r}var n=me(),i=sn();if(42===me()){t=e.skipTrivia(D,i.pos);var a=i.end;210===i.kind?de(t,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):de(t,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return i}function sn(){switch(me()){case 39:case 40:case 54:case 53:return an();case 89:return e=fe(),Ye(R.createDeleteExpression(ve(sn)),e);case 112:return function(){var e=fe();return Ye(R.createTypeOfExpression(ve(sn)),e)}();case 114:return function(){var e=fe();return Ye(R.createVoidExpression(ve(sn)),e)}();case 29:return function(){var e=fe();we(29);var t=Jr();we(31);var r=sn();return Ye(R.createTypeAssertion(t,r),e)}();case 132:if(132===me()&&(ce()||Ae(qn)))return function(){var e=fe();return Ye(R.createAwaitExpression(ve(sn)),e)}();default:return cn()}var e}function cn(){if(45===me()||46===me()){var t=fe();return Ye(R.createPrefixUnaryExpression(me(),ve(un)),t)}if(1===S&&29===me()&&Ae(yt))return dn(!0);var r=un();if(e.Debug.assert(e.isLeftHandSideExpression(r)),(45===me()||46===me())&&!c.hasPrecedingLineBreak()){var n=me();return he(),Ye(R.createPostfixUnaryExpression(r,n),r.pos)}return r}function un(){var t,r=fe();return 100===me()?Ae(dr)?(g|=1048576,t=Ve()):Ae(_r)?(he(),he(),t=Ye(R.createMetaProperty(100,tt()),r),g|=2097152):t=ln():t=106===me()?function(){var t=fe(),r=Ve();if(29===me()){var n=fe();void 0!==Fe(En)&&de(n,fe(),e.Diagnostics.super_may_not_use_type_arguments)}if(20===me()||24===me()||22===me())return r;return Ue(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),Ye(R.createPropertyAccessExpression(r,It(!0,!0)),t)}():ln(),Tn(r,t)}function ln(){return xn(fe(),kn(),!0)}function dn(t,n,i){var a,o=fe(),s=function(e){var t=fe();if(we(29),31===me())return Ee(),Ye(R.createJsxOpeningFragment(),t);var r,n=fn(),i=0==(131072&M)?Pi():void 0,a=function(){var e=fe();return Ye(R.createJsxAttributes(bt(13,mn)),e)}();31===me()?(Ee(),r=R.createJsxOpeningElement(n,i,a)):(we(43),we(31,void 0,!1)&&(e?he():Ee()),r=R.createJsxSelfClosingElement(n,i,a));return Ye(r,t)}(t);if(279===s.kind){var c=pn(s),u=void 0,l=c[c.length-1];if(277===(null==l?void 0:l.kind)&&!E(l.openingElement.tagName,l.closingElement.tagName)&&E(s.tagName,l.closingElement.tagName)){var d=l.children.end,_=Ye(R.createJsxElement(l.openingElement,l.children,Ye(R.createJsxClosingElement(Ye(R.createIdentifier(""),d,d)),d,d)),l.openingElement.pos,d);c=Ge(r(r([],c.slice(0,c.length-1),!0),[_],!1),c.pos,d),u=l.closingElement}else u=function(e,t){var r=fe();we(30);var n=fn();we(31,void 0,!1)&&(t||!E(e.tagName,n)?he():Ee());return Ye(R.createJsxClosingElement(n),r)}(s,t),E(s.tagName,u.tagName)||(i&&e.isJsxOpeningElement(i)&&E(u.tagName,i.tagName)?_e(s.tagName,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(D,s.tagName)):_e(u.tagName,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(D,s.tagName)));a=Ye(R.createJsxElement(s,c,u),o)}else 282===s.kind?a=Ye(R.createJsxFragment(s,pn(s),function(t){var r=fe();we(30),e.tokenIsIdentifierOrKeyword(me())&&_e(fn(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);we(31,void 0,!1)&&(t?he():Ee());return Ye(R.createJsxJsxClosingFragment(),r)}(t)),o):(e.Debug.assert(278===s.kind),a=s);if(t&&29===me()){var p=void 0===n?a.pos:n,f=Fe((function(){return dn(!0,p)}));if(f){var g=Xe(27,!1);return e.setTextRangePosWidth(g,f.pos,0),de(e.skipTrivia(D,p),f.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),Ye(R.createBinaryExpression(a,g,f),o)}}return a}function _n(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t))_e(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var n=t.tagName;de(e.skipTrivia(D,n.pos),n.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(D,t.tagName))}return;case 30:case 7:return;case 11:case 12:return function(){var e=fe(),t=R.createJsxText(c.getTokenValue(),12===A);return A=c.scanJsxToken(),Ye(t,e)}();case 18:return gn(!1);case 29:return dn(!1,void 0,t);default:return e.Debug.assertNever(r)}}function pn(t){var r=[],n=fe(),i=I;for(I|=16384;;){var a=_n(t,A=c.reScanJsxToken());if(!a)break;if(r.push(a),e.isJsxOpeningElement(t)&&277===(null==a?void 0:a.kind)&&!E(a.openingElement.tagName,a.closingElement.tagName)&&E(t.tagName,a.closingElement.tagName))break}return I=i,Ge(r,n)}function fn(){var e=fe();Ce();for(var t=108===me()?Ve():tt();Je(24);)t=Ye(R.createPropertyAccessExpression(t,It(!0,!1)),e);return t}function gn(e){var t,r,n=fe();if(we(18))return 19!==me()&&(t=Ke(25),r=qr()),e?we(19):we(19,void 0,!1)&&Ee(),Ye(R.createJsxExpression(t,r),n)}function mn(){if(18===me())return function(){var e=fe();we(18),we(25);var t=qr();return we(19),Ye(R.createJsxSpreadAttribute(t),e)}();Ce();var e=fe();return Ye(R.createJsxAttribute(tt(),63!==me()?void 0:10===(A=c.scanJsxAttributeValue())?jt():gn(!0)),e)}function yn(){return he(),e.tokenIsIdentifierOrKeyword(me())||22===me()||bn()}function vn(t){if(32&t.flags)return!0;if(e.isNonNullExpression(t)){for(var r=t.expression;e.isNonNullExpression(r)&&!(32&r.flags);)r=r.expression;if(32&r.flags){for(;e.isNonNullExpression(t);)t.flags|=32,t=t.expression;return!0}}return!1}function hn(t,r,n){var i=It(!0,!0),a=n||vn(r),o=a?R.createPropertyAccessChain(r,n,i):R.createPropertyAccessExpression(r,i);return a&&e.isPrivateIdentifier(o.name)&&_e(o.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),Ye(o,t)}function Dn(t,r,n){var i;if(23===me())i=Xe(79,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var a=re(qr);e.isStringOrNumericLiteralLike(a)&&(a.text=Qe(a.text)),i=a}return we(23),Ye(n||vn(r)?R.createElementAccessChain(r,n,i):R.createElementAccessExpression(r,i),t)}function xn(t,r,n){for(;;){var i=void 0,a=!1;if(n&&28===me()&&Ae(yn)?(i=Ue(28),a=e.tokenIsIdentifierOrKeyword(me())):a=Je(24),a)r=hn(t,r,i);else if(i||53!==me()||c.hasPrecedingLineBreak())if(!i&&se()||!Je(22)){if(!bn())return r;r=Sn(t,r,i,void 0)}else r=Dn(t,r,i);else he(),r=Ye(R.createNonNullExpression(r),t)}}function bn(){return 14===me()||15===me()}function Sn(e,t,r,n){var i=R.createTaggedTemplateExpression(t,n,14===me()?(be(),jt()):Ot(!0));return(r||32&t.flags)&&(i.flags|=32),i.questionDotToken=r,Ye(i,e)}function Tn(t,r){for(;;){r=xn(t,r,!0);var n=Ke(28);if(0!=(131072&M)||29!==me()&&47!==me()){if(20===me()){a=Cn();r=Ye(n||vn(r)?R.createCallChain(r,n,void 0,a):R.createCallExpression(r,void 0,a),t);continue}}else{var i=Fe(En);if(i){if(bn()){r=Sn(t,r,n,i);continue}var a=Cn();r=Ye(n||vn(r)?R.createCallChain(r,n,i,a):R.createCallExpression(r,i,a),t);continue}}if(n){var o=Xe(79,!1,e.Diagnostics.Identifier_expected);r=Ye(R.createPropertyAccessChain(r,n,o),t)}break}return r}function Cn(){we(20);var e=kt(11,Fn);return we(21),e}function En(){if(0==(131072&M)&&29===Se()){he();var e=kt(20,Jr);if(we(31))return e&&function(){switch(me()){case 20:case 14:case 15:case 24:case 21:case 23:case 58:case 26:case 57:case 34:case 36:case 35:case 37:case 55:case 56:case 60:case 52:case 50:case 51:case 19:case 1:return!0;default:return!1}}()?e:void 0}}function kn(){switch(me()){case 8:case 9:case 10:case 14:return jt();case 108:case 106:case 104:case 110:case 95:return Ve();case 20:return function(){var e=fe(),t=ge();we(20);var r=re(qr);return we(21),V(Ye(R.createParenthesizedExpression(r),e),t)}();case 22:return Nn();case 18:return wn();case 131:if(!Ae(Vn))break;return In();case 84:return ki(fe(),ge(),void 0,void 0,225);case 98:return In();case 103:return function(){var t=fe();if(we(103),Je(24)){var r=tt();return Ye(R.createMetaProperty(103,r),t)}var n,i,a=fe(),o=kn();for(;;){o=xn(a,o,!1),n=Fe(En),bn()&&(e.Debug.assert(!!n,"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'"),o=Sn(a,o,void 0,n),n=void 0);break}20===me()?i=Cn():n&&de(t,c.getStartPos(),e.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list);return Ye(R.createNewExpression(o,n,i),t)}();case 43:case 68:if(13===(A=c.reScanSlashToken()))return jt();break;case 15:return Ot(!1);case 80:return at()}return et(e.Diagnostics.Expression_expected)}function An(){return 25===me()?function(){var e=fe();we(25);var t=Hr();return Ye(R.createSpreadElement(t),e)}():27===me()?Ye(R.createOmittedExpression(),fe()):Hr()}function Fn(){return ee(u,An)}function Nn(){var e=fe();we(22);var t=c.hasPrecedingLineBreak(),r=kt(15,An);return we(23),Ye(R.createArrayLiteralExpression(r,t),e)}function Pn(){var e=fe(),t=ge();if(Ke(25)){var r=Hr();return V(Ye(R.createSpreadAssignment(r),e),t)}var n=xi(),i=Si();if(ot(136))return mi(e,t,n,i,171);if(ot(148))return mi(e,t,n,i,172);var a,o=Ke(41),s=Pe(),c=it(),u=Ke(57),l=Ke(53);if(o||20===me()||29===me())return pi(e,t,n,i,o,c,u,l);if(s&&58!==me()){var d=Ke(63),_=d?re(Hr):void 0;(a=R.createShorthandPropertyAssignment(c,_)).equalsToken=d}else{we(58);var p=re(Hr);a=R.createPropertyAssignment(c,p)}return a.decorators=n,a.modifiers=i,a.questionToken=u,a.exclamationToken=l,V(Ye(a,e),t)}function wn(){var t=fe(),r=c.getTokenPos();we(18);var n=c.hasPrecedingLineBreak(),i=kt(12,Pn,!0);if(!we(19)){var a=e.lastOrUndefined(T);a&&a.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(a,e.createDetachedDiagnostic(_,r,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ye(R.createObjectLiteralExpression(i,n),t)}function In(){var t=se();$(!1);var r=fe(),n=ge(),i=Si();we(98);var a=Ke(41),o=a?1:0,s=e.some(i,e.isAsyncModifier)?2:0,c=o&&s?te(40960,On):o?function(e){return te(8192,e)}(On):s?ne(On):On(),u=Xt(),l=nr(o|s),d=tr(58,!1),_=Ln(o|s);return $(t),V(Ye(R.createFunctionExpression(i,a,c,u,l,d,_),r),n)}function On(){return Ne()?Ze():void 0}function Mn(t,r){var n=fe(),i=ge(),a=c.getTokenPos();if(we(18,r)||t){var o=c.hasPrecedingLineBreak(),s=bt(1,Xn);if(!we(19)){var u=e.lastOrUndefined(T);u&&u.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(u,e.createDetachedDiagnostic(_,a,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}var l=V(Ye(R.createBlock(s,o),n),i);return 63===me()&&(ue(e.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses),he()),l}s=Ft();return V(Ye(R.createBlock(s,void 0),n),i)}function Ln(e,t){var r=ae();Q(!!(1&e));var n=ce();Z(!!(2&e));var i=B;B=!1;var a=se();a&&$(!1);var o=Mn(!!(16&e),t);return a&&$(!0),B=i,Q(r),Z(n),o}function Rn(){var e=fe(),t=ge();we(97);var r,n,i=Ke(132);if(we(20),26!==me()&&(r=113===me()||119===me()||85===me()?ci(!0):te(4096,qr)),i?we(159):Je(159)){var a=re(Hr);we(21),n=R.createForOfStatement(i,r,a,Xn())}else if(Je(101)){a=re(qr);we(21),n=R.createForInStatement(r,a,Xn())}else{we(26);var o=26!==me()&&21!==me()?re(qr):void 0;we(26);var s=21!==me()?re(qr):void 0;we(21),n=R.createForStatement(r,o,s,Xn())}return V(Ye(n,e),t)}function Bn(e){var t=fe(),r=ge();we(245===e?81:86);var n=qe()?void 0:et();return He(),V(Ye(245===e?R.createBreakStatement(n):R.createContinueStatement(n),t),r)}function jn(){return 82===me()?function(){var e=fe();we(82);var t=re(qr);we(58);var r=bt(3,Xn);return Ye(R.createCaseClause(t,r),e)}():function(){var e=fe();we(88),we(58);var t=bt(3,Xn);return Ye(R.createDefaultClause(t),e)}()}function Jn(){var e=fe(),t=ge();we(107),we(20);var r=re(qr);we(21);var n=function(){var e=fe();we(18);var t=bt(2,jn);return we(19),Ye(R.createCaseBlock(t),e)}();return V(Ye(R.createSwitchStatement(r,n),e),t)}function Kn(){var e=fe(),t=ge();we(111);var r,n=Mn(!1),i=83===me()?function(){var e,t=fe();we(83),Je(20)?(e=si(),we(21)):e=void 0;var r=Mn(!1);return Ye(R.createCatchClause(e,r),t)}():void 0;return i&&96!==me()||(we(96),r=Mn(!1)),V(Ye(R.createTryStatement(n,i,r),e),t)}function zn(){return he(),e.tokenIsIdentifierOrKeyword(me())&&!c.hasPrecedingLineBreak()}function Un(){return he(),84===me()&&!c.hasPrecedingLineBreak()}function Vn(){return he(),98===me()&&!c.hasPrecedingLineBreak()}function qn(){return he(),(e.tokenIsIdentifierOrKeyword(me())||8===me()||9===me()||10===me())&&!c.hasPrecedingLineBreak()}function Wn(){for(;;)switch(me()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 151:return he(),!c.hasPrecedingLineBreak()&&Pe();case 141:case 142:return ei();case 126:case 131:case 135:case 121:case 122:case 123:case 144:if(he(),c.hasPrecedingLineBreak())return!1;continue;case 156:return he(),18===me()||79===me()||93===me();case 100:return he(),10===me()||41===me()||18===me()||e.tokenIsIdentifierOrKeyword(me());case 93:var t=he();if(151===t&&(t=Ae(he)),63===t||41===t||18===t||88===t||127===t)return!0;continue;case 124:he();continue;default:return!1}}function Hn(){return Ae(Wn)}function Gn(){switch(me()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:case 131:case 135:case 118:case 141:case 142:case 151:case 156:return!0;case 100:return Hn()||Ae(pr);case 85:case 93:return Hn();case 123:case 121:case 122:case 124:case 144:return Hn()||!Ae(zn);default:return Vr()}}function Yn(){return he(),Ne()||18===me()||22===me()}function Xn(){switch(me()){case 26:return t=fe(),r=ge(),we(26),V(Ye(R.createEmptyStatement(),t),r);case 18:return Mn(!1);case 113:return li(fe(),ge(),void 0,void 0);case 119:if(Ae(Yn))return li(fe(),ge(),void 0,void 0);break;case 98:return di(fe(),ge(),void 0,void 0);case 84:return Ei(fe(),ge(),void 0,void 0);case 99:return function(){var e=fe(),t=ge();we(99),we(20);var r=re(qr);we(21);var n=Xn(),i=Je(91)?Xn():void 0;return V(Ye(R.createIfStatement(r,n,i),e),t)}();case 90:return function(){var e=fe(),t=ge();we(90);var r=Xn();we(115),we(20);var n=re(qr);return we(21),Je(26),V(Ye(R.createDoStatement(r,n),e),t)}();case 115:return function(){var e=fe(),t=ge();we(115),we(20);var r=re(qr);we(21);var n=Xn();return V(Ye(R.createWhileStatement(r,n),e),t)}();case 97:return Rn();case 86:return Bn(244);case 81:return Bn(245);case 105:return function(){var e=fe(),t=ge();we(105);var r=qe()?void 0:re(qr);return He(),V(Ye(R.createReturnStatement(r),e),t)}();case 116:return function(){var e=fe(),t=ge();we(116),we(20);var r=re(qr);we(21);var n=te(16777216,Xn);return V(Ye(R.createWithStatement(r,n),e),t)}();case 107:return Jn();case 109:return function(){var e=fe(),t=ge();we(109);var r=c.hasPrecedingLineBreak()?void 0:re(qr);return void 0===r&&(w++,r=Ye(R.createIdentifier(""),fe())),We()||Re(r),V(Ye(R.createThrowStatement(r),e),t)}();case 111:case 83:case 96:return Kn();case 87:return function(){var e=fe(),t=ge();return we(87),He(),V(Ye(R.createDebuggerStatement(),e),t)}();case 59:return $n();case 131:case 118:case 151:case 141:case 142:case 135:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 124:case 144:case 156:if(Hn())return $n()}var t,r;return function(){var t,r=fe(),n=ge(),i=20===me(),a=re(qr);return e.isIdentifier(a)&&Je(58)?t=R.createLabeledStatement(a,Xn()):(We()||Re(a),t=R.createExpressionStatement(a),i&&(n=!1)),V(Ye(t,r),n)}()}function Qn(e){return 135===e.kind}function $n(){var t=e.some(Ae((function(){return xi(),Si()})),Qn);if(t){var r=te(8388608,(function(){var e=Tt(I);if(e)return Ct(e)}));if(r)return r}var n=fe(),i=ge(),a=xi(),o=Si();if(t){for(var s=0,c=o;s=0),e.Debug.assert(t<=o),e.Debug.assert(o<=a.length),p(a,t)){var s,u,l,d,f,g=[],m=[];return c.scanRange(t+3,i-5,(function(){var r,n=1,i=t-(a.lastIndexOf("\n",t)+1)+4;function _(e){r||(r=i),g.push(e),i+=e.length}for(De();H(5););H(4)&&(n=0,i=0);e:for(;;){switch(me()){case 59:0===n||1===n?(v(g),f||(f=fe()),N(S(i)),n=0,r=void 0):_(c.getTokenText());break;case 4:g.push(c.getTokenText()),n=0,i=0;break;case 41:var p=c.getTokenText();1===n||2===n?(n=2,_(p)):(n=1,i+=p.length);break;case 5:var h=c.getTokenText();2===n?g.push(h):void 0!==r&&i+h.length>r&&g.push(h.slice(r-i)),i+=h.length;break;case 1:break e;case 18:n=2;var D=c.getStartPos(),x=A(c.getTextPos()-1);if(x){d||y(g),m.push(Ye(R.createJSDocText(g.join("")),null!=d?d:t,D)),m.push(x),g=[],d=c.getTextPos();break}default:n=2,_(c.getTokenText())}De()}v(g),m.length&&g.length&&m.push(Ye(R.createJSDocText(g.join("")),null!=d?d:t,f)),m.length&&s&&e.Debug.assertIsDefined(f,"having parsed tags implies that the end of the comment span should be set");var b=s&&Ge(s,u,l);return Ye(R.createJSDocComment(m.length?Ge(m,t,f):g.length?g.join(""):void 0,b),t,o)}))}function y(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function v(e){for(;e.length&&""===e[e.length-1].trim();)e.pop()}function h(){for(;;){if(De(),1===me())return!0;if(5!==me()&&4!==me())return!1}}function x(){if(5!==me()&&4!==me()||!Ae(h))for(;5===me()||4===me();)De()}function b(){if((5===me()||4===me())&&Ae(h))return"";for(var e=c.hasPrecedingLineBreak(),t=!1,r="";e&&41===me()||5===me()||4===me();)r+=c.getTokenText(),4===me()?(e=!0,t=!0,r=""):41===me()&&(e=!1),De();return t?r:""}function S(t){e.Debug.assert(59===me());var i=c.getTokenPos();De();var a,o=G(void 0),u=b();switch(o.escapedText){case"author":a=function(t,r,n,i){var a=fe(),o=function(){var e=[],t=!1,r=c.getToken();for(;1!==r&&4!==r;){if(29===r)t=!0;else{if(59===r&&!t)break;if(31===r&&t){e.push(c.getTokenText()),c.setTextPos(c.getTokenPos()+1);break}}e.push(c.getTokenText()),r=De()}return R.createJSDocText(e.join(""))}(),s=c.getStartPos(),u=C(t,s,n,i);u||(s=c.getStartPos());var l="string"!=typeof u?Ge(e.concatenate([Ye(o,a,s)],u),a):o.text+u;return Ye(R.createJSDocAuthorTag(r,l),t)}(i,o,t,u);break;case"implements":a=function(e,t,r,n){var i=B();return Ye(R.createJSDocImplementsTag(t,i,C(e,fe(),r,n)),e)}(i,o,t,u);break;case"augments":case"extends":a=function(e,t,r,n){var i=B();return Ye(R.createJSDocAugmentsTag(t,i,C(e,fe(),r,n)),e)}(i,o,t,u);break;case"class":case"constructor":a=j(i,R.createJSDocClassTag,o,t,u);break;case"public":a=j(i,R.createJSDocPublicTag,o,t,u);break;case"private":a=j(i,R.createJSDocPrivateTag,o,t,u);break;case"protected":a=j(i,R.createJSDocProtectedTag,o,t,u);break;case"readonly":a=j(i,R.createJSDocReadonlyTag,o,t,u);break;case"override":a=j(i,R.createJSDocOverrideTag,o,t,u);break;case"deprecated":q=!0,a=j(i,R.createJSDocDeprecatedTag,o,t,u);break;case"this":a=function(e,t,n,i){var a=r(!0);return x(),Ye(R.createJSDocThisTag(t,a,C(e,fe(),n,i)),e)}(i,o,t,u);break;case"enum":a=function(e,t,n,i){var a=r(!0);return x(),Ye(R.createJSDocEnumTag(t,a,C(e,fe(),n,i)),e)}(i,o,t,u);break;case"arg":case"argument":case"param":return M(i,o,2,t);case"return":case"returns":a=function(t,r,n,i){e.some(s,e.isJSDocReturnTag)&&de(r.pos,c.getTokenPos(),e.Diagnostics._0_tag_already_specified,r.escapedText);var a=P();return Ye(R.createJSDocReturnTag(r,a,C(t,fe(),n,i)),t)}(i,o,t,u);break;case"template":a=function(e,t,n,i){var a=18===me()?r():void 0,o=function(){var e=fe(),t=[];do{x();var r=W();void 0!==r&&t.push(r),b()}while(H(27));return Ge(t,e)}();return Ye(R.createJSDocTemplateTag(t,a,o,C(e,fe(),n,i)),e)}(i,o,t,u);break;case"type":a=L(i,o,t,u);break;case"typedef":a=function(t,r,n,i){var a,o=P();b();var s=J();x();var c,u=E(n);if(!o||O(o.type)){for(var l=void 0,d=void 0,p=void 0,f=!1;l=Fe((function(){return z(n)}));)if(f=!0,341===l.kind){if(d){ue(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var g=e.lastOrUndefined(T);g&&e.addRelatedInfo(g,e.createDetachedDiagnostic(_,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}d=l}else p=e.append(p,l);if(f){var m=o&&182===o.type.kind,y=R.createJSDocTypeLiteral(p,m);c=(o=d&&d.typeExpression&&!O(d.typeExpression.type)?d.typeExpression:Ye(y,t)).end}}c=c||void 0!==u?fe():(null!==(a=null!=s?s:o)&&void 0!==a?a:r).end,u||(u=C(t,c,n,i));return Ye(R.createJSDocTypedefTag(r,o,s,u),t,c)}(i,o,t,u);break;case"callback":a=function(t,r,n,i){var a=J();x();var o=E(n),s=function(t){var r,n,i=fe();for(;r=Fe((function(){return U(4,t)}));)n=e.append(n,r);return Ge(n||[],i)}(n),c=Fe((function(){if(H(59)){var e=S(n);if(e&&339===e.kind)return e}})),u=Ye(R.createJSDocSignature(void 0,s,c),t);o||(o=C(t,fe(),n,i));return Ye(R.createJSDocCallbackTag(r,u,a,o),t)}(i,o,t,u);break;case"see":a=function(t,r,i,a){var o=22===me()||Ae((function(){return 59===De()&&e.tokenIsIdentifierOrKeyword(De())&&"link"===c.getTokenValue()}))?void 0:n(),s=void 0!==i&&void 0!==a?C(t,fe(),i,a):void 0;return Ye(R.createJSDocSeeTag(r,o,s),t)}(i,o,t,u);break;default:a=function(e,t,r,n){return Ye(R.createJSDocUnknownTag(t,C(e,fe(),r,n)),e)}(i,o,t,u)}return a}function C(e,t,r,n){return n||(r+=t-e),E(r,n.slice(r))}function E(e,t){var r,n,i=fe(),a=[],o=[],s=0,u=!0;function l(t){n||(n=e),a.push(t),e+=t.length}void 0!==t&&(""!==t&&l(t),s=1);var d=me();e:for(;;){switch(d){case 4:s=0,a.push(c.getTokenText()),e=0;break;case 59:if(3===s||2===s&&(!u||Ae(k))){a.push(c.getTokenText());break}c.setTextPos(c.getTextPos()-1);case 1:break e;case 5:if(2===s||3===s)l(c.getTokenText());else{var _=c.getTokenText();void 0!==n&&e+_.length>n&&a.push(_.slice(n-e)),e+=_.length}break;case 18:s=2;var p=c.getStartPos(),f=A(c.getTextPos()-1);f?(o.push(Ye(R.createJSDocText(a.join("")),null!=r?r:i,p)),o.push(f),a=[],r=c.getTextPos()):l(c.getTokenText());break;case 61:s=3===s?2:3,l(c.getTokenText());break;case 41:if(0===s){s=1,e+=1;break}default:3!==s&&(s=2),l(c.getTokenText())}u=5===me(),d=De()}return y(a),v(a),o.length?(a.length&&o.push(Ye(R.createJSDocText(a.join("")),null!=r?r:i)),Ge(o,i,c.getTextPos())):a.length?a.join(""):void 0}function k(){var e=De();return 5===e||4===e}function A(t){var r=Fe(F);if(r){De(),x();var n=fe(),i=e.tokenIsIdentifierOrKeyword(me())?Pt(!0):void 0;if(i)for(;80===me();)Te(),De(),i=Ye(R.createJSDocMemberName(i,et()),n);for(var a=[];19!==me()&&4!==me()&&1!==me();)a.push(c.getTokenText()),De();return Ye(("link"===r?R.createJSDocLink:"linkcode"===r?R.createJSDocLinkCode:R.createJSDocLinkPlain)(i,a.join("")),t,c.getTextPos())}}function F(){if(b(),18===me()&&59===De()&&e.tokenIsIdentifierOrKeyword(De())){var t=c.getTokenValue();if("link"===t||"linkcode"===t||"linkplain"===t)return t}}function N(e){e&&(s?s.push(e):(s=[e],u=e.pos),l=e.end)}function P(){return b(),18===me()?r():void 0}function I(){var t=H(22);t&&x();var r=H(61),n=function(){var e=G();Je(22)&&we(23);for(;Je(24);){var t=G();Je(22)&&we(23),e=wt(e,t)}return e}();return r&&function(t){ze(t)||Xe(t,!1,e.Diagnostics._0_expected,e.tokenToString(t))}(61),t&&(x(),Ke(63)&&qr(),we(23)),{name:n,isBracketed:t}}function O(t){switch(t.kind){case 147:return!0;case 182:return O(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"Object"===t.typeName.escapedText&&!t.typeArguments}}function M(t,r,n,i){var a=P(),o=!a;b();var s=I(),c=s.name,u=s.isBracketed,l=b();o&&!Ae(F)&&(a=P());var d=C(t,fe(),i,l),_=4!==n&&function(t,r,n,i){if(t&&O(t.type)){for(var a=fe(),o=void 0,s=void 0;o=Fe((function(){return U(n,i,r)}));)338!==o.kind&&345!==o.kind||(s=e.append(s,o));if(s){var c=Ye(R.createJSDocTypeLiteral(s,182===t.type.kind),a);return Ye(R.createJSDocTypeExpression(c),a)}}}(a,c,n,i);return _&&(a=_,o=!0),Ye(1===n?R.createJSDocPropertyTag(r,c,u,a,o,d):R.createJSDocParameterTag(r,c,u,a,o,d),t)}function L(t,n,i,a){e.some(s,e.isJSDocTypeTag)&&de(n.pos,c.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText);var o=r(!0),u=void 0!==i&&void 0!==a?C(t,fe(),i,a):void 0;return Ye(R.createJSDocTypeTag(n,o,u),t)}function B(){var e=Je(18),t=fe(),r=function(){var e=fe(),t=G();for(;Je(24);){var r=G();t=Ye(R.createPropertyAccessExpression(t,r),e)}return t}(),n=Pi(),i=Ye(R.createExpressionWithTypeArguments(r,n),t);return e&&we(19),i}function j(e,t,r,n,i){return Ye(t(r,C(e,fe(),n,i)),e)}function J(t){var r=c.getTokenPos();if(e.tokenIsIdentifierOrKeyword(me())){var n=G();if(Je(24)){var i=J(!0);return Ye(R.createModuleDeclaration(void 0,void 0,n,i,t?4:void 0),r)}return t&&(n.isInJSDocNamespace=!0),n}}function K(t,r){for(;!e.isIdentifier(t)||!e.isIdentifier(r);){if(e.isIdentifier(t)||e.isIdentifier(r)||t.right.escapedText!==r.right.escapedText)return!1;t=t.left,r=r.left}return t.escapedText===r.escapedText}function z(e){return U(1,e)}function U(t,r,n){for(var i=!0,a=!1;;)switch(De()){case 59:if(i){var o=V(t,r);return!(o&&(338===o.kind||345===o.kind)&&4!==t&&n&&(e.isIdentifier(o.name)||!K(n,o.name.left)))&&o}a=!1;break;case 4:i=!0,a=!1;break;case 41:a&&(i=!1),a=!0;break;case 79:i=!1;break;case 1:return!1}}function V(t,r){e.Debug.assert(59===me());var n=c.getStartPos();De();var i,a=G();switch(x(),a.escapedText){case"type":return 1===t&&L(n,a);case"prop":case"property":i=1;break;case"arg":case"argument":case"param":i=6;break;default:return!1}return!!(t&i)&&M(n,a,t,r)}function W(){var t=fe(),r=H(22);r&&x();var n,i=G(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);if(r&&(x(),we(63),n=te(4194304,Gt),we(23)),!e.nodeIsMissing(i))return Ye(R.createTypeParameterDeclaration(i,void 0,n),t)}function H(e){return me()===e&&(De(),!0)}function G(t){if(!e.tokenIsIdentifierOrKeyword(me()))return Xe(79,!t,t||e.Diagnostics.Identifier_expected);w++;var r=c.getTokenPos(),n=c.getTextPos(),i=me(),a=Qe(c.getTokenValue()),o=Ye(R.createIdentifier(a,void 0,i),r,n);return De(),o}}t.parseJSDocTypeExpressionForTests=function(t,n,i){K("file.js",t,99,void 0,1),c.setText(t,n,i),A=c.scan();var a=r(),o=G("file.js",99,1,!1,[],R.createToken(1),0),s=e.attachFileToDiagnostics(T,o);return C&&(o.jsDocDiagnostics=e.attachFileToDiagnostics(C,o)),z(),a?{jsDocTypeExpression:a,diagnostics:s}:void 0},t.parseJSDocTypeExpression=r,t.parseJSDocNameReference=n,t.parseIsolatedJSDocComment=function(t,r,n){K("",t,99,void 0,1);var i=te(4194304,(function(){return o(r,n)})),a={languageVariant:0,text:t},s=e.attachFileToDiagnostics(T,a);return z(),i?{jsDoc:i,diagnostics:s}:void 0},t.parseJSDocComment=function(t,r,n){var i=A,a=T.length,s=j,c=te(4194304,(function(){return o(r,n)}));return e.setParent(c,t),131072&M&&(C||(C=[]),C.push.apply(C,T)),A=i,T.length=a,j=s,c},function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments",e[e.SavingBackticks=3]="SavingBackticks"}(i||(i={})),function(e){e[e.Property=1]="Property",e[e.Parameter=2]="Parameter",e[e.CallbackParameter=4]="CallbackParameter"}(a||(a={}))}(Me=t.JSDocParser||(t.JSDocParser={}))}(u||(u={})),function(t){function r(t,r,i,o,s,c){return void(r?l(t):u(t));function u(t){var r="";if(c&&n(t)&&(r=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),e.setTextRangePosEnd(t,t.pos+i,t.end+i),c&&n(t)&&e.Debug.assert(r===s.substring(t.pos,t.end)),f(t,u,l),e.hasJSDocNodes(t))for(var d=0,_=t.jsDoc;d<_.length;d++){u(_[d])}a(t,c)}function l(t){t._children=void 0,e.setTextRangePosEnd(t,t.pos+i,t.end+i);for(var r=0,n=t;r=r,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end);var o=Math.min(t.pos,i),s=t.end>=n?t.end+a:Math.min(t.end,i);e.Debug.assert(o<=s),t.parent&&(e.Debug.assertGreaterThanOrEqual(o,t.parent.pos),e.Debug.assertLessThanOrEqual(s,t.parent.end)),e.setTextRangePosEnd(t,o,s)}function a(t,r){if(r){var n=t.pos,i=function(t){e.Debug.assert(t.pos>=n),n=t.end};if(e.hasJSDocNodes(t))for(var a=0,o=t.jsDoc;ar),!0;if(a.pos>=i.pos&&(i=a),ri.pos&&(i=a)}return i}function s(t,r,n,i){var a=t.text;if(n&&(e.Debug.assert(a.length-n.span.length+n.newLength===r.length),i||e.Debug.shouldAssert(3))){var o=a.substr(0,n.span.start),s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length),u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}function c(t){var r=t.statements,n=0;e.Debug.assert(n=t.pos&&e=t.pos&&e0&&a<=n;a++){var s=o(t,i);e.Debug.assert(s.pos<=i);var c=s.pos;i=Math.max(0,c-1)}var u=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span)),l=r.newLength+(r.span.start-i);return e.createTextChangeRange(u,l)}(t,l);s(t,n,m,d),e.Debug.assert(m.span.start<=l.span.start),e.Debug.assert(e.textSpanEnd(m.span)===e.textSpanEnd(l.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(m))===e.textSpanEnd(e.textChangeRangeNewSpan(l)));var y=e.textChangeRangeNewSpan(m).length-m.span.length;!function(t,n,o,s,c,u,l,d){return void _(t);function _(t){if(e.Debug.assert(t.pos<=t.end),t.pos>o)r(t,!1,c,u,l,d);else{var g=t.end;if(g>=n){if(t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c),f(t,_,p),e.hasJSDocNodes(t))for(var m=0,y=t.jsDoc;mo)r(t,!0,c,u,l,d);else{var a=t.end;if(a>=n){t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c);for(var p=0,f=t;pi){y();var m={range:{pos:f.pos+a,end:f.end+a},type:g};u=e.append(u,m),c&&e.Debug.assert(o.substring(f.pos,f.end)===s.substring(m.range.pos,m.range.end))}}return y(),u;function y(){l||(l=!0,u?r&&u.push.apply(u,r):u=r)}}(t.commentDirectives,v.commentDirectives,m.span.start,e.textSpanEnd(m.span),y,p,n,d),v.impliedNodeFormat=t.impliedNodeFormat,v},t.createSyntaxCursor=c,function(e){e[e.Value=-1]="Value"}(l||(l={}))}(l||(l={})),e.isDeclarationFileName=y,e.processCommentPragmas=v,e.processPragmasIntoFields=h;var D=new e.Map;function x(e){if(D.has(e))return D.get(e);var t=new RegExp("(\\s".concat(e,"\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))"),"im");return D.set(e,t),t}var b=/^\/\/\/\s*<(\S+)\s.*?\/>/im,S=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function T(t,r,n){var i=2===r.kind&&b.exec(n);if(i){var a=i[1].toLowerCase(),o=e.commentPragmas[a];if(!(o&&1&o.kind))return;if(o.args){for(var s={},c=0,u=o.args;c=r.length)break;var o=a;if(34===r.charCodeAt(o)){for(a++;a32;)a++;i.push(r.substring(o,a))}}c(i)}else s.push(r)}}function h(t,r,n,i,a,o){if(i.isTSConfigOnly)"null"===(s=t[r])?(a[i.name]=void 0,r++):"boolean"===i.type?"false"===s?(a[i.name]=me(i,!1,o),r++):("true"===s&&r++,o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),s&&!e.startsWith(s,"-")&&r++);else if(t[r]||"boolean"===i.type||o.push(e.createCompilerDiagnostic(n.optionTypeMismatchDiagnostic,i.name,z(i))),"null"!==t[r])switch(i.type){case"number":a[i.name]=me(i,parseInt(t[r]),o),r++;break;case"boolean":var s=t[r];a[i.name]=me(i,"false"!==s,o),"false"!==s&&"true"!==s||r++;break;case"string":a[i.name]=me(i,t[r]||"",o),r++;break;case"list":var c=g(i,t[r],o);a[i.name]=c||[],c&&r++;break;default:a[i.name]=f(i,t[r],o),r++}else a[i.name]=void 0,r++;return r}function D(e,t){return x(c,e,t)}function x(e,t,r){void 0===r&&(r=!1),t=t.toLowerCase();var n=e(),i=n.optionsNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);void 0!==o&&(t=o)}return i.get(t)}function b(){return u||(u=s(e.buildOpts))}e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:3,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},e.convertEnableAutoDiscoveryToEnable=d,e.createCompilerDiagnosticForInvalidCustomType=_,e.parseCustomTypeOption=f,e.parseListTypeOption=g,e.parseCommandLineWorker=v,e.compilerOptionsDidYouMeanDiagnostics={alternateMode:l,getOptionsNameMap:c,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument},e.parseCommandLine=function(t,r){return v(e.compilerOptionsDidYouMeanDiagnostics,t,r)},e.getOptionFromName=D;var S={alternateMode:{diagnostic:e.Diagnostics.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap:c},getOptionsNameMap:b,optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function T(t,r){var n=e.parseJsonText(t,r);return{config:j(n,n.parseDiagnostics,!1,void 0),error:n.parseDiagnostics.length?n.parseDiagnostics[0]:void 0}}function C(t,r){var n=E(t,r);return e.isString(n)?e.parseJsonText(t,n):{fileName:t,parseDiagnostics:[n]}}function E(t,r){var n;try{n=r(t)}catch(r){return e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}return void 0===n?e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0,t):n}function k(t){return e.arrayToMap(t,m)}e.parseBuildCommand=function(t){var r=v(S,t),n=r.options,i=r.watchOptions,a=r.fileNames,o=r.errors,s=n;return 0===a.length&&a.push("."),s.clean&&s.force&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","force")),s.clean&&s.verbose&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","verbose")),s.clean&&s.watch&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","watch")),s.watch&&s.dry&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"watch","dry")),{buildOptions:s,watchOptions:i,projects:a,errors:o}},e.getDiagnosticText=function(t){for(var r=[],n=1;n=0)return u.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,r(r([],c,!0),[_],!1).join(" -> "))),{raw:t||J(n,u)};var p=t?function(t,r,n,i,a){e.hasProperty(t,"excludes")&&a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var o,s=ue(t.compilerOptions,n,a,i),c=de(t.typeAcquisition||t.typingOptions,n,a,i),u=function(e,t,r){return _e(R(),e,t,void 0,M,r)}(t.watchOptions,n,a);if(t.compileOnSave=function(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var i=pe(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return"boolean"==typeof i&&i}(t,n,a),t.extends)if(e.isString(t.extends)){var l=i?te(i,n):n;o=se(t.extends,r,l,a,e.createCompilerDiagnostic)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"));return{raw:t,options:s,watchOptions:u,typeAcquisition:c,extendedConfigPath:o}}(t,i,a,s,u):function(t,r,n,i,a){var s,c,u,l,d,_=ce(i),p={onSetValidOptionKeyValueInParent:function(t,r,a){var o;switch(t){case"compilerOptions":o=_;break;case"watchOptions":o=u||(u={});break;case"typeAcquisition":o=s||(s=le(i));break;case"typingOptions":o=c||(c=le(i));break;default:e.Debug.fail("Unknown option")}o[r.name]=fe(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,u){if("extends"!==o);else{var d=i?te(i,n):n;l=se(c,r,d,a,(function(r,n){return e.createDiagnosticForNodeInSourceFile(t,u,r,n)}))}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,s){"excludes"===r&&a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude)),e.find(o,(function(e){return e.name===r}))&&(d=e.append(d,n))}},f=j(t,a,!0,p);s||(s=c?void 0!==c.enableAutoDiscovery?{enable:c.enableAutoDiscovery,include:c.include,exclude:c.exclude}:c:le(i));d&&f&&void 0===f.compilerOptions&&a.push(e.createDiagnosticForNodeInSourceFile(t,d[0],e.Diagnostics._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file,e.getTextOfPropertyName(d[0])));return{raw:f,options:_,watchOptions:u,typeAcquisition:s,extendedConfigPath:l}}(n,i,a,s,u);if((null===(d=p.options)||void 0===d?void 0:d.paths)&&(p.options.pathsBasePath=a),p.extendedConfigPath){c=c.concat([_]);var f=function(t,r,n,i,a,o){var s,c,u,l,d=n.useCaseSensitiveFileNames?r:e.toFileNameLowerCase(r);o&&(c=o.get(d))?(u=c.extendedResult,l=c.extendedConfig):(u=C(r,(function(e){return n.readFile(e)})),u.parseDiagnostics.length||(l=oe(void 0,u,n,e.getDirectoryPath(r),e.getBaseFileName(r),i,a,o)),o&&o.set(d,{extendedResult:u,extendedConfig:l}));t&&(t.extendedSourceFiles=[u.fileName],u.extendedSourceFiles&&(s=t.extendedSourceFiles).push.apply(s,u.extendedSourceFiles));if(u.parseDiagnostics.length)return void a.push.apply(a,u.parseDiagnostics);return l}(n,p.extendedConfigPath,i,c,u,l);if(f&&f.options){var g,m=f.raw,y=p.raw,v=function(t){!y[t]&&m[t]&&(y[t]=e.map(m[t],(function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(g||(g=e.convertToRelativePath(e.getDirectoryPath(p.extendedConfigPath),a,e.createGetCanonicalFileName(i.useCaseSensitiveFileNames))),t)})))};v("include"),v("exclude"),v("files"),void 0===y.compileOnSave&&(y.compileOnSave=m.compileOnSave),p.options=e.assign({},f.options,p.options),p.watchOptions=p.watchOptions&&f.watchOptions?e.assign({},f.watchOptions,p.watchOptions):p.watchOptions||f.watchOptions}}return p}function se(t,r,n,i,a){if(t=e.normalizeSlashes(t),e.isRootedDiskPath(t)||e.startsWith(t,"./")||e.startsWith(t,"../")){var o=e.getNormalizedAbsolutePath(t,n);return r.fileExists(o)||e.endsWith(o,".json")||(o="".concat(o,".json"),r.fileExists(o))?o:void i.push(a(e.Diagnostics.File_0_not_found,t))}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,"tsconfig.json"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,void 0,void 0,!0);if(s.resolvedModule)return s.resolvedModule.resolvedFileName;i.push(a(e.Diagnostics.File_0_not_found,t))}function ce(t){return t&&"jsconfig.json"===e.getBaseFileName(t)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ue(t,r,n,i){var a=ce(i);return _e(L(),t,r,a,e.compilerOptionsDidYouMeanDiagnostics,n),i&&(a.configFilePath=e.normalizeSlashes(i)),a}function le(t){return{enable:!!t&&"jsconfig.json"===e.getBaseFileName(t),include:[],exclude:[]}}function de(e,t,r,n){var i=le(n),a=d(e);return _e(B(),a,t,i,F,r),i}function _e(t,r,n,i,a,o){if(r){for(var s in r){var c=t.get(s);c?(i||(i={}))[c.name]=pe(c,r[s],n,o):o.push(y(s,a,e.createCompilerDiagnostic))}return i}}function pe(t,r,n,i){if(U(t,r)){var a=t.type;if("list"===a&&e.isArray(r))return function(t,r,n,i){return e.filter(e.map(r,(function(e){return pe(t.element,e,n,i)})),(function(e){return!!e}))}(t,r,n,i);if(!e.isString(a))return ye(t,r,i);var o=me(t,r,i);return ee(o)?o:ge(t,n,o)}i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,z(t)))}function fe(t,r,n){if(!ee(n)){if("list"===t.type){var i=t;return i.element.isFilePath||!e.isString(i.element.type)?e.filter(e.map(n,(function(e){return fe(i.element,r,e)})),(function(e){return!!e})):n}return e.isString(t.type)?ge(t,r,n):t.type.get(e.isString(n)?n.toLowerCase():n)}}function ge(t,r,n){return t.isFilePath&&""===(n=e.getNormalizedAbsolutePath(n,r))&&(n="."),n}function me(t,r,n){var i;if(!ee(r)){var a=null===(i=t.extraValidation)||void 0===i?void 0:i.call(t,r);if(!a)return r;n.push(e.createCompilerDiagnostic.apply(void 0,a))}}function ye(e,t,r){if(!ee(t)){var n=t.toLowerCase(),i=e.type.get(n);if(void 0!==i)return me(e,i,r);r.push(_(e))}}e.convertToObject=J,e.convertToObjectWorker=K,e.convertToTSConfig=function(t,r,i){var a,o,s,c=e.createGetCanonicalFileName(i.useCaseSensitiveFileNames),u=e.map(e.filter(t.fileNames,(null===(o=null===(a=t.options.configFile)||void 0===a?void 0:a.configFileSpecs)||void 0===o?void 0:o.validatedIncludeSpecs)?function(t,r,n,i){if(!r)return e.returnTrue;var a=e.getFileMatcherPatterns(t,n,r,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),o=a.excludePattern&&e.getRegexFromPattern(a.excludePattern,i.useCaseSensitiveFileNames),s=a.includeFilePattern&&e.getRegexFromPattern(a.includeFilePattern,i.useCaseSensitiveFileNames);if(s)return o?function(e){return!(s.test(e)&&!o.test(e))}:function(e){return!s.test(e)};if(o)return function(e){return o.test(e)};return e.returnTrue}(r,t.options.configFile.configFileSpecs.validatedIncludeSpecs,t.options.configFile.configFileSpecs.validatedExcludeSpecs,i):e.returnTrue),(function(t){return e.getRelativePathFromFile(e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),e.getNormalizedAbsolutePath(t,i.getCurrentDirectory()),c)})),l=G(t.options,{configFilePath:e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),useCaseSensitiveFileNames:i.useCaseSensitiveFileNames}),d=t.watchOptions&&function(e){return Y(e,N())}(t.watchOptions);return n(n({compilerOptions:n(n({},V(l)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:d&&V(d),references:e.map(t.projectReferences,(function(e){return n(n({},e),{path:e.originalPath?e.originalPath:"",originalPath:void 0})})),files:e.length(u)?u:void 0},(null===(s=t.options.configFile)||void 0===s?void 0:s.configFileSpecs)?{include:q(t.options.configFile.configFileSpecs.validatedIncludeSpecs),exclude:t.options.configFile.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!t.compileOnSave||void 0})},e.getCompilerOptionsDiffValue=function(t,r){var n,i,a,s=X(t);return n=[],a=2,i=Array(a+1).join(" "),o.forEach((function(t){if(s.has(t.name)){var r=s.get(t.name),a=Ae(t);r!==a?n.push("".concat(i).concat(t.name,": ").concat(r)):e.hasProperty(e.defaultInitCompilerOptions,t.name)&&n.push("".concat(i).concat(t.name,": ").concat(a))}})),n.join(r)+r},e.generateTSConfig=function(t,r,n){var i=X(t);return function(){for(var t=e.createMultiMap(),s=0,c=e.optionDeclarations;s0)for(var D=function(t){if(e.fileExtensionIs(t,".json")){if(!o){var n=_.filter((function(t){return e.endsWith(t,".json")})),a=e.map(e.getRegularExpressionsForWildcards(n,r,"files"),(function(e){return"^".concat(e,"$")}));o=a?a.map((function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)})):e.emptyArray}var d=e.findIndex(o,(function(e){return e.test(t)}));if(-1!==d){var p=s(t);c.has(p)||l.has(p)||l.set(p,t)}return"continue"}if(function(t,r,n,i,a){var o=e.forEach(i,(function(r){return e.fileExtensionIsOneOf(t,r)?r:void 0}));if(!o)return!1;for(var s=0,c=o;s=0;o--){var s=a[o];if(e.fileExtensionIs(t,s))return;var c=i(e.changeExtension(t,s));r.delete(c)}}(t,u,f,s);var g=s(t);c.has(g)||u.has(g)||u.set(g,t)},x=0,b=i.readDirectory(r,e.flatten(g),p,_,void 0);xr}function be(t,r,n,i,a){var o=e.getRegularExpressionForWildcard(r,e.combinePaths(e.normalizePath(i),a),"exclude"),s=o&&e.getRegexFromPattern(o,n);return!!s&&(!!s.test(t)||!e.hasExtension(t)&&s.test(e.ensureTrailingDirectorySeparator(t)))}function Se(t,r,n,i,a){return t.filter((function(t){if(!e.isString(t))return!1;var i=Te(t,n);return void 0!==i&&r.push(o.apply(void 0,i)),void 0===i}));function o(t,r){var n=e.getTsConfigPropArrayElementValue(i,a,r);return n?e.createDiagnosticForNodeInSourceFile(i,n,t,r):e.createCompilerDiagnostic(t,r)}}function Te(t,r){return r&&ve.test(t)?[e.Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,t]:xe(t)?[e.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,t]:void 0}function Ce(t,r,n){var i=t.validatedIncludeSpecs,a=t.validatedExcludeSpecs,o=e.getRegularExpressionForWildcard(a,r,"exclude"),s=o&&new RegExp(o,n?"":"i"),c={};if(void 0!==i){for(var u=[],l=0,d=i;l0);var i={sourceFile:t.configFile,commandLine:{options:t}};r.setOwnMap(r.getOrCreateMapOfCacheRedirects(i)),null==n||n.setOwnMap(n.getOrCreateMapOfCacheRedirects(i))}r.setOwnOptions(t),null==n||n.setOwnOptions(t)}}function E(t,r,n){return{getOrCreateCacheForDirectory:function(i,a){var o=e.toPath(i,t,r);return T(n,a,o,(function(){return k()}))},clear:function(){n.clear()},update:function(e){C(e,n)}}}function k(){var t=new e.Map,r=new e.Map,n={get:function(e,r){return t.get(i(e,r))},set:function(e,r,a){return t.set(i(e,r),a),n},delete:function(e,r){return t.delete(i(e,r)),n},has:function(e,r){return t.has(i(e,r))},forEach:function(e){return t.forEach((function(t,n){var i=r.get(n),a=i[0],o=i[1];return e(t,a,o)}))},size:function(){return t.size}};return n;function i(e,t){var n=void 0===t?e:"".concat(t,"|").concat(e);return r.set(n,[e,t]),n}}function A(r,n,i,a,o){var s=function(r,n,i,a){var o,s=a.compilerOptions,c=s.baseUrl,u=s.paths,l=s.configFile;if(u&&!e.pathIsRelative(n)){return a.traceEnabled&&(c&&t(a.host,e.Diagnostics.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,c,n),t(a.host,e.Diagnostics.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,n)),se(r,n,e.getPathsBasePath(a.compilerOptions,a.host),u,(null==l?void 0:l.configFileSpecs)?(o=l.configFileSpecs).pathPatterns||(o.pathPatterns=e.tryParsePatterns(u)):void 0,i,!1,a)}}(r,n,a,o);return s?s.value:e.isExternalModuleNameRelative(n)?function(r,n,i,a,o){if(!o.compilerOptions.rootDirs)return;o.traceEnabled&&t(o.host,e.Diagnostics.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,n);for(var s,c,u=e.normalizePath(e.combinePaths(i,n)),l=0,d=o.compilerOptions.rootDirs;l0;){var c=Y(e.getPathFromPathComponents(s),!1,o);if(c)return c;s.pop()}}function Y(r,n,i){var a,o,s,c=i.host,u=i.traceEnabled,l=e.combinePaths(r,"package.json");if(n)i.failedLookupLocations.push(l);else{var d=null===(a=i.packageJsonInfoCache)||void 0===a?void 0:a.getPackageJsonInfo(l);if(void 0!==d)return"boolean"!=typeof d?(u&&t(c,e.Diagnostics.File_0_exists_according_to_earlier_cached_lookups,l),d):(d&&u&&t(c,e.Diagnostics.File_0_does_not_exist_according_to_earlier_cached_lookups,l),void i.failedLookupLocations.push(l));var _=e.directoryProbablyExists(r,c);if(_&&c.fileExists(l)){var p=e.readJson(l,c);u&&t(c,e.Diagnostics.Found_package_json_at_0,l);var f={packageDirectory:r,packageJsonContent:p,versionPaths:m(p,i)};return null===(o=i.packageJsonInfoCache)||void 0===o||o.setPackageJsonInfo(l,f),f}_&&u&&t(c,e.Diagnostics.File_0_does_not_exist,l),null===(s=i.packageJsonInfoCache)||void 0===s||s.setPackageJsonInfo(l,_),i.failedLookupLocations.push(l)}}function X(r,n,i,a,u,l){var d;if(u)switch(r){case c.JavaScript:case c.Json:d=g(u,n,a);break;case c.TypeScript:d=f(u,n,a)||g(u,n,a);break;case c.DtsOnly:d=f(u,n,a);break;case c.TSConfig:d=function(e,t,r){return p(e,"tsconfig",t,r)}(u,n,a);break;default:return e.Debug.assertNever(r)}var _=function(r,n,i,a){var s=W(n,i,a);if(s){var u=function(t,r){var n=e.tryGetExtensionFromPath(r);return void 0!==n&&function(e,t){switch(e){case c.JavaScript:return".js"===t||".jsx"===t;case c.TSConfig:case c.Json:return".json"===t;case c.TypeScript:return".ts"===t||".tsx"===t||".d.ts"===t;case c.DtsOnly:return".d.ts"===t}}(t,n)?{path:r,ext:n}:void 0}(r,s);if(u)return o(u);a.traceEnabled&&t(a.host,e.Diagnostics.File_0_has_an_unsupported_extension_so_skipping_it,s)}return B(r===c.DtsOnly?c.TypeScript:r,n,i,a,!1)},m=d?!e.directoryProbablyExists(e.getDirectoryPath(d),a.host):void 0,y=i||!e.directoryProbablyExists(n,a.host),v=e.combinePaths(n,r===c.TSConfig?"tsconfig":"index");if(l&&(!d||e.containsPath(n,d))){var D=e.getRelativePathFromDirectory(n,d||v,!1);a.traceEnabled&&t(a.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,l.version,e.version,D);var x=se(r,D,n,l.paths,void 0,_,m||y,a);if(x)return s(x.value)}var b=d&&s(_(r,d,m,a));return b||(a.features&h.EsmMode?void 0:U(r,v,y,a))}function Q(t){var r=t.indexOf(e.directorySeparator);return"@"===t[0]&&(r=t.indexOf(e.directorySeparator,r+1)),-1===r?{packageName:t,rest:""}:{packageName:t.slice(0,r),rest:t.slice(r+1)}}function $(t){return e.every(e.getOwnKeys(t),(function(t){return e.startsWith(t,".")}))}function Z(r,n,i,a,o,s){if(r.packageJsonContent.exports){if("."===i){var c=void 0;if("string"==typeof r.packageJsonContent.exports||Array.isArray(r.packageJsonContent.exports)||"object"==typeof r.packageJsonContent.exports&&(l=r.packageJsonContent.exports,!e.some(e.getOwnKeys(l),(function(t){return e.startsWith(t,".")})))?c=r.packageJsonContent.exports:e.hasProperty(r.packageJsonContent.exports,".")&&(c=r.packageJsonContent.exports["."]),c)return te(n,a,o,s,i,r,!1)(c,"",!1)}else if($(r.packageJsonContent.exports)){if("object"!=typeof r.packageJsonContent.exports)return a.traceEnabled&&t(a.host,e.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,i,r.packageDirectory),pe(void 0);var u=ee(n,a,o,s,i,r.packageJsonContent.exports,r,!1);if(u)return u}var l;return a.traceEnabled&&t(a.host,e.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,i,r.packageDirectory),pe(void 0)}}function ee(t,r,n,i,a,o,s,c){var u=te(t,r,n,i,a,s,c);if(!e.endsWith(a,e.directorySeparator)&&-1===a.indexOf("*")&&e.hasProperty(o,a))return u(p=o[a],"",!1);for(var l=0,d=e.sort(e.filter(e.getOwnKeys(o),(function(t){return-1!==t.indexOf("*")||e.endsWith(t,"/")})),(function(e,t){return e.length-t.length}));l0&&!e.endsWith(_,"/"))return n.traceEnabled&&t(n.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,u.packageDirectory,s),pe(void 0);if(!e.startsWith(_,"./")){if(l&&!e.startsWith(_,"../")&&!e.startsWith(_,"/")&&!e.isRootedDiskPath(_)){var y=f?_.replace(/\*/g,p):_+p;return pe((E=L(n.features,y,u.packageDirectory+"/",n.compilerOptions,n.host,i,[r],o)).resolvedModule?{path:E.resolvedModule.resolvedFileName,extension:E.resolvedModule.extension,packageId:E.resolvedModule.packageId,originalPath:E.resolvedModule.originalPath}:void 0)}return n.traceEnabled&&t(n.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,u.packageDirectory,s),pe(void 0)}var v=(e.pathIsRelative(_)?e.getPathComponents(_).slice(1):e.getPathComponents(_)).slice(1);if(v.indexOf("..")>=0||v.indexOf(".")>=0||v.indexOf("node_modules")>=0)return n.traceEnabled&&t(n.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,u.packageDirectory,s),pe(void 0);var h=e.combinePaths(u.packageDirectory,_),D=e.getPathComponents(p);if(D.indexOf("..")>=0||D.indexOf(".")>=0||D.indexOf("node_modules")>=0)return n.traceEnabled&&t(n.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,u.packageDirectory,s),pe(void 0);var x=e.getNormalizedAbsolutePath(f?h.replace(/\*/g,p):h+p,null===(m=(g=n.host).getCurrentDirectory)||void 0===m?void 0:m.call(g));return pe(a(u,function(t,r,n,i){return t!==c.TypeScript&&t!==c.DtsOnly||!e.fileExtensionIsOneOf(r,[".d.ts",".d.cts",".d.mts"])?V(t,r,n,i):void 0!==W(r,n,i)?{path:r,ext:e.forEach([".d.ts",".d.cts",".d.mts"],(function(t){return e.fileExtensionIs(r,t)?t:void 0}))}:void 0}(r,x,!1,n)))}if("object"==typeof _&&null!==_){if(!Array.isArray(_)){for(var b=0,S=e.getOwnKeys(_);b=0||re(n.conditions,T)){var C=_[T],E=d(C,p,f);if(E)return E}}return}if(!e.length(_))return n.traceEnabled&&t(n.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,u.packageDirectory,s),pe(void 0);for(var k=0,A=_;ki&&(i=l),1===i)return i}return i}break;case 261:var d=0;return e.forEachChild(t,(function(t){var n=o(t,r);switch(n){case 0:return;case 2:return void(d=2);case 1:return d=1,!0;default:e.Debug.assertNever(n)}})),d;case 260:return a(t,r);case 79:if(t.isInJSDocNamespace)return 0}return 1}(t,r);return r.set(n,i),i}function s(t,r){for(var n=t.propertyName||t.name,i=t.parent;i;){if(e.isBlock(i)||e.isModuleBlock(i)||e.isSourceFile(i)){for(var a=void 0,s=0,c=i.statements;sa)&&(a=l),1===a)return a}}if(void 0!==a)return a}i=i.parent}return 1}function c(t){return e.Debug.attachFlowNodeDebugInfo(t),t}(t=e.ModuleInstanceState||(e.ModuleInstanceState={}))[t.NonInstantiated=0]="NonInstantiated",t[t.Instantiated=1]="Instantiated",t[t.ConstEnumOnly=2]="ConstEnumOnly",e.getModuleInstanceState=a,function(e){e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethodOrAccessor=128]="IsObjectLiteralOrClassExpressionMethodOrAccessor"}(i||(i={}));var u=function(){var t,i,o,s,u,p,f,g,m,y,v,h,D,x,b,S,T,C,E,k,A,F,N,P,w=!1,I=0,O={flags:1},M={flags:1},L=function(){return e.createBinaryExpressionTrampoline(t,r,n,i,a,void 0);function t(t,r){if(r){r.stackIndex++,e.setParent(t,s);var n=F;ze(t);var i=s;s=t,r.skip=!1,r.inStrictModeStack[r.stackIndex]=n,r.parentStack[r.stackIndex]=i}else r={stackIndex:0,skip:!1,inStrictModeStack:[void 0],parentStack:[void 0]};var a=t.operatorToken.kind;if(55===a||56===a||60===a||e.isLogicalOrCoalescingAssignmentOperator(a)){if(de(t)){var o=Z();De(t,o,o),v=ce(o)}else De(t,b,S);r.skip=!0}return r}function r(e,t,r){if(!t.skip)return o(e)}function n(e,t,r){t.skip||(27===e.kind&&ye(r.left),Be(e))}function i(e,t,r){if(!t.skip)return o(e)}function a(t,r){if(!r.skip){var n=t.operatorToken.kind;if(e.isAssignmentOperator(n)&&!e.isAssignmentTarget(t))if(he(t.left),63===n&&206===t.left.kind)$(t.left.expression)&&(v=oe(256,v,t))}var i=r.inStrictModeStack[r.stackIndex],a=r.parentStack[r.stackIndex];void 0!==i&&(F=i),void 0!==a&&(s=a),r.skip=!1,r.stackIndex--}function o(t){if(t&&e.isBinaryExpression(t)&&!e.isDestructuringAssignment(t))return t;Be(t)}}();function R(r,n,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(r)||t,r,n,i,a,o)}return function(r,n){t=r,i=n,o=e.getEmitScriptTarget(i),F=function(t,r){return!(!e.getStrictOptionValue(r,"alwaysStrict")||t.isDeclarationFile)||!!t.externalModuleIndicator}(t,n),P=new e.Set,I=0,N=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(O),e.Debug.attachFlowNodeDebugInfo(M),t.locals||(Be(t),t.symbolCount=I,t.classifiableNames=P,function(){if(m){for(var r=u,n=g,i=f,a=s,o=v,l=0,_=m;l<_.length;l++){var p=_[l],y=p.parent.parent;u=e.findAncestor(y.parent,(function(e){return!!(1&Ce(e))}))||t,f=e.getEnclosingBlockScopeContainer(y)||t,v=c({flags:2}),s=p,Be(p.typeExpression);var h=e.getNameOfDeclaration(p);if((e.isJSDocEnumTag(p)||!p.fullName)&&h&&e.isPropertyAccessEntityNameExpression(h.parent)){var D=et(h.parent);if(D){$e(t.symbol,h.parent,D,!!e.findAncestor(h,(function(t){return e.isPropertyAccessExpression(t)&&"prototype"===t.name.escapedText})),!1);var x=u;switch(e.getAssignmentDeclarationPropertyAccessKind(h.parent)){case 1:case 2:u=e.isExternalOrCommonJsModule(t)?t:void 0;break;case 4:u=h.parent.expression;break;case 3:u=h.parent.expression.name;break;case 5:u=d(t,h.parent.expression)?t:e.isPropertyAccessExpression(h.parent.expression)?h.parent.expression.name:h.parent.expression;break;case 0:return e.Debug.fail("Shouldn't have detected typedef or enum on non-assignment declaration")}u&&U(p,524288,788968),u=x}}else e.isJSDocEnumTag(p)||!p.fullName||79===p.fullName.kind?(s=p.parent,Pe(p,524288,788968)):Be(p.fullName)}u=r,g=n,f=i,s=a,v=o}}()),t=void 0,i=void 0,o=void 0,s=void 0,u=void 0,p=void 0,f=void 0,g=void 0,m=void 0,y=!1,v=void 0,h=void 0,D=void 0,x=void 0,b=void 0,S=void 0,T=void 0,E=void 0,k=!1,w=!1,A=0};function B(e,t){return I++,new N(e,t)}function j(t,r,n){t.flags|=n,r.symbol=t,t.declarations=e.appendIfUnique(t.declarations,r),1955&n&&!t.exports&&(t.exports=e.createSymbolTable()),6240&n&&!t.members&&(t.members=e.createSymbolTable()),t.constEnumOnlyModule&&304&t.flags&&(t.constEnumOnlyModule=!1),111551&n&&e.setValueDeclaration(t,r)}function J(t){if(270===t.kind)return t.isExportEquals?"export=":"default";var r=e.getNameOfDeclaration(t);if(r){if(e.isAmbientModule(t)){var n=e.getTextOfIdentifierOrLiteral(r);return e.isGlobalScopeAugmentation(t)?"__global":'"'.concat(n,'"')}if(161===r.kind){var i=r.expression;if(e.isStringOrNumericLiteralLike(i))return e.escapeLeadingUnderscores(i.text);if(e.isSignedNumericLiteral(i))return e.tokenToString(i.operator)+i.operand.text;e.Debug.fail("Only computed properties with literal names have declaration names")}if(e.isPrivateIdentifier(r)){var a=e.getContainingClass(t);if(!a)return;var o=a.symbol;return e.getSymbolNameForPrivateIdentifier(o,r.escapedText)}return e.isPropertyNameLiteral(r)?e.getEscapedTextOfIdentifierOrLiteral(r):void 0}switch(t.kind){case 170:return"__constructor";case 178:case 173:case 321:return"__call";case 179:case 174:return"__new";case 175:return"__index";case 271:return"__export";case 303:return"export=";case 220:if(2===e.getAssignmentDeclarationKind(t))return"export=";e.Debug.fail("Unknown binary declaration kind");break;case 315:return e.isJSDocConstructSignature(t)?"__new":"__call";case 163:return e.Debug.assert(315===t.parent.kind,"Impossible parameter parent kind",(function(){return"parent is: ".concat(e.SyntaxKind?e.SyntaxKind[t.parent.kind]:t.parent.kind,", expected JSDocFunctionType")})),"arg"+t.parent.parameters.indexOf(t)}}function K(t){return e.isNamedDeclaration(t)?e.declarationNameToString(t.name):e.unescapeLeadingUnderscores(e.Debug.checkDefined(J(t)))}function z(n,i,a,o,s,c,u){e.Debug.assert(u||!e.hasDynamicName(a));var l,d=e.hasSyntacticModifier(a,512)||e.isExportSpecifier(a)&&"default"===a.name.escapedText,_=u?"__computed":d&&i?"default":J(a);if(void 0===_)l=B(0,"__missing");else if(l=n.get(_),2885600&o&&P.add(_),l){if(c&&!l.isReplaceableByMethod)return l;if(l.flags&s)if(l.isReplaceableByMethod)n.set(_,l=B(0,_));else if(!(3&o&&67108864&l.flags)){e.isNamedDeclaration(a)&&e.setParent(a.name,a);var p=2&l.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,f=!0;(384&l.flags||384&o)&&(p=e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,f=!1);var g=!1;e.length(l.declarations)&&(d||l.declarations&&l.declarations.length&&270===a.kind&&!a.isExportEquals)&&(p=e.Diagnostics.A_module_cannot_have_multiple_default_exports,f=!1,g=!0);var m=[];e.isTypeAliasDeclaration(a)&&e.nodeIsMissing(a.type)&&e.hasSyntacticModifier(a,1)&&2887656&l.flags&&m.push(R(a,e.Diagnostics.Did_you_mean_0,"export type { ".concat(e.unescapeLeadingUnderscores(a.name.escapedText)," }")));var y=e.getNameOfDeclaration(a)||a;e.forEach(l.declarations,(function(r,n){var i=e.getNameOfDeclaration(r)||r,a=R(i,p,f?K(r):void 0);t.bindDiagnostics.push(g?e.addRelatedInfo(a,R(y,0===n?e.Diagnostics.Another_export_default_is_here:e.Diagnostics.and_here)):a),g&&m.push(R(i,e.Diagnostics.The_first_export_default_is_here))}));var v=R(y,p,f?K(a):void 0);t.bindDiagnostics.push(e.addRelatedInfo.apply(void 0,r([v],m,!1))),l=B(0,_)}}else n.set(_,l=B(0,_)),c&&(l.isReplaceableByMethod=!0);return j(l,a,o),l.parent?e.Debug.assert(l.parent===i,"Existing symbol parent should match new one"):l.parent=i,l}function U(t,r,n){var i=!!(1&e.getCombinedModifierFlags(t))||function(t){t.parent&&e.isModuleDeclaration(t)&&(t=t.parent);if(!e.isJSDocTypeAlias(t))return!1;if(!e.isJSDocEnumTag(t)&&t.fullName)return!0;var r=e.getNameOfDeclaration(t);return!!r&&(!(!e.isPropertyAccessEntityNameExpression(r.parent)||!et(r.parent))||!!(e.isDeclaration(r.parent)&&1&e.getCombinedModifierFlags(r.parent)))}(t);if(2097152&r)return 274===t.kind||264===t.kind&&i?z(u.symbol.exports,u.symbol,t,r,n):z(u.locals,void 0,t,r,n);if(e.isJSDocTypeAlias(t)&&e.Debug.assert(e.isInJSFile(t)),!e.isAmbientModule(t)&&(i||64&u.flags)){if(!u.locals||e.hasSyntacticModifier(t,512)&&!J(t))return z(u.symbol.exports,u.symbol,t,r,n);var a=111551&r?1048576:0,o=z(u.locals,void 0,t,a,n);return o.exportSymbol=z(u.symbol.exports,u.symbol,t,r,n),t.localSymbol=o,o}return z(u.locals,void 0,t,r,n)}function V(e){q(e,(function(e){return 255===e.kind?Be(e):void 0})),q(e,(function(e){return 255!==e.kind?Be(e):void 0}))}function q(t,r){void 0===r&&(r=Be),void 0!==t&&e.forEach(t,r)}function W(t){e.forEachChild(t,Be,q)}function H(t){var r=w;if(w=!1,function(t){if(!(1&v.flags))return!1;if(v===O){var r=e.isStatementButNotDeclaration(t)&&235!==t.kind||256===t.kind||260===t.kind&&function(t){var r=a(t);return 1===r||2===r&&e.shouldPreserveConstEnums(i)}(t);if(r&&(v=M,!i.allowUnreachableCode)){var n=e.unreachableCodeIsError(i)&&!(8388608&t.flags)&&(!e.isVariableStatement(t)||!!(3&e.getCombinedNodeFlags(t.declarationList))||t.declarationList.declarations.some((function(e){return!!e.initializer})));!function(t,r){if(e.isStatement(t)&&l(t)&&e.isBlock(t.parent)){var n=t.parent.statements,i=e.sliceAfter(n,t);e.getRangesWhere(i,l,(function(e,t){return r(i[e],i[t-1])}))}else r(t,t)}(t,(function(t,r){return Re(n,t,r,e.Diagnostics.Unreachable_code_detected)}))}}return!0}(t))return W(t),je(t),void(w=r);switch(t.kind>=236&&t.kind<=252&&!i.allowUnreachableCode&&(t.flowNode=v),t.kind){case 240:!function(e){var t=ge(e,ee()),r=Z(),n=Z();ne(t,v),v=t,pe(e.expression,r,n),v=ce(r),fe(e.statement,n,t),ne(t,v),v=ce(n)}(t);break;case 239:!function(e){var t=ee(),r=ge(e,Z()),n=Z();ne(t,v),v=t,fe(e.statement,n,r),ne(r,v),v=ce(r),pe(e.expression,t,n),v=ce(n)}(t);break;case 241:!function(e){var t=ge(e,ee()),r=Z(),n=Z();Be(e.initializer),ne(t,v),v=t,pe(e.condition,r,n),v=ce(r),fe(e.statement,n,t),Be(e.incrementor),ne(t,v),v=ce(n)}(t);break;case 242:case 243:!function(e){var t=ge(e,ee()),r=Z();Be(e.expression),ne(t,v),v=t,243===e.kind&&Be(e.awaitModifier);ne(r,v),Be(e.initializer),254!==e.initializer.kind&&he(e.initializer);fe(e.statement,r,t),ne(t,v),v=ce(r)}(t);break;case 238:!function(e){var t=Z(),r=Z(),n=Z();pe(e.expression,t,r),v=ce(t),Be(e.thenStatement),ne(n,v),v=ce(r),Be(e.elseStatement),ne(n,v),v=ce(n)}(t);break;case 246:case 250:!function(e){Be(e.expression),246===e.kind&&(k=!0,x&&ne(x,v));v=O}(t);break;case 245:case 244:!function(e){if(Be(e.label),e.label){var t=function(e){for(var t=E;t;t=t.next)if(t.name===e)return t;return}(e.label.escapedText);t&&(t.referenced=!0,me(e,t.breakTarget,t.continueTarget))}else me(e,h,D)}(t);break;case 251:!function(t){var r=x,n=T,i=Z(),a=Z(),o=Z();t.finallyBlock&&(x=a);ne(o,v),T=o,Be(t.tryBlock),ne(i,v),t.catchClause&&(v=ce(o),ne(o=Z(),v),T=o,Be(t.catchClause),ne(i,v));if(x=r,T=n,t.finallyBlock){var s=Z();s.antecedents=e.concatenate(e.concatenate(i.antecedents,o.antecedents),a.antecedents),v=s,Be(t.finallyBlock),1&v.flags?v=O:(x&&a.antecedents&&ne(x,te(s,a.antecedents,v)),T&&o.antecedents&&ne(T,te(s,o.antecedents,v)),v=i.antecedents?te(s,i.antecedents,v):O)}else v=ce(i)}(t);break;case 248:!function(t){var r=Z();Be(t.expression);var n=h,i=C;h=r,C=v,Be(t.caseBlock),ne(r,v);var a=e.forEach(t.caseBlock.clauses,(function(e){return 289===e.kind}));t.possiblyExhaustive=!a&&!r.antecedents,a||ne(r,ae(C,t,0,0));h=n,C=i,v=ce(r)}(t);break;case 262:!function(e){for(var t=e.clauses,r=G(e.parent.expression),n=O,a=0;a=117&&r.originalKeywordKind<=125?t.bindDiagnostics.push(R(r,function(r){if(e.getContainingClass(r))return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(r),e.declarationNameToString(r))):132===r.originalKeywordKind?e.isExternalModule(t)&&e.isInTopLevelContext(r)?t.bindDiagnostics.push(R(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(r))):32768&r.flags&&t.bindDiagnostics.push(R(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))):125===r.originalKeywordKind&&8192&r.flags&&t.bindDiagnostics.push(R(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))))}function Ie(r,n){if(n&&79===n.kind){var i=n;if(function(t){return e.isIdentifier(t)&&("eval"===t.escapedText||"arguments"===t.escapedText)}(i)){var a=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,function(r){if(e.getContainingClass(r))return e.Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Invalid_use_of_0_in_strict_mode}(r),e.idText(i)))}}}function Oe(e){F&&Ie(e,e.name)}function Me(r){if(o<2&&303!==f.kind&&260!==f.kind&&!e.isFunctionLikeOrClassStaticBlockDeclaration(f)){var n=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,function(r){return e.getContainingClass(r)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(r)))}}function Le(r,n,i,a,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,i,a,o))}function Re(r,i,a,o){!function(r,i,a){var o=e.createFileDiagnostic(t,i.pos,i.end-i.pos,a);r?t.bindDiagnostics.push(o):t.bindSuggestionDiagnostics=e.append(t.bindSuggestionDiagnostics,n(n({},o),{category:e.DiagnosticCategory.Suggestion}))}(r,{pos:e.getTokenPosOfNode(i,t),end:a.end},o)}function Be(t){if(t){e.setParent(t,s);var r=F;if(ze(t),t.kind>159){var n=s;s=t;var i=Ce(t);0===i?H(t):function(t,r){var n=u,i=p,a=f;if(1&r?(213!==t.kind&&(p=u),u=f=t,32&r&&(u.locals=e.createSymbolTable()),Ee(u)):2&r&&((f=t).locals=void 0),4&r){var o=v,s=h,l=D,d=x,_=T,g=E,m=k,b=16&r&&!e.hasSyntacticModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);b||(v=c({flags:2}),144&r&&(v.node=t)),x=b||170===t.kind||169===t.kind||e.isInJSFile(t)&&(255===t.kind||212===t.kind)?Z():void 0,T=void 0,h=void 0,D=void 0,E=void 0,k=!1,H(t),t.flags&=-2817,!(1&v.flags)&&8&r&&e.nodeIsPresent(t.body)&&(t.flags|=256,k&&(t.flags|=512),t.endFlowNode=v),303===t.kind&&(t.flags|=A,t.endFlowNode=v),x&&(ne(x,v),v=ce(x),(170===t.kind||169===t.kind||e.isInJSFile(t)&&(255===t.kind||212===t.kind))&&(t.returnFlowNode=v)),b||(v=o),h=s,D=l,x=d,T=_,E=g,k=m}else 64&r?(y=!1,H(t),t.flags=y?128|t.flags:-129&t.flags):H(t);u=n,p=i,f=a}(t,i),s=n}else{n=s;1===t.kind&&(s=t),je(t),s=n}F=r}}function je(t){if(e.hasJSDocNodes(t))if(e.isInJSFile(t))for(var r=0,n=t.jsDoc;r=2&&(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement))&&Le(t.label,e.Diagnostics.A_label_is_not_allowed_here)}(r);case 191:return void(y=!0);case 176:break;case 162:return function(t){if(e.isJSDocTemplateTag(t.parent)){var r=e.getEffectiveContainerForJSDocTemplateTag(t.parent);r?(r.locals||(r.locals=e.createSymbolTable()),z(r.locals,void 0,t,262144,526824)):ke(t,262144,526824)}else if(189===t.parent.kind){var n=function(t){var r=e.findAncestor(t,(function(t){return t.parent&&e.isConditionalTypeNode(t.parent)&&t.parent.extendsType===t}));return r&&r.parent}(t.parent);n?(n.locals||(n.locals=e.createSymbolTable()),z(n.locals,void 0,t,262144,526824)):Ne(t,262144,J(t))}else ke(t,262144,526824)}(r);case 163:return at(r);case 253:return it(r);case 202:return r.flowNode=v,it(r);case 166:case 165:return function(e){return ot(e,4|(e.questionToken?16777216:0),0)}(r);case 294:case 295:return ot(r,4,0);case 297:return ot(r,8,900095);case 173:case 174:case 175:return ke(r,131072,0);case 168:case 167:return ot(r,8192|(r.questionToken?16777216:0),e.isObjectLiteralMethod(r)?0:103359);case 255:return function(r){t.isDeclarationFile||8388608&r.flags||e.isAsyncFunction(r)&&(A|=2048);Oe(r),F?(Me(r),Pe(r,16,110991)):ke(r,16,110991)}(r);case 170:return ke(r,16384,0);case 171:return ot(r,32768,46015);case 172:return ot(r,65536,78783);case 178:case 315:case 321:case 179:return function(t){var r=B(131072,J(t));j(r,t,131072);var n=B(2048,"__type");j(n,t,2048),n.members=e.createSymbolTable(),n.members.set(r.escapedName,r)}(r);case 181:case 320:case 194:return function(e){return Ne(e,2048,"__type")}(r);case 330:return function(t){W(t);var r=e.getHostSignatureFromJSDoc(t);r&&168!==r.kind&&j(r.symbol,r,32)}(r);case 204:return function(r){var n;if(function(e){e[e.Property=1]="Property",e[e.Accessor=2]="Accessor"}(n||(n={})),F&&!e.isAssignmentTarget(r))for(var i=new e.Map,a=0,o=r.properties;a1&&2097152&h.flags&&(t=e.createSymbolTable()).set("export=",h);return I(t),k(d);function D(e){return!!e&&79===e.kind}function b(t){return e.isVariableStatement(t)?e.filter(e.map(t.declarationList.declarations,e.getNameOfDeclaration),D):e.filter([e.getNameOfDeclaration(t)],D)}function S(t){var n=e.find(t,e.isExportAssignment),i=e.findIndex(t,e.isModuleDeclaration),a=-1!==i?t[i]:void 0;if(a&&n&&n.isExportEquals&&e.isIdentifier(n.expression)&&e.isIdentifier(a.name)&&e.idText(a.name)===e.idText(n.expression)&&a.body&&e.isModuleBlock(a.body)){var o=e.filter(t,(function(t){return!!(1&e.getEffectiveModifierFlags(t))})),s=a.name,c=a.body;if(e.length(o)&&(a=e.factory.updateModuleDeclaration(a,a.decorators,a.modifiers,a.name,c=e.factory.updateModuleBlock(c,e.factory.createNodeArray(r(r([],a.body.statements,!0),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(o,(function(e){return b(e)})),(function(t){return e.factory.createExportSpecifier(!1,void 0,t)}))),void 0)],!1)))),t=r(r(r([],t.slice(0,i),!0),[a],!1),t.slice(i+1),!0)),!e.find(t,(function(t){return t!==a&&e.nodeHasName(t,s)}))){d=[];var u=!e.some(c.statements,(function(t){return e.hasSyntacticModifier(t,1)||e.isExportAssignment(t)||e.isExportDeclaration(t)}));e.forEach(c.statements,(function(e){W(e,u?1:0)})),t=r(r([],e.filter(t,(function(e){return e!==a&&e!==n})),!0),d,!0)}}return t}function T(t){var n=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(n)>1){var i=e.filter(t,(function(t){return!e.isExportDeclaration(t)||!!t.moduleSpecifier||!t.exportClause}));t=r(r([],i,!0),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),void 0)],!1)}var a=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(a)>1){var o=e.group(a,(function(t){return e.isStringLiteral(t.moduleSpecifier)?">"+t.moduleSpecifier.text:">"}));if(o.length!==a.length)for(var s=function(n){n.length>1&&(t=r(r([],e.filter(t,(function(e){return-1===n.indexOf(e)})),!0),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),n[0].moduleSpecifier)],!1))},c=0,u=o;c=0){var n=t[r],i=e.mapDefined(n.exportClause.elements,(function(r){if(!r.propertyName){var n=e.indicesOf(t),i=e.filter(n,(function(n){return e.nodeHasName(t[n],r.name)}));if(e.length(i)&&e.every(i,(function(e){return A(t[e])}))){for(var a=0,o=i;a0&&e.isSingleOrDoubleQuote(a.charCodeAt(0))?e.stripQuotes(a):a}return"default"===r?r="_default":"export="===r&&(r="_exports"),r=e.isIdentifierText(r,U)&&!e.isStringANonContextualKeyword(r)?r:"_"+r.replace(/[^a-zA-Z0-9]/g,"_")}function he(e,t){var r=M(e);return i.remappedSymbolNames.has(r)?i.remappedSymbolNames.get(r):(t=ve(e,t),i.remappedSymbolNames.set(r,t),t)}}(t,i,l)}))}};function i(r,n,i,o){var s,c;e.Debug.assert(void 0===r||0==(8&r.flags));var u={enclosingDeclaration:r,flags:n||0,tracker:i&&i.trackSymbol?i:{trackSymbol:function(){return!1},moduleResolverHost:134217728&n?{getCommonSourceDirectory:t.getCommonSourceDirectory?function(){return t.getCommonSourceDirectory()}:function(){return""},getCurrentDirectory:function(){return t.getCurrentDirectory()},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),useCaseSensitiveFileNames:e.maybeBind(t,t.useCaseSensitiveFileNames),redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)},fileExists:function(e){return t.fileExists(e)},getFileIncludeReasons:function(){return t.getFileIncludeReasons()},readFile:t.readFile?function(e){return t.readFile(e)}:void 0}:void 0},encounteredError:!1,reportedDiagnostic:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0};u.tracker=a(u,u.tracker);var l=o(u);return u.truncating&&1&u.flags&&(null===(c=null===(s=u.tracker)||void 0===s?void 0:s.reportTruncationError)||void 0===c||c.call(s)),u.encounteredError?void 0:l}function a(e,t){var r=t.trackSymbol;return n(n({},t),{reportCyclicStructureError:i(t.reportCyclicStructureError),reportInaccessibleThisError:i(t.reportInaccessibleThisError),reportInaccessibleUniqueSymbolError:i(t.reportInaccessibleUniqueSymbolError),reportLikelyUnsafeImportRequiredError:i(t.reportLikelyUnsafeImportRequiredError),reportNonlocalAugmentation:i(t.reportNonlocalAugmentation),reportPrivateInBaseOfClassExpression:i(t.reportPrivateInBaseOfClassExpression),reportNonSerializableProperty:i(t.reportNonSerializableProperty),trackSymbol:r&&function(){for(var t=[],n=0;n(1&t.flags?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function u(t,r){o&&o.throwIfCancellationRequested&&o.throwIfCancellationRequested();var n=8388608&r.flags;if(r.flags&=-8388609,!t)return 262144&r.flags?(r.approximateLength+=3,e.factory.createKeywordTypeNode(130)):void(r.encounteredError=!0);if(536870912&r.flags||(t=Wc(t)),1&t.flags)return t.aliasSymbol?e.factory.createTypeReferenceNode(E(t.aliasSymbol),p(t.aliasTypeArguments,r)):t===Le?e.addSyntheticLeadingComment(e.factory.createKeywordTypeNode(130),3,"unresolved"):(r.approximateLength+=3,e.factory.createKeywordTypeNode(t===Be?138:130));if(2&t.flags)return e.factory.createKeywordTypeNode(154);if(4&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(149);if(8&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(146);if(64&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(157);if(16&t.flags&&!t.aliasSymbol)return r.approximateLength+=7,e.factory.createKeywordTypeNode(133);if(1024&t.flags&&!(1048576&t.flags)){var i=ra(t.symbol),a=k(i,r,788968);if(Ss(i)===t)return a;var c=e.symbolName(t.symbol);return e.isIdentifierText(c,0)?J(a,e.factory.createTypeReferenceNode(c,void 0)):e.isImportTypeNode(a)?(a.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(a,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(c)))):e.isTypeReferenceNode(a)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(a.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(c))):e.Debug.fail("Unhandled type node kind returned from `symbolToTypeNode`.")}if(1056&t.flags)return k(t.symbol,r,788968);if(128&t.flags)return r.approximateLength+=t.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(t.value,!!(268435456&r.flags)),16777216));if(256&t.flags){var d=t.value;return r.approximateLength+=(""+d).length,e.factory.createLiteralTypeNode(d<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-d)):e.factory.createNumericLiteral(d))}if(2048&t.flags)return r.approximateLength+=e.pseudoBigIntToString(t.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(t.value));if(512&t.flags)return r.approximateLength+=t.intrinsicName.length,e.factory.createLiteralTypeNode("true"===t.intrinsicName?e.factory.createTrue():e.factory.createFalse());if(8192&t.flags){if(!(1048576&r.flags)){if(Ca(t.symbol,r.enclosingDeclaration))return r.approximateLength+=6,k(t.symbol,r,111551);r.tracker.reportInaccessibleUniqueSymbolError&&r.tracker.reportInaccessibleUniqueSymbolError()}return r.approximateLength+=13,e.factory.createTypeOperatorNode(153,e.factory.createKeywordTypeNode(150))}if(16384&t.flags)return r.approximateLength+=4,e.factory.createKeywordTypeNode(114);if(32768&t.flags)return r.approximateLength+=9,e.factory.createKeywordTypeNode(152);if(65536&t.flags)return r.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(131072&t.flags)return r.approximateLength+=5,e.factory.createKeywordTypeNode(143);if(4096&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(150);if(67108864&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(147);if(Rd(t))return 4194304&r.flags&&(r.encounteredError||32768&r.flags||(r.encounteredError=!0),r.tracker.reportInaccessibleThisError&&r.tracker.reportInaccessibleThisError()),r.approximateLength+=4,e.factory.createThisTypeNode();if(!n&&t.aliasSymbol&&(16384&r.flags||Ta(t.aliasSymbol,r.enclosingDeclaration))){var y=p(t.aliasTypeArguments,r);return!ga(t.aliasSymbol.escapedName)||32&t.aliasSymbol.flags?k(t.aliasSymbol,r,788968,y):e.factory.createTypeReferenceNode(e.factory.createIdentifier(""),y)}var v=e.getObjectFlags(t);if(4&v)return e.Debug.assert(!!(524288&t.flags)),t.node?R(t,j):j(t);if(262144&t.flags||3&v){if(262144&t.flags&&e.contains(r.inferTypeParameters,t))return r.approximateLength+=e.symbolName(t.symbol).length+6,e.factory.createInferTypeNode(m(t,r,void 0));if(4&r.flags&&262144&t.flags&&!Ta(t.symbol,r.enclosingDeclaration)){var h=F(t,r);return r.approximateLength+=e.idText(h).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(h)),void 0)}return t.symbol?k(t.symbol,r,788968):e.factory.createTypeReferenceNode(e.factory.createIdentifier("?"),void 0)}if(1048576&t.flags&&t.origin&&(t=t.origin),3145728&t.flags){var D=1048576&t.flags?function(e){for(var t=[],r=0,n=0;n0?1048576&t.flags?e.factory.createUnionTypeNode(x):e.factory.createIntersectionTypeNode(x):void(r.encounteredError||262144&r.flags||(r.encounteredError=!0))}if(48&v)return e.Debug.assert(!!(524288&t.flags)),L(t);if(4194304&t.flags){var b=t.type;r.approximateLength+=6;var S=u(b,r);return e.factory.createTypeOperatorNode(140,S)}if(134217728&t.flags){var T=t.texts,C=t.types,A=e.factory.createTemplateHead(T[0]),N=e.factory.createNodeArray(e.map(C,(function(t,n){return e.factory.createTemplateLiteralTypeSpan(u(t,r),(n10)return l(r);r.symbolDepth.set(c,_+1)}r.visitedTypes.add(o);var f=r.approximateLength,g=n(t),m=r.approximateLength-f;return r.reportedDiagnostic||r.encounteredError||(r.truncating&&(g.truncating=!0),g.addedLength=m,null===(a=null==u?void 0:u.serializedTypes)||void 0===a||a.set(d,g)),r.visitedTypes.delete(o),c&&r.symbolDepth.set(c,_),g}function B(t){if(bc(t)||t.containsError)return function(t){e.Debug.assert(!!(524288&t.flags));var n,i=t.declaration.readonlyToken?e.factory.createToken(t.declaration.readonlyToken.kind):void 0,a=t.declaration.questionToken?e.factory.createToken(t.declaration.questionToken.kind):void 0;n=yc(t)?e.factory.createTypeOperatorNode(140,u(vc(t),r)):u(pc(t),r);var o=m(_c(t),r,n),s=t.declaration.nameType?u(fc(t),r):void 0,c=u(Vf(gc(t),!!(4&hc(t))),r),l=e.factory.createMappedTypeNode(i,o,s,a,c,void 0);return r.approximateLength+=10,e.setEmitFlags(l,1)}(t);var n=Sc(t);if(!n.properties.length&&!n.indexInfos.length){if(!n.callSignatures.length&&!n.constructSignatures.length)return r.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(1===n.callSignatures.length&&!n.constructSignatures.length)return g(n.callSignatures[0],178,r);if(1===n.constructSignatures.length&&!n.callSignatures.length)return g(n.constructSignatures[0],179,r)}var i=e.filter(n.constructSignatures,(function(e){return!!(4&e.flags)}));if(e.some(i)){var a=e.map(i,Ru);return n.callSignatures.length+(n.constructSignatures.length-i.length)+n.indexInfos.length+(2048&r.flags?e.countWhere(n.properties,(function(e){return!(4194304&e.flags)})):e.length(n.properties))&&a.push(function(t){if(0===t.constructSignatures.length)return t;if(t.objectTypeWithoutAbstractConstructSignatures)return t.objectTypeWithoutAbstractConstructSignatures;var r=e.filter(t.constructSignatures,(function(e){return!(4&e.flags)}));if(t.constructSignatures===r)return t;var n=ha(t.symbol,t.members,t.callSignatures,e.some(r)?r:e.emptyArray,t.indexInfos);return t.objectTypeWithoutAbstractConstructSignatures=n,n.objectTypeWithoutAbstractConstructSignatures=n,n}(n)),u(_d(a),r)}var o=r.flags;r.flags|=4194304;var c=function(t){if(s(r))return[e.factory.createPropertySignature(void 0,"...",void 0,void 0)];for(var n=[],i=0,a=t.callSignatures;i0){var v=(t.target.typeParameters||e.emptyArray).length;y=p(n.slice(b,v),r)}S=r.flags;r.flags|=16;var h=k(t.symbol,r,788968,y);return r.flags=S,c?J(c,h):h}if(n=e.sameMap(n,(function(e,r){return Vf(e,!!(2&t.target.elementFlags[r]))})),n.length>0){var D=el(t),x=p(n.slice(0,D),r);if(x){if(t.target.labeledElementDeclarations)for(var b=0;b2)return[u(t[0],r),e.factory.createTypeReferenceNode("... ".concat(t.length-2," more ..."),void 0),u(t[t.length-1],r)]}for(var i=!(64&r.flags)?e.createUnderscoreEscapedMultiMap():void 0,a=[],o=0,c=0,l=t;c0)),a}function b(t,r){var n;return 524384&GS(t).flags&&(n=e.factory.createNodeArray(e.map(ns(t),(function(e){return y(e,r)})))),n}function S(t,r,n){var i;e.Debug.assert(t&&0<=r&&r1?m(a,a.length-1,1):void 0,c=i||S(a,0,r),u=C(a[0],r);!(67108864&r.flags)&&e.getEmitModuleResolutionKind(z)!==e.ModuleResolutionKind.Classic&&u.indexOf("/node_modules/")>=0&&(r.encounteredError=!0,r.tracker.reportLikelyUnsafeImportRequiredError&&r.tracker.reportLikelyUnsafeImportRequiredError(u));var l=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]),r.approximateLength+=u.length+10,!s||e.isEntityName(s)){if(s)(f=e.isIdentifier(s)?s:s.right).typeArguments=void 0;return e.factory.createImportTypeNode(l,s,c,o)}var d=T(s),_=d.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(l,_,c,o),d.indexType)}var p=m(a,a.length-1,0);if(e.isIndexedAccessTypeNode(p))return p;if(o)return e.factory.createTypeQueryNode(p);var f,g=(f=e.isIdentifier(p)?p:p.right).typeArguments;return f.typeArguments=void 0,e.factory.createTypeReferenceNode(p,g);function m(t,n,a){var o,s=n===t.length-1?i:S(t,n,r),c=t[n],u=t[n-1];if(0===n)r.flags|=16777216,o=Ga(c,r),r.approximateLength+=(o?o.length:0)+1,r.flags^=16777216;else if(u&&Xi(u)){var l=Xi(u);e.forEachEntry(l,(function(t,r){if(oa(t,c)&&!Ms(r)&&"export="!==r)return o=e.unescapeLeadingUnderscores(r),!0}))}if(o||(o=Ga(c,r)),r.approximateLength+=o.length+1,!(16&r.flags)&&u&&Ks(u)&&Ks(u).get(c.escapedName)&&oa(Ks(u).get(c.escapedName),c)){var d=m(t,n-1,a);return e.isIndexedAccessTypeNode(d)?e.factory.createIndexedAccessTypeNode(d,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(d,s),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o)))}var _=e.setEmitFlags(e.factory.createIdentifier(o,s),16777216);if(_.symbol=c,n>a){d=m(t,n-1,a);return e.isEntityName(d)?e.factory.createQualifiedName(d,_):e.Debug.fail("Impossible construct - an export of an indexed access cannot be reachable")}return _}}function A(e,t,r){var n=ei(t.enclosingDeclaration,e,788968,void 0,e,!1);return!!n&&!(262144&n.flags&&n===r.symbol)}function F(t,r){var n,i;if(4&r.flags&&r.typeParameterNames){var a=r.typeParameterNames.get(Ql(t));if(a)return a}var o=N(t.symbol,r,788968,!0);if(!(79&o.kind))return e.factory.createIdentifier("(Missing type parameter)");if(4&r.flags){for(var s=o.escapedText,c=(null===(n=r.typeParameterNamesByTextNextNameCount)||void 0===n?void 0:n.get(s))||0,u=s;(null===(i=r.typeParameterNamesByText)||void 0===i?void 0:i.has(u))||A(u,r,t);)c++,u="".concat(s,"_").concat(c);u!==s&&(o=e.factory.createIdentifier(u,o.typeArguments)),(r.typeParameterNamesByTextNextNameCount||(r.typeParameterNamesByTextNextNameCount=new e.Map)).set(s,c),(r.typeParameterNames||(r.typeParameterNames=new e.Map)).set(Ql(t),o),(r.typeParameterNamesByText||(r.typeParameterNamesByText=new e.Set)).add(s)}return o}function N(t,r,n,i){var a=D(t,r,n);return!i||1===a.length||r.encounteredError||65536&r.flags||(r.encounteredError=!0),function t(n,i){var a=S(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=Ga(o,r);0===i&&(r.flags^=16777216);var c=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return c.symbol=o,i>0?e.factory.createQualifiedName(t(n,i-1),c):c}(a,a.length-1)}function P(t,r,n){var i=D(t,r,n);return function t(n,i){var a=S(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=Ga(o,r);0===i&&(r.flags^=16777216);var c=s.charCodeAt(0);if(e.isSingleOrDoubleQuote(c)&&e.some(o.declarations,wa))return e.factory.createStringLiteral(C(o,r));var u=35===c?s.length>1&&e.isIdentifierStart(s.charCodeAt(1),U):e.isIdentifierStart(c,U);if(0===i||u){var l=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return l.symbol=o,i>0?e.factory.createPropertyAccessExpression(t(n,i-1),l):l}91===c&&(s=s.substring(1,s.length-1),c=s.charCodeAt(0));var d=void 0;return e.isSingleOrDoubleQuote(c)?d=e.factory.createStringLiteral(s.substring(1,s.length-1).replace(/\\./g,(function(e){return e.substring(1)})),39===c):""+ +s===s&&(d=e.factory.createNumericLiteral(+s)),d||((d=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216)).symbol=o),e.factory.createElementAccessExpression(t(n,i-1),d)}(i,i.length-1)}function w(t){var r=e.getNameOfDeclaration(t);return!!r&&e.isStringLiteral(r)}function I(t){var r=e.getNameOfDeclaration(t);return!!(r&&e.isStringLiteral(r)&&(r.singleQuote||!e.nodeIsSynthesized(r)&&e.startsWith(e.getTextOfNode(r,!1),"'")))}function L(t,r){var n=!!e.length(t.declarations)&&e.every(t.declarations,I),i=function(t,r,n){var i=Gn(t).nameType;if(i){if(384&i.flags){var a=""+i.value;return e.isIdentifierText(a,e.getEmitScriptTarget(z))||Zy(a)?Zy(a)&&e.startsWith(a,"-")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+a)):R(a):e.factory.createStringLiteral(a,!!n)}if(8192&i.flags)return e.factory.createComputedPropertyName(P(i.symbol,r,111551))}}(t,r,n);return i||R(e.unescapeLeadingUnderscores(t.escapedName),!!e.length(t.declarations)&&e.every(t.declarations,w),n)}function R(t,r,n){return e.isIdentifierText(t,e.getEmitScriptTarget(z))?e.factory.createIdentifier(t):!r&&Zy(t)&&+t>=0?e.factory.createNumericLiteral(+t):e.factory.createStringLiteral(t,!!n)}function B(t,r){return t.declarations&&e.find(t.declarations,(function(t){return!(!e.getEffectiveTypeAnnotationNode(t)||r&&!e.findAncestor(t,(function(e){return e===r})))}))}function j(t,r){return!(4&e.getObjectFlags(r))||!e.isTypeReferenceNode(t)||e.length(t.typeArguments)>=yu(r.target.typeParameters)}function J(t,r,n,i,a,o){if(!io(r)&&i){var s=B(n,i);if(s&&!e.isFunctionLikeDeclaration(s)&&!e.isGetAccessorDeclaration(s)){var c=e.getEffectiveTypeAnnotationNode(s);if(C_(c)===r&&j(c,r)){var l=V(t,c,a,o);if(l)return l}}}var d=t.flags;8192&r.flags&&r.symbol===n&&(!t.enclosingDeclaration||e.some(n.declarations,(function(r){return e.getSourceFileOfNode(r)===e.getSourceFileOfNode(t.enclosingDeclaration)})))&&(t.flags|=1048576);var _=u(r,t);return t.flags=d,_}function K(t,r,n){var i,a,o=!1,s=e.getFirstIdentifier(t);if(e.isInJSFile(t)&&(e.isExportsIdentifier(s)||e.isModuleExportsAccessExpression(s.parent)||e.isQualifiedName(s.parent)&&e.isModuleIdentifier(s.parent.left)&&e.isExportsIdentifier(s.parent.right)))return{introducesError:o=!0,node:t};var c=Ri(s,67108863,!0,!0);if(c&&(0!==Aa(c,r.enclosingDeclaration,67108863,!1).accessibility?o=!0:(null===(a=null===(i=r.tracker)||void 0===i?void 0:i.trackSymbol)||void 0===a||a.call(i,c,r.enclosingDeclaration,67108863),null==n||n(c)),e.isIdentifier(t))){var u=262144&c.flags?F(Ss(c),r):e.factory.cloneNode(t);return u.symbol=c,{introducesError:o,node:e.setEmitFlags(e.setOriginalNode(u,t),16777216)}}return{introducesError:o,node:t}}function V(r,n,i,a){o&&o.throwIfCancellationRequested&&o.throwIfCancellationRequested();var s=!1,c=e.getSourceFileOfNode(n),l=e.visitNode(n,(function n(o){if(e.isJSDocAllType(o)||317===o.kind)return e.factory.createKeywordTypeNode(130);if(e.isJSDocUnknownType(o))return e.factory.createKeywordTypeNode(154);if(e.isJSDocNullableType(o))return e.factory.createUnionTypeNode([e.visitNode(o.type,n),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(o))return e.factory.createUnionTypeNode([e.visitNode(o.type,n),e.factory.createKeywordTypeNode(152)]);if(e.isJSDocNonNullableType(o))return e.visitNode(o.type,n);if(e.isJSDocVariadicType(o))return e.factory.createArrayTypeNode(e.visitNode(o.type,n));if(e.isJSDocTypeLiteral(o))return e.factory.createTypeLiteralNode(e.map(o.jsDocPropertyTags,(function(t){var i=e.isIdentifier(t.name)?t.name:t.name.right,a=ro(C_(o),i.escapedText),s=a&&t.typeExpression&&C_(t.typeExpression.type)!==a?u(a,r):void 0;return e.factory.createPropertySignature(void 0,i,t.isBracketed||t.typeExpression&&e.isJSDocOptionalType(t.typeExpression.type)?e.factory.createToken(57):void 0,s||t.typeExpression&&e.visitNode(t.typeExpression.type,n)||e.factory.createKeywordTypeNode(130))})));if(e.isTypeReferenceNode(o)&&e.isIdentifier(o.typeName)&&""===o.typeName.escapedText)return e.setOriginalNode(e.factory.createKeywordTypeNode(130),o);if((e.isExpressionWithTypeArguments(o)||e.isTypeReferenceNode(o))&&e.isJSDocIndexSignature(o))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,"x",void 0,e.visitNode(o.typeArguments[0],n))],e.visitNode(o.typeArguments[1],n))]);if(e.isJSDocFunctionType(o)){var l;return e.isJSDocConstructSignature(o)?e.factory.createConstructorTypeNode(o.modifiers,e.visitNodes(o.typeParameters,n),e.mapDefined(o.parameters,(function(t,r){return t.name&&e.isIdentifier(t.name)&&"new"===t.name.escapedText?void(l=t.type):e.factory.createParameterDeclaration(void 0,void 0,g(t),m(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(l||o.type,n)||e.factory.createKeywordTypeNode(130)):e.factory.createFunctionTypeNode(e.visitNodes(o.typeParameters,n),e.map(o.parameters,(function(t,r){return e.factory.createParameterDeclaration(void 0,void 0,g(t),m(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(o.type,n)||e.factory.createKeywordTypeNode(130))}if(e.isTypeReferenceNode(o)&&e.isInJSDoc(o)&&(!j(o,C_(o))||fl(o)||Ae===ol(o,788968,!0)))return e.setOriginalNode(u(C_(o),r),o);if(e.isLiteralImportTypeNode(o)){var d=Yn(o).resolvedSymbol;return!e.isInJSDoc(o)||!d||(o.isTypeOf||788968&d.flags)&&e.length(o.typeArguments)>=yu(ns(d))?e.factory.updateImportTypeNode(o,e.factory.updateLiteralTypeNode(o.argument,function(n,i){if(a){if(r.tracker&&r.tracker.moduleResolverHost){var o=hC(n);if(o){var s={getCanonicalFileName:e.createGetCanonicalFileName(!!t.useCaseSensitiveFileNames),getCurrentDirectory:function(){return r.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return r.tracker.moduleResolverHost.getCommonSourceDirectory()}},c=e.getResolvedExternalModuleName(s,o);return e.factory.createStringLiteral(c)}}}else if(r.tracker&&r.tracker.trackExternalModuleSymbolOfImportTypeNode){var u=Ji(i,i,void 0);u&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(u)}return i}(o,o.argument.literal)),o.qualifier,e.visitNodes(o.typeArguments,n,e.isTypeNode),o.isTypeOf):e.setOriginalNode(u(C_(o),r),o)}if(e.isEntityName(o)||e.isEntityNameExpression(o)){var _=K(o,r,i),p=_.introducesError,f=_.node;if(s=s||p,f!==o)return f}c&&e.isTupleTypeNode(o)&&e.getLineAndCharacterOfPosition(c,o.pos).line===e.getLineAndCharacterOfPosition(c,o.end).line&&e.setEmitFlags(o,1);return e.visitEachChild(o,n,e.nullTransformationContext);function g(t){return t.dotDotDotToken||(t.type&&e.isJSDocVariadicType(t.type)?e.factory.createToken(25):void 0)}function m(t,r){return t.name&&e.isIdentifier(t.name)&&"this"===t.name.escapedText?"this":g(t)?"args":"arg".concat(r)}}));if(!s)return l===n?e.setTextRange(e.factory.cloneNode(n),n):l}}(),oe=e.createSymbolTable(),se=jn(4,"undefined");se.declarations=[];var ce=jn(1536,"globalThis",8);ce.exports=oe,ce.declarations=[],oe.set(ce.escapedName,ce);var ue,le=jn(4,"arguments"),de=jn(4,"require"),_e={getNodeCount:function(){return e.sum(t.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(t.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(t.getSourceFiles(),"symbolCount")+h},getTypeCount:function(){return v},getInstantiationCount:function(){return x},getRelationCacheSizes:function(){return{assignable:bn.size,identity:Tn.size,subtype:Dn.size,strictSubtype:xn.size}},isUndefinedSymbol:function(e){return e===se},isArgumentsSymbol:function(e){return e===le},isUnknownSymbol:function(e){return e===Ae},getMergedSymbol:ea,getDiagnostics:ST,getGlobalDiagnostics:function(){return TT(),mn.getGlobalDiagnostics()},getRecursionIdentity:tf,getUnmatchedProperties:xg,getTypeOfSymbolAtLocation:function(t,r){var n=e.getParseTreeNode(r);return n?function(t,r){if(t=t.exportSymbol||t,(79===r.kind||80===r.kind)&&(e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),e.isExpressionNode(r)&&(!e.isAssignmentTarget(r)||e.isWriteAccess(r)))){var n=Jx(r);if(sa(Yn(r).resolvedSymbol)===t)return n}if(e.isDeclarationName(r)&&e.isSetAccessor(r.parent)&&Bo(r.parent))return zo(r.parent.symbol,!0);return Xo(t)}(t,n):Me},getSymbolsOfParameterPropertyDeclaration:function(t,r){var n=e.getParseTreeNode(t,e.isParameter);return void 0===n?e.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."):function(t,r){var n=t.parent,i=t.parent.parent,a=Qn(n.locals,r,111551),o=Qn(Ks(i.symbol),r,111551);if(a&&o)return[a,o];return e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}(n,e.escapeLeadingUnderscores(r))},getDeclaredTypeOfSymbol:Ss,getPropertiesOfType:kc,getPropertyOfType:function(t,r){return Qc(t,e.escapeLeadingUnderscores(r))},getPrivateIdentifierPropertyOfType:function(t,r,n){var i=e.getParseTreeNode(n);if(i){var a=Vv(e.escapeLeadingUnderscores(r),i);return a?Hv(t,a):void 0}},getTypeOfPropertyOfType:function(t,r){return ro(t,e.escapeLeadingUnderscores(r))},getIndexInfoOfType:function(e,t){return au(e,0===t?He:Ge)},getIndexInfosOfType:iu,getSignaturesOfType:Zc,getIndexTypeOfType:function(e,t){return ou(e,0===t?He:Ge)},getBaseTypes:ds,getBaseTypeOfLiteralType:xf,getWidenedType:tg,getTypeFromTypeNode:function(t){var r=e.getParseTreeNode(t,e.isTypeNode);return r?C_(r):Me},getParameterType:wD,getParameterIdentifierNameAtPosition:function(e,t){var r=e.parameters.length-(J(e)?1:0);if(t>",0,we),Er=qs(void 0,void 0,void 0,e.emptyArray,we,void 0,0,0),kr=qs(void 0,void 0,void 0,e.emptyArray,Me,void 0,0,0),Ar=qs(void 0,void 0,void 0,e.emptyArray,we,void 0,0,0),Fr=qs(void 0,void 0,void 0,e.emptyArray,it,void 0,0,0),Nr=Ju(Ge,He,!0),Pr=new e.Map,wr={get yieldType(){return e.Debug.fail("Not supported")},get returnType(){return e.Debug.fail("Not supported")},get nextType(){return e.Debug.fail("Not supported")}},Ir=dS(we,we,we),Or=dS(we,we,je),Mr=dS(nt,we,Ke),Lr={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:function(e){return sr||(sr=Sl("AsyncIterator",3,e))||Dt},getGlobalIterableType:function(e){return or||(or=Sl("AsyncIterable",1,e))||Dt},getGlobalIterableIteratorType:function(e){return cr||(cr=Sl("AsyncIterableIterator",1,e))||Dt},getGlobalGeneratorType:function(e){return ur||(ur=Sl("AsyncGenerator",3,e))||Dt},resolveIterationType:yb,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},Rr={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:function(e){return tr||(tr=Sl("Iterator",3,e))||Dt},getGlobalIterableType:Pl,getGlobalIterableIteratorType:function(e){return rr||(rr=Sl("IterableIterator",1,e))||Dt},getGlobalGeneratorType:function(e){return nr||(nr=Sl("Generator",3,e))||Dt},resolveIterationType:function(e,t){return e},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},Br=new e.Map,jr=!1,Jr=new e.Map,Kr=0,zr=0,Ur=0,Vr=!1,qr=0,Wr=y_(""),Hr=v_(0),Gr=h_({negative:!1,base10Value:"0"}),Yr=[],Xr=[],Qr=[],$r=0,Zr=[],en=[],tn=[],rn=[],nn=[],an=[],on=[],sn=[],cn=[],un=[],ln=[],dn=[],_n=[],pn=[],fn=[],gn=[],mn=e.createDiagnosticCollection(),yn=e.createDiagnosticCollection(),vn=new e.Map(e.getEntries({string:He,number:Ge,bigint:Ye,boolean:et,symbol:tt,undefined:Ke})),hn=id(e.arrayFrom(S.keys(),y_)),Dn=new e.Map,xn=new e.Map,bn=new e.Map,Sn=new e.Map,Tn=new e.Map,Cn=new e.Map,En=e.createSymbolTable();En.set(se.escapedName,se);var kn=[[".mts",".mjs"],[".ts",".js"],[".cts",".cjs"],[".mjs",".mjs"],[".js",".js"],[".cjs",".cjs"],[".tsx",1===z.jsx?".jsx":".js"],[".jsx",".jsx"],[".json",".json"]];return function(){for(var r=0,n=t.getSourceFiles();r=5||e.some(o.relatedInformation,(function(t){return 0===e.compareDiagnostics(t,s)||0===e.compareDiagnostics(t,i)})))return"continue";e.addRelatedInfo(o,e.length(o.relatedInformation)?s:i)},c=0,u=i||e.emptyArray;c1)}function Gn(e){if(33554432&e.flags)return e;var t=M(e);return en[t]||(en[t]=new w)}function Yn(e){var t=O(e);return tn[t]||(tn[t]=new I)}function Xn(t){return 303===t.kind&&!e.isExternalOrCommonJsModule(t)}function Qn(t,r,n){if(n){var i=ea(t.get(r));if(i){if(e.Debug.assert(0==(1&e.getCheckFlags(i)),"Should never get an instantiated symbol here."),i.flags&n)return i;if(2097152&i.flags){var a=Fi(i);if(a===Ae||a.flags&n)return i}}}}function $n(r,n){var i=e.getSourceFileOfNode(r),a=e.getSourceFileOfNode(n),o=e.getEnclosingBlockScopeContainer(r);if(i!==a){if(V&&(i.externalModuleIndicator||a.externalModuleIndicator)||!e.outFile(z)||Ug(n)||8388608&r.flags)return!0;if(u(n,r))return!0;var s=t.getSourceFiles();return s.indexOf(i)<=s.indexOf(a)}if(r.pos<=n.pos&&(!e.isPropertyDeclaration(r)||!e.isThisProperty(n.parent)||r.initializer||r.exclamationToken)){if(202===r.kind){var c=e.getAncestor(n,202);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(r,e.isBindingElement)||r.pos=i&&c.pos<=a){var u=e.factory.createPropertyAccessExpression(e.factory.createThis(),t);if(e.setParent(u.expression,u),e.setParent(u,c),u.flowNode=c.returnFlowNode,!(32768&If($m(u,r,Bf(r)))))return!0}}return!1}(a,Yo(ta(r)),e.filter(r.parent.members,e.isClassStaticBlockDeclaration),r.parent.pos,n.pos))return!0}}else{if(!(166===r.kind&&!e.isStatic(r))||e.getContainingClass(t)!==e.getContainingClass(r))return!0}return!1}))}function l(t,r,n){if(r.end>t.end)return!1;var i=e.findAncestor(r,(function(r){if(r===t)return"quit";switch(r.kind){case 213:return!0;case 166:return!n||!(e.isPropertyDeclaration(t)&&r.parent===t.parent||e.isParameterPropertyDeclaration(t,t.parent)&&r.parent===t.parent.parent)||"quit";case 234:switch(r.parent.kind){case 171:case 168:case 172:return!0;default:return!1}default:return!1}}));return void 0===i}}function Zn(t,r,n){var i=e.getEmitScriptTarget(z),a=r;if(e.isParameter(n)&&a.body&&t.valueDeclaration&&t.valueDeclaration.pos>=a.body.pos&&t.valueDeclaration.end<=a.body.end&&i>=2){var o=Yn(a);return void 0===o.declarationRequiresScopeChange&&(o.declarationRequiresScopeChange=e.forEach(a.parameters,(function(e){return s(e.name)||!!e.initializer&&s(e.initializer)}))||!1),!o.declarationRequiresScopeChange}return!1;function s(t){switch(t.kind){case 213:case 212:case 255:case 170:return!1;case 168:case 171:case 172:case 294:return s(t.name);case 166:return e.hasStaticModifier(t)?i<99||!q:s(t.name);default:return e.isNullishCoalesce(t)||e.isOptionalChain(t)?i<7:e.isBindingElement(t)&&t.dotDotDotToken&&e.isObjectBindingPattern(t.parent)?i<4:!e.isTypeNode(t)&&(e.forEachChild(t,s)||!1)}}}function ei(e,t,r,n,i,a,o){return void 0===o&&(o=!1),ti(e,t,r,n,i,a,o,Qn)}function ti(t,r,n,i,a,o,s,c){var u,l,d,_,p,f,g,m,y,v=t,h=!1,D=t,x=!1;e:for(;t;){if(t.locals&&!Xn(t)&&(_=c(t.locals,r,n))){var b=!0;if(e.isFunctionLike(t)&&p&&p!==t.body?(n&_.flags&788968&&318!==p.kind&&(b=!!(262144&_.flags)&&(p===t.type||163===p.kind||162===p.kind)),n&_.flags&3&&(Zn(_,t,p)?b=!1:1&_.flags&&(b=163===p.kind||p===t.type&&!!e.findAncestor(_.valueDeclaration,e.isParameter)))):188===t.kind&&(b=p===t.trueType),b)break e;_=void 0}switch(h=h||ni(t,p),t.kind){case 303:if(!e.isExternalOrCommonJsModule(t))break;x=!0;case 260:var S=(null===(u=ta(t))||void 0===u?void 0:u.exports)||k;if(303===t.kind||e.isModuleDeclaration(t)&&8388608&t.flags&&!e.isGlobalScopeAugmentation(t)){if(_=S.get("default")){var T=e.getLocalSymbolForExportDefault(_);if(T&&_.flags&n&&T.escapedName===r)break e;_=void 0}var C=S.get(r);if(C&&2097152===C.flags&&(e.getDeclarationOfKind(C,274)||e.getDeclarationOfKind(C,273)))break}if("default"!==r&&(_=c(S,r,2623475&n))){if(!e.isSourceFile(t)||!t.commonJsModuleIndicator||(null===(l=_.declarations)||void 0===l?void 0:l.some(e.isJSDocTypeAlias)))break e;_=void 0}break;case 259:if(_=c((null===(d=ta(t))||void 0===d?void 0:d.exports)||k,r,8&n))break e;break;case 166:if(!e.isStatic(t)){var E=ua(t.parent);E&&E.locals&&c(E.locals,r,111551&n)&&(g=t)}break;case 256:case 225:case 257:if(_=c(ta(t).members||k,r,788968&n)){if(!oi(_,t)){_=void 0;break}if(p&&e.isStatic(p))return void In(D,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(225===t.kind&&32&n){var A=t.name;if(A&&r===A.escapedText){_=t.symbol;break e}}break;case 227:if(p===t.expression&&94===t.parent.token){var F=t.parent.parent;if(e.isClassLike(F)&&(_=c(ta(F).members,r,788968&n)))return void(i&&In(D,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 161:if(y=t.parent.parent,(e.isClassLike(y)||257===y.kind)&&(_=c(ta(y).members,r,788968&n)))return void In(D,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 213:if(e.getEmitScriptTarget(z)>=2)break;case 168:case 170:case 171:case 172:case 255:if(3&n&&"arguments"===r){_=le;break e}break;case 212:if(3&n&&"arguments"===r){_=le;break e}if(16&n){var N=t.name;if(N&&r===N.escapedText){_=t.symbol;break e}}break;case 164:t.parent&&163===t.parent.kind&&(t=t.parent),t.parent&&(e.isClassElement(t.parent)||256===t.parent.kind)&&(t=t.parent);break;case 343:case 336:case 337:(L=e.getJSDocRoot(t))&&(t=L.parent);break;case 163:p&&(p===t.initializer||p===t.name&&e.isBindingPattern(p))&&(m||(m=t));break;case 202:p&&(p===t.initializer||p===t.name&&e.isBindingPattern(p))&&e.isParameterDeclaration(t)&&!m&&(m=t);break;case 189:if(262144&n){var P=t.typeParameter.name;if(P&&r===P.escapedText){_=t.typeParameter.symbol;break e}}}ii(t)&&(f=t),p=t,t=e.isJSDocTemplateTag(t)&&e.getEffectiveContainerForJSDocTemplateTag(t)||t.parent}if(!o||!_||f&&_===f.symbol||(_.isReferenced|=n),!_){if(p&&(e.Debug.assert(303===p.kind),p.commonJsModuleIndicator&&"exports"===r&&n&p.symbol.flags))return p.symbol;s||(_=c(oe,r,n))}if(!_&&v&&e.isInJSFile(v)&&v.parent&&e.isRequireCall(v.parent,!1))return de;if(_){if(i){if(g&&(99!==e.getEmitScriptTarget(z)||!q)){var w=g.name;return void In(D,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(w),ai(a))}if(D&&(2&n||(32&n||384&n)&&111551==(111551&n))){var I=sa(_);(2&I.flags||32&I.flags||384&I.flags)&&function(t,r){var n;if(e.Debug.assert(!!(2&t.flags||32&t.flags||384&t.flags)),67108881&t.flags&&32&t.flags)return;var i=null===(n=t.declarations)||void 0===n?void 0:n.find((function(t){return e.isBlockOrCatchScoped(t)||e.isClassLike(t)||259===t.kind}));if(void 0===i)return e.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");if(!(8388608&i.flags||$n(i,r))){var a=void 0,o=e.declarationNameToString(e.getNameOfDeclaration(i));2&t.flags?a=In(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,o):32&t.flags?a=In(r,e.Diagnostics.Class_0_used_before_its_declaration,o):256&t.flags?a=In(r,e.Diagnostics.Enum_0_used_before_its_declaration,o):(e.Debug.assert(!!(128&t.flags)),e.shouldPreserveConstEnums(z)&&(a=In(r,e.Diagnostics.Enum_0_used_before_its_declaration,o))),a&&e.addRelatedInfo(a,e.createDiagnosticForNode(i,e.Diagnostics._0_is_declared_here,o))}}(I,D)}if(_&&x&&111551==(111551&n)&&!(4194304&v.flags)){var O=ea(_);e.length(O.declarations)&&e.every(O.declarations,(function(t){return e.isNamespaceExportDeclaration(t)||e.isSourceFile(t)&&!!t.symbol.globalExports}))&&Mn(!z.allowUmdGlobalAccess,D,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,e.unescapeLeadingUnderscores(r))}if(_&&m&&!h&&111551==(111551&n)){var M=ea(zs(_)),L=e.getRootDeclaration(m);M===ta(m)?In(D,e.Diagnostics.Parameter_0_cannot_reference_itself,e.declarationNameToString(m.name)):M.valueDeclaration&&M.valueDeclaration.pos>m.pos&&L.parent.locals&&c(L.parent.locals,M.escapedName,n)===M&&In(D,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(m.name),e.declarationNameToString(D))}_&&D&&111551&n&&2097152&_.flags&&function(t,r,n){if(!e.isValidTypeOnlyAliasUseSite(n)){var i=wi(t);if(i){var a=274===i.kind?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,o=e.unescapeLeadingUnderscores(r);ri(In(n,a,o),i,o)}}}(_,r,D)}return _}if(i&&!(D&&(function(t,r,n){if(!e.isIdentifier(t)||t.escapedText!==r||ET(t)||Ug(t))return!1;var i=e.getThisContainer(t,!1),a=i;for(;a;){if(e.isClassLike(a.parent)){var o=ta(a.parent);if(!o)break;if(Qc(Yo(o),r))return In(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,ai(n),Ma(o)),!0;if(a===i&&!e.isStatic(a))if(Qc(Ss(o).thisType,r))return In(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,ai(n)),!0}a=a.parent}return!1}(D,r,a)||si(D)||function(t,r,n){var i=1920|(e.isInJSFile(t)?111551:0);if(n===i){var a=Ai(ei(t,r,788968&~i,void 0,void 0,!1)),o=t.parent;if(a){if(e.isQualifiedName(o)){e.Debug.assert(o.left===t,"Should only be resolving left side of qualified name as a namespace");var s=o.right.escapedText;if(Qc(Ss(a),s))return In(o,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,e.unescapeLeadingUnderscores(r),e.unescapeLeadingUnderscores(s)),!0}return In(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,e.unescapeLeadingUnderscores(r)),!0}}return!1}(D,r,n)||function(t,r){if(ui(r)&&274===t.parent.kind)return In(t,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,r),!0;return!1}(D,r)||function(t,r,n){if(111551&n){if(ui(r))return In(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,e.unescapeLeadingUnderscores(r)),!0;var i=Ai(ei(t,r,788544,void 0,void 0,!1));if(i&&!(1024&i.flags)){var a=e.unescapeLeadingUnderscores(r);return!function(e){switch(e){case"Promise":case"Symbol":case"Map":case"WeakMap":case"Set":case"WeakSet":return!0}return!1}(r)?!function(t,r){var n=e.findAncestor(t.parent,(function(t){return!e.isComputedPropertyName(t)&&!e.isPropertySignature(t)&&(e.isTypeLiteralNode(t)||"quit")}));if(n&&1===n.members.length){var i=Ss(r);return!!(1048576&i.flags)&&_x(i,384,!0)}return!1}(t,i)?In(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,a):In(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,a,"K"===a?"P":"K"):In(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,a),!0}}return!1}(D,r,n)||function(t,r,n){if(111127&n){if(Ai(ei(t,r,1024,void 0,void 0,!1)))return In(t,e.Diagnostics.Cannot_use_namespace_0_as_a_value,e.unescapeLeadingUnderscores(r)),!0}else if(788544&n){if(Ai(ei(t,r,1536,void 0,void 0,!1)))return In(t,e.Diagnostics.Cannot_use_namespace_0_as_a_type,e.unescapeLeadingUnderscores(r)),!0}return!1}(D,r,n)||function(t,r,n){if(788584&n){var i=Ai(ei(t,r,111127,void 0,void 0,!1));if(i&&!(1920&i.flags))return In(t,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.unescapeLeadingUnderscores(r)),!0}return!1}(D,r,n)))){var R=void 0;if($r<10)if((null==(R=oh(v,r,n))?void 0:R.valueDeclaration)&&e.isAmbientModule(R.valueDeclaration)&&e.isGlobalScopeAugmentation(R.valueDeclaration)&&(R=void 0),R){var B=Ma(R),j=Xv(v,R,!1),J=wn(D,1920===n||a&&"string"!=typeof a&&e.nodeIsSynthesized(a)?e.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1:j?e.Diagnostics.Could_not_find_name_0_Did_you_mean_1:e.Diagnostics.Cannot_find_name_0_Did_you_mean_1,ai(a),B);On(!j,J),R.valueDeclaration&&e.addRelatedInfo(J,e.createDiagnosticForNode(R.valueDeclaration,e.Diagnostics._0_is_declared_here,B))}if(!R&&a){var K=function(t){for(var r=ai(t),n=e.getScriptTargetFeatures(),i=e.getOwnKeys(n),a=0,o=i;a=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop",d=i.exports.get("export=").valueDeclaration,_=In(t.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,Ma(i),l);d&&e.addRelatedInfo(_,e.createDiagnosticForNode(d,e.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,l))}else!function(t,r){var n,i,a;if(null===(n=t.exports)||void 0===n?void 0:n.has(r.symbol.escapedName))In(r.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,Ma(t),Ma(r.symbol));else{var o=In(r.name,e.Diagnostics.Module_0_has_no_default_export,Ma(t)),s=null===(i=t.exports)||void 0===i?void 0:i.get("__export");if(s){var c=null===(a=s.declarations)||void 0===a?void 0:a.find((function(t){var r,n;return!!(e.isExportDeclaration(t)&&t.moduleSpecifier&&(null===(n=null===(r=ji(t,t.moduleSpecifier))||void 0===r?void 0:r.exports)||void 0===n?void 0:n.has("default")))}));c&&e.addRelatedInfo(o,e.createDiagnosticForNode(c,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}}(i,t);return Ni(t,a,void 0,!1),a}}function bi(t,n,i){var a,o;void 0===i&&(i=!1);var s=e.getExternalModuleRequireArgument(t)||t.moduleSpecifier,c=ji(t,s),u=!e.isPropertyAccessExpression(n)&&n.propertyName||n.name;if(e.isIdentifier(u)){var l=Vi(c,s,!1,"default"===u.escapedText&&!(!z.allowSyntheticDefaultImports&&!e.getESModuleInterop(z)));if(l&&u.escapedText){if(e.isShorthandAmbientModuleSymbol(c))return c;var d=void 0;d=c&&c.exports&&c.exports.get("export=")?Qc(Yo(l),u.escapedText,!0):function(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return Ai(Qc(C_(r),t))}}(l,u.escapedText),d=Ai(d,i);var _=function(e,t,r,n){if(1536&e.flags){var i=Xi(e).get(t.escapedText),a=Ai(i,n);return Ni(r,i,a,!1),a}}(l,u,n,i);if(void 0===_&&"default"===u.escapedText){var p=null===(a=c.declarations)||void 0===a?void 0:a.find(e.isSourceFile);(hi(s)||Di(p,c,i,s))&&(_=Ui(c,i)||Ai(c,i))}var f=_&&d&&_!==d?function(t,r){if(t===Ae&&r===Ae)return Ae;if(790504&t.flags)return t;var n=jn(t.flags|r.flags,t.escapedName);return n.declarations=e.deduplicate(e.concatenate(t.declarations,r.declarations),e.equateValues),n.parent=t.parent||r.parent,t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration),r.members&&(n.members=new e.Map(r.members)),t.exports&&(n.exports=new e.Map(t.exports)),n}(d,_):_||d;if(!f){var g=Li(c,t),m=e.declarationNameToString(u),y=sh(u,l);if(void 0!==y){var v=Ma(y),h=In(u,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,g,m,v);y.valueDeclaration&&e.addRelatedInfo(h,e.createDiagnosticForNode(y.valueDeclaration,e.Diagnostics._0_is_declared_here,v))}else(null===(o=c.exports)||void 0===o?void 0:o.has("default"))?In(u,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,g,m):function(t,n,i,a,o){var s,c,u=null===(c=null===(s=a.valueDeclaration)||void 0===s?void 0:s.locals)||void 0===c?void 0:c.get(n.escapedText),l=a.exports;if(u){var d=null==l?void 0:l.get("export=");if(d)oa(d,u)?function(t,r,n,i){if(V>=e.ModuleKind.ES2015){In(r,e.getESModuleInterop(z)?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else{if(e.isInJSFile(t))In(r,e.getESModuleInterop(z)?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n);else In(r,e.getESModuleInterop(z)?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n,n,i)}}(t,n,i,o):In(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i);else{var _=l?e.find(du(l),(function(e){return!!oa(e,u)})):void 0,p=_?In(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,o,i,Ma(_)):In(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,o,i);u.declarations&&e.addRelatedInfo.apply(void 0,r([p],e.map(u.declarations,(function(t,r){return e.createDiagnosticForNode(t,0===r?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,i)})),!1))}}else In(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i)}(t,u,m,c,g)}return f}}}function Si(t){if(e.isVariableDeclaration(t)&&t.initializer&&e.isPropertyAccessExpression(t.initializer))return t.initializer}function Ti(e,t,r){var n=e.parent.parent.moduleSpecifier?bi(e.parent.parent,e,r):Ri(e.propertyName||e.name,t,!1,r);return Ni(e,void 0,n,!1),n}function Ci(t,r){if(e.isClassExpression(t))return Cx(t).symbol;if(e.isEntityName(t)||e.isEntityNameExpression(t)){var n=Ri(t,901119,!0,r);return n||(Cx(t),Yn(t).resolvedSymbol)}}function Ei(t,r){switch(void 0===r&&(r=!1),t.kind){case 264:case 253:return gi(t,r);case 266:return xi(t,r);case 267:return function(e,t){var r=e.parent.parent.moduleSpecifier,n=ji(e,r),i=Vi(n,r,t,!1);return Ni(e,n,i,!1),i}(t,r);case 273:return function(e,t){var r=e.parent.moduleSpecifier,n=r&&ji(e,r),i=r&&Vi(n,r,t,!1);return Ni(e,n,i,!1),i}(t,r);case 269:case 202:return function(t,r){var n=e.isBindingElement(t)?e.getRootDeclaration(t):t.parent.parent.parent,i=Si(n),a=bi(n,i||t,r),o=t.propertyName||t.name;return i&&a&&e.isIdentifier(o)?Ai(Qc(Yo(a),o.escapedText),r):(Ni(t,void 0,a,!1),a)}(t,r);case 274:return Ti(t,901119,r);case 270:case 220:return function(t,r){var n=Ci(e.isExportAssignment(t)?t.expression:t.right,r);return Ni(t,void 0,n,!1),n}(t,r);case 263:return function(e,t){var r=Ui(e.parent.symbol,t);return Ni(e,void 0,r,!1),r}(t,r);case 295:return Ri(t.name,901119,!0,r);case 294:return function(e,t){return Ci(e.initializer,t)}(t,r);case 206:case 205:return function(t,r){if(e.isBinaryExpression(t.parent)&&t.parent.left===t&&63===t.parent.operatorToken.kind)return Ci(t.parent.right,r)}(t,r);default:return e.Debug.fail()}}function ki(e,t){return void 0===t&&(t=901119),!!e&&(2097152==(e.flags&(2097152|t))||!!(2097152&e.flags&&67108864&e.flags))}function Ai(e,t){return!t&&ki(e)?Fi(e):e}function Fi(t){e.Debug.assert(0!=(2097152&t.flags),"Should only get Alias here.");var r=Gn(t);if(r.target)r.target===Fe&&(r.target=Ae);else{r.target=Fe;var n=_i(t);if(!n)return e.Debug.fail();var i=Ei(n);r.target===Fe?r.target=i||Ae:In(n,e.Diagnostics.Circular_definition_of_import_alias_0,Ma(t))}return r.target}function Ni(t,r,n,i){if(!t||e.isPropertyAccessExpression(t))return!1;var a=ta(t);if(e.isTypeOnlyImportOrExportDeclaration(t))return Gn(a).typeOnlyDeclaration=t,!0;var o=Gn(a);return Pi(o,r,i)||Pi(o,n,i)}function Pi(t,r,n){var i,a,o;if(r&&(void 0===t.typeOnlyDeclaration||n&&!1===t.typeOnlyDeclaration)){var s=null!==(a=null===(i=r.exports)||void 0===i?void 0:i.get("export="))&&void 0!==a?a:r,c=s.declarations&&e.find(s.declarations,e.isTypeOnlyImportOrExportDeclaration);t.typeOnlyDeclaration=null!==(o=null!=c?c:Gn(s).typeOnlyDeclaration)&&void 0!==o&&o}return!!t.typeOnlyDeclaration}function wi(e){if(2097152&e.flags)return Gn(e).typeOnlyDeclaration||void 0}function Ii(e){var t=ta(e),r=Fi(t);r&&((r===Ae||111551&r.flags&&!XT(r)&&!wi(t))&&Oi(t))}function Oi(t){var r=Gn(t);if(!r.referenced){r.referenced=!0;var n=_i(t);if(!n)return e.Debug.fail();if(e.isInternalModuleImportEqualsDeclaration(n)){var i=Ai(t);(i===Ae||111551&i.flags)&&Cx(n.moduleReference)}}}function Mi(t,r){return 79===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),79===t.kind||160===t.parent.kind?Ri(t,1920,!1,r):(e.Debug.assert(264===t.parent.kind),Ri(t,901119,!1,r))}function Li(e,t){return e.parent?Li(e.parent,t)+"."+Ma(e):Ma(e,t,void 0,20)}function Ri(t,r,n,i,a){if(!e.nodeIsMissing(t)){var o,s=1920|(e.isInJSFile(t)?111551&r:0);if(79===t.kind){var c=r===s||e.nodeIsSynthesized(t)?e.Diagnostics.Cannot_find_namespace_0:Kg(e.getFirstIdentifier(t)),u=e.isInJSFile(t)&&!e.nodeIsSynthesized(t)?function(t,r){if(_l(t.parent)){var n=function(t){var r=e.findAncestor(t,(function(t){return e.isJSDocNode(t)||4194304&t.flags?e.isJSDocTypeAlias(t):"quit"}));if(r)return;var n=e.getJSDocHost(t);if(n&&e.isExpressionStatement(n)&&e.isBinaryExpression(n.expression)&&3===e.getAssignmentDeclarationKind(n.expression)){if(a=ta(n.expression.left))return Bi(a)}if(n&&(e.isObjectLiteralMethod(n)||e.isPropertyAssignment(n))&&e.isBinaryExpression(n.parent.parent)&&6===e.getAssignmentDeclarationKind(n.parent.parent)){if(a=ta(n.parent.parent.left))return Bi(a)}var i=e.getEffectiveJSDocHost(t);if(i&&e.isFunctionLike(i)){var a;return(a=ta(i))&&a.valueDeclaration}}(t.parent);if(n)return ei(n,t.escapedText,r,void 0,t,!0)}}(t,r):void 0;if(!(o=ea(ei(a||t,t.escapedText,r,n||u?void 0:c,t,!0,!1))))return ea(u)}else{if(160!==t.kind&&205!==t.kind)throw e.Debug.assertNever(t,"Unknown entity name kind.");var l=160===t.kind?t.left:t.expression,d=160===t.kind?t.right:t.name,_=Ri(l,s,n,!1,a);if(!_||e.nodeIsMissing(d))return;if(_===Ae)return _;if(_.valueDeclaration&&e.isInJSFile(_.valueDeclaration)&&e.isVariableDeclaration(_.valueDeclaration)&&_.valueDeclaration.initializer&&vD(_.valueDeclaration.initializer)){var p=_.valueDeclaration.initializer.arguments[0],f=ji(p,p);if(f){var g=Ui(f);g&&(_=g)}}if(!(o=ea(Qn(Xi(_),d.escapedText,r)))){if(!n){var m=Li(_),y=e.declarationNameToString(d),v=sh(d,_);if(v)return void In(d,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,m,y,Ma(v));var h=e.isQualifiedName(t)&&function(t){for(;e.isQualifiedName(t.parent);)t=t.parent;return t}(t),D=Pt&&788968&r&&h&&!e.isTypeOfExpression(h.parent)&&function(t){var r=e.getFirstIdentifier(t),n=ei(r,r.escapedText,111551,void 0,r,!0);if(n){for(;e.isQualifiedName(r.parent);){if(!(n=Qc(Yo(n),r.parent.right.escapedText)))return;r=r.parent}return n}}(h);if(D)return void In(h,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.entityNameToString(h));if(1920&r&&e.isQualifiedName(t.parent)){var x=ea(Qn(Xi(_),d.escapedText,788968));if(x)return void In(t.parent.right,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,Ma(x),e.unescapeLeadingUnderscores(t.parent.right.escapedText))}In(d,e.Diagnostics.Namespace_0_has_no_exported_member_1,m,y)}return}}return e.Debug.assert(0==(1&e.getCheckFlags(o)),"Should never get an instantiated symbol here."),!e.nodeIsSynthesized(t)&&e.isEntityName(t)&&(2097152&o.flags||270===t.parent.kind)&&Ni(e.getAliasDeclarationFromName(t),o,void 0,!0),o.flags&r||i?o:Fi(o)}}function Bi(t){var r=t.parent.valueDeclaration;if(r)return(e.isAssignmentDeclaration(r)?e.getAssignedExpandoInitializer(r):e.hasOnlyExpressionInitializer(r)?e.getDeclaredExpandoInitializer(r):void 0)||r}function ji(t,r,n){var i=e.getEmitModuleResolutionKind(z)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return Ji(t,r,n?void 0:i)}function Ji(t,r,n,i){return void 0===i&&(i=!1),e.isStringLiteralLike(r)?Ki(t,r.text,n,r,i):void 0}function Ki(r,n,i,a,o){var s,c,u,l,d,_,p;(void 0===o&&(o=!1),e.startsWith(n,"@types/"))&&In(a,A=e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,e.removePrefix(n,"@types/"),n);var f=pu(n,!0);if(f)return f;var g=e.getSourceFileOfNode(r),m=e.isStringLiteralLike(r)?r:(null===(s=e.findAncestor(r,e.isImportCall))||void 0===s?void 0:s.arguments[0])||(null===(c=e.findAncestor(r,e.isImportDeclaration))||void 0===c?void 0:c.moduleSpecifier)||(null===(u=e.findAncestor(r,e.isExternalModuleImportEqualsDeclaration))||void 0===u?void 0:u.moduleReference.expression)||(null===(l=e.findAncestor(r,e.isExportDeclaration))||void 0===l?void 0:l.moduleSpecifier)||(null===(d=e.isModuleDeclaration(r)?r:r.parent&&e.isModuleDeclaration(r.parent)&&r.parent.name===r?r.parent:void 0)||void 0===d?void 0:d.name)||(null===(_=e.isLiteralImportTypeNode(r)?r:void 0)||void 0===_?void 0:_.argument.literal),y=m&&e.isStringLiteralLike(m)?e.getModeForUsageLocation(g,m):g.impliedNodeFormat,v=e.getResolvedModule(g,n,y),h=v&&e.getResolutionDiagnostic(z,v),D=v&&!h&&t.getSourceFile(v.resolvedFileName);if(D){if(D.symbol){if(v.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(v.extension)&&zi(!1,a,v,n),e.getEmitModuleResolutionKind(z)===e.ModuleResolutionKind.Node12||e.getEmitModuleResolutionKind(z)===e.ModuleResolutionKind.NodeNext)(g.impliedNodeFormat===e.ModuleKind.CommonJS&&!e.findAncestor(r,e.isImportCall)||!!e.findAncestor(r,e.isImportEqualsDeclaration))&&D.impliedNodeFormat===e.ModuleKind.ESNext&&In(a,e.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead,n),y===e.ModuleKind.ESNext&&z.resolveJsonModule&&".json"===v.extension&&In(a,e.Diagnostics.JSON_imports_are_experimental_in_ES_module_mode_imports);return ea(D.symbol)}i&&In(a,e.Diagnostics.File_0_is_not_a_module,D.fileName)}else{if(Ft){var x=e.findBestPatternMatch(Ft,(function(e){return e.pattern}),n);if(x){var b=Nt&&Nt.get(n);return ea(b?b:x.symbol)}}if(v&&!e.resolutionExtensionIsTSOrJson(v.extension)&&void 0===h||h===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)o?In(a,A=e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,n,v.resolvedFileName):zi(Q&&!!i,a,v,n);else if(i){if(v){var S=t.getProjectReferenceRedirect(v.resolvedFileName);if(S)return void In(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,S,v.resolvedFileName)}if(h)In(a,h,n,v.resolvedFileName);else{var T=e.tryExtractTSExtension(n),C=e.pathIsRelative(n)&&!e.hasExtension(n),E=e.getEmitModuleResolutionKind(z),k=E===e.ModuleResolutionKind.Node12||E===e.ModuleResolutionKind.NodeNext;if(T){var A=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,F=e.removeExtension(n,T);V>=e.ModuleKind.ES2015&&(F+=".mts"===T?".mjs":".cts"===T?".cjs":".js"),In(a,A,T,F)}else if(!z.resolveJsonModule&&e.fileExtensionIs(n,".json")&&e.getEmitModuleResolutionKind(z)!==e.ModuleResolutionKind.Classic&&e.hasJsonModuleEmitEnabled(z))In(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n);else if(y===e.ModuleKind.ESNext&&k&&C){var N=e.getNormalizedAbsolutePath(n,e.getDirectoryPath(g.path)),P=null===(p=kn.find((function(e){var r=e[0];return e[1],t.fileExists(N+r)})))||void 0===p?void 0:p[1];P?In(a,e.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0,n+P):In(a,e.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Consider_adding_an_extension_to_the_import_path)}else In(a,i,n)}}}}function zi(t,r,n,i){var a,o=n.packageId,s=n.resolvedFileName,c=!e.isExternalModuleNameRelative(i)&&o?(a=o.name,f().has(e.getTypesPackageName(a))?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,o.name,e.mangleScopedPackageName(o.name)):function(e){return!!f().get(e)}(o.name)?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,o.name,i):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(o.name))):void 0;Mn(t,r,e.chainDiagnosticMessages(c,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,s))}function Ui(t,r){if(null==t?void 0:t.exports){var n=function(t,r){if(!t||t===Ae||t===r||1===r.exports.size||2097152&t.flags)return t;var n=Gn(t);if(n.cjsExportMerged)return n.cjsExportMerged;var i=33554432&t.flags?t:zn(t);i.flags=512|i.flags,void 0===i.exports&&(i.exports=e.createSymbolTable());return r.exports.forEach((function(e,t){"export="!==t&&i.exports.set(t,i.exports.has(t)?Un(i.exports.get(t),e):e)})),Gn(i).cjsExportMerged=i,n.cjsExportMerged=i}(ea(Ai(t.exports.get("export="),r)),ea(t));return ea(n)||t}}function Vi(t,r,n,i){var a=Ui(t,n);if(!n&&a){if(!(i||1539&a.flags||e.getDeclarationOfKind(a,303))){var o=V>=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop";return In(r,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,o),a}var s=r.parent;if(e.isImportDeclaration(s)&&e.getNamespaceDeclarationNode(s)||e.isImportCall(s)){var c=e.isImportCall(s)?s.arguments[0]:s.moduleSpecifier,u=Yo(a),l=mD(u,a,t,c);if(l)return qi(a,l,s);if(e.getESModuleInterop(z)){var d=$c(u,0);if(d&&d.length||(d=$c(u,1)),d&&d.length||Qc(u,"default"))return qi(a,yD(u,a,t,c),s)}}}return a}function qi(t,r,n){var i=jn(t.flags,t.escapedName);i.declarations=t.declarations?t.declarations.slice():[],i.parent=t.parent,i.target=t,i.originatingImport=n,t.valueDeclaration&&(i.valueDeclaration=t.valueDeclaration),t.constEnumOnlyModule&&(i.constEnumOnlyModule=!0),t.members&&(i.members=new e.Map(t.members)),t.exports&&(i.exports=new e.Map(t.exports));var a=Sc(r);return i.type=ha(i,a.members,e.emptyArray,e.emptyArray,a.indexInfos),i}function Wi(e){return void 0!==e.exports.get("export=")}function Hi(e){return du(Qi(e))}function Gi(e,t){var r=Qi(t);if(r)return r.get(e)}function Yi(t){return!(131068&t.flags||1&e.getObjectFlags(t)||sf(t)||Ef(t))}function Xi(e){return 6256&e.flags?Js(e,"resolvedExports"):1536&e.flags?Qi(e):e.exports||k}function Qi(e){var t=Gn(e);return t.resolvedExports||(t.resolvedExports=Zi(e))}function $i(t,r,n,i){r&&r.forEach((function(r,a){if("default"!==a){var o=t.get(a);if(o){if(n&&i&&o&&Ai(o)!==Ai(r)){var s=n.get(a);s.exportsWithDuplicate?s.exportsWithDuplicate.push(i):s.exportsWithDuplicate=[i]}}else t.set(a,r),n&&i&&n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}))}function Zi(t){var r=[];return function t(n){if(!(n&&n.exports&&e.pushIfUnique(r,n)))return;var i=new e.Map(n.exports),a=n.exports.get("__export");if(a){var o=e.createSymbolTable(),s=new e.Map;if(a.declarations)for(var c=0,u=a.declarations;c=d?l.substr(0,d-"...".length)+"...":l}function Ba(e,t){var r=Ja(e.symbol)?Ra(e,e.symbol.valueDeclaration):Ra(e),n=Ja(t.symbol)?Ra(t,t.symbol.valueDeclaration):Ra(t);return r===n&&(r=ja(e),n=ja(t)),[r,n]}function ja(e){return Ra(e,void 0,64)}function Ja(t){return t&&!!t.valueDeclaration&&e.isExpression(t.valueDeclaration)&&!tp(t.valueDeclaration)}function Ka(e){return void 0===e&&(e=0),814775659&e}function za(t){return!!(t.symbol&&32&t.symbol.flags&&(t===fs(t.symbol)||524288&t.flags&&16777216&e.getObjectFlags(t)))}function Ua(t,r,n,i){return void 0===n&&(n=16384),i?a(i).getText():e.usingSingleLineStringWriter(a);function a(i){var a=e.factory.createTypePredicateNode(2===t.kind||3===t.kind?e.factory.createToken(128):void 0,1===t.kind||3===t.kind?e.factory.createIdentifier(t.parameterName):e.factory.createThisTypeNode(),t.type&&ae.typeToTypeNode(t.type,r,70222336|Ka(n))),o=e.createPrinter({removeComments:!0}),s=r&&e.getSourceFileOfNode(r);return o.writeNode(4,a,s,i),i}}function Va(e){return 8===e?"private":16===e?"protected":"public"}function qa(t){return t&&t.parent&&261===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function Wa(t){return 303===t.kind||e.isAmbientModule(t)}function Ha(t,r){var n=Gn(t).nameType;if(n){if(384&n.flags){var i=""+n.value;return e.isIdentifierText(i,e.getEmitScriptTarget(z))||Zy(i)?Zy(i)&&e.startsWith(i,"-")?"[".concat(i,"]"):i:'"'.concat(e.escapeString(i,34),'"')}if(8192&n.flags)return"[".concat(Ga(n.symbol,r),"]")}}function Ga(t,r){if(r&&"default"===t.escapedName&&!(16384&r.flags)&&(!(16777216&r.flags)||!t.declarations||r.enclosingDeclaration&&e.findAncestor(t.declarations[0],Wa)!==e.findAncestor(r.enclosingDeclaration,Wa)))return"default";if(t.declarations&&t.declarations.length){var n=e.firstDefined(t.declarations,(function(t){return e.getNameOfDeclaration(t)?t:void 0})),i=n&&e.getNameOfDeclaration(n);if(n&&i){if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n))return e.symbolName(t);if(e.isComputedPropertyName(i)&&!(4096&e.getCheckFlags(t))){var a=Gn(t).nameType;if(a&&384&a.flags){var o=Ha(t,r);if(void 0!==o)return o}}return e.declarationNameToString(i)}if(n||(n=t.declarations[0]),n.parent&&253===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(n.kind){case 225:case 212:case 213:return!r||r.encounteredError||131072&r.flags||(r.encounteredError=!0),225===n.kind?"(Anonymous class)":"(Anonymous function)"}}var s=Ha(t,r);return void 0!==s?s:e.symbolName(t)}function Ya(t){if(t){var r=Yn(t);return void 0===r.isVisible&&(r.isVisible=!!function(){switch(t.kind){case 336:case 343:case 337:return!!(t.parent&&t.parent.parent&&t.parent.parent.parent&&e.isSourceFile(t.parent.parent.parent));case 202:return Ya(t.parent.parent);case 253:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 260:case 256:case 257:case 258:case 255:case 259:case 264:if(e.isExternalModuleAugmentation(t))return!0;var r=to(t);return 1&e.getCombinedModifierFlags(t)||264!==t.kind&&303!==r.kind&&8388608&r.flags?Ya(r):Xn(r);case 166:case 165:case 171:case 172:case 168:case 167:if(e.hasEffectiveModifier(t,24))return!1;case 170:case 174:case 173:case 175:case 163:case 261:case 178:case 179:case 181:case 177:case 182:case 183:case 186:case 187:case 190:case 196:return Ya(t.parent);case 266:case 267:case 269:return!1;case 162:case 303:case 263:return!0;default:return!1}}()),r.isVisible}return!1}function Xa(t,r){var n,i,a;return t.parent&&270===t.parent.kind?n=ei(t,t.escapedText,2998271,void 0,t,!1):274===t.parent.kind&&(n=Ti(t.parent,2998271)),n&&((a=new e.Set).add(M(n)),function t(n){e.forEach(n,(function(n){var o=di(n)||n;if(r?Yn(n).isVisible=!0:(i=i||[],e.pushIfUnique(i,o)),e.isInternalModuleImportEqualsDeclaration(n)){var s=n.moduleReference,c=ei(n,e.getFirstIdentifier(s).escapedText,901119,void 0,void 0,!1);c&&a&&e.tryAddToSet(a,M(c))&&t(c.declarations)}}))}(n.declarations)),i}function Qa(e,t){var r=$a(e,t);if(r>=0){for(var n=Yr.length,i=r;i=0;r--){if(Za(Yr[r],Qr[r]))return-1;if(Yr[r]===e&&Qr[r]===t)return r}return-1}function Za(t,r){switch(r){case 0:return!!Gn(t).type;case 5:return!!Yn(t).resolvedEnumType;case 2:return!!Gn(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!t.resolvedTypeArguments;case 7:return!!t.baseTypesResolved}return e.Debug.assertNever(r)}function eo(){return Yr.pop(),Qr.pop(),Xr.pop()}function to(t){return e.findAncestor(e.getRootDeclaration(t),(function(e){switch(e.kind){case 253:case 254:case 269:case 268:case 267:case 266:return!1;default:return!0}})).parent}function ro(e,t){var r=Qc(e,t);return r?Yo(r):void 0}function no(e){return e&&0!=(1&e.flags)}function io(e){return e===Me||!!(1&e.flags&&e.aliasSymbol)}function ao(e){var t=ta(e);return t&&Gn(t).type||vo(e,!1)}function oo(t,r,n){if(t=Em(t,(function(e){return!(98304&e.flags)})),131072&t.flags)return mt;if(1048576&t.flags)return Fm(t,(function(e){return oo(e,r,n)}));var i=id(e.map(r,yd));if(Od(t)||Md(i)){if(131072&i.flags)return t;var a=(gr||(gr=xl("Omit",2,!0)||Ae),gr===Ae?void 0:gr);return a?rl(a,[t,i]):Me}for(var o=e.createSymbolTable(),s=0,c=kc(t);s=2?(i=we,Ol(Pl(!0),[i])):zt;var c=e.map(a,(function(t){return e.isOmittedExpression(t)?we:Fo(t,r,n)})),u=e.findLastIndex(a,(function(t){return!(t===s||e.isOmittedExpression(t)||Yy(t))}),a.length-1)+1,l=Ul(c,e.map(a,(function(e,t){return e===s?4:t>=u?2:1})));return r&&((l=Qu(l)).pattern=t,l.objectFlags|=262144),l}function Po(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),200===t.kind?function(t,r,n){var i,a=e.createSymbolTable(),o=262272;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(e.dotDotDotToken)i=Ju(He,we,!1);else{var s=yd(t);if(Is(s)){var c=Bs(s),u=jn(4|(e.initializer?16777216:0),c);u.type=Fo(e,r,n),u.bindingElement=e,a.set(u.escapedName,u)}else o|=512}}));var s=ha(void 0,a,e.emptyArray,e.emptyArray,i?[i]:e.emptyArray);return s.objectFlags|=o,r&&(s.pattern=t,s.objectFlags|=262144),s}(t,r,n):No(t,r,n)}function wo(e,t){return Oo(vo(e,!0),e,t)}function Io(e){var t,r=ta(e),n=(t=!1,Ht||(Ht=Dl("SymbolConstructor",t)));return n&&r&&r===n}function Oo(t,r,n){return t?(4096&t.flags&&Io(r.parent)&&(t=x_(r)),n&&ag(r,t),8192&t.flags&&(e.isBindingElement(r)||!r.type)&&t.symbol!==ta(r)&&(t=tt),tg(t)):(t=e.isParameter(r)&&r.dotDotDotToken?zt:we,n&&(Mo(r)||ig(r,t)),t)}function Mo(t){var r=e.getRootDeclaration(t);return sb(163===r.kind?r.parent:r)}function Lo(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r)return C_(r)}function Ro(t){var r=Gn(t);if(!r.type){var n=function(t){if(4194304&t.flags)return(r=Ss(ra(t))).typeParameters?Xu(r,e.map(r.typeParameters,(function(e){return we}))):r;var r;if(t===de)return we;if(134217728&t.flags&&t.valueDeclaration){var n=ta(e.getSourceFileOfNode(t.valueDeclaration)),i=jn(n.flags,"exports");i.declarations=n.declarations?n.declarations.slice():[],i.parent=t,i.target=n,n.valueDeclaration&&(i.valueDeclaration=n.valueDeclaration),n.members&&(i.members=new e.Map(n.members)),n.exports&&(i.exports=new e.Map(n.exports));var a=e.createSymbolTable();return a.set("exports",i),ha(t,a,e.emptyArray,e.emptyArray,e.emptyArray)}e.Debug.assertIsDefined(t.valueDeclaration);var o,s=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(s)){var c=e.getEffectiveTypeAnnotationNode(s);if(void 0===c)return Z?je:we;var u=IT(c);return no(u)||u===je?u:Me}if(e.isSourceFile(s)&&e.isJsonSourceFile(s))return s.statements.length?tg(bf(Ux(s.statements[0].expression))):mt;if(!Qa(t,0))return 512&t.flags&&!(67108864&t.flags)?Vo(t):Ho(t);if(270===s.kind)o=Oo(Lo(s)||Cx(s.expression),s);else if(e.isBinaryExpression(s)||e.isInJSFile(s)&&(e.isCallExpression(s)||(e.isPropertyAccessExpression(s)||e.isBindableStaticElementAccessExpression(s))&&e.isBinaryExpression(s.parent)))o=To(t);else if(e.isPropertyAccessExpression(s)||e.isElementAccessExpression(s)||e.isIdentifier(s)||e.isStringLiteralLike(s)||e.isNumericLiteral(s)||e.isClassDeclaration(s)||e.isFunctionDeclaration(s)||e.isMethodDeclaration(s)&&!e.isObjectLiteralMethod(s)||e.isMethodSignature(s)||e.isSourceFile(s)){if(9136&t.flags)return Vo(t);o=e.isBinaryExpression(s.parent)?To(t):Lo(s)||we}else if(e.isPropertyAssignment(s))o=Lo(s)||wx(s);else if(e.isJsxAttribute(s))o=Lo(s)||cv(s);else if(e.isShorthandPropertyAssignment(s))o=Lo(s)||Px(s.name,0);else if(e.isObjectLiteralMethod(s))o=Lo(s)||Ix(s,0);else if(e.isParameter(s)||e.isPropertyDeclaration(s)||e.isPropertySignature(s)||e.isVariableDeclaration(s)||e.isBindingElement(s)||e.isJSDocPropertyLikeTag(s))o=wo(s,!0);else if(e.isEnumDeclaration(s))o=Vo(t);else if(e.isEnumMember(s))o=qo(t);else{if(!e.isAccessor(s))return e.Debug.fail("Unhandled declaration kind! "+e.Debug.formatSyntaxKind(s.kind)+" for "+e.Debug.formatSymbol(t));o=zo(t)||e.Debug.fail("Non-write accessor resolution must always produce a type")}if(!eo())return 512&t.flags&&!(67108864&t.flags)?Vo(t):Ho(t);return o}(t);r.type||(r.type=n)}return r.type}function Bo(t){if(t)return 171===t.kind?e.getEffectiveReturnTypeNode(t):e.getEffectiveSetAccessorTypeAnnotationNode(t)}function jo(e){var t=Bo(e);return t&&C_(t)}function Jo(t){var r=Gn(t);return r.type||(r.type=Ko(t)||e.Debug.fail("Read type of accessor must always produce a type"))}function Ko(t,r){if(void 0===r&&(r=!1),!Qa(t,0))return Me;var n=zo(t,r);eo()||(n=we,Q&&In(e.getDeclarationOfKind(t,171),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Ma(t)));return n}function zo(t,r){void 0===r&&(r=!1);var n=e.getDeclarationOfKind(t,171),i=e.getDeclarationOfKind(t,172),a=jo(i);if(r&&a)return c(a,t);if(n&&e.isInJSFile(n)){var o=go(n);if(o)return c(o,t)}var s=jo(n);return s?c(s,t):a||(n&&n.body?c(GD(n),t):i?(sb(i)||Mn(Q,i,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Ma(t)),we):n?(e.Debug.assert(!!n,"there must exist a getter as we are current checking either setter or getter in this function"),sb(n)||Mn(Q,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Ma(t)),we):void 0);function c(t,r){return 1&e.getCheckFlags(r)?X_(t,Gn(r).mapper):t}}function Uo(t){var r=us(fs(t));return 8650752&r.flags?r:2097152&r.flags?e.find(r.types,(function(e){return!!(8650752&e.flags)})):void 0}function Vo(t){var r=Gn(t),n=r;if(!r.type){var i=t.valueDeclaration&&lD(t.valueDeclaration,!1);if(i){var a=uD(t,i);a&&(t=r=a)}n.type=r.type=function(t){var r=t.valueDeclaration;if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))return we;if(r&&(220===r.kind||e.isAccessExpression(r)&&220===r.parent.kind))return To(t);if(512&t.flags&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=Ui(t);if(n!==t){if(!Qa(t,0))return Me;var i=ea(t.exports.get("export=")),a=To(i,i===n?void 0:n);return eo()?a:Ho(t)}}var o=pa(16,t);if(32&t.flags){var s=Uo(t);return s?_d([o,s]):o}return H&&16777216&t.flags?Bf(o):o}(t)}return r.type}function qo(e){var t=Gn(e);return t.type||(t.type=xs(e))}function Wo(t){var r=Gn(t);if(!r.type){var n=Fi(t),i=t.declarations&&Ei(_i(t),!0),a=e.firstDefined(null==i?void 0:i.declarations,(function(t){return e.isExportAssignment(t)?Lo(t):void 0}));r.type=(null==i?void 0:i.declarations)&&gT(i.declarations)&&t.declarations.length?function(t){var r=e.getSourceFileOfNode(t.declarations[0]),n=e.unescapeLeadingUnderscores(t.escapedName),i=t.declarations.every((function(t){return e.isInJSFile(t)&&e.isAccessExpression(t)&&e.isModuleExportsAccessExpression(t.expression)})),a=i?e.factory.createPropertyAccessExpression(e.factory.createPropertyAccessExpression(e.factory.createIdentifier("module"),e.factory.createIdentifier("exports")),n):e.factory.createPropertyAccessExpression(e.factory.createIdentifier("exports"),n);return i&&e.setParent(a.expression.expression,a.expression),e.setParent(a.expression,a),e.setParent(a,r),a.flowNode=r.endFlowNode,$m(a,Ie,Ke)}(i):gT(t.declarations)?Ie:a||(111551&n.flags?Yo(n):Me)}return r.type}function Ho(t){var r=t.valueDeclaration;return e.getEffectiveTypeAnnotationNode(r)?(In(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Ma(t)),Me):(Q&&(163!==r.kind||r.initializer)&&In(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Ma(t)),we)}function Go(e){if(98304&e.flags){var t=function(e){var t=Gn(e);return t.writeType||(t.writeType=Ko(e,!0))}(e);if(t)return t}return Yo(e)}function Yo(t){var r=e.getCheckFlags(t);return 65536&r?function(t){var r=Gn(t);return r.type||(e.Debug.assertIsDefined(r.deferralParent),e.Debug.assertIsDefined(r.deferralConstituents),r.type=1048576&r.deferralParent.flags?id(r.deferralConstituents):_d(r.deferralConstituents)),r.type}(t):1&r?function(e){var t=Gn(e);if(!t.type){if(!Qa(e,0))return t.type=Me;var r=X_(Yo(t.target),t.mapper);eo()||(r=Ho(e)),t.type=r}return t.type}(t):262144&r?function(t){if(!t.type){var r=t.mappedType;if(!Qa(t,0))return r.containsError=!0,Me;var n=X_(gc(r.target||r),j_(r.mapper,_c(r),t.keyType)),i=H&&16777216&t.flags&&!lx(n,49152)?Bf(n,!0):524288&t.checkFlags?Wf(n):n;eo()||(In(d,e.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1,Ma(t),Ra(r)),i=Me),t.type=i}return t.type}(t):8192&r?function(e){var t=Gn(e);t.type||(t.type=Dg(e.propertyType,e.mappedType,e.constraintType));return t.type}(t):7&t.flags?Ro(t):9136&t.flags?Vo(t):8&t.flags?qo(t):98304&t.flags?Jo(t):2097152&t.flags?Wo(t):Me}function Xo(e){return Vf(Yo(e),!!(16777216&e.flags))}function Qo(t,r){return void 0!==t&&void 0!==r&&0!=(4&e.getObjectFlags(t))&&t.target===r}function $o(t){return 4&e.getObjectFlags(t)?t.target:t}function Zo(t,r){return function t(n){if(7&e.getObjectFlags(n)){var i=$o(n);return i===r||e.some(ds(i),t)}if(2097152&n.flags)return e.some(n.types,t);return!1}(t)}function es(t,r){for(var n=0,i=r;n0)return!0;if(8650752&e.flags){var t=Oc(e);return!!t&&is(t)}return!1}function os(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function ss(t,r,n){var i=e.length(r),a=e.isInJSFile(n);return e.filter(Zc(t,1),(function(t){return(a||i>=yu(t.typeParameters))&&i<=e.length(t.typeParameters)}))}function cs(t,r,n){var i=ss(t,r,n),a=e.map(r,C_);return e.sameMap(i,(function(t){return e.some(t.typeParameters)?Pu(t,a,e.isInJSFile(n)):t}))}function us(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration,n=e.getEffectiveBaseTypeNode(r),i=os(t);if(!i)return t.resolvedBaseConstructorType=Ke;if(!Qa(t,1))return Me;var a=Ux(i.expression);if(n&&i!==n&&(e.Debug.assert(!n.typeArguments),Ux(n.expression)),2621440&a.flags&&Sc(a),!eo())return In(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Ma(t.symbol)),t.resolvedBaseConstructorType=Me;if(!(1&a.flags||a===We||as(a))){var o=In(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,Ra(a));if(262144&a.flags){var s=qu(a),c=je;if(s){var u=Zc(s,1);u[0]&&(c=ku(u[0]))}a.symbol.declarations&&e.addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,Ma(a.symbol),Ra(c)))}return t.resolvedBaseConstructorType=Me}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function ls(t,r){In(t,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,Ra(r,void 0,2))}function ds(t){if(!t.baseTypesResolved){if(Qa(t,7)&&(8&t.objectFlags?t.resolvedBaseTypes=[_s(t)]:96&t.symbol.flags?(32&t.symbol.flags&&function(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=Kc(us(t));if(!(2621441&r.flags))return t.resolvedBaseTypes=e.emptyArray;var n,i=os(t),a=r.symbol?Ss(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&function(e){var t=e.outerTypeParameters;if(t){var r=t.length-1,n=Zu(e);return t[r].symbol!==n[r].symbol}return!0}(a))n=tl(i,r.symbol);else if(1&r.flags)n=r;else{var o=cs(r,i.typeArguments,i);if(!o.length)return In(i.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),t.resolvedBaseTypes=e.emptyArray;n=ku(o[0])}if(io(n))return t.resolvedBaseTypes=e.emptyArray;var s=Wc(n);if(!ps(s)){var c=Xc(void 0,n),u=e.chainDiagnosticMessages(c,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,Ra(s));return mn.add(e.createDiagnosticForNodeFromMessageChain(i.expression,u)),t.resolvedBaseTypes=e.emptyArray}if(t===s||Zo(s,t))return In(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,Ra(t,void 0,2)),t.resolvedBaseTypes=e.emptyArray;t.resolvedBaseTypes===e.resolvingEmptyArray&&(t.members=void 0);t.resolvedBaseTypes=[s]}(t),64&t.symbol.flags&&function(t){if(t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray,t.symbol.declarations)for(var r=0,n=t.symbol.declarations;r0)return;for(var i=1;i1&&(n=void 0===n?i:-1);for(var a=0,o=t[i];a1){var l=s.thisParameter,d=e.forEach(c,(function(e){return e.thisParameter}));if(d)l=Gf(d,_d(e.mapDefined(c,(function(e){return e.thisParameter&&Yo(e.thisParameter)}))));(u=Hs(s,c)).thisParameter=l}(r||(r=[])).push(u)}}}}if(!e.length(r)&&-1!==n){for(var _=t[void 0!==n?n:0],p=_.slice(),f=function(t){if(t!==_){var r=t[0];if(e.Debug.assert(!!r,"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"),p=r.typeParameters&&e.some(p,(function(e){return!!e.typeParameters&&!Zs(r.typeParameters,e.typeParameters)}))?void 0:e.map(p,(function(t){return function(t,r){var n,i=t.typeParameters||r.typeParameters;t.typeParameters&&r.typeParameters&&(n=P_(r.typeParameters,t.typeParameters));var a=t.declaration,o=function(e,t,r){for(var n=MD(e),i=MD(t),a=n>=i?e:t,o=a===e?t:e,s=a===e?n:i,c=RD(e)||RD(t),u=c&&!RD(a),l=new Array(s+(u?1:0)),d=0;d=LD(a)&&d>=LD(o),y=d>=n?void 0:AD(e,d),v=d>=i?void 0:AD(t,d),h=jn(1|(m&&!g?16777216:0),(y===v?y:y?v?void 0:y:v)||"arg".concat(d));h.type=g?Ll(f):f,l[d]=h}if(u){var D=jn(1,"args");D.type=Ll(wD(o,s)),o===t&&(D.type=X_(D.type,r)),l[s]=D}return l}(t,r,n),s=function(e,t,r){if(!e||!t)return e||t;var n=_d([Yo(e),X_(Yo(t),r)]);return Gf(e,n)}(t.thisParameter,r.thisParameter,n),c=Math.max(t.minArgumentCount,r.minArgumentCount),u=qs(a,i,s,o,void 0,void 0,c,39&(t.flags|r.flags));u.compositeKind=1048576,u.compositeSignatures=e.concatenate(2097152!==t.compositeKind&&t.compositeSignatures||[t],[r]),n&&(u.mapper=2097152!==t.compositeKind&&t.mapper&&t.compositeSignatures?R_(t.mapper,n):n);return u}(t,r)})),!p)return"break"}},g=0,m=t;g0})),n=e.map(t,is);if(r>0&&r===e.countWhere(n,(function(e){return e}))){var i=n.indexOf(!0);n[i]=!1}return n}function nc(t){for(var r,n,i,a=t.types,o=rc(a),s=e.countWhere(o,(function(e){return e})),c=function(c){var u=t.types[c];if(!o[c]){var l=Zc(u,1);l.length&&s>0&&(l=e.map(l,(function(e){var t=Ws(e);return t.resolvedReturnType=function(e,t,r,n){for(var i=[],a=0;a=p&&c<=f){var g=f?Iu(_,vu(s,_.typeParameters,p,o)):Ws(_);g.typeParameters=t.localTypeParameters,g.resolvedReturnType=t,g.flags=i?4|g.flags:-5&g.flags,u.push(g)}}return u}(d)),t.constructSignatures=i}}}function sc(e,t,r){return X_(e,P_([t.indexType,t.objectType],[v_(0),Ul([r])]))}function cc(t){if(4194304&t.flags){var r=Kc(t.type);return kf(r)?Gl(r):xd(r)}if(16777216&t.flags){if(t.root.isDistributive){var n=t.checkType,i=cc(n);if(i!==n)return Y_(t,B_(t.root.checkType,i,t.mapper))}return t}return 1048576&t.flags?Fm(t,cc):2097152&t.flags?_d(e.sameMap(t.types,cc)):t}function uc(t){return 4096&e.getCheckFlags(t)}function lc(e,t,r,n){for(var i=0,a=kc(e);i=7,yr||(yr=Sl("BigInt",0,r))||mt):528&n.flags?jt:12288&n.flags?kl(U>=2):67108864&n.flags?mt:4194304&n.flags?dt:2&n.flags&&!H?mt:n}function zc(e){return Wc(Kc(Wc(e)))}function Uc(t,r,n){for(var i,a,o,s,c,u=1048576&t.flags,l=u?0:16777216,d=4,_=u?0:8,p=!1,f=0,g=t.types;f2?(N.checkFlags|=65536,N.deferralParent=t,N.deferralConstituents=T):N.type=u?id(T):_d(T),N}}function Vc(t,r,n){var i,a,o=(null===(i=t.propertyCacheWithoutObjectFunctionPropertyAugment)||void 0===i?void 0:i.get(r))||!n?null===(a=t.propertyCache)||void 0===a?void 0:a.get(r):void 0;o||(o=Uc(t,r,n))&&(n?t.propertyCacheWithoutObjectFunctionPropertyAugment||(t.propertyCacheWithoutObjectFunctionPropertyAugment=e.createSymbolTable()):t.propertyCache||(t.propertyCache=e.createSymbolTable())).set(r,o);return o}function qc(t,r,n){var i=Vc(t,r,n);return!i||16&e.getCheckFlags(i)?void 0:i}function Wc(t){return 1048576&t.flags&&33554432&t.objectFlags?t.resolvedReducedType||(t.resolvedReducedType=function(t){var r=e.sameMap(t.types,Wc);if(r===t.types)return t;var n=id(r);1048576&n.flags&&(n.resolvedReducedType=n);return n}(t)):2097152&t.flags?(33554432&t.objectFlags||(t.objectFlags|=33554432|(e.some(Ec(t),Hc)?67108864:0)),67108864&t.objectFlags?nt:t):t}function Hc(e){return Gc(e)||Yc(e)}function Gc(t){return!(16777216&t.flags||192!=(131264&e.getCheckFlags(t))||!(131072&Yo(t).flags))}function Yc(t){return!t.valueDeclaration&&!!(1024&e.getCheckFlags(t))}function Xc(t,r){if(2097152&r.flags&&67108864&e.getObjectFlags(r)){var n=e.find(Ec(r),Gc);if(n)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,Ra(r,void 0,536870912),Ma(n));var i=e.find(Ec(r),Yc);if(i)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,Ra(r,void 0,536870912),Ma(i))}return t}function Qc(e,t,r){if(524288&(e=zc(e)).flags){var n=Sc(e),i=n.members.get(t);if(i&&ca(i))return i;if(r)return;var a=n===xt?wt:n.callSignatures.length?It:n.constructSignatures.length?Ot:void 0;if(a){var o=Cc(a,t);if(o)return o}return Cc(Pt,t)}if(3145728&e.flags)return qc(e,t,r)}function $c(t,r){if(3670016&t.flags){var n=Sc(t);return 0===r?n.callSignatures:n.constructSignatures}return e.emptyArray}function Zc(e,t){return $c(zc(e),t)}function eu(t,r){return e.find(t,(function(e){return e.keyType===r}))}function tu(t,r){for(var n,i,a,o=0,s=t;o=0),n>=LD(r,3)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length)}function gu(t){if(!e.isJSDocPropertyLikeTag(t))return!1;var r=t.isBracketed,n=t.typeExpression;return r||!!n&&314===n.type.kind}function mu(e,t,r,n){return{kind:e,parameterName:t,parameterIndex:r,type:n}}function yu(t){var r,n=0;if(t)for(var i=0;i=n&&o<=a){for(var s=t?t.slice():[],c=o;cu.arguments.length&&!f||_u(_)||(o=i.length)}if((171===t.kind||172===t.kind)&&Rs(t)&&(!c||!s)){var g=171===t.kind?172:171,m=e.getDeclarationOfKind(ta(t),g);m&&(s=(r=RC(m))&&r.symbol)}var y=170===t.kind?fs(ea(t.parent.symbol)):void 0,v=y?y.localTypeParameters:lu(t);(e.hasRestParameter(t)||e.isInJSFile(t)&&function(t,r){if(e.isJSDocSignature(t)||!xu(t))return!1;var n=e.lastOrUndefined(t.parameters),i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag),a=e.firstDefined(i,(function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:void 0})),o=jn(3,"args",32768);o.type=a?Ll(C_(a.type)):zt,a&&r.pop();return r.push(o),!0}(t,i))&&(a|=1),(e.isConstructorTypeNode(t)&&e.hasSyntacticModifier(t,128)||e.isConstructorDeclaration(t)&&e.hasSyntacticModifier(t.parent,128))&&(a|=4),n.resolvedSignature=qs(t,v,s,i,void 0,void 0,o,a)}return n.resolvedSignature}function Du(t){if(e.isInJSFile(t)&&e.isFunctionLikeDeclaration(t)){var r=e.getJSDocTypeTag(t);return(null==r?void 0:r.typeExpression)&&kh(C_(r.typeExpression))}}function xu(t){var r=Yn(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=function t(r){if(!r)return!1;switch(r.kind){case 79:return r.escapedText===le.escapedName&&pC(r)===le;case 166:case 168:case 171:case 172:return 161===r.name.kind&&t(r.name);case 205:case 206:return t(r.expression);default:return!e.nodeStartsNewLexicalEnvironment(r)&&!e.isPartOfTypeNode(r)&&!!e.forEachChild(r,t)}}(t.body)),r.containsArgumentsReference}function bu(t){if(!t||!t.declarations)return e.emptyArray;for(var r=[],n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end)continue}r.push(hu(i))}}return r}function Su(e){var t=ji(e,e);if(t){var r=Ui(t);if(r)return Yo(r)}return we}function Tu(e){if(e.thisParameter)return Yo(e.thisParameter)}function Cu(t){if(!t.resolvedTypePredicate){if(t.target){var r=Cu(t.target);t.resolvedTypePredicate=r?(o=r,s=t.mapper,mu(o.kind,o.parameterName,o.parameterIndex,X_(o.type,s))):Cr}else if(t.compositeSignatures)t.resolvedTypePredicate=function(e,t){for(var r,n=[],i=0,a=e;i=0}function Nu(e){if(J(e)){var t=Yo(e.parameters[e.parameters.length-1]),r=Ef(t)?Ff(t):t;return r&&ou(r,Ge)}}function Pu(e,t,r,n){var i=wu(e,vu(t,e.typeParameters,yu(e.typeParameters),r));if(n){var a=Ah(ku(i));if(a){var o=Ws(a);o.typeParameters=n;var s=Ws(i);return s.resolvedReturnType=Ru(o),s}}return i}function wu(t,r){var n=t.instantiations||(t.instantiations=new e.Map),i=Hu(r),a=n.get(i);return a||n.set(i,a=Iu(t,r)),a}function Iu(e,t){return K_(e,function(e,t){return P_(e.typeParameters,t)}(e,t),!0)}function Ou(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=function(e){return K_(e,L_(e.typeParameters),!0)}(e)):e}function Mu(t){return t.typeParameters?t.canonicalSignatureCache||(t.canonicalSignatureCache=function(t){return Pu(t,e.map(t.typeParameters,(function(e){return e.target&&!Fc(e.target)?e.target:e})),e.isInJSFile(t.declaration))}(t)):t}function Lu(t){var r=t.typeParameters;if(r){if(t.baseSignatureCache)return t.baseSignatureCache;for(var n=L_(r),i=P_(r,e.map(r,(function(e){return Fc(e)||je}))),a=e.map(r,(function(e){return X_(e,i)||je})),o=0;o1&&(t+=":"+a),n+=a}return t}function Gu(e,t){return e?"@".concat(M(e))+(t?":".concat(Hu(t)):""):""}function Yu(t,r){for(var n=0,i=0,a=t;ii.length)){var c=s&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);if(In(t,o===i.length?c?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:c?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Ra(n,void 0,2),o,i.length),!s)return Me}return 177===t.kind&&Jl(t,e.length(t.typeArguments)!==i.length)?$u(n,t,void 0):Xu(n,e.concatenate(n.outerTypeParameters,vu(ml(t),i,o,s)))}return pl(t,r)?n:Me}function rl(t,r,n,i){var a=Ss(t);if(a===Be&&P.has(t.escapedName)&&r&&1===r.length)return Cd(t,r[0]);var o=Gn(t),s=o.typeParameters,c=Hu(r)+Gu(n,i),u=o.instantiations.get(c);return u||o.instantiations.set(c,u=Q_(a,P_(s,vu(r,s,yu(s),e.isInJSFile(t.valueDeclaration))),n,i)),u}function nl(t){var r,n=null===(r=t.declarations)||void 0===r?void 0:r.find(e.isTypeAlias);return!(!n||!e.getContainingFunction(n))}function il(e){return e.parent?"".concat(il(e.parent),".").concat(e.escapedName):e.escapedName}function al(e){var t=(160===e.kind?e.right:205===e.kind?e.name:e).escapedText;if(t){var r=160===e.kind?al(e.left):205===e.kind?al(e.expression):void 0,n=r?"".concat(il(r),".").concat(t):t,i=Ne.get(n);return i||(Ne.set(n,i=jn(524288,t,1048576)),i.parent=r,i.declaredType=Le),i}return Ae}function ol(t,r,n){var i=function(t){switch(t.kind){case 177:return t.typeName;case 227:var r=t.expression;if(e.isEntityNameExpression(r))return r}}(t);if(!i)return Ae;var a=Ri(i,r,n);return a&&a!==Ae?a:n?Ae:al(i)}function sl(t,r){if(r===Ae)return Me;if(r=function(t){var r=t.valueDeclaration;if(r&&e.isInJSFile(r)&&!(524288&t.flags)&&!e.getExpandoInitializer(r,!1)){var n=e.isVariableDeclaration(r)?e.getDeclaredExpandoInitializer(r):e.getAssignedExpandoInitializer(r);if(n){var i=ta(n);if(i)return uD(i,t)}}}(r)||r,96&r.flags)return tl(t,r);if(524288&r.flags)return function(t,r){if(1048576&e.getCheckFlags(r)){var n=ml(t),i=Gu(r,n),a=Pe.get(i);return a||((a=_a(1,"error")).aliasSymbol=r,a.aliasTypeArguments=n,Pe.set(i,a)),a}var o=Ss(r),s=Gn(r).typeParameters;if(s){var c=e.length(t.typeArguments),u=yu(s);if(cs.length)return In(t,u===s.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Ma(r),u,s.length),Me;var l=a_(t),d=!l||!nl(r)&&nl(l)?void 0:l;return rl(r,ml(t),d,o_(d))}return pl(t,r)?o:Me}(t,r);var n=Ts(r);if(n)return pl(t,r)?g_(n):Me;if(111551&r.flags&&_l(t)){var i=function(e,t){var r=Yn(e);if(!r.resolvedJSDocType){var n=Yo(t),i=n;if(t.valueDeclaration){var a=199===e.kind&&e.qualifier;n.symbol&&n.symbol!==t&&a&&(i=sl(e,n.symbol))}r.resolvedJSDocType=i}return r.resolvedJSDocType}(t,r);return i||(ol(t,788968),Yo(r))}return Me}function cl(e,t){if(3&t.flags||t===e)return e;var r="".concat(Ql(e),">").concat(Ql(t)),n=Te.get(r);if(n)return n;var i=la(33554432);return i.baseType=e,i.substitute=t,Te.set(r,i),i}function ul(e){return 183===e.kind&&1===e.elements.length}function ll(e,t,r){return ul(t)&&ul(r)?ll(e,t.elements[0],r.elements[0]):Hd(C_(t))===e?C_(r):void 0}function dl(t,r){for(var n,i=!0;r&&!e.isStatement(r)&&318!==r.kind;){var a=r.parent;if(163===a.kind&&(i=!i),(i||8650752&t.flags)&&188===a.kind&&r===a.trueType){var o=ll(t,a.checkType,a.extendsType);o&&(n=e.append(n,o))}r=a}return n?cl(t,_d(e.append(n,t))):t}function _l(e){return!!(4194304&e.flags)&&(177===e.kind||199===e.kind)}function pl(t,r){return!t.typeArguments||(In(t,e.Diagnostics.Type_0_is_not_generic,r?Ma(r):t.typeName?e.declarationNameToString(t.typeName):u),!1)}function fl(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case"String":return pl(t),He;case"Number":return pl(t),Ge;case"Boolean":return pl(t),et;case"Void":return pl(t),rt;case"Undefined":return pl(t),Ke;case"Null":return pl(t),qe;case"Function":case"function":return pl(t),wt;case"array":return r&&r.length||Q?void 0:zt;case"promise":return r&&r.length||Q?void 0:qD(we);case"Object":if(r&&2===r.length){if(e.isJSDocIndexSignature(t)){var n=C_(r[0]),i=C_(r[1]),a=n===He||n===Ge?[Ju(n,i,!1)]:e.emptyArray;return ha(void 0,k,e.emptyArray,e.emptyArray,a)}return we}return pl(t),Q?void 0:we}}}function gl(t){var r=Yn(t);if(!r.resolvedType){if(e.isConstTypeReference(t)&&e.isAssertionExpression(t.parent))return r.resolvedSymbol=Ae,r.resolvedType=Cx(t.parent.expression);var n=void 0,i=void 0,a=788968;_l(t)&&((i=fl(t))||((n=ol(t,a,!0))===Ae?n=ol(t,900095):ol(t,a),i=sl(t,n))),i||(i=sl(t,n=ol(t,a))),r.resolvedSymbol=n,r.resolvedType=i}return r.resolvedType}function ml(t){return e.map(t.typeArguments,C_)}function yl(t){var r=Yn(t);if(!r.resolvedType){var n=e.isThisIdentifier(t.exprName)?fy(t.exprName):Ux(t.exprName);r.resolvedType=g_(tg(n))}return r.resolvedType}function vl(t,r){function n(e){var t=e.declarations;if(t)for(var r=0,n=t;r=0)return fd(e.map(r,(function(e,r){return 8&t.elementFlags[r]?e:je})))?Fm(r[o],(function(n){return Wl(t,e.replaceElement(r,o,n))})):Me}for(var s=[],c=[],u=[],l=-1,_=-1,p=-1,f=function(o){var c=r[o],u=t.elementFlags[o];if(8&u)if(58982400&c.flags||bc(c))v(c,8,null===(n=t.labeledElementDeclarations)||void 0===n?void 0:n[o]);else if(Ef(c)){var l=Zu(c);if(l.length+s.length>=1e4)return In(d,e.isPartOfTypeNode(d)?e.Diagnostics.Type_produces_a_tuple_type_that_is_too_large_to_represent:e.Diagnostics.Expression_produces_a_tuple_type_that_is_too_large_to_represent),{value:Me};e.forEach(l,(function(e,t){var r;return v(e,c.target.elementFlags[t],null===(r=c.target.labeledElementDeclarations)||void 0===r?void 0:r[t])}))}else v(df(c)&&ou(c,Ge)||Me,4,null===(i=t.labeledElementDeclarations)||void 0===i?void 0:i[o]);else v(c,u,null===(a=t.labeledElementDeclarations)||void 0===a?void 0:a[o])},g=0;g=0&&_i.fixedLength?function(e){var t=Ff(e);return t&&Ll(t)}(t)||Ul(e.emptyArray):Ul(Zu(t).slice(r,a),i.elementFlags.slice(r,a),!1,i.labeledElementDeclarations&&i.labeledElementDeclarations.slice(r,a))}function Gl(t){return id(e.append(e.arrayOf(t.target.fixedLength,(function(e){return y_(""+e)})),xd(t.target.readonly?Lt:Mt)))}function Yl(t,r){var n=e.findIndex(t.elementFlags,(function(e){return!(e&r)}));return n>=0?n:t.elementFlags.length}function Xl(t,r){return t.elementFlags.length-e.findLastIndex(t.elementFlags,(function(e){return!(e&r)}))-1}function Ql(e){return e.id}function $l(t,r){return e.binarySearch(t,r,Ql,e.compareValues)>=0}function Zl(t,r){var n=e.binarySearch(t,r,Ql,e.compareValues);return n<0&&(t.splice(~n,0,r),!0)}function ed(t,r,n){var i=n.flags;if(1048576&i)return td(t,r|(function(e){return!!(1048576&e.flags&&(e.aliasSymbol||e.origin))}(n)?1048576:0),n.types);if(!(131072&i))if(r|=205258751&i,465829888&i&&(r|=33554432),n===Oe&&(r|=8388608),!H&&98304&i)131072&e.getObjectFlags(n)||(r|=4194304);else{var a=t.length,o=a&&n.id>t[a-1].id?~a:e.binarySearch(t,n,Ql,e.compareValues);o<0&&t.splice(~o,0,n)}return r}function td(e,t,r){for(var n=0,i=r;n=0&&$l(o,Ke)&&e.orderedRemoveItemAt(o,c)}if((402664320&s||16384&s&&32768&s)&&function(t,r,n){for(var i=t.length;i>0;){var a=t[--i],o=a.flags;(402653312&o&&4&r||256&o&&8&r||2048&o&&64&r||8192&o&&4096&r||n&&32768&o&&16384&r||m_(a)&&$l(t,a.regularType))&&e.orderedRemoveItemAt(t,i)}}(o,s,!!(2&r)),128&s&&134217728&s&&function(t){var r=e.filter(t,wd);if(r.length)for(var n=t.length,i=function(){n--;var i=t[n];128&i.flags&&e.some(r,(function(e){return Ag(i,e)}))&&e.orderedRemoveItemAt(t,n)};n>0;)i()}(o),2===r&&(o=function(t,r){var n=Hu(t),i=Ce.get(n);if(i)return i;for(var a=r&&e.some(t,(function(e){return!!(524288&e.flags)&&!bc(e)&&kp(Sc(e))})),o=t.length,s=o,c=0;s>0;){var u=t[--s];if(a||469499904&u.flags)for(var l=61603840&u.flags?e.find(kc(u),(function(e){return vf(Yo(e))})):void 0,_=l&&g_(Yo(l)),p=0,f=t;p1e6)return null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","removeSubtypes_DepthLimit",{typeIds:t.map((function(e){return e.id}))}),void In(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent);if(c++,l&&61603840&g.flags){var m=ro(g,l.escapedName);if(m&&vf(m)&&g_(m)!==_)continue}if(Ip(u,g,xn)&&(!(1&e.getObjectFlags($o(u)))||!(1&e.getObjectFlags($o(g)))||dp(u,g))){e.orderedRemoveItemAt(t,s);break}}}}return Ce.set(n,t),t}(o,!!(524288&s)),!o))return Me;if(0===o.length)return 65536&s?4194304&s?qe:We:32768&s?4194304&s?Ke:ze:nt}if(!a&&1048576&s){var u=[];rd(u,t);for(var l=[],_=function(t){e.some(u,(function(e){return $l(e.types,t)}))||l.push(t)},p=0,f=o;p0;){var i=t[--r];if(134217728&i.flags)for(var a=0,o=n;a0;){var i=t[--n];(4&i.flags&&128&r||8&i.flags&&256&r||64&i.flags&&2048&r||4096&i.flags&&8192&r)&&e.orderedRemoveItemAt(t,n)}}(o,a),16777216&a&&524288&a&&e.orderedRemoveItemAt(o,e.findIndex(o,Fp)),262144&a&&(o[o.indexOf(Ke)]=Ve),0===o.length)return je;if(1===o.length)return o[0];var s=Hu(o)+Gu(r,n),c=me.get(s);if(!c){if(1048576&a)if(function(t){var r,n=e.findIndex(t,(function(t){return!!(65536&e.getObjectFlags(t))}));if(n<0)return!1;for(var i=n+1;i=0;o--)if(1048576&e[o].flags){var s=e[o].types,c=s.length;i[o]=s[a%c],a=Math.floor(a/c)}var u=_d(i);131072&u.flags||r.push(u)}return r}(o),d=e.some(l,(function(e){return!!(2097152&e.flags)}))?nd(2097152,o):void 0;c=id(l,1,r,n,d)}else c=function(e,t,r){var n=la(2097152);return n.objectFlags=Yu(e,98304),n.types=e,n.aliasSymbol=t,n.aliasTypeArguments=r,n}(o,r,n);me.set(s,c)}return c}function pd(t){return e.reduceLeft(t,(function(e,t){return 1048576&t.flags?e*t.types.length:131072&t.flags?0:e}),1)}function fd(t){var r=pd(t);return!(r>=1e5)||(null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","checkCrossProductUnion_DepthLimit",{typeIds:t.map((function(e){return e.id})),size:r}),In(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function gd(e,t){var r=la(4194304);return r.type=e,r.stringsOnly=t,r}function md(e,t){return t?e.resolvedStringIndexType||(e.resolvedStringIndexType=gd(e,!0)):e.resolvedIndexType||(e.resolvedIndexType=gd(e,!1))}function yd(t){return e.isPrivateIdentifier(t)?nt:e.isIdentifier(t)?y_(e.unescapeLeadingUnderscores(t.escapedText)):g_(e.isComputedPropertyName(t)?ev(t):Ux(t))}function vd(t,r,n){if(n||!(24&e.getDeclarationModifierFlagsFromSymbol(t))){var i=Gn(zs(t)).nameType;if(!i){var a=e.getNameOfDeclaration(t.valueDeclaration);i="default"===t.escapedName?y_("default"):a&&yd(a)||(e.isKnownSymbol(t)?void 0:y_(e.symbolName(t)))}if(i&&i.flags&r)return i}return nt}function hd(t,r){return!!(t.flags&r||2097152&t.flags&&e.some(t.types,(function(e){return hd(e,r)})))}function Dd(t,r,n){var i=n&&(7&e.getObjectFlags(t)||t.aliasSymbol)?function(e){var t=da(4194304);return t.type=e,t}(t):void 0,a=e.map(kc(t),(function(e){return vd(e,r)})),o=e.map(iu(t),(function(e){return e!==Nr&&hd(e.keyType,r)?e.keyType===He&&8&r?ut:e.keyType:nt}));return id(e.concatenate(a,o),1,void 0,void 0,i)}function xd(t,r,n){return void 0===r&&(r=ee),1048576&(t=Wc(t)).flags?_d(e.map(t.types,(function(e){return xd(e,r,n)}))):2097152&t.flags?id(e.map(t.types,(function(e){return xd(e,r,n)}))):58982400&t.flags||kf(t)||bc(t)&&(a=_c(i=t),!function t(r){return!!(68157439&r.flags)||(16777216&r.flags?r.root.isDistributive&&r.checkType===a:137363456&r.flags?e.every(r.types,t):8388608&r.flags?t(r.objectType)&&t(r.indexType):33554432&r.flags?t(r.substitute):!!(268435456&r.flags)&&t(r.type))}(fc(i)||a))?md(t,r):32&e.getObjectFlags(t)?function(e,t,r){var n=_c(e),i=pc(e),a=fc(e.target||e);if(!a&&!r)return i;var o=[];if(yc(e)){if(Md(i))return md(e,t);lc(Kc(vc(e)),8576,t,c)}else Sm(cc(i),c);Md(i)&&Sm(i,c);var s=r?Em(id(o),(function(e){return!(5&e.flags)})):id(o);return 1048576&s.flags&&1048576&i.flags&&Hu(s.types)===Hu(i.types)?i:s;function c(t){var r=a?X_(a,j_(e.mapper,n,t)):t;o.push(r===He?ut:r)}}(t,r,n):t===Oe?Oe:2&t.flags?nt:131073&t.flags?dt:Dd(t,(n?128:402653316)|(r?0:12584),r===ee&&!n);var i,a}function bd(e){if(ee)return e;var t=(fr||(fr=xl("Extract",2,!0)||Ae),fr===Ae?void 0:fr);return t?rl(t,[e,He]):He}function Sd(t,r){var n=e.findIndex(r,(function(e){return!!(1179648&e.flags)}));if(n>=0)return fd(r)?Fm(r[n],(function(i){return Sd(t,e.replaceElement(r,n,i))})):Me;if(e.contains(r,Oe))return Oe;var i=[],a=[],o=t[0];if(!function e(t,r){for(var n=0;n=0){if(a&&Cm(r,(function(e){return!e.target.hasRestElement}))&&!(16&o)){var _=Nd(a);Ef(r)?In(_,e.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2,Ra(r),el(r),e.unescapeLeadingUnderscores(u)):In(_,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(u),Ra(r))}return D(au(r,Ge)),Fm(r,(function(e){var t=Ff(e)||Ke;return 1&o?id([t,Ke]):t}))}}if(!(98304&n.flags)&&dx(n,402665900)){if(131073&r.flags)return r;var p=cu(r,n)||au(r,He);if(p)return 2&o&&p.keyType!==Ge?void(c&&In(c,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,Ra(n),Ra(t))):a&&p.keyType===He&&!dx(n,12)?(In(_=Nd(a),e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,Ra(n)),1&o?id([p.type,Ke]):p.type):(D(p),1&o?id([p.type,Ke]):p.type);if(131072&n.flags)return nt;if(Ed(r))return we;if(c&&!px(r)){if(Og(r)){if(Q&&384&n.flags)return mn.add(e.createDiagnosticForNode(c,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,Ra(r))),Ke;if(12&n.flags){var f=e.map(r.properties,(function(e){return Yo(e)}));return id(e.append(f,Ke))}}if(r.symbol===ce&&void 0!==u&&ce.exports.has(u)&&418&ce.exports.get(u).flags)In(c,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(u),Ra(r));else if(Q&&!z.suppressImplicitAnyIndexErrors&&!(128&o))if(void 0!==u&&th(u,r)){var g=Ra(r);In(c,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,u,g,g+"["+e.getTextOfNode(c.argumentExpression)+"]")}else if(ou(r,Ge))In(c.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var m=void 0;if(void 0!==u&&(m=ah(u,r)))void 0!==m&&In(c.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,u,Ra(r),m);else{var y=function(t,r,n){function i(e){var r=Cc(t,e);if(r){var i=kh(Yo(r));return!!i&&LD(i)>=1&&lp(n,wD(i,0))}return!1}var a=e.isAssignmentTarget(r)?"set":"get";if(!i(a))return;var o=e.tryGetPropertyAccessOrIdentifierToString(r.expression);void 0===o?o=a:o+="."+a;return o}(r,c,n);if(void 0!==y)In(c,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,Ra(r),y);else{var v=void 0;if(1024&n.flags)v=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+Ra(n)+"]",Ra(r));else if(8192&n.flags){var h=Li(n.symbol,c);v=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+h+"]",Ra(r))}else 128&n.flags||256&n.flags?v=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,Ra(r)):12&n.flags&&(v=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,Ra(n),Ra(r)));v=e.chainDiagnosticMessages(v,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,Ra(i),Ra(r)),mn.add(e.createDiagnosticForNodeFromMessageChain(c,v))}}}return}}if(Ed(r))return we;if(a){_=Nd(a);384&n.flags?In(_,e.Diagnostics.Property_0_does_not_exist_on_type_1,""+n.value,Ra(r)):12&n.flags?In(_,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,Ra(r),Ra(n)):In(_,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,Ra(n))}return no(n)?n:void 0;function D(t){t&&t.isReadonly&&c&&(e.isAssignmentTarget(c)||e.isDeleteTarget(c))&&In(c,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,Ra(r))}}function Nd(e){return 206===e.kind?e.argumentExpression:193===e.kind?e.indexType:161===e.kind?e.expression:e}function Pd(e){return!!(77&e.flags)}function wd(t){return!!(134217728&t.flags)&&e.every(t.types,Pd)}function Id(e){return!!Ld(e)}function Od(e){return!!(8388608&Ld(e))}function Md(e){return!!(16777216&Ld(e))}function Ld(t){return 3145728&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|e.reduceLeft(t.types,(function(e,t){return e|Ld(t)}),0)),25165824&t.objectFlags):33554432&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|Ld(t.substitute)|Ld(t.baseType)),25165824&t.objectFlags):(58982400&t.flags||bc(t)||kf(t)?8388608:0)|(465829888&t.flags&&!wd(t)?16777216:0)}function Rd(e){return!!(262144&e.flags&&e.isThisType)}function Bd(t,r){return 8388608&t.flags?function(t,r){var n=r?"simplifiedForWriting":"simplifiedForReading";if(t[n])return t[n]===St?t:t[n];t[n]=St;var i=Bd(t.objectType,r),a=Bd(t.indexType,r),o=function(t,r,n){if(1048576&r.flags){var i=e.map(r.types,(function(e){return Bd(zd(t,e),n)}));return n?_d(i):id(i)}}(i,a,r);if(o)return t[n]=o;if(!(465829888&a.flags)){var s=jd(i,a,r);if(s)return t[n]=s}if(kf(i)&&296&a.flags){var c=Nf(i,8&a.flags?0:i.target.fixedLength,0,r);if(c)return t[n]=c}if(bc(i))return t[n]=Fm(Kd(i,t.indexType),(function(e){return Bd(e,r)}));return t[n]=t}(t,r):16777216&t.flags?function(e,t){var r=e.checkType,n=e.extendsType,i=$d(e),a=Zd(e);if(131072&a.flags&&Hd(i)===Hd(r)){if(1&r.flags||lp(Z_(r),Z_(n)))return Bd(i,t);if(Jd(r,n))return nt}else if(131072&i.flags&&Hd(a)===Hd(r)){if(!(1&r.flags)&&lp(Z_(r),Z_(n)))return nt;if(1&r.flags||Jd(r,n))return Bd(a,t)}return e}(t,r):t}function jd(t,r,n){if(3145728&t.flags){var i=e.map(t.types,(function(e){return Bd(zd(e,r),n)}));return 2097152&t.flags||n?_d(i):id(i)}}function Jd(e,t){return!!(131072&id([tc(e,t),nt]).flags)}function Kd(e,t){var r=P_([_c(e)],[t]),n=R_(e.mapper,r);return X_(gc(e),n)}function zd(e,t,r,n,i,a){return void 0===r&&(r=0),Vd(e,t,r,n,i,a)||(n?Me:je)}function Ud(e,t){return Cm(e,(function(e){if(384&e.flags){var r=Bs(e);if(Zy(r)){var n=+r;return n>=0&&n=5e6)return null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","instantiateType_DepthLimit",{typeId:t.id,instantiationDepth:C,instantiationCount:b}),In(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),Me;x++,b++,C++;var a=function(t,r,n,i){var a=t.flags;if(262144&a)return w_(t,r);if(524288&a){var o=t.objectFlags;if(52&o){if(4&o&&!t.node){var s=t.resolvedTypeArguments,c=A_(s,r);return c!==s?ql(t.target,c):t}return 1024&o?function(t,r){var n=X_(t.mappedType,r);if(!(32&e.getObjectFlags(n)))return t;var i=X_(t.constraintType,r);if(!(4194304&i.flags))return t;var a=vg(X_(t.source,r),n,i);if(a)return a;return t}(t,r):function(t,r,n,i){var a=4&t.objectFlags?t.node:t.symbol.declarations[0],o=Yn(a),s=4&t.objectFlags?o.resolvedType:64&t.objectFlags?t.target:t,c=o.outerTypeParameters;if(!c){var u=ts(a,!0);if(cD(a)){var l=lu(a);u=e.addRange(u,l)}c=u||e.emptyArray;var d=4&t.objectFlags?[a]:t.symbol.declarations;c=(4&s.objectFlags||8192&s.symbol.flags||2048&s.symbol.flags)&&!s.aliasTypeArguments?e.filter(c,(function(t){return e.some(d,(function(e){return U_(t,e)}))})):c,o.outerTypeParameters=c}if(c.length){var _=R_(t.mapper,r),p=e.map(c,(function(e){return w_(e,_)})),f=n||t.aliasSymbol,g=n?i:A_(t.aliasTypeArguments,r),m=Hu(p)+Gu(f,g);s.instantiations||(s.instantiations=new e.Map,s.instantiations.set(Hu(c)+Gu(s.aliasSymbol,s.aliasTypeArguments),s));var y=s.instantiations.get(m);if(!y){var v=P_(c,p);y=4&s.objectFlags?$u(t.target,t.node,v,f,g):32&s.objectFlags?q_(s,v,f,g):G_(s,v,f,g),s.instantiations.set(m,y)}return y}return t}(t,r,n,i)}return t}if(3145728&a){var u=1048576&t.flags?t.origin:void 0,l=u&&3145728&u.flags?u.types:t.types,d=A_(l,r);if(d===l&&n===t.aliasSymbol)return t;var _=n||t.aliasSymbol,p=n?i:A_(t.aliasTypeArguments,r);return 2097152&a||u&&2097152&u.flags?_d(d,_,p):id(d,1,_,p)}if(4194304&a)return xd(X_(t.type,r));if(134217728&a)return Sd(t.texts,A_(t.types,r));if(268435456&a)return Cd(t.symbol,X_(t.type,r));if(8388608&a){_=n||t.aliasSymbol,p=n?i:A_(t.aliasTypeArguments,r);return zd(X_(t.objectType,r),X_(t.indexType,r),t.accessFlags,void 0,_,p)}if(16777216&a)return Y_(t,R_(t.mapper,r),n,i);if(33554432&a){var f=X_(t.baseType,r);if(8650752&f.flags)return cl(f,X_(t.substitute,r));var g=X_(t.substitute,r);return 3&g.flags||lp(Z_(f),Z_(g))?f:g}return t}(t,r,n,i);return C--,a}function $_(e){return 262143&e.flags?e:e.permissiveInstantiation||(e.permissiveInstantiation=X_(e,gt))}function Z_(e){return 262143&e.flags?e:(e.restrictiveInstantiation||(e.restrictiveInstantiation=X_(e,ft),e.restrictiveInstantiation.restrictiveInstantiation=e.restrictiveInstantiation),e.restrictiveInstantiation)}function ep(e,t){return Ju(e.keyType,X_(e.type,t),e.isReadonly,e.declaration)}function tp(t){switch(e.Debug.assert(168!==t.kind||e.isObjectLiteralMethod(t)),t.kind){case 212:case 213:case 168:case 255:return rp(t);case 204:return e.some(t.properties,tp);case 203:return e.some(t.elements,tp);case 221:return tp(t.whenTrue)||tp(t.whenFalse);case 220:return(56===t.operatorToken.kind||60===t.operatorToken.kind)&&(tp(t.left)||tp(t.right));case 294:return tp(t.initializer);case 211:return tp(t.expression);case 285:return e.some(t.properties,tp)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,tp);case 284:var r=t.initializer;return!!r&&tp(r);case 287:var n=t.expression;return!!n&&tp(n)}return!1}function rp(t){return(!e.isFunctionDeclaration(t)||e.isInJSFile(t)&&!!go(t))&&(e.hasContextSensitiveParameters(t)||function(t){return!t.typeParameters&&!e.getEffectiveReturnTypeNode(t)&&!!t.body&&234!==t.body.kind&&tp(t.body)}(t))}function np(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||e.isFunctionExpressionOrArrowFunction(t)||e.isObjectLiteralMethod(t))&&rp(t)}function ip(t){if(524288&t.flags){var r=Sc(t);if(r.constructSignatures.length||r.callSignatures.length){var n=pa(16,t.symbol);return n.members=r.members,n.properties=r.properties,n.callSignatures=e.emptyArray,n.constructSignatures=e.emptyArray,n.indexInfos=e.emptyArray,n}}else if(2097152&t.flags)return _d(e.map(t.types,ip));return t}function ap(e,t){return Ip(e,t,Tn)}function op(e,t){return Ip(e,t,Tn)?-1:0}function sp(e,t){return Ip(e,t,bn)?-1:0}function cp(e,t){return Ip(e,t,Dn)?-1:0}function up(e,t){return Ip(e,t,Dn)}function lp(e,t){return Ip(e,t,bn)}function dp(t,r){return 1048576&t.flags?e.every(t.types,(function(e){return dp(e,r)})):1048576&r.flags?e.some(r.types,(function(e){return dp(t,e)})):58982400&t.flags?dp(Oc(t)||je,r):r===Pt?!!(67633152&t.flags):r===wt?!!(524288&t.flags)&&im(t):Zo(t,$o(r))||sf(r)&&!cf(r)&&dp(t,Lt)}function _p(e,t){return Ip(e,t,Sn)}function pp(e,t){return _p(e,t)||_p(t,e)}function fp(e,t,r,n,i,a){return Lp(e,t,bn,r,n,i,a)}function gp(e,t,r,n,i,a){return mp(e,t,bn,r,n,i,a,void 0)}function mp(e,t,r,n,i,a,o,s){return!!Ip(e,t,r)||(!n||!vp(i,e,t,r,a,o,s))&&Lp(e,t,r,n,a,o,s)}function yp(t){return!!(16777216&t.flags||2097152&t.flags&&e.some(t.types,yp))}function vp(t,r,i,o,s,c,u){if(!t||yp(i))return!1;if(!Lp(r,i,o,void 0)&&function(t,r,n,i,a,o,s){for(var c=Zc(r,0),u=Zc(r,1),l=0,d=[u,c];l1,v=Em(g,mf),h=Em(g,(function(e){return!mf(e)}));if(y){if(v!==nt){var D=Ul(uv(d,0)),x=function(t,r){var n,i,o,s,c;return a(this,(function(a){switch(a.label){case 0:if(!e.length(t.children))return[2];n=0,i=0,a.label=1;case 1:return iu:LD(t)>u))return 0;t.typeParameters&&t.typeParameters!==r.typeParameters&&(t=Nh(t,r=Mu(r),void 0,s));var l=MD(t),d=jD(t),_=jD(r);if((d||_)&&X_(d||_,c),d&&_&&l!==u)return 0;var p=r.declaration?r.declaration.kind:0,f=!(3&n)&&G&&168!==p&&167!==p&&170!==p,g=-1,m=Tu(t);if(m&&m!==rt){var y=Tu(r);if(y){if(!(S=!f&&s(m,y,!1)||s(y,m,i)))return i&&a(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;g&=S}}for(var v=d||_?Math.min(l,u):Math.max(l,u),h=d||_?v-1:-1,D=0;D=LD(t)&&D0||jT(u));if(g&&!function(e,t,r){for(var n=0,i=kc(e);n0&&J(ku(h[0]),d,1,!1)||D.length>0&&J(ku(D[0]),d,1,!1)?L(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,y,v):L(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,y,v)}return 0}K(u,d);var x=0,S=I();if((1048576&u.flags||1048576&d.flags)&&Pm(u)*Pm(d)<4?x=Y(u,d,o,8|c):(3145728&u.flags||3145728&d.flags)&&(x=G(u,d,o,8|c,n)),x||1048576&u.flags||!(469499904&u.flags||469499904&d.flags)||(x=G(u,d,o,c,n))&&w(S),!x&&2359296&u.flags){var C=function(t,r){for(var n,i=!1,a=0,o=t;a0;if(p&&b--,524288&n.flags&&524288&i.flags){var f=l;B(n,i,o),l!==f&&(p=!!l)}if(524288&n.flags&&131068&i.flags)!function(t,r){var n=Ja(t.symbol)?Ra(t,t.symbol.valueDeclaration):Ra(t),i=Ja(r.symbol)?Ra(r,r.symbol.valueDeclaration):Ra(r);(Rt===t&&He===r||Bt===t&&Ge===r||jt===t&&et===r||kl(!1)===t&&tt===r)&&L(e.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,i,n)}(n,i);else if(n.symbol&&524288&n.flags&&Pt===n)L(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(u&&2097152&i.flags){var g=i.types,y=_v(N.IntrinsicAttributes,a),v=_v(N.IntrinsicClassAttributes,a);if(!io(y)&&!io(v)&&(e.contains(g,y)||e.contains(g,v)))return c}else l=Xc(l,r);if(!s&&p)return m=[n,i],c;R(s,n,i)}}}function K(t,r){if(e.tracing&&3145728&t.flags&&3145728&r.flags){var n=t,i=r;if(n.objectFlags&i.objectFlags&65536)return;var o=n.types.length,s=i.types.length;o*s>1e6&&e.tracing.instant("checkTypes","traceUnionsOrIntersectionsTooLarge_DepthLimit",{sourceId:t.id,sourceSize:o,targetId:r.id,targetSize:s,pos:null==a?void 0:a.pos,end:null==a?void 0:a.end})}}function U(e,t){for(var r=-1,n=0,i=e.types;n=o.types.length&&a.length%o.types.length==0){var u=J(c,o.types[s%o.types.length],3,!1,void 0,n);if(u){i&=u;continue}}var l=J(c,t,1,r,void 0,n);if(!l)return 0;i&=l}return i}function G(t,r,n,a,o){if(x)return 0;var s=Xp(t,r,a|(T?16:0),i),c=i.get(s);if(void 0!==c&&(!(n&&2&c)||4&c)){if(Sr){var u=24&c;8&u&&X_(t,O_(X)),16&u&&X_(t,O_($))}return 1&c?-1:0}if(p){for(var l=s.split(",").map((function(t){return t.replace(/-\d+/g,(function(t,r){var n=e.length(s.slice(0,r).match(/[-=]/g)||void 0);return"=".concat(n)}))})).join(","),d=0;d25)return null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","typeRelatedToDiscriminatedType_DepthLimit",{sourceId:t.id,targetId:r.id,numCombinations:a}),0}for(var c=new Array(n.length),u=new e.Set,l=0;l5?L(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,Ra(t),Ra(n),e.map(m.slice(0,4),(function(e){return Ma(e)})).join(", "),m.length-4):L(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,Ra(t),Ra(n),e.map(m,(function(e){return Ma(e)})).join(", ")),s&&l&&b++)}function ne(t,r,n,a,o){if(i===Tn)return function(e,t,r){if(!(524288&e.flags&&524288&t.flags))return 0;var n=Z(Tc(e),r),i=Z(Tc(t),r);if(n.length!==i.length)return 0;for(var a=-1,o=0,s=n;o=u-y)?t.target.elementFlags[D]:4,b=r.target.elementFlags[h];if(8&b&&!(8&x))return n&&L(e.Diagnostics.Source_provides_no_match_for_variadic_element_at_position_0_in_target,h),0;if(8&x&&!(12&b))return n&&L(e.Diagnostics.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,D,h),0;if(1&b&&!(1&x))return n&&L(e.Diagnostics.Source_provides_no_match_for_required_element_at_position_0_in_target,h),0;if(!(v&&((12&x||12&b)&&(v=!1),v&&(null==a?void 0:a.has(""+h))))){var S=Ef(t)?h=u-y?Vf(f[D],!!(x&b&2)):Nf(t,m,y)||nt:f[0],T=g[h];if(!(B=J(S,8&x&&4&b?Ll(T):Vf(T,!!(2&b)),3,n,void 0,o)))return n&&(u>1||c>1)&&(h=u-y||c-m-y==1?O(e.Diagnostics.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,D,h):O(e.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,m,c-y-1,h)),0;s&=B}}return s}if(12&r.target.combinedFlags)return 0}var C=!(i!==Dn&&i!==xn||Og(t)||ff(t)||Ef(t)),E=bg(t,r,C,!1);if(E)return n&&te(t,r,E,C),0;if(Og(r))for(var k=0,A=Z(kc(t),a);k0||Zc(t,n=1).length>0)return e.find(r.types,(function(e){return Zc(e,n).length>0}))}(t,r)||function(t,r){for(var n,i=0,a=0,o=r.types;a=i&&(n=s,i=u)}else vf(c)&&1>=i&&(n=s,i=1)}return n}(t,r)}function Kp(t,r,n,i,a){for(var o=t.types.map((function(e){})),s=0,c=r;s0&&e.every(r.properties,(function(e){return!!(16777216&e.flags)}))}return!!(2097152&t.flags)&&e.every(t.types,zp)}function Up(t,r,n){var i=Xu(t,e.map(t.typeParameters,(function(e){return e===r?n:e})));return i.objectFlags|=4096,i}function Vp(e){var t=Gn(e);return qp(t.typeParameters,t,(function(r,n,i){var a=rl(e,A_(t.typeParameters,I_(n,i)));return a.aliasTypeArgumentsContainsMarker=!0,a}))}function qp(t,r,n){var i,a,o;void 0===t&&(t=e.emptyArray);var s=r.variances;if(!s){null===e.tracing||void 0===e.tracing||e.tracing.push("checkTypes","getVariancesWorker",{arity:t.length,id:null!==(o=null!==(i=r.id)&&void 0!==i?i:null===(a=r.declaredType)||void 0===a?void 0:a.id)&&void 0!==o?o:-1}),r.variances=e.emptyArray,s=[];for(var c=function(e){var t=!1,i=!1,a=Sr;Sr=function(e){return e?i=!0:t=!0};var o=n(r,e,Ct),c=n(r,e,Et),u=(lp(c,o)?1:0)|(lp(o,c)?2:0);3===u&&lp(n(r,e,Tr),o)&&(u=4),Sr=a,(t||i)&&(t&&(u|=8),i&&(u|=16)),s.push(u)},u=0,l=t;u":n+="-"+o.id}return n}function Xp(e,t,r,n){if(n===Tn&&e.id>t.id){var i=e;e=t,t=i}var a=r?":"+r:"";if(Gp(e)&&Gp(t)){var o=[];return Yp(e,o)+","+Yp(t,o)+a}return e.id+","+t.id+a}function Qp(t,r){if(!(6&e.getCheckFlags(t)))return r(t);for(var n=0,i=t.containingType.types;n=n)for(var i=tf(e),a=0,o=0;o=n)return!0;return!1}function tf(t){if(524288&t.flags&&!Mg(t)){if(e.getObjectFlags(t)&&t.node)return t.node;if(t.symbol&&!(16&e.getObjectFlags(t)&&32&t.symbol.flags))return t.symbol;if(Ef(t))return t.target}if(262144&t.flags)return t.symbol;if(8388608&t.flags){do{t=t.objectType}while(8388608&t.flags);return t}return 16777216&t.flags?t.root:t}function rf(e,t){return 0!==nf(e,t,op)}function nf(t,r,n){if(t===r)return-1;var i=24&e.getDeclarationModifierFlagsFromSymbol(t);if(i!==(24&e.getDeclarationModifierFlagsFromSymbol(r)))return 0;if(i){if(GS(t)!==GS(r))return 0}else if((16777216&t.flags)!=(16777216&r.flags))return 0;return ax(t)!==ax(r)?0:n(Yo(t),Yo(r))}function af(t,r,n,i,a,o){if(t===r)return-1;if(!function(e,t,r){var n=MD(e),i=MD(t),a=LD(e),o=LD(t),s=RD(e),c=RD(t);return n===i&&a===o&&s===c||!!(r&&a<=o)}(t,r,n))return 0;if(e.length(t.typeParameters)!==e.length(r.typeParameters))return 0;if(r.typeParameters){for(var s=P_(t.typeParameters,r.typeParameters),c=0;ce.length(r.typeParameters)&&(a=Us(a,e.last(Zu(t)))),t.objectFlags|=67108864,t.cachedEquivalentBaseType=a}}}function pf(e){return H?e===ot:e===ze}function ff(e){var t=lf(e);return!!t&&pf(t)}function gf(e){return Ef(e)||!!Qc(e,"0")}function mf(e){return df(e)||gf(e)}function yf(e){return!(240512&e.flags)}function vf(e){return!!(109440&e.flags)}function hf(t){return 2097152&t.flags?e.some(t.types,vf):!!(109440&t.flags)}function Df(t){return!!(16&t.flags)||(1048576&t.flags?!!(1024&t.flags)||e.every(t.types,vf):vf(t))}function xf(e){return 1024&e.flags?hs(e):128&e.flags?He:256&e.flags?Ge:2048&e.flags?Ye:512&e.flags?et:1048576&e.flags?Fm(e,xf):e}function bf(e){return 1024&e.flags&&m_(e)?hs(e):128&e.flags&&m_(e)?He:256&e.flags&&m_(e)?Ge:2048&e.flags&&m_(e)?Ye:512&e.flags&&m_(e)?et:1048576&e.flags?Fm(e,bf):e}function Sf(e){return 8192&e.flags?tt:1048576&e.flags?Fm(e,Sf):e}function Tf(e,t){return Fx(e,t)||(e=Sf(bf(e))),e}function Cf(e,t,r,n){e&&vf(e)&&(e=Tf(e,t?PS(r,t,n):void 0));return e}function Ef(t){return!!(4&e.getObjectFlags(t)&&8&t.target.objectFlags)}function kf(e){return Ef(e)&&!!(8&e.target.combinedFlags)}function Af(e){return kf(e)&&1===e.target.elementFlags.length}function Ff(e){return Nf(e,e.target.fixedLength)}function Nf(e,t,r,n){void 0===r&&(r=0),void 0===n&&(n=!1);var i=el(e)-r;if(t-1&&(ei(o,o.name.escapedText,788968,void 0,o.name.escapedText,!0)||o.name.originalKeywordKind&&e.isTypeNodeKind(o.name.originalKeywordKind))){var s="arg"+o.parent.parameters.indexOf(o),c=e.declarationNameToString(o.name)+(o.dotDotDotToken?"[]":"");return void Mn(Q,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,s,c)}a=t.dotDotDotToken?Q?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:Q?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 202:if(a=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!Q)return;break;case 315:return void In(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);case 255:case 168:case 167:case 171:case 172:case 212:case 213:if(Q&&!t.name)return void In(t,3===n?e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);a=Q?3===n?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 194:return void(Q&&In(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type));default:a=Q?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}Mn(Q,t,a,e.declarationNameToString(e.getNameOfDeclaration(t)),i)}}function ag(t,r,n){!(i&&Q&&131072&e.getObjectFlags(r))||n&&Hy(t)||ng(r)||ig(t,r,n)}function og(e,t,r){var n=MD(e),i=MD(t),a=BD(e),o=BD(t),s=o?i-1:i,c=a?s:Math.min(n,s),u=Tu(e);if(u){var l=Tu(t);l&&r(u,l)}for(var d=0;d0){for(var y=p,v=f;!((v=h(y).indexOf(m,v))>=0);){if(++y===e.length)return;v=0}D(y,v),f+=m.length}else if(f0)for(var b=0,S=r;be.target.minLength||!t.target.hasRestElement&&(e.target.hasRestElement||t.target.fixedLength1){var r=e.filter(t,Mg);if(r.length){var n=id(r,2);return e.concatenate(e.filter(t,(function(e){return!Mg(e)})),[n])}}return t}(t.candidates),i=function(e){var t=Fc(e);return!!t&&lx(16777216&t.flags?Pc(t):t,406978556)}(t.typeParameter),a=!i&&t.topLevel&&(t.isFixed||!yg(ku(r),t.typeParameter)),o=i?e.sameMap(n,g_):a?e.sameMap(n,bf):n,s=416&t.priority?id(o,2):function(t){if(!H)return of(t);var r=e.filter(t,(function(e){return!(98304&e.flags)}));return r.length?Rf(of(r),98304&wf(t)):id(t,2)}(o);return tg(s)}function Bg(t,r){var n,i,a=t.inferences[r];if(!a.inferredType){var o=void 0,s=t.signature;if(s){var c=a.candidates?Rg(a,s):void 0;if(a.contraCandidates)o=!c||131072&c.flags||!e.some(a.contraCandidates,(function(e){return up(c,e)}))?Lg(a):c;else if(c)o=c;else if(1&t.flags)o=it;else{var u=jc(a.typeParameter);u&&(o=X_(u,(n=function(t,r){return O_((function(n){return e.findIndex(t.inferences,(function(e){return e.typeParameter===n}))>=r?je:n}))}(t,r),i=t.nonFixingMapper,n?M_(4,n,i):i)))}}else o=Sg(a);a.inferredType=o||jg(!!(2&t.flags));var l=Fc(a.typeParameter);if(l){var d=X_(l,t.nonFixingMapper);o&&t.compareTypes(o,Us(d,o))||(a.inferredType=o=d)}}return a.inferredType}function jg(e){return e?we:je}function Jg(e){for(var t=[],r=0;r=10&&2*i>=t.length?n:void 0}(r,n);t.keyPropertyName=i?n:"",t.constituentMap=i}return t.keyPropertyName.length?t.keyPropertyName:void 0}}function $g(e,t){var r,n=null===(r=e.constituentMap)||void 0===r?void 0:r.get(Ql(g_(t)));return n!==je?n:void 0}function Zg(e,t){var r=Qg(e),n=r&&ro(t,r);return n&&$g(e,n)}function em(e,t){return qg(e,t)||Hg(e,t)}function tm(e,t){if(e.arguments)for(var r=0,n=e.arguments;r=0&&r.parameterIndex=n&&c-1){var l=a.filter((function(e){return void 0!==e})),d=c=2||0==(34&r.flags)||!r.valueDeclaration||e.isSourceFile(r.valueDeclaration)||291===r.valueDeclaration.parent.kind)return;var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration),i=function(t,r){return!!e.findAncestor(t,(function(t){return t===r?"quit":e.isFunctionLike(t)||t.parent&&e.isPropertyDeclaration(t.parent)&&!e.hasStaticModifier(t.parent)&&t.parent.initializer===t}))}(t,n),a=uy(n);if(a){if(i){var o=!0;if(e.isForStatement(n))if((l=e.getAncestor(r.valueDeclaration,254))&&l.parent===n){var s=function(t,r){return e.findAncestor(t,(function(e){return e===r?"quit":e===r.initializer||e===r.condition||e===r.incrementor||e===r.statement}))}(t.parent,n);if(s){var c=Yn(s);c.flags|=131072;var u=c.capturedBlockScopeBindings||(c.capturedBlockScopeBindings=[]);e.pushIfUnique(u,r),s===n.initializer&&(o=!1)}}o&&(Yn(a).flags|=65536)}var l;if(e.isForStatement(n))(l=e.getAncestor(r.valueDeclaration,254))&&l.parent===n&&function(t,r){var n=t;for(;211===n.parent.kind;)n=n.parent;var i=!1;if(e.isAssignmentTarget(n))i=!0;else if(218===n.parent.kind||219===n.parent.kind){var a=n.parent;i=45===a.operator||46===a.operator}if(!i)return!1;return!!e.findAncestor(n,(function(e){return e===r?"quit":e===r.statement}))}(t,n)&&(Yn(r.valueDeclaration).flags|=4194304);Yn(r.valueDeclaration).flags|=524288}i&&(Yn(r.valueDeclaration).flags|=262144)}(t,n);var c=Yo(a),u=e.getAssignmentTargetKind(t);if(u){if(!(3&a.flags||e.isInJSFile(t)&&512&a.flags))return In(t,384&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_enum:32&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_class:1536&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_namespace:16&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_function:2097152&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_import:e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,Ma(n)),Me;if(ax(a))return 3&a.flags?In(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,Ma(n)):In(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,Ma(n)),Me}var l=2097152&a.flags;if(3&a.flags){if(1===u)return c}else{if(!l)return c;s=_i(n)}if(!s)return c;c=ay(c,t,r);for(var d=163===e.getRootDeclaration(s).kind,_=Zm(s),p=Zm(t),f=p!==_,g=t.parent&&t.parent.parent&&e.isSpreadAssignment(t.parent)&&_m(t.parent.parent),m=134217728&n.flags;p!==_&&(212===p.kind||213===p.kind||e.isObjectLiteralOrClassExpressionMethodOrAccessor(p))&&(ry(a)&&c!==Ut||d&&!ey(a));)p=Zm(p);var y=d||l||f||g||m||e.isBindingElement(s)||c!==Ie&&c!==Ut&&(!H||0!=(16387&c.flags)||Ug(t)||274===t.parent.kind)||229===t.parent.kind||253===s.kind&&s.exclamationToken||8388608&s.flags,v=y?d?function(e,t){if(Qa(t.symbol,2)){var r=H&&163===t.kind&&t.initializer&&32768&If(e)&&!(32768&If(Ux(t.initializer)));return eo(),r?om(e,524288):e}return Ho(t.symbol),e}(c,s):c:c===Ie||c===Ut?Ke:Bf(c),h=$m(t,c,v,p);if(zm(t)||c!==Ie&&c!==Ut){if(!y&&!(32768&If(c))&&32768&If(h))return In(t,e.Diagnostics.Variable_0_is_used_before_being_assigned,Ma(n)),c}else if(h===Ie||h===Ut)return Q&&(In(e.getNameOfDeclaration(s),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,Ma(n),Ra(h)),In(t,e.Diagnostics.Variable_0_implicitly_has_an_1_type,Ma(n),Ra(h))),Yb(h);return u?xf(h):h}function uy(t){return e.findAncestor(t,(function(t){return!t||e.nodeStartsNewLexicalEnvironment(t)?"quit":e.isIterationStatement(t,!1)}))}function ly(e,t){(Yn(e).flags|=2,166===t.kind||170===t.kind)?Yn(t.parent).flags|=4:Yn(t).flags|=4}function dy(t){return e.isSuperCall(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,dy)}function _y(e){return us(Ss(ta(e)))===We}function py(t,r,n){var i=r.parent;e.getClassExtendsHeritageElement(i)&&!_y(i)&&t.flowNode&&!Xm(t.flowNode,!1)&&In(t,n)}function fy(t){var r=Ug(t),n=e.getThisContainer(t,!0),i=!1;switch(170===n.kind&&py(t,n,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),213===n.kind&&(n=e.getThisContainer(n,!1),i=!0),function(t,r){e.isPropertyDeclaration(r)&&e.hasStaticModifier(r)&&r.initializer&&e.textRangeContainsPositionInclusive(r.initializer,t.pos)&&e.length(r.parent.decorators)&&In(t,e.Diagnostics.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class)}(t,n),n.kind){case 260:In(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 259:In(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 170:my(t,n)&&In(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 161:In(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}!r&&i&&U<2&&ly(t,n);var a=gy(t,!0,n);if($){var o=Yo(ce);if(a===o&&i)In(t,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!a){var s=In(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(n)){var c=gy(n);c&&c!==o&&e.addRelatedInfo(s,e.createDiagnosticForNode(n,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return a||we}function gy(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=e.getThisContainer(t,!1));var i=e.isInJSFile(t);if(e.isFunctionLike(n)&&(!Sy(t)||e.getThisParameter(n))){var a=Tu(hu(n))||i&&function(t){var r=e.getJSDocType(t);if(r&&315===r.kind){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&"this"===n.parameters[0].name.escapedText)return C_(n.parameters[0].type)}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression)return C_(i.typeExpression)}(n);if(!a){var o=function(t){if(212===t.kind&&e.isBinaryExpression(t.parent)&&3===e.getAssignmentDeclarationKind(t.parent))return t.parent.left.expression.expression;if(168===t.kind&&204===t.parent.kind&&e.isBinaryExpression(t.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.left.expression;if(212===t.kind&&294===t.parent.kind&&204===t.parent.parent.kind&&e.isBinaryExpression(t.parent.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.left.expression;if(212===t.kind&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&("value"===t.parent.name.escapedText||"get"===t.parent.name.escapedText||"set"===t.parent.name.escapedText)&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&("value"===t.name.escapedText||"get"===t.name.escapedText||"set"===t.name.escapedText)&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.arguments[0].expression}(n);if(i&&o){var s=Ux(o).symbol;s&&s.members&&16&s.flags&&(a=Ss(s).thisType)}else cD(n)&&(a=Ss(ea(n.symbol)).thisType);a||(a=Dy(n))}if(a)return $m(t,a)}if(e.isClassLike(n.parent)){var c=ta(n.parent);return $m(t,e.isStatic(n)?Yo(c):Ss(c).thisType)}if(e.isSourceFile(n)){if(n.commonJsModuleIndicator){var u=ta(n);return u&&Yo(u)}if(n.externalModuleIndicator)return Ke;if(r)return Yo(ce)}}function my(t,r){return!!e.findAncestor(t,(function(t){return e.isFunctionLikeDeclaration(t)?"quit":163===t.kind&&t.parent===r}))}function yy(t){var r=207===t.parent.kind&&t.parent.expression===t,n=e.getSuperContainer(t,!0),i=n,a=!1;if(!r)for(;i&&213===i.kind;)i=e.getSuperContainer(i,!0),a=U<2;var o=function(t){if(!t)return!1;if(r)return 170===t.kind;if(e.isClassLike(t.parent)||204===t.parent.kind)return e.isStatic(t)?168===t.kind||167===t.kind||171===t.kind||172===t.kind||166===t.kind||169===t.kind:168===t.kind||167===t.kind||171===t.kind||172===t.kind||166===t.kind||165===t.kind||170===t.kind;return!1}(i),s=0;if(!o){var c=e.findAncestor(t,(function(e){return e===i?"quit":161===e.kind}));return c&&161===c.kind?In(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?In(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):i&&i.parent&&(e.isClassLike(i.parent)||204===i.parent.kind)?In(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):In(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),Me}if(r||170!==n.kind||py(t,i,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),e.isStatic(i)||r?(s=512,!r&&U>=2&&U<=8&&(e.isPropertyDeclaration(i)||e.isClassStaticBlockDeclaration(i))&&e.forEachEnclosingBlockScopeContainer(t.parent,(function(t){e.isSourceFile(t)&&!e.isExternalOrCommonJsModule(t)||(Yn(t).flags|=134217728)}))):s=256,Yn(t).flags|=s,168===i.kind&&e.hasSyntacticModifier(i,256)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?Yn(i).flags|=4096:Yn(i).flags|=2048),a&&ly(t.parent,i),204===i.parent.kind)return U<2?(In(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),Me):we;var u=i.parent;if(!e.getClassExtendsHeritageElement(u))return In(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),Me;var l=Ss(ta(u)),d=l&&ds(l)[0];return d?170===i.kind&&my(t,i)?(In(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),Me):512===s?us(l):Us(d,l.thisType):Me}function vy(t){return 4&e.getObjectFlags(t)&&t.target===Kt?Zu(t)[0]:void 0}function hy(t){return Fm(t,(function(t){return 2097152&t.flags?e.forEach(t.types,vy):vy(t)}))}function Dy(t){if(213!==t.kind){if(np(t)){var r=Gy(t);if(r){var n=r.thisParameter;if(n)return Yo(n)}}var i=e.isInJSFile(t);if($||i){var a=function(e){return 168!==e.kind&&171!==e.kind&&172!==e.kind||204!==e.parent.kind?212===e.kind&&294===e.parent.kind?e.parent.parent:void 0:e.parent}(t);if(a){for(var o=By(a),s=a,c=o;c;){var u=hy(c);if(u)return X_(u,fg(zy(a)));if(294!==s.parent.kind)break;c=By(s=s.parent.parent)}return tg(o?jf(o):Cx(a))}var l=e.walkUpParenthesizedExpressions(t.parent);if(220===l.kind&&63===l.operatorToken.kind){var d=l.left;if(e.isAccessExpression(d)){var _=d.expression;if(i&&e.isIdentifier(_)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&zg(_)===p.symbol)return}return tg(Cx(_))}}}}}function xy(t){var r=t.parent;if(np(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=Jh(n),a=r.parameters.indexOf(t);if(t.dotDotDotToken)return Oh(i,a,i.length,we,void 0,0);var o=Yn(n),s=o.resolvedSignature;o.resolvedSignature=Er;var c=a=i?zd(Yo(n.parameters[i]),v_(r-i),256):wD(n,r)}function Ay(t,r){var n=t.parent,i=n.left,a=n.operatorToken,o=n.right;switch(a.kind){case 63:case 76:case 75:case 77:return t===o?function(t){var r,n,i=e.getAssignmentDeclarationKind(t);switch(i){case 0:case 4:var a=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t))return zg(t);if(e.isPropertyAccessExpression(t)){var r=Jx(t.expression);return e.isPrivateIdentifier(t.name)?n(r,t.name):Qc(r,t.name.escapedText)}return;function n(e,t){var r=Vv(t.escapedText,t);return r&&Hv(e,r)}}(t.left),o=a&&a.valueDeclaration;return o&&(e.isPropertyDeclaration(o)||e.isPropertySignature(o))?(c=e.getEffectiveTypeAnnotationNode(o))&&X_(C_(c),Gn(a).mapper)||o.initializer&&Jx(t.left):0===i?Jx(t.left):Ny(t);case 5:if(Fy(t,i))return Ny(t);if(t.left.symbol){var s=t.left.symbol.valueDeclaration;if(!s)return;var c,u=e.cast(t.left,e.isAccessExpression);if(c=e.getEffectiveTypeAnnotationNode(s))return C_(c);if(e.isIdentifier(u.expression)){var l=u.expression,d=ei(l,l.escapedText,111551,void 0,l.escapedText,!0);if(d){var _=d.valueDeclaration&&e.getEffectiveTypeAnnotationNode(d.valueDeclaration);if(_){var p=e.getElementOrPropertyAccessName(u);if(void 0!==p)return Py(C_(_),p)}return}}return e.isInJSFile(s)?void 0:Jx(t.left)}return Jx(t.left);case 1:case 6:case 3:var f=null===(r=t.left.symbol)||void 0===r?void 0:r.valueDeclaration;case 2:f||(f=null===(n=t.symbol)||void 0===n?void 0:n.valueDeclaration);var g=f&&e.getEffectiveTypeAnnotationNode(f);return g?C_(g):void 0;case 7:case 8:case 9:return e.Debug.fail("Does not apply");default:return e.Debug.assertNever(i)}}(n):void 0;case 56:case 60:var s=Ky(n,r);return t===o&&(s&&s.pattern||!s&&!e.isDefaultedExpandoInitializer(n))?Jx(i):s;case 55:case 27:return t===o?Ky(n,r):void 0;default:return}}function Fy(t,r){if(void 0===r&&(r=e.getAssignmentDeclarationKind(t)),4===r)return!0;if(!e.isInJSFile(t)||5!==r||!e.isIdentifier(t.left.expression))return!1;var n=t.left.expression.escapedText,i=ei(t.left,n,111551,void 0,void 0,!0,!0);return e.isThisInitializedDeclaration(null==i?void 0:i.valueDeclaration)}function Ny(t){if(!t.symbol)return Jx(t.left);if(t.symbol.valueDeclaration){var r=e.getEffectiveTypeAnnotationNode(t.symbol.valueDeclaration);if(r){var n=C_(r);if(n)return n}}var i=e.cast(t.left,e.isAccessExpression);if(e.isObjectLiteralMethod(e.getThisContainer(i.expression,!1))){var a=fy(i.expression),o=e.getElementOrPropertyAccessName(i);return void 0!==o&&Py(a,o)||void 0}}function Py(t,r){return Fm(t,(function(t){var n,i;if(bc(t)){var a=pc(t),o=Oc(a)||a,s=y_(e.unescapeLeadingUnderscores(r));if(lp(s,o))return Kd(t,s)}else if(3670016&t.flags){var c=Qc(t,r);if(c)return i=c,262144&e.getCheckFlags(i)&&!i.type&&$a(i,0)>=0?void 0:Yo(c);if(Ef(t)){var u=Ff(t);if(u&&Zy(r)&&+r>=0)return u}return null===(n=tu(nu(t),y_(e.unescapeLeadingUnderscores(r))))||void 0===n?void 0:n.type}}),!0)}function wy(t,r){var n=t.parent,i=e.isPropertyAssignment(t)&&by(t);if(i)return i;var a=By(n,r);if(a){if(Rs(t))return Py(a,ta(t).escapedName);if(t.name){var o=yd(t.name);return Fm(a,(function(e){var t;return null===(t=tu(nu(e),o))||void 0===t?void 0:t.type}),!0)}}}function Iy(e,t){return e&&(Py(e,""+t)||Fm(e,(function(e){return uS(1,e,Ke,void 0,!1)}),!0))}function Oy(t){var r=t.parent;return e.isJsxAttributeLike(r)?Ky(t):e.isJsxElement(r)?function(t,r){var n=By(t.openingElement.tagName),i=yv(gv(t));if(n&&!no(n)&&i&&""!==i){var a=e.getSemanticJsxChildren(t.children),o=a.indexOf(r),s=Py(n,i);return s&&(1===a.length?s:Fm(s,(function(e){return df(e)?zd(e,v_(o)):e}),!0))}}(r,t):void 0}function My(t){if(e.isJsxAttribute(t)){var r=By(t.parent);if(!r||no(r))return;return Py(r,t.name.escapedText)}return Ky(t.parent)}function Ly(e){switch(e.kind){case 10:case 8:case 9:case 14:case 110:case 95:case 104:case 79:case 152:return!0;case 205:case 211:return Ly(e.expression);case 287:return!e.expression||Ly(e.expression)}return!1}function Ry(t,r){return function(t,r){var n=Qg(t),i=n&&e.find(r.properties,(function(e){return e.symbol&&294===e.kind&&e.symbol.escapedName===n&&Ly(e.initializer)})),a=i&&zx(i.initializer);return a&&$g(t,a)}(r,t)||Kp(r,e.concatenate(e.map(e.filter(t.properties,(function(e){return!!e.symbol&&294===e.kind&&Ly(e.initializer)&&Yg(r,e.symbol.escapedName)})),(function(e){return[function(){return zx(e.initializer)},e.symbol.escapedName]})),e.map(e.filter(kc(r),(function(e){var n;return!!(16777216&e.flags)&&!!(null===(n=null==t?void 0:t.symbol)||void 0===n?void 0:n.members)&&!t.symbol.members.has(e.escapedName)&&Yg(r,e.escapedName)})),(function(e){return[function(){return Ke},e.escapedName]}))),lp,r)}function By(t,r){var n=jy(e.isObjectLiteralMethod(t)?function(t,r){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!(16777216&t.flags))return wy(t,r)}(t,r):Ky(t,r),t,r);if(n&&!(r&&2&r&&8650752&n.flags)){var i=Fm(n,Kc,!0);return 1048576&i.flags&&e.isObjectLiteralExpression(t)?Ry(t,i):1048576&i.flags&&e.isJsxAttributes(t)?function(t,r){return Kp(r,e.concatenate(e.map(e.filter(t.properties,(function(e){return!!e.symbol&&284===e.kind&&Yg(r,e.symbol.escapedName)&&(!e.initializer||Ly(e.initializer))})),(function(e){return[e.initializer?function(){return zx(e.initializer)}:function(){return $e},e.symbol.escapedName]})),e.map(e.filter(kc(r),(function(e){var n;return!!(16777216&e.flags)&&!!(null===(n=null==t?void 0:t.symbol)||void 0===n?void 0:n.members)&&!t.symbol.members.has(e.escapedName)&&Yg(r,e.escapedName)})),(function(e){return[function(){return Ke},e.escapedName]}))),lp,r)}(t,i):i}}function jy(t,r,n){if(t&&lx(t,465829888)){var i=zy(r);if(i&&e.some(i.inferences,Lx)){if(n&&1&n)return Jy(t,i.nonFixingMapper);if(i.returnMapper)return Jy(t,i.returnMapper)}}return t}function Jy(t,r){return 465829888&t.flags?X_(t,r):1048576&t.flags?id(e.map(t.types,(function(e){return Jy(e,r)})),0):2097152&t.flags?_d(e.map(t.types,(function(e){return Jy(e,r)}))):t}function Ky(t,r){if(16777216&t.flags);else{if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 253:case 163:case 166:case 165:case 202:return function(t,r){var n=t.parent;if(e.hasInitializer(n)&&t===n.initializer){var i=by(n);if(i)return i;if(!(8&r)&&e.isBindingPattern(n.name))return Po(n.name,!0,!1)}}(t,r);case 213:case 246:return function(t){var r=e.getContainingFunction(t);if(r){var n=Cy(r);if(n){var i=e.getFunctionFlags(r);if(1&i){var a=gS(n,2&i?2:1,void 0);if(!a)return;n=a.returnType}if(2&i){var o=Fm(n,vb);return o&&id([o,WD(o)])}return n}}}(t);case 223:return function(t){var r=e.getContainingFunction(t);if(r){var n=e.getFunctionFlags(r),i=Cy(r);if(i)return t.asteriskToken?i:PS(0,i,0!=(2&n))}}(n);case 217:return function(e,t){var r=Ky(e,t);if(r){var n=vb(r);return n&&id([n,WD(n)])}}(n,r);case 207:case 208:return Ey(n,t);case 210:case 228:return e.isConstTypeReference(n.type)?o(n):C_(n.type);case 220:return Ay(t,r);case 294:case 295:return wy(n,r);case 296:return Ky(n.parent,r);case 203:var i=n;return Iy(By(i,r),e.indexOfNode(i.elements,t));case 221:return function(e,t){var r=e.parent;return e===r.whenTrue||e===r.whenFalse?Ky(r,t):void 0}(t,r);case 232:return e.Debug.assert(222===n.parent.kind),function(e,t){if(209===e.parent.kind)return Ey(e.parent,t)}(n.parent,t);case 211:var a=e.isInJSFile(n)?e.getJSDocTypeTag(n):void 0;return a?e.isJSDocTypeTag(a)&&e.isConstTypeReference(a.typeExpression.type)?o(n):C_(a.typeExpression.type):Ky(n,r);case 229:return Ky(n,r);case 287:return Oy(n);case 284:case 286:return My(n);case 279:case 278:return function(t,r){if(e.isJsxOpeningElement(t)&&t.parent.contextualType&&4!==r)return t.parent.contextualType;return ky(t,0)}(n,r)}}function o(e){return Ky(e)}}function zy(t){var r=e.findAncestor(t,(function(e){return!!e.inferenceContext}));return r&&r.inferenceContext}function Uy(t,r){return 0!==Lh(r)?function(e,t){var r=KD(e,je);r=Vy(t,gv(t),r);var n=_v(N.IntrinsicAttributes,t);io(n)||(r=tc(n,r));return r}(t,r):function(t,r){var n=gv(r),i=(o=n,mv(N.ElementAttributesPropertyNameContainer,o)),a=void 0===i?KD(t,je):""===i?ku(t):function(e,t){if(e.compositeSignatures){for(var r=[],n=0,i=e.compositeSignatures;n=2)return rl(a,vu([s,n],c,2,e.isInJSFile(t)))}if(e.length(o.typeParameters)>=2)return Xu(o,vu([s,n],o.typeParameters,2,e.isInJSFile(t)))}return n}function qy(t){return e.getStrictOptionValue(z,"noImplicitAny")?e.reduceLeft(t,(function(t,r){return t!==r&&t?Zs(t.typeParameters,r.typeParameters)?function(t,r){var n,i=t.typeParameters||r.typeParameters;t.typeParameters&&r.typeParameters&&(n=P_(r.typeParameters,t.typeParameters));var a=t.declaration,o=function(e,t,r){for(var n=MD(e),i=MD(t),a=n>=i?e:t,o=a===e?t:e,s=a===e?n:i,c=RD(e)||RD(t),u=c&&!RD(a),l=new Array(s+(u?1:0)),d=0;d=LD(a)&&d>=LD(o),y=d>=n?void 0:AD(e,d),v=d>=i?void 0:AD(t,d),h=jn(1|(m&&!g?16777216:0),(y===v?y:y?v?void 0:y:v)||"arg".concat(d));h.type=g?Ll(f):f,l[d]=h}if(u){var D=jn(1,"args");D.type=Ll(wD(o,s)),o===t&&(D.type=X_(D.type,r)),l[s]=D}return l}(t,r,n),s=function(e,t,r){if(!e||!t)return e||t;var n=id([Yo(e),X_(Yo(t),r)]);return Gf(e,n)}(t.thisParameter,r.thisParameter,n),c=Math.max(t.minArgumentCount,r.minArgumentCount),u=qs(a,i,s,o,void 0,void 0,c,39&(t.flags|r.flags));u.compositeKind=2097152,u.compositeSignatures=e.concatenate(2097152===t.compositeKind&&t.compositeSignatures||[t],[r]),n&&(u.mapper=2097152===t.compositeKind&&t.mapper&&t.compositeSignatures?R_(t.mapper,n):n);return u}(t,r):void 0:t})):void 0}function Wy(t,r){var n=Zc(t,0),i=e.filter(n,(function(t){return!function(t,r){for(var n=0;n0&&(s=l_(s,R(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1,h=!1),av(F=Wc(Ux(E.expression)))){var O=u_(F,l);if(i&&lv(O,i,E),S=o.length,io(s))continue;s=l_(s,O,t.symbol,g,l)}else In(E,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),s=Me;continue}e.Debug.assert(171===E.kind||172===E.kind),vT(E)}!A||8576&A.flags?a.set(k.escapedName,k):lp(A,lt)&&(lp(A,Ge)?v=!0:lp(A,tt)?h=!0:y=!0,n&&(m=!0)),o.push(k)}if(u&&296!==t.parent.kind)for(var M=0,L=kc(c);M0&&(s=l_(s,R(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),Fm(s,(function(e){return e===mt?R():e}))):R();function R(){var r=[];y&&r.push(rv(t,S,o,He)),v&&r.push(rv(t,S,o,Ge)),h&&r.push(rv(t,S,o,tt));var i=ha(t.symbol,a,e.emptyArray,e.emptyArray,r);return i.objectFlags|=262272|g,f&&(i.objectFlags|=8192),m&&(i.objectFlags|=512),n&&(i.pattern=t),i}}function av(t){if(465829888&t.flags){var r=Oc(t);if(void 0!==r)return av(r)}return!!(126615553&t.flags||117632&If(t)&&av(Of(t))||3145728&t.flags&&e.every(t.types,av))}function ov(t){return e.stringContains(t,"-")}function sv(t){return 79===t.kind&&e.isIntrinsicJsxName(t.escapedText)}function cv(e,t){return e.initializer?Px(e.initializer,t):$e}function uv(e,t){for(var r=[],n=0,i=e.children;n0&&(s=l_(s,T(),i.symbol,l,!1),o=e.createSymbolTable()),no(m=Wc(Cx(f.expression,r)))&&(c=!0),av(m)?(s=l_(s,m,i.symbol,l,!1),a&&lv(m,a,f)):n=n?_d([n,m]):m}c||o.size>0&&(s=l_(s,T(),i.symbol,l,!1));var v=277===t.parent.kind?t.parent:void 0;if(v&&v.openingElement===t&&v.children.length>0){var h=uv(v,r);if(!c&&d&&""!==d){u&&In(i,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(d));var D=By(t.attributes),x=D&&Py(D,d),b=jn(4,d);b.type=1===h.length?h[0]:x&&Tm(x,gf)?Ul(h):Ll(id(h)),b.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(d),void 0,void 0),e.setParent(b.valueDeclaration,i),b.valueDeclaration.symbol=b;var S=e.createSymbolTable();S.set(d,b),s=l_(s,ha(i.symbol,S,e.emptyArray,e.emptyArray,e.emptyArray),i.symbol,l,!1)}}return c?we:n&&s!==yt?_d([n,s]):n||(s===yt?T():s);function T(){l|=te;var t=ha(i.symbol,o,e.emptyArray,e.emptyArray,e.emptyArray);return t.objectFlags|=262272|l,t}}(t.parent,r)}function _v(e,t){var r=gv(t),n=r&&Xi(r),i=n&&Qn(n,e,788968);return i?Ss(i):Me}function pv(t){var r=Yn(t);if(!r.resolvedSymbol){var n=_v(N.IntrinsicElements,t);if(io(n))return Q&&In(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,e.unescapeLeadingUnderscores(N.IntrinsicElements)),r.resolvedSymbol=Ae;if(!e.isIdentifier(t.tagName))return e.Debug.fail();var i=Qc(n,t.tagName.escapedText);return i?(r.jsxFlags|=1,r.resolvedSymbol=i):ou(n,He)?(r.jsxFlags|=2,r.resolvedSymbol=n.symbol):(In(t,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.idText(t.tagName),"JSX."+N.IntrinsicElements),r.resolvedSymbol=Ae)}return r.resolvedSymbol}function fv(t){var r=t&&e.getSourceFileOfNode(t),n=r&&Yn(r);if(!n||!1!==n.jsxImplicitImportContainer){if(n&&n.jsxImplicitImportContainer)return n.jsxImplicitImportContainer;var i=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(z,r),z);if(i){var a=Ki(t,i,e.getEmitModuleResolutionKind(z)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations,t),o=a&&a!==Ae?ea(Ai(a)):void 0;return n&&(n.jsxImplicitImportContainer=o||!1),o}}}function gv(e){var t=e&&Yn(e);if(t&&t.jsxNamespace)return t.jsxNamespace;if(!t||!1!==t.jsxNamespace){var r=fv(e);if(!r||r===Ae){var n=An(e);r=ei(e,n,1920,void 0,n,!1)}if(r){var i=Ai(Qn(Xi(Ai(r)),N.JSX,1920));if(i&&i!==Ae)return t&&(t.jsxNamespace=i),i}t&&(t.jsxNamespace=!1)}var a=Ai(bl(N.JSX,1920,void 0));return a!==Ae?a:void 0}function mv(t,r){var n=r&&Qn(r.exports,t,788968),i=n&&Ss(n),a=i&&kc(i);if(a){if(0===a.length)return"";if(1===a.length)return a[0].escapedName;a.length>1&&n.declarations&&In(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}function yv(e){return mv(N.ElementChildrenAttributeNameContainer,e)}function vv(t,r){if(4&t.flags)return[Er];if(128&t.flags){var n=hv(t,r);return n?[iD(r,n)]:(In(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,"JSX."+N.IntrinsicElements),e.emptyArray)}var i=Kc(t),a=Zc(i,1);return 0===a.length&&(a=Zc(i,0)),0===a.length&&1048576&i.flags&&(a=$s(e.map(i.types,(function(e){return vv(e,r)})))),a}function hv(t,r){var n=_v(N.IntrinsicElements,r);if(!io(n)){var i=t.value,a=Qc(n,e.escapeLeadingUnderscores(i));if(a)return Yo(a);var o=ou(n,He);return o||void 0}return we}function Dv(t){e.Debug.assert(sv(t.tagName));var r=Yn(t);if(!r.resolvedJsxElementAttributesType){var n=pv(t);return 1&r.jsxFlags?r.resolvedJsxElementAttributesType=Yo(n)||Me:2&r.jsxFlags?r.resolvedJsxElementAttributesType=ou(_v(N.IntrinsicElements,t),He)||Me:r.resolvedJsxElementAttributesType=Me}return r.resolvedJsxElementAttributesType}function xv(e){var t=_v(N.ElementClass,e);if(!io(t))return t}function bv(e){return _v(N.Element,e)}function Sv(e){var t=bv(e);if(t)return id([t,qe])}function Tv(t){var r,n=e.isJsxOpeningLikeElement(t);if(n&&function(t){(function(t){if(e.isPropertyAccessExpression(t)){var r=t;do{var n=a(r.name);if(n)return n;r=r.expression}while(e.isPropertyAccessExpression(r));var i=a(r);if(i)return i}function a(t){if(e.isIdentifier(t)&&-1!==e.idText(t).indexOf(":"))return YC(t,e.Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names)}})(t.tagName),AC(t,t.typeArguments);for(var r=new e.Map,n=0,i=t.attributes.properties;n=0)return d>=LD(n)&&(RD(n)||ds)return!1;if(o||a>=c)return!0;for(var _=a;_=i&&r.length<=n}function kh(e){return Fh(e,0,!1)}function Ah(e){return Fh(e,0,!1)||Fh(e,1,!1)}function Fh(e,t,r){if(524288&e.flags){var n=Sc(e);if(r||0===n.properties.length&&0===n.indexInfos.length){if(0===t&&1===n.callSignatures.length&&0===n.constructSignatures.length)return n.callSignatures[0];if(1===t&&1===n.constructSignatures.length&&0===n.callSignatures.length)return n.constructSignatures[0]}}}function Nh(t,r,n,i){var a=cg(t.typeParameters,t,0,i),o=BD(r),s=n&&(o&&262144&o.flags?n.nonFixingMapper:n.mapper);return og(s?K_(r,s):r,t,(function(e,t){Pg(a.inferences,e,t)})),n||sg(r,t,(function(e,t){Pg(a.inferences,e,t,128)})),Pu(t,Jg(a),e.isInJSFile(r.declaration))}function Ph(t){if(!t)return rt;var r=Ux(t);return e.isOptionalChainRoot(t.parent)?jf(r):e.isOptionalChain(t.parent)?Kf(r):r}function wh(t,r,n,i,a){if(e.isJsxOpeningLikeElement(t))return function(e,t,r,n){var i=Uy(t,e),a=Tx(e.attributes,i,n,r);return Pg(n.inferences,a,i),Jg(n)}(t,r,i,a);if(164!==t.kind){var o=Ky(t,e.every(r.typeParameters,(function(e){return!!jc(e)}))?8:0);if(o){var s=zy(t),c=fg(function(t,r){return void 0===r&&(r=0),t&&ug(e.map(t.inferences,pg),t.signature,t.flags|r,t.compareTypes)}(s,1)),u=X_(o,c),l=kh(u),d=l&&l.typeParameters?Ru(wu(l,l.typeParameters)):u,_=ku(r);Pg(a.inferences,d,_,128);var p=cg(r.typeParameters,r,a.flags),f=X_(o,s&&s.returnMapper);Pg(p.inferences,f,_),a.returnMapper=e.some(p.inferences,Lx)?fg(function(t){var r=e.filter(t.inferences,Lx);return r.length?ug(e.map(r,pg),t.signature,t.flags,t.compareTypes):void 0}(p)):void 0}}var g=jD(r),m=g?Math.min(MD(r)-1,n.length):n.length;if(g&&262144&g.flags){var y=e.find(a.inferences,(function(e){return e.typeParameter===g}));y&&(y.impliedArity=e.findIndex(n,xh,m)<0?n.length-m:void 0)}var v=Tu(r);if(v){var h=Bh(t);Pg(a.inferences,Ph(h),v)}for(var D=0;D=n-1&&xh(d=t[n-1]))return Ih(231===d.kind?d.type:Tx(d.expression,i,a,o));for(var s=[],c=[],u=[],l=r;ld&&(d=v)}}if(!l)return!0;for(var h=1/0,D=0,x=i;D0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray;var i=t.arguments||e.emptyArray,a=bh(i);if(a>=0){for(var o=i.slice(0,a),s=function(t){var r=i[t],n=224===r.kind&&(zr?Ux(r.expression):Cx(r.expression));n&&Ef(n)?e.forEach(Zu(n),(function(e,t){var i,a=n.target.elementFlags[t],s=jh(r,4&a?Ll(e):e,!!(12&a),null===(i=n.target.labeledElementDeclarations)||void 0===i?void 0:i[t]);o.push(s)})):o.push(r)},c=a;c-1)return e.createDiagnosticForNode(n[a],e.Diagnostics.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);for(var o,s=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,d=0,_=r;d<_.length;d++){var p=_[d],f=LD(p),g=MD(p);fu&&(u=f),n.length1&&(v=W(f,Dn,D,b)),v||(v=W(f,bn,D,b)),v)return v;if(p)if(g)if(1===g.length||g.length>3){var S,T=g[g.length-1];g.length>3&&(S=e.chainDiagnosticMessages(S,e.Diagnostics.The_last_overload_gave_the_following_error),S=e.chainDiagnosticMessages(S,e.Diagnostics.No_overload_matches_this_call));var C=Rh(t,h,T,bn,0,!0,(function(){return S}));if(C)for(var E=0,k=C;E3&&e.addRelatedInfo(A,e.createDiagnosticForNode(T.declaration,e.Diagnostics.The_last_overload_is_declared_here)),q(T,A),mn.add(A)}else e.Debug.fail("No error for last overload signature")}else{for(var F=[],N=0,P=Number.MAX_VALUE,w=0,I=0,O=function(r){var n=Rh(t,h,r,bn,0,!0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,I+1,f.length,La(r))}));n?(n.length<=P&&(P=n.length,w=I),N=Math.max(N,n.length),F.push(n)):e.Debug.fail("No error for 3 or fewer overload signatures"),I++},M=0,L=g;M1?F[w]:e.flatten(F);e.Debug.assert(R.length>0,"No errors reported for 3 or fewer overload signatures");var B=e.chainDiagnosticMessages(e.map(R,(function(e){return"string"==typeof e.messageText?e:e.messageText})),e.Diagnostics.No_overload_matches_this_call),j=r([],e.flatMap(R,(function(e){return e.relatedInformation})),!0),z=void 0;if(e.every(R,(function(e){return e.start===R[0].start&&e.length===R[0].length&&e.file===R[0].file}))){var U=R[0];z={file:U.file,start:U.start,length:U.length,code:B.code,category:B.category,messageText:B,relatedInformation:j}}else z=e.createDiagnosticForNodeFromMessageChain(t,B,j);q(g[0],z),mn.add(z)}else if(m)mn.add(Vh(t,[m],h));else if(y)Mh(y,t.typeArguments,!0,c);else{var V=e.filter(n,(function(e){return Eh(e,u)}));0===V.length?mn.add(function(t,r,n){var i=n.length;if(1===r.length){var a=yu((d=r[0]).typeParameters),o=e.length(d.typeParameters);return e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),n,e.Diagnostics.Expected_0_type_arguments_but_got_1,ai?c=Math.min(c,_):o0),vT(t),i||1===r.length||r.some((function(e){return!!e.typeParameters}))?function(t,r,n){var i=function(e,t){for(var r=-1,n=-1,i=0;i=t)return i;o>n&&(n=o,r=i)}return r}(r,void 0===ue?n.length:ue),a=r[i],o=a.typeParameters;if(!o)return a;var s=vh(t)?t.typeArguments:void 0,c=s?Iu(a,function(e,t,r){var n=e.map(IT);for(;n.length>t.length;)n.pop();for(;n.length1?e.find(c,(function(t){return e.isFunctionLikeDeclaration(t)&&e.nodeIsPresent(t.body)})):void 0;if(u){var l=hu(u),d=!l.typeParameters;W([l],bn,d)&&e.addRelatedInfo(r,e.createDiagnosticForNode(u,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}g=a,m=o,y=s}function W(r,n,i,a){if(void 0===a&&(a=!1),g=void 0,m=void 0,y=void 0,i){var o=r[0];if(e.some(u)||!Ch(t,h,o,a))return;return Rh(t,h,o,n,0,!1,void 0)?void(g=[o]):o}for(var s=0;s=0&&In(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=Iv(t.expression);if(a===it)return Fr;if(io(a=Kc(a)))return Dh(t);if(no(a))return t.typeArguments&&In(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),hh(t);var o=Zc(a,1);if(o.length){if(!function(t,r){if(!r||!r.declaration)return!0;var n=r.declaration,i=e.getSelectedEffectiveModifierFlags(n,24);if(!i||170!==n.kind)return!0;var a=e.getClassLikeDeclarationOfSymbol(n.parent.symbol),o=Ss(n.parent.symbol);if(!AT(t,a)){var s=e.getContainingClass(t);if(s&&16&i){var c=IT(s);if($h(n.parent.symbol,c))return!0}return 8&i&&In(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,Ra(o)),16&i&&In(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,Ra(o)),!1}return!0}(t,o[0]))return Dh(t);if(o.some((function(e){return 4&e.flags})))return In(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),Dh(t);var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);return s&&e.hasSyntacticModifier(s,128)?(In(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),Dh(t)):qh(t,o,r,n,0)}var c=Zc(a,0);if(c.length){var u=qh(t,c,r,n,0);return Q||(u.declaration&&!cD(u.declaration)&&ku(u)!==rt&&In(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Tu(u)===rt&&In(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),u}return eD(t.expression,a,1),Dh(t)}function $h(t,r){var n=ds(r);if(!e.length(n))return!1;var i=n[0];if(2097152&i.flags){for(var a=rc(i.types),o=0,s=0,c=i.types;s0;if(1048576&r.flags){for(var c=!1,u=0,l=r.types;u1)return YC(r[1],e.Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext)}if(0===r.length||r.length>2)return YC(t,e.Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments);var n=e.find(r,e.isSpreadElement);if(n)return YC(n,e.Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element)}(t),0===t.arguments.length)return HD(t,we);for(var r=t.arguments[0],n=Cx(r),i=t.arguments.length>1?Cx(t.arguments[1]):void 0,a=2;a=n-1)return r===n-1?a:Ll(zd(a,Ge));for(var o=[],s=[],c=[],u=r;u0&&(a=t.parameters.length-1+c)}}if(void 0===a){if(!n&&32&t.flags)return 0;a=t.minArgumentCount}if(i)return a;for(var u=a-1;u>=0;u--){if(131072&Em(wD(t,u),Sh).flags)break;a=u}t.resolvedMinArgumentCount=a}return t.resolvedMinArgumentCount}function RD(e){if(J(e)){var t=Yo(e.parameters[e.parameters.length-1]);return!Ef(t)||t.target.hasRestElement}return!1}function BD(e){if(J(e)){var t=Yo(e.parameters[e.parameters.length-1]);if(!Ef(t))return t;if(t.target.hasRestElement)return Hl(t,t.target.fixedLength)}}function jD(e){var t=BD(e);return!t||sf(t)||no(t)||0!=(131072&Wc(t).flags)?void 0:t}function JD(e){return KD(e,nt)}function KD(e,t){return e.parameters.length>0?wD(e,0):t}function zD(t,r){if(r.typeParameters){if(t.typeParameters)return;t.typeParameters=r.typeParameters}r.thisParameter&&((!(a=t.thisParameter)||a.valueDeclaration&&!a.valueDeclaration.type)&&(a||(t.thisParameter=Gf(r.thisParameter,void 0)),UD(t.thisParameter,Yo(r.thisParameter))));for(var n=t.parameters.length-(J(t)?1:0),i=0;i0&&(n=id(l,2)):u=nt;var d=function(t,r){var n=[],i=[],a=0!=(2&e.getFunctionFlags(t));return e.forEachYieldExpression(t.body,(function(t){var o,s=t.expression?Ux(t.expression,r):ze;if(e.pushIfUnique(n,XD(t,s,we,a)),t.asteriskToken){var c=gS(s,a?19:17,t.expression);o=c&&c.nextType}else o=Ky(t);o&&e.pushIfUnique(i,o)})),{yieldTypes:n,nextTypes:i}}(t,r),_=d.yieldTypes,p=d.nextTypes;i=e.some(_)?id(_,2):void 0,a=e.some(p)?_d(p):void 0}else{var f=ex(t,r);if(!f)return 2&o?HD(t,nt):nt;if(0===f.length)return 2&o?HD(t,rt):rt;n=id(f,2)}if(n||i||a){if(i&&ag(t,i,3),n&&ag(t,n,1),a&&ag(t,a,2),n&&vf(n)||i&&vf(i)||a&&vf(a)){var g=Hy(t),m=g?g===hu(t)?c?void 0:n:jy(ku(g),t):void 0;c?(i=Cf(i,m,0,s),n=Cf(n,m,1,s),a=Cf(a,m,2,s)):n=function(e,t,r){return e&&vf(e)&&(e=Tf(e,t?r?_b(t):t:void 0)),e}(n,m,s)}i&&(i=tg(i)),n&&(n=tg(n)),a&&(a=tg(a))}return c?YD(i||nt,n||u,a||Ty(2,t)||je,s):s?qD(n||u):n||u}function YD(e,t,r,n){var i=n?Lr:Rr,a=i.getGlobalGeneratorType(!1);if(e=i.resolveIterationType(e,void 0)||je,t=i.resolveIterationType(t,void 0)||je,r=i.resolveIterationType(r,void 0)||je,a===Dt){var o=i.getGlobalIterableIteratorType(!1),s=o!==Dt?hS(o,i):void 0,c=s?s.returnType:we,u=s?s.nextType:Ke;return lp(t,c)&&lp(u,r)?o!==Dt?Ol(o,[e]):(i.getGlobalIterableIteratorType(!0),mt):(i.getGlobalGeneratorType(!0),mt)}return Ol(a,[e,t,r])}function XD(t,r,n,i){var a=t.expression||t,o=t.asteriskToken?cS(i?19:17,r,n,a):r;return i?yb(o,a,t.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o}function QD(e,t,r,n){var i=0;if(n){for(var a=t;a1&&t.charCodeAt(r-1)>=48&&t.charCodeAt(r-1)<=57;)r--;for(var n=t.slice(0,r),i=1;;i++){var a=n+i;if(!Rx(e,a))return a}}function jx(e){var t=kh(e);if(t&&!t.typeParameters)return ku(t)}function Jx(t){var r=Kx(t);if(r)return r;if(67108864&t.flags&&Dr){var n=Dr[O(t)];if(n)return n}var i=qr,a=Ux(t);qr!==i&&((Dr||(Dr=[]))[O(t)]=a,e.setNodeFlags(t,67108864|t.flags));return a}function Kx(t){var r=e.skipParentheses(t,!0);if(e.isJSDocTypeAssertion(r)){var n=e.getJSDocTypeAssertionType(r);if(!e.isConstTypeReference(n))return C_(n)}if(r=e.skipParentheses(t),!e.isCallExpression(r)||106===r.expression.kind||e.isRequireCall(r,!0)||pD(r)){if(e.isAssertionExpression(r)&&!e.isConstTypeReference(r.type))return C_(r.type);if(8===t.kind||10===t.kind||110===t.kind||95===t.kind)return Ux(t)}else{if(n=e.isCallChain(r)?function(e){var t=Ux(e.expression),r=Uf(t,e.expression),n=jx(t);return n&&zf(n,e,r!==t)}(r):jx(Iv(r.expression)))return n}}function zx(e){var t=Yn(e);if(t.contextFreeType)return t.contextFreeType;var r=e.contextualType;e.contextualType=we;try{return t.contextFreeType=Ux(e,4)}finally{e.contextualType=r}}function Ux(t,r,n){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkExpression",{kind:t.kind,pos:t.pos,end:t.end});var a=d;d=t,b=0;var s=function(t,r,n){var a=t.kind;if(o)switch(a){case 225:case 212:case 213:o.throwIfCancellationRequested()}switch(a){case 79:return cy(t,r);case 80:return qv(t);case 108:return fy(t);case 106:return yy(t);case 104:return We;case 14:case 10:return f_(y_(t.text));case 8:return $C(t),f_(v_(+t.text));case 9:return function(t){if(!(e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent))&&U<7&&YC(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0}(t),f_(h_({negative:!1,base10Value:e.parsePseudoBigInt(t.text)}));case 110:return $e;case 95:return Xe;case 222:return bx(t);case 13:return Jt;case 203:return Xy(t,r,n);case 204:return iv(t,r);case 205:return Kv(t,r);case 160:return zv(t,r);case 206:return mh(t,r);case 207:if(100===t.expression.kind)return fD(t);case 208:return function(t,r){var n;AC(t,t.typeArguments)||FC(t.arguments);var i=sD(t,void 0,r);if(i===Ar)return at;if(dD(i,t),106===t.expression.kind)return rt;if(208===t.kind){var a=i.declaration;if(a&&170!==a.kind&&174!==a.kind&&179!==a.kind&&!e.isJSDocConstructSignature(a)&&!cD(a))return Q&&In(t,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),we}if(e.isInJSFile(t)&&vD(t))return Su(t.arguments[0]);var o=ku(i);if(12288&o.flags&&pD(t))return x_(e.walkUpParenthesizedExpressions(t.parent));if(207===t.kind&&!t.questionDotToken&&237===t.parent.kind&&16384&o.flags&&Cu(i))if(e.isDottedName(t.expression)){if(!qm(t)){var s=In(t.expression,e.Diagnostics.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);Vm(t.expression,s)}}else In(t.expression,e.Diagnostics.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);if(e.isInJSFile(t)){var c=lD(t,!1);if(null===(n=null==c?void 0:c.exports)||void 0===n?void 0:n.size){var u=ha(c,c.exports,e.emptyArray,e.emptyArray,e.emptyArray);return u.objectFlags|=8192,_d([o,u])}}return o}(t,r);case 209:return hD(t);case 211:return function(t,r){if(e.hasJSDocNodes(t)&&e.isJSDocTypeAssertion(t)){var n=e.getJSDocTypeAssertionType(t);return xD(n,n,t.expression,r)}return Ux(t.expression,r)}(t,r);case 225:return function(e){return VS(e),vT(e),Yo(ta(e))}(t);case 212:case 213:return rx(t,r);case 215:return function(e){return Ux(e.expression),hn}(t);case 210:case 228:return function(t){if(210===t.kind){var r=e.getSourceFileOfNode(t);r&&e.fileExtensionIsOneOf(r.fileName,[".cts",".mts"])&&YC(t,e.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead)}return xD(t,t.type,t.expression)}(t);case 229:return bD(t);case 230:return SD(t);case 214:return cx(t);case 216:return function(e){return Ux(e.expression),ze}(t);case 217:return function(t){if(i){var r=e.getContainingFunctionOrClassStaticBlock(t);if(r&&e.isClassStaticBlockDeclaration(r))In(t,e.Diagnostics.Await_expression_cannot_be_used_inside_a_class_static_block);else if(!(32768&t.flags)){var n;if(e.isInTopLevelContext(t)){if(!WC(n=e.getSourceFileOfNode(t))){var a=void 0;if(!e.isEffectiveExternalModule(n,z)){a||(a=e.getSpanOfTokenAtPosition(n,t.pos));var o=e.createFileDiagnostic(n,a.start,a.length,e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module);mn.add(o)}(V!==e.ModuleKind.ES2022&&V!==e.ModuleKind.ESNext&&V!==e.ModuleKind.System&&(V!==e.ModuleKind.NodeNext||e.getSourceFileOfNode(t).impliedNodeFormat!==e.ModuleKind.ESNext)||U<4)&&(a=e.getSpanOfTokenAtPosition(n,t.pos),o=e.createFileDiagnostic(n,a.start,a.length,e.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher),mn.add(o))}}else if(!WC(n=e.getSourceFileOfNode(t))){if(a=e.getSpanOfTokenAtPosition(n,t.pos),o=e.createFileDiagnostic(n,a.start,a.length,e.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules),r&&170!==r.kind&&0==(2&e.getFunctionFlags(r))){var s=e.createDiagnosticForNode(r,e.Diagnostics.Did_you_mean_to_mark_this_function_as_async);e.addRelatedInfo(o,s)}mn.add(o)}}Sy(t)&&In(t,e.Diagnostics.await_expressions_cannot_be_used_in_a_parameter_initializer)}var c=Ux(t.expression),u=pb(c,!0,t,e.Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);return u!==c||io(u)||3&c.flags||On(!1,e.createDiagnosticForNode(t,e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression)),u}(t);case 218:return function(t){var r=Ux(t.operand);if(r===it)return it;switch(t.operand.kind){case 8:switch(t.operator){case 40:return f_(v_(-t.operand.text));case 39:return f_(v_(+t.operand.text))}break;case 9:if(40===t.operator)return f_(h_({negative:!0,base10Value:e.parsePseudoBigInt(t.operand.text)}))}switch(t.operator){case 39:case 40:case 54:return jv(r,t.operand),lx(r,12288)&&In(t.operand,e.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol,e.tokenToString(t.operator)),39===t.operator?(lx(r,2112)&&In(t.operand,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1,e.tokenToString(t.operator),Ra(xf(r))),Ge):ux(r);case 53:iS(t.operand);var n=12582912&am(r);return 4194304===n?Xe:8388608===n?$e:et;case 45:case 46:return nx(t.operand,jv(r,t.operand),e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&sx(t.operand,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),ux(r)}return Me}(t);case 219:return function(t){var r=Ux(t.operand);return r===it?it:(nx(t.operand,jv(r,t.operand),e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&sx(t.operand,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),ux(r))}(t);case 220:return ne(t,r);case 221:return function(e,t){var r=iS(e.condition);return rS(e.condition,r,e.whenTrue),id([Ux(e.whenTrue,t),Ux(e.whenFalse,t)],2)}(t,r);case 224:return function(e,t){return U<2&&DC(e,z.downlevelIteration?1536:1024),cS(33,Ux(e.expression,t),Ke,e.expression)}(t,r);case 226:return ze;case 223:return function(t){i&&(8192&t.flags||HC(t,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body),Sy(t)&&In(t,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer));var r=e.getContainingFunction(t);if(!r)return we;var n=e.getFunctionFlags(r);if(!(1&n))return we;var a=0!=(2&n);t.asteriskToken&&(a&&U<99&&DC(t,26624),!a&&U<2&&z.downlevelIteration&&DC(t,256));var o=Au(r),s=o&&wS(o,a),c=s&&s.yieldType||we,u=s&&s.nextType||we,l=a?yb(u)||we:u,d=t.expression?Ux(t.expression):ze,_=XD(t,d,l,a);if(o&&_&&gp(_,c,t.expression||t,t.expression),t.asteriskToken)return lS(a?19:17,1,d,t.expression)||we;if(o)return PS(2,o,a)||we;var p=Ty(2,r);if(!p&&(p=we,i&&Q&&!e.expressionResultIsUnused(t))){var f=Ky(t);f&&!no(f)||In(t,e.Diagnostics.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation)}return p}(t);case 231:return function(e){return e.isSpread?zd(e.type,Ge):e.type}(t);case 287:return kv(t,r);case 277:case 278:return function(e,t){return vT(e),bv(e)||we}(t);case 281:return function(t){Tv(t.openingFragment);var r=e.getSourceFileOfNode(t);return!e.getJSXTransformEnabled(z)||!z.jsxFactory&&!r.pragmas.has("jsx")||z.jsxFragmentFactory||r.pragmas.has("jsxfrag")||In(t,z.jsxFactory?e.Diagnostics.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:e.Diagnostics.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments),uv(t),bv(t)||we}(t);case 285:return dv(t,r);case 279:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement")}return Me}(t,r,n),c=Ox(t,s,r);return px(c)&&function(t,r){205===t.parent.kind&&t.parent.expression===t||206===t.parent.kind&&t.parent.expression===t||(79===t.kind||160===t.kind)&&FT(t)||180===t.parent.kind&&t.parent.exprName===t||274===t.parent.kind||In(t,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query);if(z.isolatedModules){e.Debug.assert(!!(128&r.symbol.flags)),8388608&r.symbol.valueDeclaration.flags&&In(t,e.Diagnostics.Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided)}}(t,c),d=a,null===e.tracing||void 0===e.tracing||e.tracing.pop(),c}function Vx(t){t.expression&&HC(t.expression,e.Diagnostics.Type_expected),mT(t.constraint),mT(t.default);var r=bs(ta(t));Oc(r),function(e){return Bc(e)!==St}(r)||In(t.default,e.Diagnostics.Type_parameter_0_has_a_circular_default,Ra(r));var n=Fc(r),a=jc(r);n&&a&&fp(a,Us(X_(n,I_(r,a)),a),t.default,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1),i&&JS(t.name,e.Diagnostics.Type_parameter_name_cannot_be_0)}function qx(t){bC(t),Xb(t);var r=e.getContainingFunction(t);e.hasSyntacticModifier(t,16476)&&(170===r.kind&&e.nodeIsPresent(r.body)||In(t,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation),170===r.kind&&e.isIdentifier(t.name)&&"constructor"===t.name.escapedText&&In(t.name,e.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name)),t.questionToken&&e.isBindingPattern(t.name)&&r.body&&In(t,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),t.name&&e.isIdentifier(t.name)&&("this"===t.name.escapedText||"new"===t.name.escapedText)&&(0!==r.parameters.indexOf(t)&&In(t,e.Diagnostics.A_0_parameter_must_be_the_first_parameter,t.name.escapedText),170!==r.kind&&174!==r.kind&&179!==r.kind||In(t,e.Diagnostics.A_constructor_cannot_have_a_this_parameter),213===r.kind&&In(t,e.Diagnostics.An_arrow_function_cannot_have_a_this_parameter),171!==r.kind&&172!==r.kind||In(t,e.Diagnostics.get_and_set_accessors_cannot_declare_this_parameters)),!t.dotDotDotToken||e.isBindingPattern(t.name)||lp(Wc(Yo(t.symbol)),Vt)||In(t,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)}function Wx(t,r,n){for(var i=0,a=t.elements;i=2||!e.hasRestParameter(t)||8388608&t.flags||e.nodeIsMissing(t.body))return;e.forEach(t.parameters,(function(t){t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===le.escapedName&&Pn("noEmit",t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}))}(t);var n=e.getEffectiveReturnTypeNode(t);if(Q&&!n)switch(t.kind){case 174:In(t,e.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 173:In(t,e.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(n){var a=e.getFunctionFlags(t);if(1==(5&a)){var o=C_(n);if(o===rt)In(n,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var s=PS(0,o,0!=(2&a))||we;fp(YD(s,PS(1,o,0!=(2&a))||s,PS(2,o,0!=(2&a))||je,!!(2&a)),o,n)}}else 2==(3&a)&&function(t,r){var n=C_(r);if(U>=2){if(io(n))return;var i=Al(!0);if(i!==Dt&&!Qo(n,i))return void In(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,Ra(vb(n)||rt))}else{if(function(t){Db(t&&e.getEntityNameFromTypeNode(t))}(r),io(n))return;var a=e.getEntityNameFromTypeNode(r);if(void 0===a)return void In(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,Ra(n));var o=Ri(a,111551,!0),s=o?Yo(o):Me;if(io(s))return void(79===a.kind&&"Promise"===a.escapedText&&$o(n)===Al(!1)?In(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):In(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)));var c=(d=!0,Zt||(Zt=Sl("PromiseConstructorLike",0,d))||mt);if(c===mt)return void In(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));if(!fp(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var u=a&&e.getFirstIdentifier(a),l=Qn(t.locals,u.escapedText,111551);if(l)return void In(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a))}var d;pb(n,!1,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(t,n)}175!==t.kind&&315!==t.kind&&Ab(t)}}function Gx(t){for(var r=new e.Map,n=0,i=t.members;n0&&r.declarations[0]!==t)return}var n=Bu(ta(t));if(null==n?void 0:n.declarations){for(var i=new e.Map,a=function(e){1===e.parameters.length&&e.parameters[0].type&&Sm(C_(e.parameters[0].type),(function(t){var r=i.get(Ql(t));r?r.declarations.push(e):i.set(Ql(t),{type:t,declarations:[e]})}))},o=0,s=n.declarations;o1)for(var r=0,n=t.declarations;r0}function gb(e){var t;if(16777216&e.flags){var r=Il(!1);return!!r&&e.aliasSymbol===r&&1===(null===(t=e.aliasTypeArguments)||void 0===t?void 0:t.length)}return!1}function mb(e){return 1048576&e.flags?Fm(e,mb):gb(e)?e.aliasTypeArguments[0]:e}function yb(t,r,n,i){var a=vb(t,r,n,i);return a&&function(t){if(no(t))return t;if(gb(t))return t;if(Od(t)){var r=Oc(t);if(!r||3&r.flags||Ap(r)||fb(r)){var n=Il(!0);if(n)return rl(n,[mb(t)])}}return e.Debug.assert(void 0===_b(t),"type provided should not be a non-generic 'promise'-like."),t}(a)}function vb(t,r,n,i){if(no(t))return t;if(gb(t))return t;var a=t;if(a.awaitedTypeOfType)return a.awaitedTypeOfType;if(1048576&t.flags){var o=r?function(e){return vb(e,r,n,i)}:vb;return a.awaitedTypeOfType=Fm(t,o)}var s=_b(t);if(s){if(t.id===s.id||gn.lastIndexOf(s.id)>=0)return void(r&&In(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));gn.push(t.id);var c=vb(s,r,n,i);if(gn.pop(),!c)return;return a.awaitedTypeOfType=c}if(!fb(t))return a.awaitedTypeOfType=t;r&&(e.Debug.assertIsDefined(n),In(r,n,i))}function hb(t){var r=sD(t);dD(r,t);var n=ku(r);if(!(1&n.flags)){var i,a,o=rD(t);switch(t.parent.kind){case 256:i=id([Yo(ta(t.parent)),rt]);break;case 163:i=rt,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 166:i=rt,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 168:case 171:case 172:i=id([Ml(IT(t.parent)),rt]);break;default:return e.Debug.fail()}fp(n,i,t,o,(function(){return a}))}}function Db(t){if(t){var r=e.getFirstIdentifier(t),n=2097152|(79===t.kind?788968:1920),i=ei(r,r.escapedText,n,void 0,void 0,!0);i&&2097152&i.flags&&ca(i)&&!XT(Fi(i))&&!wi(i)&&Oi(i)}}function xb(t){var r=bb(t);r&&e.isEntityName(r)&&Db(r)}function bb(e){if(e)switch(e.kind){case 187:case 186:return Sb(e.types);case 188:return Sb([e.trueType,e.falseType]);case 190:case 196:return bb(e.type);case 177:return e.typeName}}function Sb(t){for(var r,n=0,i=t;n=e.ModuleKind.ES2015)||V>=e.ModuleKind.Node12&&e.getSourceFileOfNode(t).impliedNodeFormat===e.ModuleKind.CommonJS)&&r&&(Ub(t,r,"require")||Ub(t,r,"exports"))&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=to(t);303===n.kind&&e.isExternalOrCommonJsModule(n)&&Pn("noEmit",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}(t,r),function(t,r){if(r&&!(U>=4)&&Ub(t,r,"Promise")&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=to(t);303===n.kind&&e.isExternalOrCommonJsModule(n)&&2048&n.flags&&Pn("noEmit",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}(t,r),function(e,t){U<=8&&(Ub(e,t,"WeakMap")||Ub(e,t,"WeakSet"))&&pn.push(e)}(t,r),function(e,t){t&&U>=2&&U<=8&&Ub(e,t,"Reflect")&&fn.push(e)}(t,r),e.isClassLike(t)?(JS(r,e.Diagnostics.Class_name_cannot_be_0),8388608&t.flags||function(t){U>=1&&"Object"===t.escapedText&&(V1&&e.some(_.declarations,(function(r){return r!==t&&e.isVariableLike(r)&&!$b(r,t)}))&&In(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}else{var g=Yb(wo(t));io(p)||io(g)||ap(p,g)||67108864&_.flags||Qb(_.valueDeclaration,p,t,g),t.initializer&&gp(Cx(t.initializer),g,t,t.initializer,void 0),_.valueDeclaration&&!$b(t,_.valueDeclaration)&&In(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}166!==t.kind&&165!==t.kind&&(lb(t),253!==t.kind&&202!==t.kind||function(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(253!==t.kind||t.initializer)){var r=ta(t);if(1&r.flags){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=ei(t,t.name.escapedText,3,void 0,void 0,!1);if(n&&n!==r&&2&n.flags&&3&Av(n)){var i=e.getAncestor(n.valueDeclaration,254),a=236===i.parent.kind&&i.parent.parent?i.parent.parent:void 0;if(!a||!(234===a.kind&&e.isFunctionLike(a.parent)||261===a.kind||260===a.kind||303===a.kind)){var o=Ma(n);In(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o)}}}}}(t),Gb(t,t.name))}}}}function Qb(t,r,n,i){var a=e.getNameOfDeclaration(n),o=166===n.kind||165===n.kind?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,s=e.declarationNameToString(a),c=In(a,o,s,Ra(r),Ra(i));t&&e.addRelatedInfo(c,e.createDiagnosticForNode(t,e.Diagnostics._0_was_also_declared_here,s))}function $b(t,r){if(163===t.kind&&253===r.kind||253===t.kind&&163===r.kind)return!0;if(e.hasQuestionToken(t)!==e.hasQuestionToken(r))return!1;return e.getSelectedEffectiveModifierFlags(t,504)===e.getSelectedEffectiveModifierFlags(r,504)}function Zb(t){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkVariableDeclaration",{kind:t.kind,pos:t.pos,end:t.end}),function(t){if(242!==t.parent.parent.kind&&243!==t.parent.parent.kind)if(8388608&t.flags)KC(t);else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return YC(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(t))return YC(t,e.Diagnostics.const_declarations_must_be_initialized)}if(t.exclamationToken&&(236!==t.parent.parent.kind||!t.type||t.initializer||8388608&t.flags)){var r=t.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t.type?e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return YC(t.exclamationToken,r)}!(V=1&&Zb(t.declarations[0])}function sS(e){return cS(e.awaitModifier?15:13,Iv(e.expression),Ke,e.expression)}function cS(e,t,r,n){return no(t)?t:uS(e,t,r,n,!0)||we}function uS(t,r,n,i,a){var o=0!=(2&t);if(r!==nt){var s=U>=2,c=!s&&z.downlevelIteration,u=z.noUncheckedIndexedAccess&&!!(128&t);if(s||c||o){var l=gS(r,t,s?i:void 0);if(a&&l){var d=8&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&t?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;d&&fp(n,l.nextType,i,d)}if(l||s)return u?lm(l&&l.yieldType):l&&l.yieldType}var _=r,p=!1,f=!1;if(4&t){if(1048576&_.flags){var g=r.types,m=e.filter(g,(function(e){return!(402653316&e.flags)}));m!==g&&(_=id(m,2))}else 402653316&_.flags&&(_=nt);if((f=_!==r)&&(U<1&&i&&(In(i,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),p=!0),131072&_.flags))return u?lm(He):He}if(!df(_)){if(i&&!p){var y=function(n,i){var a;if(i)return n?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0];if(lS(t,0,r,void 0))return[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1];if(function(e){switch(e){case"Float32Array":case"Float64Array":case"Int16Array":case"Int32Array":case"Int8Array":case"NodeList":case"Uint16Array":case"Uint32Array":case"Uint8Array":case"Uint8ClampedArray":return!0}return!1}(null===(a=r.symbol)||void 0===a?void 0:a.escapedName))return[e.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0];return n?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:[e.Diagnostics.Type_0_is_not_an_array_type,!0]}(!!(4&t)&&!f,c),v=y[0];Ln(i,y[1]&&!!db(_),v,Ra(_))}return f?u?lm(He):He:void 0}var h=ou(_,Ge);return f&&h?402653316&h.flags&&!z.noUncheckedIndexedAccess?He:id(u?[h,He,Ke]:[h,He],2):128&t?lm(h):h}bS(i,r,o)}function lS(e,t,r,n){if(!no(r)){var i=gS(r,e,n);return i&&i[j(t)]}}function dS(e,t,r){if(void 0===e&&(e=nt),void 0===t&&(t=nt),void 0===r&&(r=je),67359327&e.flags&&180227&t.flags&&180227&r.flags){var n=Hu([e,t,r]),i=Pr.get(n);return i||(i={yieldType:e,returnType:t,nextType:r},Pr.set(n,i)),i}return{yieldType:e,returnType:t,nextType:r}}function _S(t){for(var r,n,i,a=0,o=t;a1)for(var p=0,f=i;pn)return!1;for(var l=0;l1)return HC(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=!0}else{if(e.Debug.assert(117===o.token),n)return HC(o,e.Diagnostics.implements_clause_already_seen);n=!0}NC(o)}})(t)||CC(t.typeParameters,r)}(t),Cb(t),Gb(t,t.name),KS(e.getEffectiveTypeParameterDeclarations(t)),lb(t);var r=ta(t),n=Ss(r),a=Us(n),o=Yo(r);US(r),ub(r),function(t){for(var r=new e.Map,n=new e.Map,i=new e.Map,a=0,o=t.members;a>a;case 49:return i>>>a;case 47:return i<1&&L(t,e.shouldPreserveConstEnums(z))){var s=function(t){var r=t.declarations;if(r)for(var n=0,i=r;n1&&!gT(n))for(var o=0,s=n;o1&&t.every((function(t){return e.isInJSFile(t)&&e.isAccessExpression(t)&&(e.isExportsIdentifier(t.expression)||e.isModuleExportsAccessExpression(t.expression))}))}function mT(t){if(t){var r=d;d=t,b=0,function(t){e.isInJSFile(t)&&e.forEach(t.jsDoc,(function(t){var r=t.tags;return e.forEach(r,mT)}));var r=t.kind;if(o)switch(r){case 260:case 256:case 257:case 255:o.throwIfCancellationRequested()}r>=236&&r<=252&&t.flowNode&&!Hm(t.flowNode)&&Mn(!1===z.allowUnreachableCode,t,e.Diagnostics.Unreachable_code_detected);switch(r){case 162:return Vx(t);case 163:return qx(t);case 166:return Xx(t);case 165:return function(t){return e.isPrivateIdentifier(t.name)&&In(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),Xx(t)}(t);case 179:case 178:case 173:case 174:case 175:return Hx(t);case 168:case 167:return function(t){jC(t)||wC(t.name),kb(t),e.hasSyntacticModifier(t,128)&&168===t.kind&&t.body&&In(t,e.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,e.declarationNameToString(t.name)),e.isPrivateIdentifier(t.name)&&!e.getContainingClass(t)&&In(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),Qx(t)}(t);case 169:return function(t){bC(t),e.forEachChild(t,mT)}(t);case 170:return $x(t);case 171:case 172:return Zx(t);case 177:return nb(t);case 176:return function(t){var r=function(e){switch(e.parent.kind){case 213:case 173:case 255:case 212:case 178:case 168:case 167:var t=e.parent;if(e===t.type)return t}}(t);if(r){var n=hu(r),i=Cu(n);if(i){mT(t.type);var a=t.parameterName;if(0===i.kind||2===i.kind)b_(a);else if(i.parameterIndex>=0)J(n)&&i.parameterIndex===n.parameters.length-1?In(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):i.type&&fp(i.type,Yo(n.parameters[i.parameterIndex]),t.type,void 0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)}));else if(a){for(var o=!1,s=0,c=r.parameters;s0),n.length>1&&In(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var i=Eb(t.class.expression),a=e.getClassExtendsHeritageElement(r);if(a){var o=Eb(a.expression);o&&i.escapedText!==o.escapedText&&In(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}else In(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 327:return function(t){var r=e.getEffectiveJSDocHost(t);r&&(e.isClassDeclaration(r)||e.isClassExpression(r))||In(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 343:case 336:case 337:return function(t){t.typeExpression||In(t.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),t.name&&JS(t.name,e.Diagnostics.Type_alias_name_cannot_be_0),mT(t.typeExpression),KS(e.getEffectiveTypeParameterDeclarations(t))}(t);case 342:return function(e){mT(e.constraint);for(var t=0,r=e.typeParameters;t-1&&n1){var n=e.isEnumConst(t);e.forEach(r.declarations,(function(t){e.isEnumDeclaration(t)&&e.isEnumConst(t)!==n&&In(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}))}var a=!1;e.forEach(r.declarations,(function(t){if(259!==t.kind)return!1;var r=t;if(!r.members.length)return!1;var n=r.members[0];n.initializer||(a?In(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0)}))}}}(t);case 260:return rT(t);case 265:return cT(t);case 264:return function(t){if(!lT(t,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(bC(t),e.isInternalModuleImportEqualsDeclaration(t)||iT(t)))if(oT(t),e.hasSyntacticModifier(t,1)&&Ii(t),276!==t.moduleReference.kind){var r=Fi(ta(t));if(r!==Ae){if(111551&r.flags){var n=e.getFirstIdentifier(t.moduleReference);1920&Ri(n,112575).flags||In(n,e.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,e.declarationNameToString(n))}788968&r.flags&&JS(t.name,e.Diagnostics.Import_name_cannot_be_0)}t.isTypeOnly&&YC(t,e.Diagnostics.An_import_alias_cannot_use_import_type)}else!(V>=e.ModuleKind.ES2015&&void 0===e.getSourceFileOfNode(t).impliedNodeFormat)||t.isTypeOnly||8388608&t.flags||YC(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(t);case 271:return uT(t);case 270:return function(t){if(!lT(t,t.isExportEquals?e.Diagnostics.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:e.Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration)){var r=303===t.parent.kind?t.parent:t.parent.parent;if(260!==r.kind||e.isAmbientModule(r)){!bC(t)&&e.hasEffectiveModifiers(t)&&HC(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers);var n=e.getEffectiveTypeAnnotationNode(t);if(n&&fp(Cx(t.expression),C_(n),t.expression),79===t.expression.kind){var i=t.expression,a=Ri(i,67108863,!0,!0,t);if(a){sy(a,i);var o=2097152&a.flags?Fi(a):a;(o===Ae||111551&o.flags)&&Cx(t.expression)}else Cx(t.expression);e.getEmitDeclarations(z)&&Xa(t.expression,!0)}else Cx(t.expression);fT(r),8388608&t.flags&&!e.isEntityNameExpression(t.expression)&&YC(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!t.isExportEquals||8388608&t.flags||(V>=e.ModuleKind.ES2015&&e.getSourceFileOfNode(t).impliedNodeFormat!==e.ModuleKind.CommonJS?YC(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):V===e.ModuleKind.System&&YC(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}else t.isExportEquals?In(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):In(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(t);case 235:case 252:return void QC(t);case 275:(function(e){Cb(e)})(t)}}(t),d=r}}function yT(t){e.isInJSFile(t)||YC(t,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function vT(t){var r=Yn(e.getSourceFileOfNode(t));if(!(1&r.flags)){r.deferredNodes=r.deferredNodes||new e.Map;var n=O(t);r.deferredNodes.set(n,t)}}function hT(t){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkDeferredNode",{kind:t.kind,pos:t.pos,end:t.end});var r=d;switch(d=t,b=0,t.kind){case 207:case 208:case 209:case 164:case 279:hh(t);break;case 212:case 213:case 168:case 167:!function(t){e.Debug.assert(168!==t.kind||e.isObjectLiteralMethod(t));var r=e.getFunctionFlags(t),n=Au(t);if(tx(t,n),t.body)if(e.getEffectiveReturnTypeNode(t)||ku(hu(t)),234===t.body.kind)mT(t.body);else{var i=Ux(t.body),a=n&&OS(n,r);a&&gp(2==(3&r)?pb(i,!1,t.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):i,a,t.body,t.body)}}(t);break;case 171:case 172:Zx(t);break;case 225:!function(t){e.forEach(t.members,mT),Ab(t)}(t);break;case 278:!function(e){Tv(e)}(t);break;case 277:!function(e){Tv(e.openingElement),sv(e.closingElement.tagName)?pv(e.closingElement):Ux(e.closingElement.tagName),uv(e)}(t)}d=r,null===e.tracing||void 0===e.tracing||e.tracing.pop()}function DT(r){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkSourceFile",{path:r.path},!0),e.performance.mark("beforeCheck"),function(r){var n=Yn(r);if(!(1&n.flags)){if(e.skipTypeChecking(r,z,t))return;!function(t){!!(8388608&t.flags)&&function(t){for(var r=0,n=t.statements;r0?e.concatenate(o,a):a}return e.forEach(t.getSourceFiles(),DT),mn.getDiagnostics()}(r)}finally{o=void 0}}function TT(){if(!i)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function CT(e){switch(e.kind){case 162:case 256:case 257:case 258:case 259:case 343:case 336:case 337:return!0;case 266:return e.isTypeOnly;case 269:case 274:return e.parent.parent.isTypeOnly;default:return!1}}function ET(e){for(;160===e.parent.kind;)e=e.parent;return 177===e.parent.kind}function kT(t,r){for(var n;(t=e.getContainingClass(t))&&!(n=r(t)););return n}function AT(e,t){return!!kT(e,(function(e){return e===t}))}function FT(e){return void 0!==function(e){for(;160===e.parent.kind;)e=e.parent;return 264===e.parent.kind?e.parent.moduleReference===e?e.parent:void 0:270===e.parent.kind&&e.parent.expression===e?e.parent:void 0}(e)}function NT(t){if(e.isDeclarationName(t))return ta(t.parent);if(e.isInJSFile(t)&&205===t.parent.kind&&t.parent===t.parent.parent.left&&!e.isPrivateIdentifier(t)&&!e.isJSDocMemberName(t)){var r=function(t){switch(e.getAssignmentDeclarationKind(t.parent.parent)){case 1:case 3:return ta(t.parent);case 4:case 2:case 5:return ta(t.parent.parent)}}(t);if(r)return r}if(270===t.parent.kind&&e.isEntityNameExpression(t)){var n=Ri(t,2998271,!0);if(n&&n!==Ae)return n}else if(e.isEntityName(t)&&FT(t)){var i=e.getAncestor(t,264);return e.Debug.assert(void 0!==i),Mi(t,!0)}if(e.isEntityName(t)){var a=function(t){for(var r=t.parent;e.isQualifiedName(r);)t=r,r=r.parent;if(r&&199===r.kind&&r.qualifier===t)return r}(t);if(a){C_(a);var o=Yn(t).resolvedSymbol;return o===Ae?void 0:o}}for(;e.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName(t);)t=t.parent;if(function(e){for(;205===e.parent.kind;)e=e.parent;return 227===e.parent.kind}(t)){var s=0;227===t.parent.kind?(s=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(s|=111551)):s=1920,s|=2097152;var c=e.isEntityNameExpression(t)?Ri(t,s):void 0;if(c)return c}if(338===t.parent.kind)return e.getParameterSymbolFromJSDoc(t.parent);if(162===t.parent.kind&&342===t.parent.parent.kind){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t))return;var l=e.findAncestor(t,e.or(e.isJSDocLinkLike,e.isJSDocNameReference,e.isJSDocMemberName));s=l?901119:111551;if(79===t.kind){if(e.isJSXTagName(t)&&sv(t))return(f=pv(t.parent))===Ae?void 0:f;var d=Ri(t,s,!1,!l,e.getHostSignatureFromJSDoc(t));if(!d&&l){var _=e.findAncestor(t,e.or(e.isClassLike,e.isInterfaceDeclaration));if(_)return PT(t,ta(_))}return d}if(e.isPrivateIdentifier(t))return Wv(t);if(205===t.kind||160===t.kind){var p=Yn(t);return p.resolvedSymbol?p.resolvedSymbol:(205===t.kind?Kv(t,0):zv(t,0),!p.resolvedSymbol&&l&&e.isQualifiedName(t)?PT(t):p.resolvedSymbol)}if(e.isJSDocMemberName(t))return PT(t)}else if(ET(t)){var f;return(f=Ri(t,s=177===t.parent.kind?788968:1920,!1,!0))&&f!==Ae?f:al(t)}return 176===t.parent.kind?Ri(t,1):void 0}function PT(t,r){if(e.isEntityName(t)){var n=901119,i=Ri(t,n,!1,!0,e.getHostSignatureFromJSDoc(t));if(!i&&e.isIdentifier(t)&&r&&(i=ea(Qn(Xi(r),t.escapedText,n))),i)return i}var a=e.isIdentifier(t)?r:PT(t.left),o=e.isIdentifier(t)?t.escapedText:t.right.escapedText;if(a){var s=111551&a.flags&&Qc(Yo(a),"prototype");return Qc(s?Yo(s):Ss(a),o)}}function wT(t,r){if(303===t.kind)return e.isExternalModule(t)?ea(t.symbol):void 0;var n=t.parent,i=n.parent;if(!(16777216&t.flags)){if(B(t)){var a=ta(n);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?nv(a):a}if(e.isLiteralComputedPropertyDeclarationName(t))return ta(n.parent);if(79===t.kind){if(FT(t))return NT(t);if(202===n.kind&&200===i.kind&&t===n.propertyName){if(o=Qc(IT(i),t.escapedText))return o}else if(e.isMetaProperty(n)){var o;if(o=Qc(IT(n),t.escapedText))return o;if(103===n.keywordToken)return CD(n).symbol}}switch(t.kind){case 79:case 80:case 205:case 160:return NT(t);case 108:var s=e.getThisContainer(t,!1);if(e.isFunctionLike(s)){var c=hu(s);if(c.thisParameter)return c.thisParameter}if(e.isInExpressionContext(t))return Ux(t).symbol;case 191:return b_(t).symbol;case 106:return Ux(t).symbol;case 134:var u=t.parent;return u&&170===u.kind?u.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(265===t.parent.kind||271===t.parent.kind)&&t.parent.moduleSpecifier===t||e.isInJSFile(t)&&e.isRequireCall(t.parent,!1)||e.isImportCall(t.parent)||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent)return ji(t,t,r);if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n)&&n.arguments[1]===t)return ta(n);case 8:var l=e.isElementAccessExpression(n)?n.argumentExpression===t?Jx(n.expression):void 0:e.isLiteralTypeNode(n)&&e.isIndexedAccessTypeNode(i)?C_(i.objectType):void 0;return l&&Qc(l,e.escapeLeadingUnderscores(t.text));case 88:case 98:case 38:case 84:return ta(t.parent);case 199:return e.isLiteralImportTypeNode(t)?wT(t.argument.literal,r):void 0;case 93:return e.isExportAssignment(t.parent)?e.Debug.checkDefined(t.parent.symbol):void 0;case 100:case 103:return e.isMetaProperty(t.parent)?TD(t.parent).symbol:void 0;case 230:return Ux(t).symbol;default:return}}}function IT(t){if(e.isSourceFile(t)&&!e.isExternalModule(t))return Me;if(16777216&t.flags)return Me;var r,n=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t),i=n&&fs(ta(n.class));if(e.isPartOfTypeNode(t)){var a=C_(t);return i?Us(a,i.thisType):a}if(e.isExpressionNode(t))return MT(t);if(i&&!n.isImplements){var o=e.firstOrUndefined(ds(i));return o?Us(o,i.thisType):Me}if(CT(t))return Ss(r=ta(t));if(function(t){return 79===t.kind&&CT(t.parent)&&e.getNameOfDeclaration(t.parent)===t}(t))return(r=wT(t))?Ss(r):Me;if(e.isDeclaration(t))return Yo(r=ta(t));if(B(t))return(r=wT(t))?Yo(r):Me;if(e.isBindingPattern(t))return vo(t.parent,!0)||Me;if(FT(t)&&(r=wT(t))){var s=Ss(r);return io(s)?Yo(r):s}return e.isMetaProperty(t.parent)&&t.parent.keywordToken===t.kind?TD(t.parent):Me}function OT(t){if(e.Debug.assert(204===t.kind||203===t.kind),243===t.parent.kind)return yx(t,sS(t.parent)||Me);if(220===t.parent.kind)return yx(t,Jx(t.parent.right)||Me);if(294===t.parent.kind){var r=e.cast(t.parent.parent,e.isObjectLiteralExpression);return gx(r,OT(r)||Me,e.indexOfNode(r.properties,t.parent))}var n=e.cast(t.parent,e.isArrayLiteralExpression),i=OT(n)||Me,a=cS(65,i,Ke,t.parent)||Me;return mx(n,i,n.elements.indexOf(t),a)}function MT(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),g_(Jx(t))}function LT(t){var r=ta(t.parent);return e.isStatic(t)?Yo(r):Ss(r)}function RT(t){var r=t.name;switch(r.kind){case 79:return y_(e.idText(r));case 8:case 10:return y_(r.text);case 161:var n=ev(r);return dx(n,12288)?n:He;default:return e.Debug.fail("Unsupported property name.")}}function BT(t){t=Kc(t);var r=e.createSymbolTable(kc(t)),n=Zc(t,0).length?It:Zc(t,1).length?Ot:void 0;return n&&e.forEach(kc(n),(function(e){r.has(e.escapedName)||r.set(e.escapedName,e)})),ma(r)}function jT(t){return e.typeHasCallOrConstructSignatures(t,_e)}function JT(t){if(e.isGeneratedIdentifier(t))return!1;var r=e.getParseTreeNode(t,e.isIdentifier);if(!r)return!1;var n=r.parent;return!!n&&(!((e.isPropertyAccessExpression(n)||e.isPropertyAssignment(n))&&n.name===r)&&pC(r)===le)}function KT(t){var r=ji(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var n=Wi(r),i=Gn(r=Ui(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=n?!!(111551&r.flags):e.forEachEntry(Qi(r),(function(e){return(e=Ai(e))&&!!(111551&e.flags)}))),i.exportsSomeValue}function zT(t,r){var n,i=e.getParseTreeNode(t,e.isIdentifier);if(i){var a=pC(i,function(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}(i));if(a){if(1048576&a.flags){var o=ea(a.exportSymbol);if(!r&&944&o.flags&&!(3&o.flags))return;a=o}var s=ra(a);if(s){if(512&s.flags&&303===(null===(n=s.valueDeclaration)||void 0===n?void 0:n.kind)){var c=s.valueDeclaration;return c!==e.getSourceFileOfNode(i)?void 0:c}return e.findAncestor(i.parent,(function(t){return e.isModuleOrEnumDeclaration(t)&&ta(t)===s}))}}}}function UT(t){if(t.generatedImportReference)return t.generatedImportReference;var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=pC(r);if(ki(n,111551)&&!wi(n))return _i(n)}}function VT(t){if(418&t.flags&&t.valueDeclaration&&!e.isSourceFile(t.valueDeclaration)){var r=Gn(t);if(void 0===r.isDeclarationWithCollidingName){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)||function(t){return t.valueDeclaration&&e.isBindingElement(t.valueDeclaration)&&291===e.walkUpBindingElementsAndPatterns(t.valueDeclaration).parent.kind}(t)){var i=Yn(t.valueDeclaration);if(ei(n.parent,t.escapedName,111551,void 0,void 0,!1))r.isDeclarationWithCollidingName=!0;else if(262144&i.flags){var a=524288&i.flags,o=e.isIterationStatement(n,!1),s=234===n.kind&&e.isIterationStatement(n.parent,!1);r.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(n)||a&&(o||s))}else r.isDeclarationWithCollidingName=!1}}return r.isDeclarationWithCollidingName}return!1}function qT(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=pC(r);if(n&&VT(n))return n.valueDeclaration}}}function WT(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=ta(r);if(n)return VT(n)}return!1}function HT(t){switch(t.kind){case 264:return YT(ta(t));case 266:case 267:case 269:case 274:var r=ta(t);return!!r&&YT(r)&&!wi(r);case 271:var n=t.exportClause;return!!n&&(e.isNamespaceExport(n)||e.some(n.elements,HT));case 270:return!t.expression||79!==t.expression.kind||YT(ta(t))}return!1}function GT(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);return!(void 0===r||303!==r.parent.kind||!e.isInternalModuleImportEqualsDeclaration(r))&&(YT(ta(r))&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference))}function YT(t){if(!t)return!1;var r=Fi(t);return r===Ae||!!(111551&r.flags)&&(e.shouldPreserveConstEnums(z)||!XT(r))}function XT(e){return fx(e)||!!e.constEnumOnlyModule}function QT(t,r){if(pi(t)){var n=ta(t),i=n&&Gn(n);if(null==i?void 0:i.referenced)return!0;var a=Gn(n).target;if(a&&1&e.getEffectiveModifierFlags(t)&&111551&a.flags&&(e.shouldPreserveConstEnums(z)||!XT(a)))return!0}return!!r&&!!e.forEachChild(t,(function(e){return QT(e,r)}))}function $T(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return!1;var r=bu(ta(t));return r.length>1||1===r.length&&r[0].declaration!==t}return!1}function ZT(t){return!(!H||fu(t)||e.isJSDocParameterTag(t)||!t.initializer||e.hasSyntacticModifier(t,16476))}function eC(t){return H&&fu(t)&&!t.initializer&&e.hasSyntacticModifier(t,16476)}function tC(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return!1;var n=ta(r);return!!(n&&16&n.flags)&&!!e.forEachEntry(Xi(n),(function(t){return 111551&t.flags&&t.valueDeclaration&&e.isPropertyAccessExpression(t.valueDeclaration)}))}function rC(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return e.emptyArray;var n=ta(r);return n&&kc(Yo(n))||e.emptyArray}function nC(e){var t,r=e.id||0;return r<0||r>=tn.length?0:(null===(t=tn[r])||void 0===t?void 0:t.flags)||0}function iC(e){return $S(e.parent),Yn(e).enumMemberValue}function aC(e){switch(e.kind){case 297:case 205:case 206:return!0}return!1}function oC(t){if(297===t.kind)return iC(t);var r=Yn(t).resolvedSymbol;if(r&&8&r.flags){var n=r.valueDeclaration;if(e.isEnumConst(n.parent))return iC(n)}}function sC(e){return!!(524288&e.flags)&&Zc(e,0).length>0}function cC(t,r){var n,i,a=e.getParseTreeNode(t,e.isEntityName);if(!a)return e.TypeReferenceSerializationKind.Unknown;if(r&&!(r=e.getParseTreeNode(r)))return e.TypeReferenceSerializationKind.Unknown;var o=!1;if(e.isQualifiedName(a)){var s=Ri(e.getFirstIdentifier(a),111551,!0,!0,r);o=!!(null===(n=null==s?void 0:s.declarations)||void 0===n?void 0:n.every(e.isTypeOnlyImportOrExportDeclaration))}var c=Ri(a,111551,!0,!0,r),u=c&&2097152&c.flags?Fi(c):c;o||(o=!!(null===(i=null==c?void 0:c.declarations)||void 0===i?void 0:i.every(e.isTypeOnlyImportOrExportDeclaration)));var l=Ri(a,788968,!0,!1,r);if(u&&u===l){var d=Nl(!1);if(d&&u===d)return e.TypeReferenceSerializationKind.Promise;var _=Yo(u);if(_&&as(_))return o?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!l)return o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var p=Ss(l);return io(p)?o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:3&p.flags?e.TypeReferenceSerializationKind.ObjectType:dx(p,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:dx(p,528)?e.TypeReferenceSerializationKind.BooleanType:dx(p,296)?e.TypeReferenceSerializationKind.NumberLikeType:dx(p,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:dx(p,402653316)?e.TypeReferenceSerializationKind.StringLikeType:Ef(p)?e.TypeReferenceSerializationKind.ArrayLikeType:dx(p,12288)?e.TypeReferenceSerializationKind.ESSymbolType:sC(p)?e.TypeReferenceSerializationKind.TypeWithCallSignature:sf(p)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function uC(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o)return e.factory.createToken(130);var s=ta(o),c=!s||133120&s.flags?Me:bf(Yo(s));return 8192&c.flags&&c.symbol===s&&(n|=1048576),a&&(c=Bf(c)),ae.typeToTypeNode(c,r,1024|n,i)}function lC(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a)return e.factory.createToken(130);var o=hu(a);return ae.typeToTypeNode(ku(o),r,1024|n,i)}function dC(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a)return e.factory.createToken(130);var o=tg(MT(a));return ae.typeToTypeNode(o,r,1024|n,i)}function _C(t){return oe.has(e.escapeLeadingUnderscores(t))}function pC(t,r){var n=Yn(t).resolvedSymbol;if(n)return n;var i=t;if(r){var a=t.parent;e.isDeclaration(a)&&t===a.name&&(i=to(a))}return ei(i,t.escapedText,3257279,void 0,void 0,!0)}function fC(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=pC(r);if(n)return sa(n).valueDeclaration}}}function gC(t){return!!(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t))&&m_(Yo(ta(t)))}function mC(t,r){return function(t,r,n){var i=1024&t.flags?ae.symbolToExpression(t.symbol,111551,r,void 0,n):t===$e?e.factory.createTrue():t===Xe&&e.factory.createFalse();if(i)return i;var a=t.value;return"object"==typeof a?e.factory.createBigIntLiteral(a):"number"==typeof a?e.factory.createNumericLiteral(a):e.factory.createStringLiteral(a)}(Yo(ta(t)),t,r)}function yC(t){return t?(An(t),e.getSourceFileOfNode(t).localJsxFactory||br):br}function vC(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxFragmentFactory)return r.localJsxFragmentFactory;var n=r.pragmas.get("jsxfrag"),i=e.isArray(n)?n[0]:n;if(i)return r.localJsxFragmentFactory=e.parseIsolatedEntityName(i.arguments.factory,U),r.localJsxFragmentFactory}}if(z.jsxFragmentFactory)return e.parseIsolatedEntityName(z.jsxFragmentFactory,U)}function hC(t){var r=260===t.kind?e.tryCast(t.name,e.isStringLiteral):e.getExternalModuleName(t),n=Ji(r,r,void 0);if(n)return e.getDeclarationOfKind(n,303)}function DC(t,r){if((s&r)!==r&&z.importHelpers){var n=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(n,z)&&!(8388608&t.flags)){var i=function(t,r){l||(l=Ki(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,r)||Ae);return l}(n,t);if(i!==Ae)for(var a=r&~s,o=1;o<=4194304;o<<=1)if(a&o){var c=xC(o),u=Qn(i.exports,e.escapeLeadingUnderscores(c),111551);u?524288&o?e.some(bu(u),(function(e){return MD(e)>3}))||In(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c,4):1048576&o?e.some(bu(u),(function(e){return MD(e)>4}))||In(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c,5):1024&o&&(e.some(bu(u),(function(e){return MD(e)>2}))||In(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c,3)):In(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c)}s|=r}}}function xC(t){switch(t){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spreadArray";case 2048:return"__await";case 4096:return"__asyncGenerator";case 8192:return"__asyncDelegator";case 16384:return"__asyncValues";case 32768:return"__exportStar";case 65536:return"__importStar";case 131072:return"__importDefault";case 262144:return"__makeTemplateObject";case 524288:return"__classPrivateFieldGet";case 1048576:return"__classPrivateFieldSet";case 2097152:return"__classPrivateFieldIn";case 4194304:return"__createBinding";default:return e.Debug.fail("Unrecognized helper")}}function bC(t){return function(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t,t.parent,t.parent.parent))return 168!==t.kind||e.nodeIsPresent(t.body)?HC(t,e.Diagnostics.Decorators_are_not_valid_here):HC(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(171===t.kind||172===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return HC(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(t)||function(t){var r,n,i,a,o,s=function(t){return!!t.modifiers&&(function(t){switch(t.kind){case 171:case 172:case 170:case 166:case 165:case 168:case 167:case 175:case 260:case 265:case 264:case 271:case 270:case 212:case 213:case 163:return!1;default:if(261===t.parent.kind||303===t.parent.kind)return!1;switch(t.kind){case 255:return SC(t,131);case 256:case 179:return SC(t,126);case 257:case 236:case 258:case 169:return!0;case 259:return SC(t,85);default:e.Debug.fail()}}}(t)?HC(t,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(t);if(void 0!==s)return s;for(var c=0,u=0,l=t.modifiers;u1||e.modifiers[0].kind!==t}function TC(t,r){return void 0===r&&(r=e.Diagnostics.Trailing_comma_not_allowed),!(!t||!t.hasTrailingComma)&&GC(t[0],t.end-",".length,",".length,r)}function CC(t,r){if(t&&0===t.length){var n=t.pos-"<".length;return GC(r,n,e.skipTrivia(r.text,t.end)+">".length-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function EC(t){if(U>=3){var n=t.body&&e.isBlock(t.body)&&e.findUseStrictPrologue(t.body.statements);if(n){var i=(o=t.parameters,e.filter(o,(function(t){return!!t.initializer||e.isBindingPattern(t.name)||e.isRestParameter(t)})));if(e.length(i)){e.forEach(i,(function(t){e.addRelatedInfo(In(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(n,e.Diagnostics.use_strict_directive_used_here))}));var a=i.map((function(t,r){return 0===r?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)}));return e.addRelatedInfo.apply(void 0,r([In(n,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],a,!1)),!0}}}var o;return!1}function kC(t){var r=e.getSourceFileOfNode(t);return bC(t)||CC(t.typeParameters,r)||function(t){for(var r=!1,n=t.length,i=0;i1||t.typeParameters.hasTrailingComma||t.typeParameters[0].constraint)&&r&&e.fileExtensionIsOneOf(r.fileName,[".mts",".cts"])&&YC(t.typeParameters[0],e.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);var n=t.equalsGreaterThanToken,i=e.getLineAndCharacterOfPosition(r,n.pos).line,a=e.getLineAndCharacterOfPosition(r,n.end).line;return i!==a&&YC(n,e.Diagnostics.Line_terminator_not_permitted_before_arrow)}(t,r)||e.isFunctionLikeDeclaration(t)&&EC(t)}function AC(t,r){return TC(r)||function(t,r){if(r&&0===r.length){var n=e.getSourceFileOfNode(t),i=r.pos-"<".length;return GC(n,i,e.skipTrivia(n.text,r.end)+">".length-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(t,r)}function FC(t){return function(t){if(t)for(var r=0,n=t;r1){n=242===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return HC(o.declarations[1],n)}var c=s[0];if(c.initializer){var n=242===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return YC(c.name,n)}if(c.type)return YC(c,n=242===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function RC(t){if(t.parameters.length===(171===t.kind?1:2))return e.getThisParameter(t)}function BC(t,r){if(function(t){return e.isDynamicName(t)&&!Os(t)}(t))return YC(t,r)}function jC(t){if(kC(t))return!0;if(168===t.kind){if(204===t.parent.kind){if(t.modifiers&&(1!==t.modifiers.length||131!==e.first(t.modifiers).kind))return HC(t,e.Diagnostics.Modifiers_cannot_appear_here);if(OC(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(MC(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(void 0===t.body)return GC(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(IC(t))return!0}if(e.isClassLike(t.parent)){if(U<2&&e.isPrivateIdentifier(t.name))return YC(t.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(8388608&t.flags)return BC(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(168===t.kind&&!t.body)return BC(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(257===t.parent.kind)return BC(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(181===t.parent.kind)return BC(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function JC(t){return e.isStringOrNumericLiteralLike(t)||218===t.kind&&40===t.operator&&8===t.operand.kind}function KC(t){var r,n=t.initializer;if(n){var i=!(JC(n)||function(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&JC(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(1024&Cx(t).flags)}(n)||110===n.kind||95===n.kind||(r=n,9===r.kind||218===r.kind&&40===r.operator&&9===r.operand.kind)),a=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(!a||t.type)return YC(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);if(i)return YC(n,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);if(!a||i)return YC(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function zC(t){if(79===t.kind){if("__esModule"===e.idText(t))return function(t,r,n,i,a,o){if(!WC(e.getSourceFileOfNode(r)))return Pn(t,r,n,i,a,o),!0;return!1}("noEmit",t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var r=0,n=t.elements;r0}function HC(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!WC(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return mn.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a)),!0}return!1}function GC(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);return!WC(c)&&(mn.add(e.createFileDiagnostic(c,r,n,i,a,o,s)),!0)}function YC(t,r,n,i,a){return!WC(e.getSourceFileOfNode(t))&&(mn.add(e.createDiagnosticForNode(t,r,n,i,a)),!0)}function XC(t){return 257!==t.kind&&258!==t.kind&&265!==t.kind&&264!==t.kind&&271!==t.kind&&270!==t.kind&&263!==t.kind&&!e.hasSyntacticModifier(t,515)&&HC(t,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function QC(t){if(8388608&t.flags){if(!Yn(t).hasReportedStatementInAmbientContext&&(e.isFunctionLike(t.parent)||e.isAccessor(t.parent)))return Yn(t).hasReportedStatementInAmbientContext=HC(t,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(234===t.parent.kind||261===t.parent.kind||303===t.parent.kind){var r=Yn(t.parent);if(!r.hasReportedStatementInAmbientContext)return r.hasReportedStatementInAmbientContext=HC(t,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function $C(t){if(32&t.numericLiteralFlags){var r=void 0;if(U>=1?r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,195)?r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,297)&&(r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),r){var n=e.isPrefixUnaryExpression(t.parent)&&40===t.parent.operator,i=(n?"-":"")+"0o"+t.text;return YC(n?t.parent:t,r,i)}}return function(t){if(16&t.numericLiteralFlags||t.text.length<=15||-1!==t.text.indexOf("."))return;var r=+e.getTextOfNode(t);if(r<=Math.pow(2,53)-1&&r+1>r)return;On(!1,e.createDiagnosticForNode(t,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}(t),!1}function ZC(t){return!!e.forEach(t.elements,(function(t){if(t.isTypeOnly)return HC(t,269===t.kind?e.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:e.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement)}))}function eE(t,r,n,i){if(1048576&r.flags&&2621440&t.flags){var a=Zg(r,t);if(a)return a;var o=kc(t);if(o){var s=Xg(o,r);if(s)return Kp(r,e.map(s,(function(e){return[function(){return Yo(e)},e.escapedName]})),n,void 0,i)}}}},function(e){e.JSX="JSX",e.IntrinsicElements="IntrinsicElements",e.ElementClass="ElementClass",e.ElementAttributesPropertyNameContainer="ElementAttributesProperty",e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",e.Element="Element",e.IntrinsicAttributes="IntrinsicAttributes",e.IntrinsicClassAttributes="IntrinsicClassAttributes",e.LibraryManagedAttributes="LibraryManagedAttributes"}(N||(N={})),e.signatureHasRestParameter=J,e.signatureHasLiteralTypes=K}(c||(c={})),function(e){function t(t,r,n,i){if(void 0===t||void 0===r)return t;var a,o=r(t);return o===t?t:void 0!==o?(a=e.isArray(o)?(i||c)(o):o,e.Debug.assertNode(a,n),a):void 0}function r(t,r,n,i,a){if(void 0===t||void 0===r)return t;var o,s,c=t.length;(void 0===i||i<0)&&(i=0),(void 0===a||a>c-i)&&(a=c-i);var u=-1,l=-1;(i>0||a=2&&(s=function(t,r){for(var n,i=0;i0&&p<=159||191===p)return a;var f=u.factory;switch(p){case 79:return e.Debug.type(a),f.updateIdentifier(a,l(a.typeArguments,c,e.isTypeNodeOrTypeParameterDeclaration));case 160:return e.Debug.type(a),f.updateQualifiedName(a,_(a.left,c,e.isEntityName),_(a.right,c,e.isIdentifier));case 161:return e.Debug.type(a),f.updateComputedPropertyName(a,_(a.expression,c,e.isExpression));case 162:return e.Debug.type(a),f.updateTypeParameterDeclaration(a,_(a.name,c,e.isIdentifier),_(a.constraint,c,e.isTypeNode),_(a.default,c,e.isTypeNode));case 163:return e.Debug.type(a),f.updateParameterDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.dotDotDotToken,d,e.isDotDotDotToken),_(a.name,c,e.isBindingName),_(a.questionToken,d,e.isQuestionToken),_(a.type,c,e.isTypeNode),_(a.initializer,c,e.isExpression));case 164:return e.Debug.type(a),f.updateDecorator(a,_(a.expression,c,e.isExpression));case 165:return e.Debug.type(a),f.updatePropertySignature(a,l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),_(a.questionToken,d,e.isToken),_(a.type,c,e.isTypeNode));case 166:return e.Debug.type(a),f.updatePropertyDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),_(a.questionToken||a.exclamationToken,d,e.isQuestionOrExclamationToken),_(a.type,c,e.isTypeNode),_(a.initializer,c,e.isExpression));case 167:return e.Debug.type(a),f.updateMethodSignature(a,l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),_(a.questionToken,d,e.isQuestionToken),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 168:return e.Debug.type(a),f.updateMethodDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.asteriskToken,d,e.isAsteriskToken),_(a.name,c,e.isPropertyName),_(a.questionToken,d,e.isQuestionToken),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 170:return e.Debug.type(a),f.updateConstructorDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),i(a.parameters,c,u,l),o(a.body,c,u,_));case 171:return e.Debug.type(a),f.updateGetAccessorDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 172:return e.Debug.type(a),f.updateSetAccessorDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),i(a.parameters,c,u,l),o(a.body,c,u,_));case 169:return e.Debug.type(a),u.startLexicalEnvironment(),u.suspendLexicalEnvironment(),f.updateClassStaticBlockDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),o(a.body,c,u,_));case 173:return e.Debug.type(a),f.updateCallSignature(a,l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 174:return e.Debug.type(a),f.updateConstructSignature(a,l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 175:return e.Debug.type(a),f.updateIndexSignature(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 176:return e.Debug.type(a),f.updateTypePredicateNode(a,_(a.assertsModifier,c,e.isAssertsKeyword),_(a.parameterName,c,e.isIdentifierOrThisTypeNode),_(a.type,c,e.isTypeNode));case 177:return e.Debug.type(a),f.updateTypeReferenceNode(a,_(a.typeName,c,e.isEntityName),l(a.typeArguments,c,e.isTypeNode));case 178:return e.Debug.type(a),f.updateFunctionTypeNode(a,l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 179:return e.Debug.type(a),f.updateConstructorTypeNode(a,l(a.modifiers,c,e.isModifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 180:return e.Debug.type(a),f.updateTypeQueryNode(a,_(a.exprName,c,e.isEntityName));case 181:return e.Debug.type(a),f.updateTypeLiteralNode(a,l(a.members,c,e.isTypeElement));case 182:return e.Debug.type(a),f.updateArrayTypeNode(a,_(a.elementType,c,e.isTypeNode));case 183:return e.Debug.type(a),f.updateTupleTypeNode(a,l(a.elements,c,e.isTypeNode));case 184:return e.Debug.type(a),f.updateOptionalTypeNode(a,_(a.type,c,e.isTypeNode));case 185:return e.Debug.type(a),f.updateRestTypeNode(a,_(a.type,c,e.isTypeNode));case 186:return e.Debug.type(a),f.updateUnionTypeNode(a,l(a.types,c,e.isTypeNode));case 187:return e.Debug.type(a),f.updateIntersectionTypeNode(a,l(a.types,c,e.isTypeNode));case 188:return e.Debug.type(a),f.updateConditionalTypeNode(a,_(a.checkType,c,e.isTypeNode),_(a.extendsType,c,e.isTypeNode),_(a.trueType,c,e.isTypeNode),_(a.falseType,c,e.isTypeNode));case 189:return e.Debug.type(a),f.updateInferTypeNode(a,_(a.typeParameter,c,e.isTypeParameterDeclaration));case 199:return e.Debug.type(a),f.updateImportTypeNode(a,_(a.argument,c,e.isTypeNode),_(a.qualifier,c,e.isEntityName),r(a.typeArguments,c,e.isTypeNode),a.isTypeOf);case 196:return e.Debug.type(a),f.updateNamedTupleMember(a,t(a.dotDotDotToken,c,e.isDotDotDotToken),t(a.name,c,e.isIdentifier),t(a.questionToken,c,e.isQuestionToken),t(a.type,c,e.isTypeNode));case 190:return e.Debug.type(a),f.updateParenthesizedType(a,_(a.type,c,e.isTypeNode));case 192:return e.Debug.type(a),f.updateTypeOperatorNode(a,_(a.type,c,e.isTypeNode));case 193:return e.Debug.type(a),f.updateIndexedAccessTypeNode(a,_(a.objectType,c,e.isTypeNode),_(a.indexType,c,e.isTypeNode));case 194:return e.Debug.type(a),f.updateMappedTypeNode(a,_(a.readonlyToken,d,e.isReadonlyKeywordOrPlusOrMinusToken),_(a.typeParameter,c,e.isTypeParameterDeclaration),_(a.nameType,c,e.isTypeNode),_(a.questionToken,d,e.isQuestionOrPlusOrMinusToken),_(a.type,c,e.isTypeNode),l(a.members,c,e.isTypeElement));case 195:return e.Debug.type(a),f.updateLiteralTypeNode(a,_(a.literal,c,e.isExpression));case 197:return e.Debug.type(a),f.updateTemplateLiteralType(a,_(a.head,c,e.isTemplateHead),l(a.templateSpans,c,e.isTemplateLiteralTypeSpan));case 198:return e.Debug.type(a),f.updateTemplateLiteralTypeSpan(a,_(a.type,c,e.isTypeNode),_(a.literal,c,e.isTemplateMiddleOrTemplateTail));case 200:return e.Debug.type(a),f.updateObjectBindingPattern(a,l(a.elements,c,e.isBindingElement));case 201:return e.Debug.type(a),f.updateArrayBindingPattern(a,l(a.elements,c,e.isArrayBindingElement));case 202:return e.Debug.type(a),f.updateBindingElement(a,_(a.dotDotDotToken,d,e.isDotDotDotToken),_(a.propertyName,c,e.isPropertyName),_(a.name,c,e.isBindingName),_(a.initializer,c,e.isExpression));case 203:return e.Debug.type(a),f.updateArrayLiteralExpression(a,l(a.elements,c,e.isExpression));case 204:return e.Debug.type(a),f.updateObjectLiteralExpression(a,l(a.properties,c,e.isObjectLiteralElementLike));case 205:return 32&a.flags?(e.Debug.type(a),f.updatePropertyAccessChain(a,_(a.expression,c,e.isExpression),_(a.questionDotToken,d,e.isQuestionDotToken),_(a.name,c,e.isMemberName))):(e.Debug.type(a),f.updatePropertyAccessExpression(a,_(a.expression,c,e.isExpression),_(a.name,c,e.isMemberName)));case 206:return 32&a.flags?(e.Debug.type(a),f.updateElementAccessChain(a,_(a.expression,c,e.isExpression),_(a.questionDotToken,d,e.isQuestionDotToken),_(a.argumentExpression,c,e.isExpression))):(e.Debug.type(a),f.updateElementAccessExpression(a,_(a.expression,c,e.isExpression),_(a.argumentExpression,c,e.isExpression)));case 207:return 32&a.flags?(e.Debug.type(a),f.updateCallChain(a,_(a.expression,c,e.isExpression),_(a.questionDotToken,d,e.isQuestionDotToken),l(a.typeArguments,c,e.isTypeNode),l(a.arguments,c,e.isExpression))):(e.Debug.type(a),f.updateCallExpression(a,_(a.expression,c,e.isExpression),l(a.typeArguments,c,e.isTypeNode),l(a.arguments,c,e.isExpression)));case 208:return e.Debug.type(a),f.updateNewExpression(a,_(a.expression,c,e.isExpression),l(a.typeArguments,c,e.isTypeNode),l(a.arguments,c,e.isExpression));case 209:return e.Debug.type(a),f.updateTaggedTemplateExpression(a,_(a.tag,c,e.isExpression),r(a.typeArguments,c,e.isTypeNode),_(a.template,c,e.isTemplateLiteral));case 210:return e.Debug.type(a),f.updateTypeAssertion(a,_(a.type,c,e.isTypeNode),_(a.expression,c,e.isExpression));case 211:return e.Debug.type(a),f.updateParenthesizedExpression(a,_(a.expression,c,e.isExpression));case 212:return e.Debug.type(a),f.updateFunctionExpression(a,l(a.modifiers,c,e.isModifier),_(a.asteriskToken,d,e.isAsteriskToken),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 213:return e.Debug.type(a),f.updateArrowFunction(a,l(a.modifiers,c,e.isModifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),_(a.equalsGreaterThanToken,d,e.isEqualsGreaterThanToken),o(a.body,c,u,_));case 214:return e.Debug.type(a),f.updateDeleteExpression(a,_(a.expression,c,e.isExpression));case 215:return e.Debug.type(a),f.updateTypeOfExpression(a,_(a.expression,c,e.isExpression));case 216:return e.Debug.type(a),f.updateVoidExpression(a,_(a.expression,c,e.isExpression));case 217:return e.Debug.type(a),f.updateAwaitExpression(a,_(a.expression,c,e.isExpression));case 218:return e.Debug.type(a),f.updatePrefixUnaryExpression(a,_(a.operand,c,e.isExpression));case 219:return e.Debug.type(a),f.updatePostfixUnaryExpression(a,_(a.operand,c,e.isExpression));case 220:return e.Debug.type(a),f.updateBinaryExpression(a,_(a.left,c,e.isExpression),_(a.operatorToken,d,e.isBinaryOperatorToken),_(a.right,c,e.isExpression));case 221:return e.Debug.type(a),f.updateConditionalExpression(a,_(a.condition,c,e.isExpression),_(a.questionToken,d,e.isQuestionToken),_(a.whenTrue,c,e.isExpression),_(a.colonToken,d,e.isColonToken),_(a.whenFalse,c,e.isExpression));case 222:return e.Debug.type(a),f.updateTemplateExpression(a,_(a.head,c,e.isTemplateHead),l(a.templateSpans,c,e.isTemplateSpan));case 223:return e.Debug.type(a),f.updateYieldExpression(a,_(a.asteriskToken,d,e.isAsteriskToken),_(a.expression,c,e.isExpression));case 224:return e.Debug.type(a),f.updateSpreadElement(a,_(a.expression,c,e.isExpression));case 225:return e.Debug.type(a),f.updateClassExpression(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.heritageClauses,c,e.isHeritageClause),l(a.members,c,e.isClassElement));case 227:return e.Debug.type(a),f.updateExpressionWithTypeArguments(a,_(a.expression,c,e.isExpression),l(a.typeArguments,c,e.isTypeNode));case 228:return e.Debug.type(a),f.updateAsExpression(a,_(a.expression,c,e.isExpression),_(a.type,c,e.isTypeNode));case 229:return 32&a.flags?(e.Debug.type(a),f.updateNonNullChain(a,_(a.expression,c,e.isExpression))):(e.Debug.type(a),f.updateNonNullExpression(a,_(a.expression,c,e.isExpression)));case 230:return e.Debug.type(a),f.updateMetaProperty(a,_(a.name,c,e.isIdentifier));case 232:return e.Debug.type(a),f.updateTemplateSpan(a,_(a.expression,c,e.isExpression),_(a.literal,c,e.isTemplateMiddleOrTemplateTail));case 234:return e.Debug.type(a),f.updateBlock(a,l(a.statements,c,e.isStatement));case 236:return e.Debug.type(a),f.updateVariableStatement(a,l(a.modifiers,c,e.isModifier),_(a.declarationList,c,e.isVariableDeclarationList));case 237:return e.Debug.type(a),f.updateExpressionStatement(a,_(a.expression,c,e.isExpression));case 238:return e.Debug.type(a),f.updateIfStatement(a,_(a.expression,c,e.isExpression),_(a.thenStatement,c,e.isStatement,f.liftToBlock),_(a.elseStatement,c,e.isStatement,f.liftToBlock));case 239:return e.Debug.type(a),f.updateDoStatement(a,s(a.statement,c,u),_(a.expression,c,e.isExpression));case 240:return e.Debug.type(a),f.updateWhileStatement(a,_(a.expression,c,e.isExpression),s(a.statement,c,u));case 241:return e.Debug.type(a),f.updateForStatement(a,_(a.initializer,c,e.isForInitializer),_(a.condition,c,e.isExpression),_(a.incrementor,c,e.isExpression),s(a.statement,c,u));case 242:return e.Debug.type(a),f.updateForInStatement(a,_(a.initializer,c,e.isForInitializer),_(a.expression,c,e.isExpression),s(a.statement,c,u));case 243:return e.Debug.type(a),f.updateForOfStatement(a,_(a.awaitModifier,d,e.isAwaitKeyword),_(a.initializer,c,e.isForInitializer),_(a.expression,c,e.isExpression),s(a.statement,c,u));case 244:return e.Debug.type(a),f.updateContinueStatement(a,_(a.label,c,e.isIdentifier));case 245:return e.Debug.type(a),f.updateBreakStatement(a,_(a.label,c,e.isIdentifier));case 246:return e.Debug.type(a),f.updateReturnStatement(a,_(a.expression,c,e.isExpression));case 247:return e.Debug.type(a),f.updateWithStatement(a,_(a.expression,c,e.isExpression),_(a.statement,c,e.isStatement,f.liftToBlock));case 248:return e.Debug.type(a),f.updateSwitchStatement(a,_(a.expression,c,e.isExpression),_(a.caseBlock,c,e.isCaseBlock));case 249:return e.Debug.type(a),f.updateLabeledStatement(a,_(a.label,c,e.isIdentifier),_(a.statement,c,e.isStatement,f.liftToBlock));case 250:return e.Debug.type(a),f.updateThrowStatement(a,_(a.expression,c,e.isExpression));case 251:return e.Debug.type(a),f.updateTryStatement(a,_(a.tryBlock,c,e.isBlock),_(a.catchClause,c,e.isCatchClause),_(a.finallyBlock,c,e.isBlock));case 253:return e.Debug.type(a),f.updateVariableDeclaration(a,_(a.name,c,e.isBindingName),_(a.exclamationToken,d,e.isExclamationToken),_(a.type,c,e.isTypeNode),_(a.initializer,c,e.isExpression));case 254:return e.Debug.type(a),f.updateVariableDeclarationList(a,l(a.declarations,c,e.isVariableDeclaration));case 255:return e.Debug.type(a),f.updateFunctionDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.asteriskToken,d,e.isAsteriskToken),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 256:return e.Debug.type(a),f.updateClassDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.heritageClauses,c,e.isHeritageClause),l(a.members,c,e.isClassElement));case 257:return e.Debug.type(a),f.updateInterfaceDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.heritageClauses,c,e.isHeritageClause),l(a.members,c,e.isTypeElement));case 258:return e.Debug.type(a),f.updateTypeAliasDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),_(a.type,c,e.isTypeNode));case 259:return e.Debug.type(a),f.updateEnumDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.members,c,e.isEnumMember));case 260:return e.Debug.type(a),f.updateModuleDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isModuleName),_(a.body,c,e.isModuleBody));case 261:return e.Debug.type(a),f.updateModuleBlock(a,l(a.statements,c,e.isStatement));case 262:return e.Debug.type(a),f.updateCaseBlock(a,l(a.clauses,c,e.isCaseOrDefaultClause));case 263:return e.Debug.type(a),f.updateNamespaceExportDeclaration(a,_(a.name,c,e.isIdentifier));case 264:return e.Debug.type(a),f.updateImportEqualsDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),a.isTypeOnly,_(a.name,c,e.isIdentifier),_(a.moduleReference,c,e.isModuleReference));case 265:return e.Debug.type(a),f.updateImportDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.importClause,c,e.isImportClause),_(a.moduleSpecifier,c,e.isExpression),_(a.assertClause,c,e.isAssertClause));case 292:return e.Debug.type(a),f.updateAssertClause(a,l(a.elements,c,e.isAssertEntry),a.multiLine);case 293:return e.Debug.type(a),f.updateAssertEntry(a,_(a.name,c,e.isAssertionKey),_(a.value,c,e.isStringLiteral));case 266:return e.Debug.type(a),f.updateImportClause(a,a.isTypeOnly,_(a.name,c,e.isIdentifier),_(a.namedBindings,c,e.isNamedImportBindings));case 267:return e.Debug.type(a),f.updateNamespaceImport(a,_(a.name,c,e.isIdentifier));case 273:return e.Debug.type(a),f.updateNamespaceExport(a,_(a.name,c,e.isIdentifier));case 268:return e.Debug.type(a),f.updateNamedImports(a,l(a.elements,c,e.isImportSpecifier));case 269:return e.Debug.type(a),f.updateImportSpecifier(a,a.isTypeOnly,_(a.propertyName,c,e.isIdentifier),_(a.name,c,e.isIdentifier));case 270:return e.Debug.type(a),f.updateExportAssignment(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.expression,c,e.isExpression));case 271:return e.Debug.type(a),f.updateExportDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),a.isTypeOnly,_(a.exportClause,c,e.isNamedExportBindings),_(a.moduleSpecifier,c,e.isExpression),_(a.assertClause,c,e.isAssertClause));case 272:return e.Debug.type(a),f.updateNamedExports(a,l(a.elements,c,e.isExportSpecifier));case 274:return e.Debug.type(a),f.updateExportSpecifier(a,a.isTypeOnly,_(a.propertyName,c,e.isIdentifier),_(a.name,c,e.isIdentifier));case 276:return e.Debug.type(a),f.updateExternalModuleReference(a,_(a.expression,c,e.isExpression));case 277:return e.Debug.type(a),f.updateJsxElement(a,_(a.openingElement,c,e.isJsxOpeningElement),l(a.children,c,e.isJsxChild),_(a.closingElement,c,e.isJsxClosingElement));case 278:return e.Debug.type(a),f.updateJsxSelfClosingElement(a,_(a.tagName,c,e.isJsxTagNameExpression),l(a.typeArguments,c,e.isTypeNode),_(a.attributes,c,e.isJsxAttributes));case 279:return e.Debug.type(a),f.updateJsxOpeningElement(a,_(a.tagName,c,e.isJsxTagNameExpression),l(a.typeArguments,c,e.isTypeNode),_(a.attributes,c,e.isJsxAttributes));case 280:return e.Debug.type(a),f.updateJsxClosingElement(a,_(a.tagName,c,e.isJsxTagNameExpression));case 281:return e.Debug.type(a),f.updateJsxFragment(a,_(a.openingFragment,c,e.isJsxOpeningFragment),l(a.children,c,e.isJsxChild),_(a.closingFragment,c,e.isJsxClosingFragment));case 284:return e.Debug.type(a),f.updateJsxAttribute(a,_(a.name,c,e.isIdentifier),_(a.initializer,c,e.isStringLiteralOrJsxExpression));case 285:return e.Debug.type(a),f.updateJsxAttributes(a,l(a.properties,c,e.isJsxAttributeLike));case 286:return e.Debug.type(a),f.updateJsxSpreadAttribute(a,_(a.expression,c,e.isExpression));case 287:return e.Debug.type(a),f.updateJsxExpression(a,_(a.expression,c,e.isExpression));case 288:return e.Debug.type(a),f.updateCaseClause(a,_(a.expression,c,e.isExpression),l(a.statements,c,e.isStatement));case 289:return e.Debug.type(a),f.updateDefaultClause(a,l(a.statements,c,e.isStatement));case 290:return e.Debug.type(a),f.updateHeritageClause(a,l(a.types,c,e.isExpressionWithTypeArguments));case 291:return e.Debug.type(a),f.updateCatchClause(a,_(a.variableDeclaration,c,e.isVariableDeclaration),_(a.block,c,e.isBlock));case 294:return e.Debug.type(a),f.updatePropertyAssignment(a,_(a.name,c,e.isPropertyName),_(a.initializer,c,e.isExpression));case 295:return e.Debug.type(a),f.updateShorthandPropertyAssignment(a,_(a.name,c,e.isIdentifier),_(a.objectAssignmentInitializer,c,e.isExpression));case 296:return e.Debug.type(a),f.updateSpreadAssignment(a,_(a.expression,c,e.isExpression));case 297:return e.Debug.type(a),f.updateEnumMember(a,_(a.name,c,e.isPropertyName),_(a.initializer,c,e.isExpression));case 303:return e.Debug.type(a),f.updateSourceFile(a,n(a.statements,c,u));case 348:return e.Debug.type(a),f.updatePartiallyEmittedExpression(a,_(a.expression,c,e.isExpression));case 349:return e.Debug.type(a),f.updateCommaListExpression(a,l(a.elements,c,e.isExpression));default:return a}}}}(c||(c={})),function(e){e.createSourceMapGenerator=function(t,r,n,i,o){var s,c,u=o.extendedDiagnostics?e.performance.createTimer("Source Map","beforeSourcemap","afterSourcemap"):e.performance.nullTimer,l=u.enter,d=u.exit,_=[],p=[],f=new e.Map,g=[],m=[],y="",v=0,h=0,D=0,x=0,b=0,S=0,T=!1,C=0,E=0,k=0,A=0,F=0,N=0,P=!1,w=!1,I=!1;return{getSources:function(){return _},addSource:O,setSourceContent:M,addName:L,addMapping:R,appendSourceMap:function(t,r,n,i,o,s){e.Debug.assert(t>=C,"generatedLine cannot backtrack"),e.Debug.assert(r>=0,"generatedCharacter cannot be negative"),l();for(var c,u=[],_=a(n.mappings),p=_.next();!p.done;p=_.next()){var f=p.value;if(s&&(f.generatedLine>s.line||f.generatedLine===s.line&&f.generatedCharacter>s.character))break;if(!o||!(f.generatedLine=C,"generatedLine cannot backtrack"),e.Debug.assert(r>=0,"generatedCharacter cannot be negative"),e.Debug.assert(void 0===n||n>=0,"sourceIndex cannot be negative"),e.Debug.assert(void 0===i||i>=0,"sourceLine cannot be negative"),e.Debug.assert(void 0===a||a>=0,"sourceCharacter cannot be negative"),l(),(function(e,t){return!P||C!==e||E!==t}(t,r)||function(e,t,r){return void 0!==e&&void 0!==t&&void 0!==r&&k===e&&(A>t||A===t&&F>r)}(n,i,a))&&(j(),C=t,E=r,w=!1,I=!1,P=!0),void 0!==n&&void 0!==i&&void 0!==a&&(k=n,A=i,F=a,w=!0,void 0!==o&&(N=o,I=!0)),d()}function B(e){m.push(e),m.length>=1024&&J()}function j(){if(P&&(!T||v!==C||h!==E||D!==k||x!==A||b!==F||S!==N)){if(l(),v0&&(y+=String.fromCharCode.apply(void 0,m),m.length=0)}function K(){return j(),J(),{version:3,file:r,sourceRoot:n,sources:p,names:g,mappings:y,sourcesContent:s}}function z(t){t<0?t=1+(-t<<1):t<<=1;do{var r=31&t;(t>>=5)>0&&(r|=32),B((n=r)>=0&&n<26?65+n:n>=26&&n<52?97+n-26:n>=52&&n<62?48+n-52:62===n?43:63===n?47:e.Debug.fail("".concat(n,": not a base64 value")))}while(t>0);var n}};var t=/^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/,r=/^\s*(\/\/[@#] .*)?$/;function n(e){return"string"==typeof e||null===e}function i(t){return null!==t&&"object"==typeof t&&3===t.version&&"string"==typeof t.file&&"string"==typeof t.mappings&&e.isArray(t.sources)&&e.every(t.sources,e.isString)&&(void 0===t.sourceRoot||null===t.sourceRoot||"string"==typeof t.sourceRoot)&&(void 0===t.sourcesContent||null===t.sourcesContent||e.isArray(t.sourcesContent)&&e.every(t.sourcesContent,n))&&(void 0===t.names||null===t.names||e.isArray(t.names)&&e.every(t.names,e.isString))}function a(e){var t,r=!1,n=0,i=0,a=0,o=0,s=0,c=0,u=0;return{get pos(){return n},get error(){return t},get state(){return l(!0,!0)},next:function(){for(;!r&&n=e.length)return _("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var o=(t=e.charCodeAt(n))>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:43===t?62:47===t?63:-1;if(-1===o)return _("Invalid character in VLQ"),-1;r=0!=(32&o),a|=(31&o)<>=1:a=-(a>>=1),a}}function o(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function s(e){return void 0!==e.sourceIndex&&void 0!==e.sourcePosition}function c(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function u(t,r){return e.Debug.assert(t.sourceIndex===r.sourceIndex),e.compareValues(t.sourcePosition,r.sourcePosition)}function l(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function d(e){return e.sourcePosition}function _(e){return e.generatedPosition}e.getLineInfo=function(e,t){return{getLineCount:function(){return t.length},getLineText:function(r){return e.substring(t[r],t[r+1])}}},e.tryGetSourceMappingURL=function(n){for(var i=n.getLineCount()-1;i>=0;i--){var a=n.getLineText(i),o=t.exec(a);if(o)return e.trimStringEnd(o[1]);if(!a.match(r))break}},e.isRawSourceMap=i,e.tryParseRawSourceMap=function(e){try{var t=JSON.parse(e);if(i(t))return t}catch(e){}},e.decodeMappings=a,e.sameMapping=function(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex},e.isSourceMapping=o,e.createDocumentPositionMapper=function(t,r,n){var i,p,f,g=e.getDirectoryPath(n),m=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,g):g,y=e.getNormalizedAbsolutePath(r.file,g),v=t.getSourceFileLike(y),h=r.sources.map((function(t){return e.getNormalizedAbsolutePath(t,m)})),D=new e.Map(h.map((function(e,r){return[t.getCanonicalFileName(e),r]})));return{getSourcePosition:function(t){var r=T();if(!e.some(r))return t;var n=e.binarySearchKey(r,t.pos,_,e.compareValues);n<0&&(n=~n);var i=r[n];if(void 0===i||!s(i))return t;return{fileName:h[i.sourceIndex],pos:i.sourcePosition}},getGeneratedPosition:function(r){var n=D.get(t.getCanonicalFileName(r.fileName));if(void 0===n)return r;var i=S(n);if(!e.some(i))return r;var a=e.binarySearchKey(i,r.pos,d,e.compareValues);a<0&&(a=~a);var o=i[a];if(void 0===o||o.sourceIndex!==n)return r;return{fileName:y,pos:o.generatedPosition}}};function x(n){var i,a,s=void 0!==v?e.getPositionOfLineAndCharacter(v,n.generatedLine,n.generatedCharacter,!0):-1;if(o(n)){var c=t.getSourceFileLike(h[n.sourceIndex]);i=r.sources[n.sourceIndex],a=void 0!==c?e.getPositionOfLineAndCharacter(c,n.sourceLine,n.sourceCharacter,!0):-1}return{generatedPosition:s,source:i,sourceIndex:n.sourceIndex,sourcePosition:a,nameIndex:n.nameIndex}}function b(){if(void 0===i){var n=a(r.mappings),o=e.arrayFrom(n,x);void 0!==n.error?(t.log&&t.log("Encountered error while decoding sourcemap: ".concat(n.error)),i=e.emptyArray):i=o}return i}function S(t){if(void 0===f){for(var r=[],n=0,i=b();n0&&i!==n.elements.length||!!(n.elements.length-i)&&e.isDefaultImport(t)}function i(t){return!n(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&function(t){return!!t&&!!e.isNamedImports(t)&&e.some(t.elements,r)}(t.importClause.namedBindings))}function a(t,r,n){if(e.isBindingPattern(t.name))for(var i=0,o=t.name.elements;i=64&&e<=78},e.getNonAssignmentOperatorForCompoundAssignment=function(e){switch(e){case 64:return 39;case 65:return 40;case 66:return 41;case 67:return 42;case 68:return 43;case 69:return 44;case 70:return 47;case 71:return 48;case 72:return 49;case 73:return 50;case 74:return 51;case 78:return 52;case 75:return 56;case 76:return 55;case 77:return 60}},e.addPrologueDirectivesAndInitialSuperCall=function(t,r,n,i){if(r.body){var a=r.body.statements,o=t.copyPrologue(a,n,!1,i);if(o===a.length)return o;var s=e.findIndex(a,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}),o);if(s>-1){for(var c=o;c<=s;c++)n.push(e.visitNode(a[c],i,e.isStatement));return s+1}return o}return 0},e.getProperties=function(t,r,n){return e.filter(t.members,(function(t){return function(t,r,n){return e.isPropertyDeclaration(t)&&(!!t.initializer||!r)&&e.hasStaticModifier(t)===n}(t,r,n)}))},e.getStaticPropertiesAndClassStaticBlock=function(t){return e.filter(t.members,c)},e.isInitializedProperty=function(e){return 166===e.kind&&void 0!==e.initializer},e.isNonStaticMethodOrAccessorWithPrivateName=function(t){return!e.isStatic(t)&&e.isMethodOrAccessor(t)&&e.isPrivateIdentifier(t.name)}}(c||(c={})),function(e){var t;function r(t,n){var i=e.getTargetOfBindingOrAssignmentElement(t);return e.isBindingOrAssignmentPattern(i)?function(t,n){for(var i=e.getElementsOfBindingOrAssignmentPattern(t),a=0,o=i;a=1)||49152&f.transformFlags||49152&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){u&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),a,c,n),u=void 0);var m=o(t,a,g);e.isComputedPropertyName(g)&&(l=e.append(l,m.argumentExpression)),i(t,f,m,f)}else u=e.append(u,e.visitNode(f,t.visitor))}}u&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),a,c,n)}(t,r,l,n,c):e.isArrayBindingOrAssignmentPattern(l)?function(t,r,n,o,c){var u,l,d=e.getElementsOfBindingOrAssignmentPattern(n),_=d.length;if(t.level<1&&t.downlevelIteration)o=s(t,e.setTextRange(t.context.getEmitHelperFactory().createReadHelper(o,_>0&&e.getRestIndicatorOfBindingOrAssignmentElement(d[_-1])?void 0:_),c),!1,c);else if(1!==_&&(t.level<1||0===_)||e.every(d,e.isOmittedExpression)){o=s(t,o,!e.isDeclarationBindingElement(r)||0!==_,c)}for(var p=0;p<_;p++){var f=d[p];if(t.level>=1)if(32768&f.transformFlags||t.hasTransformedPriorElement&&!a(f)){t.hasTransformedPriorElement=!0;var g=t.context.factory.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(g),l=e.append(l,[g,f]),u=e.append(u,t.createArrayBindingOrAssignmentElement(g))}else u=e.append(u,f);else{if(e.isOmittedExpression(f))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(f)){if(p===_-1){m=t.context.factory.createArraySliceCall(o,p);i(t,f,m,f)}}else{var m=t.context.factory.createElementAccessExpression(o,p);i(t,f,m,f)}}}u&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),o,c,n);if(l)for(var y=0,v=l;y1&&(d.push(_.createEndOfDeclarationMarker(i)),e.setEmitFlags(c,4194304|e.getEmitFlags(c)));return e.singleOrMany(d)}(o);case 225:return function(r){if(!j(r))return e.visitEachChild(r,k,t);var n=_.createClassExpression(void 0,void 0,r.name,void 0,e.visitNodes(r.heritageClauses,k,e.isHeritageClause),J(r));return e.setOriginalNode(n,r),e.setTextRange(n,r),n}(o);case 290:return function(r){if(117===r.token)return;return e.visitEachChild(r,k,t)}(o);case 227:return function(t){return _.updateExpressionWithTypeArguments(t,e.visitNode(t.expression,k,e.isLeftHandSideExpression),void 0)}(o);case 168:return function(r){if(!oe(r))return;var n=_.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,ae(r),void 0,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 171:return function(r){if(!le(r))return;var n=_.updateGetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),ae(r),e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 172:return function(r){if(!le(r))return;var n=_.updateSetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),ae(r),e.visitParameterList(r.parameters,k,t),e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 255:return function(r){if(!oe(r))return _.createNotEmittedStatement(r);var n=_.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));if(Te(r)){var i=[n];return Ae(i,r),i}return n}(o);case 212:return function(r){if(!oe(r))return _.createOmittedExpression();return _.updateFunctionExpression(r,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]))}(o);case 213:return function(r){return _.updateArrowFunction(r,e.visitNodes(r.modifiers,M,e.isModifier),void 0,e.visitParameterList(r.parameters,k,t),void 0,r.equalsGreaterThanToken,e.visitFunctionBody(r.body,k,t))}(o);case 163:return function(t){if(e.parameterIsThisKeyword(t))return;var r=_.updateParameterDeclaration(t,void 0,void 0,t.dotDotDotToken,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression));r!==t&&(e.setCommentRange(r,t),e.setTextRange(r,e.moveRangePastModifiers(t)),e.setSourceMapRange(r,e.moveRangePastModifiers(t)),e.setEmitFlags(r.name,32));return r}(o);case 211:return function(n){var i=e.skipOuterExpressions(n.expression,-7);if(e.isAssertionExpression(i)){var a=e.visitNode(n.expression,k,e.isExpression);return e.length(e.getLeadingCommentRangesOfNode(a,r))?_.updateParenthesizedExpression(n,a):_.createPartiallyEmittedExpression(a,n)}return e.visitEachChild(n,k,t)}(o);case 210:case 228:return function(t){var r=e.visitNode(t.expression,k,e.isExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 207:return function(t){return _.updateCallExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 208:return function(t){return _.updateNewExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 209:return function(t){return _.updateTaggedTemplateExpression(t,e.visitNode(t.tag,k,e.isExpression),void 0,e.visitNode(t.template,k,e.isExpression))}(o);case 229:return function(t){var r=e.visitNode(t.expression,k,e.isLeftHandSideExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 259:return function(t){if(!function(t){return!e.isEnumConst(t)||e.shouldPreserveConstEnums(h)}(t))return _.createNotEmittedStatement(t);var n=[],o=2,s=me(n,t);s&&(b===e.ModuleKind.System&&a===r||(o|=512));var c=Pe(t),u=we(t),l=e.hasSyntacticModifier(t,1)?_.getExternalModuleOrNamespaceExportName(i,t,!1,!0):_.getLocalName(t,!1,!0),d=_.createLogicalOr(l,_.createAssignment(l,_.createObjectLiteralExpression()));if(pe(t)){var p=_.getLocalName(t,!1,!0);d=_.createAssignment(p,d)}var g=_.createExpressionStatement(_.createCallExpression(_.createFunctionExpression(void 0,void 0,void 0,void 0,[_.createParameterDeclaration(void 0,void 0,void 0,c)],void 0,function(t,r){var n=i;i=r;var a=[];f();var o=e.map(t.members,_e);return e.insertStatementsAfterStandardPrologue(a,m()),e.addRange(a,o),i=n,_.createBlock(e.setTextRange(_.createNodeArray(a),t.members),!0)}(t,u)),void 0,[d]));e.setOriginalNode(g,t),s&&(e.setSyntheticLeadingComments(g,void 0),e.setSyntheticTrailingComments(g,void 0));return e.setTextRange(g,t),e.addEmitFlags(g,o),n.push(g),n.push(_.createEndOfDeclarationMarker(t)),n}(o);case 236:return function(r){if(Te(r)){var n=e.getInitializedVariables(r.declarationList);if(0===n.length)return;return e.setTextRange(_.createExpressionStatement(_.inlineExpressions(e.map(n,de))),r)}return e.visitEachChild(r,k,t)}(o);case 253:return function(t){return _.updateVariableDeclaration(t,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression))}(o);case 260:return ye(o);case 264:return Se(o);case 278:return function(t){return _.updateJsxSelfClosingElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);case 279:return function(t){return _.updateJsxOpeningElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);default:return e.visitEachChild(o,k,t)}}function R(r){var n=e.getStrictOptionValue(h,"alwaysStrict")&&!(e.isExternalModule(r)&&b>=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(r);return _.updateSourceFile(r,e.visitLexicalEnvironment(r.statements,F,t,0,n))}function B(e){return!!(4096&e.transformFlags)}function j(t){return e.some(t.decorators)||e.some(t.typeParameters)||e.some(t.heritageClauses,B)||e.some(t.members,B)}function J(t){var r=[],n=e.getFirstConstructorWithBody(t),i=n&&e.filter(n.parameters,(function(t){return e.isParameterPropertyDeclaration(t,n)}));if(i)for(var a=0,o=i;a0&&e.parameterIsThisKeyword(n[0]),a=i?1:0,o=i?n.length-1:n.length,s=0;s0?166===r.kind?_.createVoidZero():_.createNull():void 0,s=p().createDecorateHelper(n,i,a,o);return e.setTextRange(s,e.moveRangePastDecorators(r)),e.setEmitFlags(s,1536),s}}function G(t){return e.visitNode(t.expression,k,e.isExpression)}function Y(t,r){var n;if(t){n=[];for(var i=0,a=t;i=2,g=d<=8||!_,m=t.onSubstituteNode;t.onSubstituteNode=function(t,r){if(r=m(t,r),1===t)return function(t){switch(t.kind){case 79:return function(t){return function(t){if(1&y&&33554432&u.getNodeCheckFlags(t)){var r=u.getReferencedValueDeclaration(t);if(r){var i=v[r.id];if(i){var a=n.cloneNode(i);return e.setSourceMapRange(a,t),e.setCommentRange(a,t),a}}}return}(t)||t}(t);case 108:return function(t){if(2&y&&b){var r=b.facts,i=b.classConstructor;if(1&r)return n.createParenthesizedExpression(n.createVoidZero());if(i)return e.setTextRange(e.setOriginalNode(n.cloneNode(i),t),t)}return t}(t)}return t}(r);return r};var y,v,h,D,x=t.onEmitNode;t.onEmitNode=function(t,r,n){var i=e.getOriginalNode(r);if(i.id){var a=E.get(i.id);if(a){var o=b,s=S;return b=a,S=a,x(t,r,n),b=o,void(S=s)}}switch(r.kind){case 212:if(e.isArrowFunction(i)||262144&e.getEmitFlags(r))break;case 255:case 170:o=b,s=S;return b=void 0,S=void 0,x(t,r,n),b=o,void(S=s);case 171:case 172:case 168:case 166:o=b,s=S;return S=b,b=void 0,x(t,r,n),b=o,void(S=s);case 161:o=b,s=S;return b=S,S=void 0,x(t,r,n),b=o,void(S=s)}x(t,r,n)};var b,S,T,C=[],E=new e.Map;return e.chainBundle(t,(function(r){var n=t.getCompilerOptions();if(r.isDeclarationFile||_&&99===e.getEmitScriptTarget(n))return r;var i=e.visitEachChild(r,F,t);return e.addEmitHelpers(i,t.readEmitHelpers()),i}));function k(a,o){if(8388608&a.transformFlags)switch(a.kind){case 225:case 256:return function(r){if(!e.forEach(r.members,j))return e.visitEachChild(r,F,t);var a=h;if(h=void 0,function(){C.push(b),b=void 0}(),p){var o=e.getNameOfDeclaration(r);o&&e.isIdentifier(o)&&(Y().className=e.idText(o));var s=J(r);e.some(s)&&(Y().weakSetName=$("instances",s[0].name))}var l=e.isClassDeclaration(r)?function(t){var r=K(t);r&&(G().facts=r);8&r&&W();var a,o=e.getStaticPropertiesAndClassStaticBlock(t);if(2&r){var s=n.createTempVariable(i,!0);G().classConstructor=n.cloneNode(s),a=n.createAssignment(s,n.getInternalName(t))}var c=e.getEffectiveBaseTypeNode(t),u=!(!c||104===e.skipOuterExpressions(c.expression).kind),l=[n.updateClassDeclaration(t,void 0,t.modifiers,t.name,void 0,e.visitNodes(t.heritageClauses,N,e.isHeritageClause),z(t,u))];a&&X().unshift(a);e.some(h)&&l.push(n.createExpressionStatement(n.inlineExpressions(h)));e.some(o)&&V(l,o,n.getInternalName(t));return l}(r):function(r){var a=K(r);a&&(G().facts=a);8&a&&W();var o,s=!!(1&a),l=e.getStaticPropertiesAndClassStaticBlock(r),d=e.getEffectiveBaseTypeNode(r),_=!(!d||104===e.skipOuterExpressions(d.expression).kind),f=16777216&u.getNodeCheckFlags(r);function g(){var e=u.getNodeCheckFlags(r),t=16777216&e,a=524288&e;return n.createTempVariable(a?c:i,!!t)}2&a&&(o=g(),G().classConstructor=n.cloneNode(o));var m=n.updateClassExpression(r,e.visitNodes(r.decorators,F,e.isDecorator),r.modifiers,r.name,void 0,e.visitNodes(r.heritageClauses,N,e.isHeritageClause),z(r,_));if(e.some(l,(function(t){return e.isClassStaticBlockDeclaration(t)||!!t.initializer||p&&e.isPrivateIdentifier(t.name)}))||e.some(h)){if(s)return e.Debug.assertIsDefined(D,"Decorated classes transformed by TypeScript are expected to be within a variable declaration."),D&&h&&e.some(h)&&D.push(n.createExpressionStatement(n.inlineExpressions(h))),D&&e.some(l)&&V(D,l,n.getInternalName(r)),o?n.inlineExpressions([n.createAssignment(o,m),o]):m;var x=[];if(o||(o=g()),f){0==(1&y)&&(y|=1,t.enableSubstitution(79),v=[]);var b=n.cloneNode(o);b.autoGenerateFlags&=-9,v[e.getOriginalNodeId(r)]=b}return e.setEmitFlags(m,65536|e.getEmitFlags(m)),x.push(e.startOnNewLine(n.createAssignment(o,m))),e.addRange(x,e.map(h,e.startOnNewLine)),e.addRange(x,function(t,r){for(var n=[],i=0,a=t;id&&(_||e.addRange(f,e.visitNodes(i.body.statements,F,e.isStatement,d,g-d)),d=g)}var m=n.createThis();(function(t,r,i){if(!p||!e.some(r))return;var a=Y().weakSetName;e.Debug.assert(a,"weakSetName should be set in private identifier environment"),t.push(n.createExpressionStatement(function(t,r){return e.factory.createCallExpression(e.factory.createPropertyAccessExpression(r,"add"),void 0,[t])}(i,a)))})(f,u,m),V(f,c,m),i&&e.addRange(f,e.visitNodes(i.body.statements,F,e.isStatement,d));return f=n.mergeLexicalEnvironment(f,a()),e.setTextRange(n.createBlock(e.setTextRange(n.createNodeArray(f),i?i.body.statements:r.members),!0),i?i.body:void 0)}(r,o,i);if(!l)return;return e.startOnNewLine(e.setOriginalNode(e.setTextRange(n.createConstructorDeclaration(void 0,void 0,null!=u?u:[],l),o||r),o))}(r,i);return f&&d.push(f),e.addRange(d,e.visitNodes(r.members,w,e.isClassElement)),e.setTextRange(n.createNodeArray(d),r.members)}function U(t){return!e.isStatic(t)&&!e.hasSyntacticModifier(e.getOriginalNode(t),128)&&(_?d<99:e.isInitializedProperty(t)||p&&e.isPrivateIdentifierClassElementDeclaration(t))}function V(t,r,i){for(var a=0,o=r;a=0;--r){var n,i=C[r];if(i)if(n=null===(t=i.privateIdentifierEnvironment)||void 0===t?void 0:t.identifiers.get(e.escapedText))return n}}function te(r){var a=n.getGeneratedNameForNode(r),o=ee(r.name);if(!o)return e.visitEachChild(r,F,t);var s=r.expression;return(e.isThisProperty(r)||e.isSuperProperty(r)||!e.isSimpleCopiableExpression(r.expression))&&(s=n.createTempVariable(i,!0),X().push(n.createBinaryExpression(s,63,e.visitNode(r.expression,F,e.isExpression)))),n.createAssignmentTargetWrapper(a,B(o,s,a,63))}function re(t){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r){var i=void 0;if(e.isPrivateIdentifierPropertyAccessExpression(r))i=te(r);else if(f&&e.isSuperProperty(r)&&T&&b){var a=b.classConstructor,o=b.superClassReference;if(1&b.facts)i=H(r);else if(a&&o){var s=e.isElementAccessExpression(r)?e.visitNode(r.argumentExpression,F,e.isExpression):e.isIdentifier(r.name)?n.createStringLiteralFromNode(r.name):void 0;if(s){var c=n.createTempVariable(void 0);i=n.createAssignmentTargetWrapper(c,n.createReflectSetCall(o,s,c,a))}}}if(i)return e.isAssignmentExpression(t)?n.updateBinaryExpression(t,i,t.operatorToken,e.visitNode(t.right,F,e.isExpression)):e.isSpreadElement(t)?n.updateSpreadElement(t,i):i}return e.visitNode(t,P)}function ne(t){if(e.isObjectBindingOrAssignmentElement(t)&&!e.isShorthandPropertyAssignment(t)){var r=e.getTargetOfBindingOrAssignmentElement(t),i=void 0;if(r)if(e.isPrivateIdentifierPropertyAccessExpression(r))i=te(r);else if(f&&e.isSuperProperty(r)&&T&&b){var a=b.classConstructor,o=b.superClassReference;if(1&b.facts)i=H(r);else if(a&&o){var s=e.isElementAccessExpression(r)?e.visitNode(r.argumentExpression,F,e.isExpression):e.isIdentifier(r.name)?n.createStringLiteralFromNode(r.name):void 0;if(s){var c=n.createTempVariable(void 0);i=n.createAssignmentTargetWrapper(c,n.createReflectSetCall(o,s,c,a))}}}if(e.isPropertyAssignment(t)){var u=e.getInitializerOfBindingOrAssignmentElement(t);return n.updatePropertyAssignment(t,e.visitNode(t.name,F,e.isPropertyName),i?u?n.createAssignment(i,e.visitNode(u,F)):i:e.visitNode(t.initializer,P,e.isExpression))}if(e.isSpreadAssignment(t))return n.updateSpreadAssignment(t,i||e.visitNode(t.expression,P,e.isExpression));e.Debug.assert(void 0===i,"Should not have generated a wrapped target")}return e.visitNode(t,F)}}}(c||(c={})),function(e){var t,n;function i(t,r,n,i){var a=0!=(4096&r.getNodeCheckFlags(n)),o=[];return i.forEach((function(r,n){var i=e.unescapeLeadingUnderscores(n),s=[];s.push(t.createPropertyAssignment("get",t.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4)))),a&&s.push(t.createPropertyAssignment("set",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,void 0,"v",void 0,void 0,void 0)],void 0,void 0,t.createAssignment(e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4),t.createIdentifier("v"))))),o.push(t.createPropertyAssignment(i,t.createObjectLiteralExpression(s)))})),t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_super",48),void 0,void 0,t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"create"),void 0,[t.createNull(),t.createObjectLiteralExpression(o,!0)]))],2))}!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(t||(t={})),function(e){e[e.NonTopLevel=1]="NonTopLevel",e[e.HasLexicalThis=2]="HasLexicalThis"}(n||(n={})),e.transformES2017=function(t){var n,a,o,s,c=t.factory,u=t.getEmitHelperFactory,l=t.resumeLexicalEnvironment,d=t.endLexicalEnvironment,_=t.hoistVariableDeclaration,p=t.getEmitResolver(),f=t.getCompilerOptions(),g=e.getEmitScriptTarget(f),m=0,y=[],v=0,h=t.onEmitNode,D=t.onSubstituteNode;return t.onEmitNode=function(t,r,i){if(1&n&&function(e){var t=e.kind;return 256===t||170===t||168===t||171===t||172===t}(r)){var a=6144&p.getNodeCheckFlags(r);if(a!==m){var o=m;return m=a,h(t,r,i),void(m=o)}}else if(n&&y[e.getNodeId(r)]){o=m;return m=0,h(t,r,i),void(m=o)}h(t,r,i)},t.onSubstituteNode=function(t,n){if(n=D(t,n),1===t&&m)return function(t){switch(t.kind){case 205:return J(t);case 206:return K(t);case 207:return function(t){var n=t.expression;if(e.isSuperProperty(n)){var i=e.isPropertyAccessExpression(n)?J(n):K(n);return c.createCallExpression(c.createPropertyAccessExpression(i,"call"),void 0,r([c.createThis()],t.arguments,!0))}return t}(t)}return t}(n);return n},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;x(1,!1),x(2,!e.isEffectiveStrictModeSourceFile(r,f));var n=e.visitEachChild(r,E,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function x(e,t){v=t?v|e:v&~e}function b(e){return 0!=(v&e)}function S(){return b(2)}function T(e,t,r){var n=e&~v;if(n){x(n,!0);var i=t(r);return x(n,!1),i}return t(r)}function C(r){return e.visitEachChild(r,E,t)}function E(r){if(0==(128&r.transformFlags))return r;switch(r.kind){case 131:return;case 217:return function(r){if(!b(1))return e.visitEachChild(r,E,t);return e.setOriginalNode(e.setTextRange(c.createYieldExpression(void 0,e.visitNode(r.expression,E,e.isExpression)),r),r)}(r);case 168:return T(3,A,r);case 255:return T(3,F,r);case 212:return T(3,N,r);case 213:return T(1,P,r);case 205:return o&&e.isPropertyAccessExpression(r)&&106===r.expression.kind&&o.add(r.name.escapedText),e.visitEachChild(r,E,t);case 206:return o&&106===r.expression.kind&&(s=!0),e.visitEachChild(r,E,t);case 171:case 172:case 170:case 256:case 225:return T(3,C,r);default:return e.visitEachChild(r,E,t)}}function k(r){if(e.isNodeWithPossibleHoistedDeclaration(r))switch(r.kind){case 236:return function(r){if(I(r.declarationList)){var n=O(r.declarationList,!1);return n?c.createExpressionStatement(n):void 0}return e.visitEachChild(r,E,t)}(r);case 241:return function(r){var n=r.initializer;return c.updateForStatement(r,I(n)?O(n,!1):e.visitNode(r.initializer,E,e.isForInitializer),e.visitNode(r.condition,E,e.isExpression),e.visitNode(r.incrementor,E,e.isExpression),e.visitIterationBody(r.statement,k,t))}(r);case 242:return function(r){return c.updateForInStatement(r,I(r.initializer)?O(r.initializer,!0):e.visitNode(r.initializer,E,e.isForInitializer),e.visitNode(r.expression,E,e.isExpression),e.visitIterationBody(r.statement,k,t))}(r);case 243:return function(r){return c.updateForOfStatement(r,e.visitNode(r.awaitModifier,E,e.isToken),I(r.initializer)?O(r.initializer,!0):e.visitNode(r.initializer,E,e.isForInitializer),e.visitNode(r.expression,E,e.isExpression),e.visitIterationBody(r.statement,k,t))}(r);case 291:return function(r){var n,i=new e.Set;if(w(r.variableDeclaration,i),i.forEach((function(t,r){a.has(r)&&(n||(n=new e.Set(a)),n.delete(r))})),n){var o=a;a=n;var s=e.visitEachChild(r,k,t);return a=o,s}return e.visitEachChild(r,k,t)}(r);case 234:case 248:case 262:case 288:case 289:case 251:case 239:case 240:case 238:case 247:case 249:return e.visitEachChild(r,k,t);default:return e.Debug.assertNever(r,"Unhandled node.")}return E(r)}function A(r){return c.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,E,e.isModifier),r.asteriskToken,r.name,void 0,void 0,e.visitParameterList(r.parameters,E,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,E,t))}function F(r){return c.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,E,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,E,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,E,t))}function N(r){return c.updateFunctionExpression(r,e.visitNodes(r.modifiers,E,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,E,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,E,t))}function P(r){return c.updateArrowFunction(r,e.visitNodes(r.modifiers,E,e.isModifier),void 0,e.visitParameterList(r.parameters,E,t),void 0,r.equalsGreaterThanToken,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,E,t))}function w(t,r){var n=t.name;if(e.isIdentifier(n))r.add(n.escapedText);else for(var i=0,a=n.elements;i=2&&6144&p.getNodeCheckFlags(r);if(P&&(0==(1&n)&&(n|=1,t.enableSubstitution(207),t.enableSubstitution(205),t.enableSubstitution(206),t.enableEmitNotification(256),t.enableEmitNotification(168),t.enableEmitNotification(171),t.enableEmitNotification(172),t.enableEmitNotification(170),t.enableEmitNotification(236)),o.size)){var I=i(c,p,r,o);y[e.getNodeId(I)]=!0,e.insertStatementsAfterStandardPrologue(F,[I])}var O=c.createBlock(F,!0);e.setTextRange(O,r.body),P&&s&&(4096&p.getNodeCheckFlags(r)?e.addEmitHelper(O,e.advancedAsyncSuperHelper):2048&p.getNodeCheckFlags(r)&&e.addEmitHelper(O,e.asyncSuperHelper)),b=O}return a=h,m||(o=T,s=C),b}function j(t,r){return e.isBlock(t)?c.updateBlock(t,e.visitNodes(t.statements,k,e.isStatement,r)):c.converters.convertToFunctionBlock(e.visitNode(t,k,e.isConciseBody))}function J(t){return 106===t.expression.kind?e.setTextRange(c.createPropertyAccessExpression(c.createUniqueName("_super",48),t.name),t):t}function K(t){return 106===t.expression.kind?(r=t.argumentExpression,n=t,4096&m?e.setTextRange(c.createPropertyAccessExpression(c.createCallExpression(c.createUniqueName("_superIndex",48),void 0,[r]),"value"),n):e.setTextRange(c.createCallExpression(c.createUniqueName("_superIndex",48),void 0,[r]),n)):t;var r,n}},e.createSuperAccessVariableStatement=i}(c||(c={})),function(e){var t,n;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(t||(t={})),function(e){e[e.None=0]="None",e[e.HasLexicalThis=1]="HasLexicalThis",e[e.IterationContainer=2]="IterationContainer",e[e.AncestorFactsMask=3]="AncestorFactsMask",e[e.SourceFileIncludes=1]="SourceFileIncludes",e[e.SourceFileExcludes=2]="SourceFileExcludes",e[e.StrictModeSourceFileIncludes=0]="StrictModeSourceFileIncludes",e[e.ClassOrFunctionIncludes=1]="ClassOrFunctionIncludes",e[e.ClassOrFunctionExcludes=2]="ClassOrFunctionExcludes",e[e.ArrowFunctionIncludes=0]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=2]="ArrowFunctionExcludes",e[e.IterationStatementIncludes=2]="IterationStatementIncludes",e[e.IterationStatementExcludes=0]="IterationStatementExcludes"}(n||(n={})),e.transformES2018=function(t){var n=t.factory,i=t.getEmitHelperFactory,a=t.resumeLexicalEnvironment,o=t.endLexicalEnvironment,s=t.hoistVariableDeclaration,c=t.getEmitResolver(),u=t.getCompilerOptions(),l=e.getEmitScriptTarget(u),d=t.onEmitNode;t.onEmitNode=function(t,r,n){if(1&p&&function(e){var t=e.kind;return 256===t||170===t||168===t||171===t||172===t}(r)){var i=6144&c.getNodeCheckFlags(r);if(i!==D){var a=D;return D=i,d(t,r,n),void(D=a)}}else if(p&&b[e.getNodeId(r)]){a=D;return D=0,d(t,r,n),void(D=a)}d(t,r,n)};var _=t.onSubstituteNode;t.onSubstituteNode=function(t,i){if(i=_(t,i),1===t&&D)return function(t){switch(t.kind){case 205:return W(t);case 206:return H(t);case 207:return function(t){var i=t.expression;if(e.isSuperProperty(i)){var a=e.isPropertyAccessExpression(i)?W(i):H(i);return n.createCallExpression(n.createPropertyAccessExpression(a,"call"),void 0,r([n.createThis()],t.arguments,!0))}return t}(t)}return t}(i);return i};var p,f,g,m,y,v,h=!1,D=0,x=0,b=[];return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;g=r;var i=function(r){var i=S(2,e.isEffectiveStrictModeSourceFile(r,u)?0:1);h=!1;var a=e.visitEachChild(r,E,t),o=e.concatenate(a.statements,m&&[n.createVariableStatement(void 0,n.createVariableDeclarationList(m))]),s=n.updateSourceFile(a,e.setTextRange(n.createNodeArray(o),r.statements));return T(i),s}(r);return e.addEmitHelpers(i,t.readEmitHelpers()),g=void 0,m=void 0,i}));function S(e,t){var r=x;return x=3&(x&~e|t),r}function T(e){x=e}function C(t){m=e.append(m,n.createVariableDeclaration(t))}function E(e){return P(e,!1)}function k(e){return P(e,!0)}function A(e){if(131!==e.kind)return e}function F(e,t,r,n){if(function(e,t){return x!==(x&~e|t)}(r,n)){var i=S(r,n),a=e(t);return T(i),a}return e(t)}function N(r){return e.visitEachChild(r,E,t)}function P(a,o){if(0==(64&a.transformFlags))return a;switch(a.kind){case 217:return function(r){if(2&f&&1&f)return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(e.visitNode(r.expression,E,e.isExpression))),r),r);return e.visitEachChild(r,E,t)}(a);case 223:return function(r){if(2&f&&1&f){if(r.asteriskToken){var a=e.visitNode(e.Debug.assertDefined(r.expression),E,e.isExpression);return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(n.updateYieldExpression(r,r.asteriskToken,e.setTextRange(i().createAsyncDelegatorHelper(e.setTextRange(i().createAsyncValuesHelper(a),a)),a)))),r),r)}return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,M(r.expression?e.visitNode(r.expression,E,e.isExpression):n.createVoidZero())),r),r)}return e.visitEachChild(r,E,t)}(a);case 246:return function(r){if(2&f&&1&f)return n.updateReturnStatement(r,M(r.expression?e.visitNode(r.expression,E,e.isExpression):n.createVoidZero()));return e.visitEachChild(r,E,t)}(a);case 249:return function(r){if(2&f){var i=e.unwrapInnermostStatementOfLabel(r);return 243===i.kind&&i.awaitModifier?O(i,r):n.restoreEnclosingLabel(e.visitNode(i,E,e.isStatement,n.liftToBlock),r)}return e.visitEachChild(r,E,t)}(a);case 204:return function(r){if(32768&r.transformFlags){var a=function(t){for(var r,i=[],a=0,o=t;a1){for(var s=1;s=2&&6144&c.getNodeCheckFlags(r);if(g){0==(1&p)&&(p|=1,t.enableSubstitution(207),t.enableSubstitution(205),t.enableSubstitution(206),t.enableEmitNotification(256),t.enableEmitNotification(168),t.enableEmitNotification(171),t.enableEmitNotification(172),t.enableEmitNotification(170),t.enableEmitNotification(236));var m=e.createSuperAccessVariableStatement(n,c,r,y);b[e.getNodeId(m)]=!0,e.insertStatementsAfterStandardPrologue(s,[m])}s.push(f),e.insertStatementsAfterStandardPrologue(s,o());var h=n.updateBlock(r.body,s);return g&&v&&(4096&c.getNodeCheckFlags(r)?e.addEmitHelper(h,e.advancedAsyncSuperHelper):2048&c.getNodeCheckFlags(r)&&e.addEmitHelper(h,e.asyncSuperHelper)),y=d,v=_,h}function V(t){var r;a();var i=0,s=[],c=null!==(r=e.visitNode(t.body,E,e.isConciseBody))&&void 0!==r?r:n.createBlock([]);e.isBlock(c)&&(i=n.copyPrologue(c.statements,s,!1,E)),e.addRange(s,q(void 0,t));var u=o();if(i>0||e.some(s)||e.some(u)){var l=n.converters.convertToFunctionBlock(c,!0);return e.insertStatementsAfterStandardPrologue(s,u),e.addRange(s,l.statements.slice(i)),n.updateBlock(l,e.setTextRange(n.createNodeArray(s),l.statements))}return c}function q(r,i){for(var a=0,o=i.parameters;a1||!!(null===(_=p[0])||void 0===_?void 0:_.dotDotDotToken),g=[t,r,i?E(i.initializer):a.createVoidZero()];if(5===s.jsx){var m=e.getOriginalNode(n);if(m&&e.isSourceFile(m)){g.push(f?a.createTrue():a.createFalse());var y=e.getLineAndCharacterOfPosition(m,d.pos);g.push(a.createObjectLiteralExpression([a.createPropertyAssignment("fileName",c()),a.createPropertyAssignment("lineNumber",a.createNumericLiteral(y.line+1)),a.createPropertyAssignment("columnNumber",a.createNumericLiteral(y.character+1))])),g.push(a.createThis())}}var v=e.setTextRange(a.createCallExpression(u(f),void 0,g),d);return l&&e.startOnNewLine(v),v}function D(t,o,c,u){var d=F(t),p=t.attributes.properties,f=e.length(p)?S(p):a.createNull(),g=void 0===i.importSpecifier?e.createJsxFactoryExpression(a,r.getEmitResolver().getJsxFactoryEntity(n),s.reactNamespace,t):l("createElement"),m=e.createExpressionForJsxElement(a,g,d,f,e.mapDefined(o,_),u);return c&&e.startOnNewLine(m),m}function x(e,t,r,n){var i;if(t&&t.length){var o=function(e){var t=y(e);return t&&a.createObjectLiteralExpression([t])}(t);o&&(i=o)}return h(l("Fragment"),i||a.createObjectLiteralExpression([]),void 0,t,r,n)}function b(t,i,o,c){var u=e.createExpressionForJsxFragment(a,r.getEmitResolver().getJsxFactoryEntity(n),r.getEmitResolver().getJsxFragmentFactoryEntity(n),s.reactNamespace,e.mapDefined(i,_),t,c);return o&&e.startOnNewLine(u),u}function S(t,r){var n=e.getEmitScriptTarget(s);return n&&n>=5?a.createObjectLiteralExpression(function(t,r){var n=e.flatten(e.spanMap(t,e.isJsxSpreadAttribute,(function(t,r){return e.map(t,(function(t){return r?function(t){return a.createSpreadAssignment(e.visitNode(t.expression,d,e.isExpression))}(t):C(t)}))})));r&&n.push(r);return n}(t,r)):function(t,r){var n=e.flatten(e.spanMap(t,e.isJsxSpreadAttribute,(function(t,r){return r?e.map(t,T):a.createObjectLiteralExpression(e.map(t,C))})));e.isJsxSpreadAttribute(t[0])&&n.unshift(a.createObjectLiteralExpression());r&&n.push(a.createObjectLiteralExpression([r]));return e.singleOrUndefined(n)||o().createAssignHelper(n)}(t,r)}function T(t){return e.visitNode(t.expression,d,e.isExpression)}function C(t){var r=function(t){var r=t.name,n=e.idText(r);return/^[A-Za-z_]\w*$/.test(n)?r:a.createStringLiteral(n)}(t),n=E(t.initializer);return a.createPropertyAssignment(r,n)}function E(t){if(void 0===t)return a.createTrue();if(10===t.kind){var r=void 0!==t.singleQuote?t.singleQuote:!e.isStringDoubleQuoted(t,n),i=a.createStringLiteral((o=t.text,((s=A(o))===o?void 0:s)||t.text),r);return e.setTextRange(i,t)}return 287===t.kind?void 0===t.expression?a.createTrue():e.visitNode(t.expression,d,e.isExpression):e.Debug.failBadSyntaxKind(t);var o,s}function k(e,t){var r=A(t);return void 0===e?r:e+" "+r}function A(r){return r.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,(function(r,n,i,a,o,s,c){if(o)return e.utf16EncodeAsString(parseInt(o,10));if(s)return e.utf16EncodeAsString(parseInt(s,16));var u=t.get(c);return u?e.utf16EncodeAsString(u):r}))}function F(t){if(277===t.kind)return F(t.openingElement);var r=t.tagName;return e.isIdentifier(r)&&e.isIntrinsicJsxName(r.escapedText)?a.createStringLiteral(e.idText(r)):e.createExpressionFromEntityName(a,r)}function N(t){var r=e.visitNode(t.expression,d,e.isExpression);return t.dotDotDotToken?a.createSpreadElement(r):r}};var t=new e.Map(e.getEntries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}(c||(c={})),function(e){e.transformES2016=function(t){var r=t.factory,n=t.hoistVariableDeclaration;return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;return e.visitEachChild(r,i,t)}));function i(a){return 0==(256&a.transformFlags)?a:220===a.kind?function(a){switch(a.operatorToken.kind){case 67:return function(t){var a,o,s=e.visitNode(t.left,i,e.isExpression),c=e.visitNode(t.right,i,e.isExpression);if(e.isElementAccessExpression(s)){var u=r.createTempVariable(n),l=r.createTempVariable(n);a=e.setTextRange(r.createElementAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),e.setTextRange(r.createAssignment(l,s.argumentExpression),s.argumentExpression)),s),o=e.setTextRange(r.createElementAccessExpression(u,l),s)}else if(e.isPropertyAccessExpression(s)){u=r.createTempVariable(n);a=e.setTextRange(r.createPropertyAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),s.name),s),o=e.setTextRange(r.createPropertyAccessExpression(u,s.name),s)}else a=s,o=s;return e.setTextRange(r.createAssignment(a,e.setTextRange(r.createGlobalMethodCall("Math","pow",[o,c]),t)),t)}(a);case 42:return function(t){var n=e.visitNode(t.left,i,e.isExpression),a=e.visitNode(t.right,i,e.isExpression);return e.setTextRange(r.createGlobalMethodCall("Math","pow",[n,a]),t)}(a);default:return e.visitEachChild(a,i,t)}}(a):e.visitEachChild(a,i,t)}}}(c||(c={})),function(e){var t,n,i,a,o,s;function c(e,t){return{kind:e,expression:t}}!function(e){e[e.CapturedThis=1]="CapturedThis",e[e.BlockScopedBindings=2]="BlockScopedBindings"}(t||(t={})),function(e){e[e.Body=1]="Body",e[e.Initializer=2]="Initializer"}(n||(n={})),function(e){e[e.ToOriginal=0]="ToOriginal",e[e.ToOutParameter=1]="ToOutParameter"}(i||(i={})),function(e){e[e.Break=2]="Break",e[e.Continue=4]="Continue",e[e.Return=8]="Return"}(a||(a={})),function(e){e[e.None=0]="None",e[e.Function=1]="Function",e[e.ArrowFunction=2]="ArrowFunction",e[e.AsyncFunctionBody=4]="AsyncFunctionBody",e[e.NonStaticClassElement=8]="NonStaticClassElement",e[e.CapturesThis=16]="CapturesThis",e[e.ExportedVariableStatement=32]="ExportedVariableStatement",e[e.TopLevel=64]="TopLevel",e[e.Block=128]="Block",e[e.IterationStatement=256]="IterationStatement",e[e.IterationStatementBlock=512]="IterationStatementBlock",e[e.IterationContainer=1024]="IterationContainer",e[e.ForStatement=2048]="ForStatement",e[e.ForInOrForOfStatement=4096]="ForInOrForOfStatement",e[e.ConstructorWithCapturedSuper=8192]="ConstructorWithCapturedSuper",e[e.StaticInitializer=16384]="StaticInitializer",e[e.AncestorFactsMask=32767]="AncestorFactsMask",e[e.BlockScopeIncludes=0]="BlockScopeIncludes",e[e.BlockScopeExcludes=7104]="BlockScopeExcludes",e[e.SourceFileIncludes=64]="SourceFileIncludes",e[e.SourceFileExcludes=8064]="SourceFileExcludes",e[e.FunctionIncludes=65]="FunctionIncludes",e[e.FunctionExcludes=32670]="FunctionExcludes",e[e.AsyncFunctionBodyIncludes=69]="AsyncFunctionBodyIncludes",e[e.AsyncFunctionBodyExcludes=32662]="AsyncFunctionBodyExcludes",e[e.ArrowFunctionIncludes=66]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=15232]="ArrowFunctionExcludes",e[e.ConstructorIncludes=73]="ConstructorIncludes",e[e.ConstructorExcludes=32662]="ConstructorExcludes",e[e.DoOrWhileStatementIncludes=1280]="DoOrWhileStatementIncludes",e[e.DoOrWhileStatementExcludes=0]="DoOrWhileStatementExcludes",e[e.ForStatementIncludes=3328]="ForStatementIncludes",e[e.ForStatementExcludes=5056]="ForStatementExcludes",e[e.ForInOrForOfStatementIncludes=5376]="ForInOrForOfStatementIncludes",e[e.ForInOrForOfStatementExcludes=3008]="ForInOrForOfStatementExcludes",e[e.BlockIncludes=128]="BlockIncludes",e[e.BlockExcludes=6976]="BlockExcludes",e[e.IterationStatementBlockIncludes=512]="IterationStatementBlockIncludes",e[e.IterationStatementBlockExcludes=7104]="IterationStatementBlockExcludes",e[e.StaticInitializerIncludes=16449]="StaticInitializerIncludes",e[e.StaticInitializerExcludes=32670]="StaticInitializerExcludes",e[e.NewTarget=32768]="NewTarget",e[e.CapturedLexicalThis=65536]="CapturedLexicalThis",e[e.SubtreeFactsMask=-32768]="SubtreeFactsMask",e[e.ArrowFunctionSubtreeExcludes=0]="ArrowFunctionSubtreeExcludes",e[e.FunctionSubtreeExcludes=98304]="FunctionSubtreeExcludes"}(o||(o={})),function(e){e[e.None=0]="None",e[e.UnpackedSpread=1]="UnpackedSpread",e[e.PackedSpread=2]="PackedSpread"}(s||(s={})),e.transformES2015=function(t){var n,i,a,o,s,u,l=t.factory,d=t.getEmitHelperFactory,_=t.startLexicalEnvironment,p=t.resumeLexicalEnvironment,f=t.endLexicalEnvironment,g=t.hoistVariableDeclaration,m=t.getCompilerOptions(),y=t.getEmitResolver(),v=t.onSubstituteNode,h=t.onEmitNode;function D(t){o=e.append(o,l.createVariableDeclaration(t))}return t.onEmitNode=function(t,r,n){if(1&u&&e.isFunctionLike(r)){var i=x(32670,8&e.getEmitFlags(r)?81:65);return h(t,r,n),void b(i,0,0)}h(t,r,n)},t.onSubstituteNode=function(t,r){if(r=v(t,r),1===t)return function(t){switch(t.kind){case 79:return function(t){if(2&u&&!e.isInternalName(t)){var r=y.getReferencedDeclarationWithCollidingName(t);if(r&&(!e.isClassLike(r)||!function(t,r){var n=e.getParseTreeNode(r);if(!n||n===t||n.end<=t.pos||n.pos>=t.end)return!1;var i=e.getEnclosingBlockScopeContainer(t);for(;n;){if(n===i||n===t)return!1;if(e.isClassElement(n)&&n.parent===t)return!0;n=n.parent}return!1}(r,t)))return e.setTextRange(l.getGeneratedNameForNode(e.getNameOfDeclaration(r)),t)}return t}(t);case 108:return function(t){if(1&u&&16&a)return e.setTextRange(l.createUniqueName("_this",48),t);return t}(t)}return t}(r);if(e.isIdentifier(r))return function(t){if(2&u&&!e.isInternalName(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r&&function(e){switch(e.parent.kind){case 202:case 256:case 259:case 253:return e.parent.name===e&&y.isDeclarationWithCollidingName(e.parent)}return!1}(r))return e.setTextRange(l.getGeneratedNameForNode(r),t)}return t}(r);return r},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;n=r,i=r.text;var s=function(t){var r=x(8064,64),n=[],i=[];_();var a=l.copyPrologue(t.statements,n,!1,C);e.addRange(i,e.visitNodes(t.statements,C,e.isStatement,a)),o&&i.push(l.createVariableStatement(void 0,l.createVariableDeclarationList(o)));return l.mergeLexicalEnvironment(n,f()),K(n,t),b(r,0,0),l.updateSourceFile(t,e.setTextRange(l.createNodeArray(e.concatenate(n,i)),t.statements))}(r);return e.addEmitHelpers(s,t.readEmitHelpers()),n=void 0,i=void 0,o=void 0,a=0,s}));function x(e,t){var r=a;return a=32767&(a&~e|t),r}function b(e,t,r){a=-32768&(a&~t|r)|e}function S(e){return 0!=(8192&a)&&246===e.kind&&!e.expression}function T(t){return 0!=(512&t.transformFlags)||void 0!==s||8192&a&&function(t){return 2097152&t.transformFlags&&(e.isReturnStatement(t)||e.isIfStatement(t)||e.isWithStatement(t)||e.isSwitchStatement(t)||e.isCaseBlock(t)||e.isCaseClause(t)||e.isDefaultClause(t)||e.isTryStatement(t)||e.isCatchClause(t)||e.isLabeledStatement(t)||e.isIterationStatement(t,!1)||e.isBlock(t))}(t)||e.isIterationStatement(t,!1)&&pe(t)||0!=(33554432&e.getEmitFlags(t))}function C(e){return T(e)?F(e,!1):e}function E(e){return T(e)?F(e,!0):e}function k(t){if(T(t)){var r=e.getOriginalNode(t);if(e.isPropertyDeclaration(r)&&e.hasStaticModifier(r)){var n=x(32670,16449),i=F(t,!1);return b(n,98304,0),i}return F(t,!1)}return t}function A(e){return 106===e.kind?we(!0):C(e)}function F(i,o){switch(i.kind){case 124:return;case 256:return function(t){var r=l.createVariableDeclaration(l.getLocalName(t,!0),void 0,void 0,w(t));e.setOriginalNode(r,t);var n=[],i=l.createVariableStatement(void 0,l.createVariableDeclarationList([r]));if(e.setOriginalNode(i,t),e.setTextRange(i,t),e.startOnNewLine(i),n.push(i),e.hasSyntacticModifier(t,1)){var a=e.hasSyntacticModifier(t,512)?l.createExportDefault(l.getLocalName(t)):l.createExternalModuleExport(l.getLocalName(t));e.setOriginalNode(a,i),n.push(a)}var o=e.getEmitFlags(t);0==(4194304&o)&&(n.push(l.createEndOfDeclarationMarker(t)),e.setEmitFlags(i,4194304|o));return e.singleOrMany(n)}(i);case 225:return function(e){return w(e)}(i);case 163:return function(t){return t.dotDotDotToken?void 0:e.isBindingPattern(t.name)?e.setOriginalNode(e.setTextRange(l.createParameterDeclaration(void 0,void 0,void 0,l.getGeneratedNameForNode(t),void 0,void 0,void 0),t),t):t.initializer?e.setOriginalNode(e.setTextRange(l.createParameterDeclaration(void 0,void 0,void 0,t.name,void 0,void 0,void 0),t),t):t}(i);case 255:return function(r){var n=s;s=void 0;var i=x(32670,65),o=e.visitParameterList(r.parameters,C,t),c=Y(r),u=32768&a?l.getLocalName(r):r.name;return b(i,98304,0),s=n,l.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,u,void 0,o,void 0,c)}(i);case 213:return function(r){8192&r.transformFlags&&!(16384&a)&&(a|=65536);var n=s;s=void 0;var i=x(15232,66),o=l.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(r.parameters,C,t),void 0,Y(r));return e.setTextRange(o,r),e.setOriginalNode(o,r),e.setEmitFlags(o,8),b(i,0,0),s=n,o}(i);case 212:return function(r){var n=262144&e.getEmitFlags(r)?x(32662,69):x(32670,65),i=s;s=void 0;var o=e.visitParameterList(r.parameters,C,t),c=Y(r),u=32768&a?l.getLocalName(r):r.name;return b(n,98304,0),s=i,l.updateFunctionExpression(r,void 0,r.asteriskToken,u,void 0,o,void 0,c)}(i);case 253:return $(i);case 79:return P(i);case 254:return function(r){if(3&r.flags||262144&r.transformFlags){3&r.flags&&Ie();var n=e.flatMap(r.declarations,1&r.flags?Q:$),i=l.createVariableDeclarationList(n);return e.setOriginalNode(i,r),e.setTextRange(i,r),e.setCommentRange(i,r),262144&r.transformFlags&&(e.isBindingPattern(r.declarations[0].name)||e.isBindingPattern(e.last(r.declarations).name))&&e.setSourceMapRange(i,function(t){for(var r=-1,n=-1,i=0,a=t;i0&&o.push(l.createStringLiteral(a.literal.text)),r=l.createCallExpression(l.createPropertyAccessExpression(r,"concat"),void 0,o)}return e.setTextRange(r,t)}(i);case 224:return function(t){return e.visitNode(t.expression,C,e.isExpression)}(i);case 106:return we(!1);case 108:return function(e){2&a&&!(16384&a)&&(a|=65536);if(s)return 2&a?(s.containsLexicalThis=!0,e):s.thisName||(s.thisName=l.createUniqueName("this"));return e}(i);case 230:return function(e){if(103===e.keywordToken&&"target"===e.name.escapedText)return a|=32768,l.createUniqueName("_newTarget",48);return e}(i);case 168:return function(t){e.Debug.assert(!e.isComputedPropertyName(t.name));var r=G(t,e.moveRangePos(t,-1),void 0,void 0);return e.setEmitFlags(r,512|e.getEmitFlags(r)),e.setTextRange(l.createPropertyAssignment(t.name,r),t)}(i);case 171:case 172:return function(r){e.Debug.assert(!e.isComputedPropertyName(r.name));var n=s;s=void 0;var i,a=x(32670,65),o=e.visitParameterList(r.parameters,C,t),c=Y(r);i=171===r.kind?l.updateGetAccessorDeclaration(r,r.decorators,r.modifiers,r.name,o,r.type,c):l.updateSetAccessorDeclaration(r,r.decorators,r.modifiers,r.name,o,c);return b(a,98304,0),s=n,i}(i);case 236:return function(r){var n,i=x(0,e.hasSyntacticModifier(r,1)?32:0);if(s&&0==(3&r.declarationList.flags)&&!function(t){return 1===t.declarationList.declarations.length&&!!t.declarationList.declarations[0].initializer&&!!(33554432&e.getEmitFlags(t.declarationList.declarations[0].initializer))}(r)){for(var a=void 0,o=0,c=r.declarationList.declarations;o0?(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(l.createVariableStatement(void 0,l.createVariableDeclarationList(e.flattenDestructuringBinding(n,C,t,0,l.getGeneratedNameForNode(n)))),1048576)),!0):!!a&&(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(l.createExpressionStatement(l.createAssignment(l.getGeneratedNameForNode(n),e.visitNode(a,C,e.isExpression))),1048576)),!0)}function j(t,r,n,i){i=e.visitNode(i,C,e.isExpression);var a=l.createIfStatement(l.createTypeCheck(l.cloneNode(n),"undefined"),e.setEmitFlags(e.setTextRange(l.createBlock([l.createExpressionStatement(e.setEmitFlags(e.setTextRange(l.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(l.cloneNode(n),n),n.parent),48),e.setEmitFlags(i,1584|e.getEmitFlags(i))),r),1536))]),r),1953));e.startOnNewLine(a),e.setTextRange(a,r),e.setEmitFlags(a,1050528),e.insertStatementAfterCustomPrologue(t,a)}function J(r,n,i){var a=[],o=e.lastOrUndefined(n.parameters);if(!function(e,t){return!(!e||!e.dotDotDotToken||t)}(o,i))return!1;var s=79===o.name.kind?e.setParent(e.setTextRange(l.cloneNode(o.name),o.name),o.name.parent):l.createTempVariable(void 0);e.setEmitFlags(s,48);var c=79===o.name.kind?l.cloneNode(o.name):s,u=n.parameters.length-1,d=l.createLoopVariable();a.push(e.setEmitFlags(e.setTextRange(l.createVariableStatement(void 0,l.createVariableDeclarationList([l.createVariableDeclaration(s,void 0,void 0,l.createArrayLiteralExpression([]))])),o),1048576));var _=l.createForStatement(e.setTextRange(l.createVariableDeclarationList([l.createVariableDeclaration(d,void 0,void 0,l.createNumericLiteral(u))]),o),e.setTextRange(l.createLessThan(d,l.createPropertyAccessExpression(l.createIdentifier("arguments"),"length")),o),e.setTextRange(l.createPostfixIncrement(d),o),l.createBlock([e.startOnNewLine(e.setTextRange(l.createExpressionStatement(l.createAssignment(l.createElementAccessExpression(c,0===u?d:l.createSubtract(d,l.createNumericLiteral(u))),l.createElementAccessExpression(l.createIdentifier("arguments"),d))),o))]));return e.setEmitFlags(_,1048576),e.startOnNewLine(_),a.push(_),79!==o.name.kind&&a.push(e.setEmitFlags(e.setTextRange(l.createVariableStatement(void 0,l.createVariableDeclarationList(e.flattenDestructuringBinding(o,C,t,0,c))),o),1048576)),e.insertStatementsAfterCustomPrologue(r,a),!0}function K(e,t){return!!(65536&a&&213!==t.kind)&&(z(e,t,l.createThis()),!0)}function z(r,n,i){0==(1&u)&&(u|=1,t.enableSubstitution(108),t.enableEmitNotification(170),t.enableEmitNotification(168),t.enableEmitNotification(171),t.enableEmitNotification(172),t.enableEmitNotification(213),t.enableEmitNotification(212),t.enableEmitNotification(255));var a=l.createVariableStatement(void 0,l.createVariableDeclarationList([l.createVariableDeclaration(l.createUniqueName("_this",48),void 0,void 0,i)]));e.setEmitFlags(a,1050112),e.setSourceMapRange(a,n),e.insertStatementAfterCustomPrologue(r,a)}function U(t,r,n){if(32768&a){var i=void 0;switch(r.kind){case 213:return t;case 168:case 171:case 172:i=l.createVoidZero();break;case 170:i=l.createPropertyAccessExpression(e.setEmitFlags(l.createThis(),4),"constructor");break;case 255:case 212:i=l.createConditionalExpression(l.createLogicalAnd(e.setEmitFlags(l.createThis(),4),l.createBinaryExpression(e.setEmitFlags(l.createThis(),4),102,l.getLocalName(r))),void 0,l.createPropertyAccessExpression(e.setEmitFlags(l.createThis(),4),"constructor"),void 0,l.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var o=l.createVariableStatement(void 0,l.createVariableDeclarationList([l.createVariableDeclaration(l.createUniqueName("_newTarget",48),void 0,void 0,i)]));e.setEmitFlags(o,1050112),n&&(t=t.slice()),e.insertStatementAfterCustomPrologue(t,o)}return t}function V(t){return e.setTextRange(l.createEmptyStatement(),t)}function q(r,n,i){var a,o=e.getCommentRange(n),s=e.getSourceMapRange(n),c=G(n,n,void 0,i),u=e.visitNode(n.name,C,e.isPropertyName);if(!e.isPrivateIdentifier(u)&&e.getUseDefineForClassFields(t.getCompilerOptions())){var d=e.isComputedPropertyName(u)?u.expression:e.isIdentifier(u)?l.createStringLiteral(e.unescapeLeadingUnderscores(u.escapedText)):u;a=l.createObjectDefinePropertyCall(r,d,l.createPropertyDescriptor({value:c,enumerable:!1,writable:!0,configurable:!0}))}else{var _=e.createMemberAccessForPropertyName(l,r,u,n.name);a=l.createAssignment(_,c)}e.setEmitFlags(c,1536),e.setSourceMapRange(c,s);var p=e.setTextRange(l.createExpressionStatement(a),n);return e.setOriginalNode(p,n),e.setCommentRange(p,o),e.setEmitFlags(p,48),p}function W(t,r,n){var i=l.createExpressionStatement(H(t,r,n,!1));return e.setEmitFlags(i,1536),e.setSourceMapRange(i,e.getSourceMapRange(r.firstAccessor)),i}function H(t,r,n,i){var a=r.firstAccessor,o=r.getAccessor,s=r.setAccessor,c=e.setParent(e.setTextRange(l.cloneNode(t),t),t.parent);e.setEmitFlags(c,1568),e.setSourceMapRange(c,a.name);var u=e.visitNode(a.name,C,e.isPropertyName);if(e.isPrivateIdentifier(u))return e.Debug.failBadSyntaxKind(u,"Encountered unhandled private identifier while transforming ES2015.");var d=e.createExpressionForPropertyName(l,u);e.setEmitFlags(d,1552),e.setSourceMapRange(d,a.name);var _=[];if(o){var p=G(o,void 0,void 0,n);e.setSourceMapRange(p,e.getSourceMapRange(o)),e.setEmitFlags(p,512);var f=l.createPropertyAssignment("get",p);e.setCommentRange(f,e.getCommentRange(o)),_.push(f)}if(s){var g=G(s,void 0,void 0,n);e.setSourceMapRange(g,e.getSourceMapRange(s)),e.setEmitFlags(g,512);var m=l.createPropertyAssignment("set",g);e.setCommentRange(m,e.getCommentRange(s)),_.push(m)}_.push(l.createPropertyAssignment("enumerable",o||s?l.createFalse():l.createTrue()),l.createPropertyAssignment("configurable",l.createTrue()));var y=l.createCallExpression(l.createPropertyAccessExpression(l.createIdentifier("Object"),"defineProperty"),void 0,[c,d,l.createObjectLiteralExpression(_,!0)]);return i&&e.startOnNewLine(y),y}function G(r,n,i,o){var c=s;s=void 0;var u=o&&e.isClassLike(o)&&!e.isStatic(r)?x(32670,73):x(32670,65),d=e.visitParameterList(r.parameters,C,t),_=Y(r);return 32768&a&&!i&&(255===r.kind||212===r.kind)&&(i=l.getGeneratedNameForNode(r)),b(u,98304,0),s=c,e.setOriginalNode(e.setTextRange(l.createFunctionExpression(void 0,r.asteriskToken,i,void 0,d,void 0,_),n),r)}function Y(t){var r,i,a,o=!1,s=!1,c=[],u=[],d=t.body;if(p(),e.isBlock(d)&&(a=l.copyStandardPrologue(d.statements,c,!1),a=l.copyCustomPrologue(d.statements,u,a,C,e.isHoistedFunction),a=l.copyCustomPrologue(d.statements,u,a,C,e.isHoistedVariableStatement)),o=R(u,t)||o,o=J(u,t,!1)||o,e.isBlock(d))a=l.copyCustomPrologue(d.statements,u,a,C),r=d.statements,e.addRange(u,e.visitNodes(d.statements,C,e.isStatement,a)),!o&&d.multiLine&&(o=!0);else{e.Debug.assert(213===t.kind),r=e.moveRangeEnd(d,-1);var _=t.equalsGreaterThanToken;e.nodeIsSynthesized(_)||e.nodeIsSynthesized(d)||(e.rangeEndIsOnSameLineAsRangeStart(_,d,n)?s=!0:o=!0);var g=e.visitNode(d,C,e.isExpression),m=l.createReturnStatement(g);e.setTextRange(m,d),e.moveSyntheticComments(m,d),e.setEmitFlags(m,1440),u.push(m),i=d}if(l.mergeLexicalEnvironment(c,f()),U(c,t,!1),K(c,t),e.some(c)&&(o=!0),u.unshift.apply(u,c),e.isBlock(d)&&e.arrayIsEqualTo(u,d.statements))return d;var y=l.createBlock(e.setTextRange(l.createNodeArray(u),r),o);return e.setTextRange(y,t.body),!o&&s&&e.setEmitFlags(y,1),i&&e.setTokenSourceMapRange(y,19,i),e.setOriginalNode(y,t.body),y}function X(r,n){return e.isDestructuringAssignment(r)?e.flattenDestructuringAssignment(r,C,t,0,!n):27===r.operatorToken.kind?l.updateBinaryExpression(r,e.visitNode(r.left,E,e.isExpression),r.operatorToken,e.visitNode(r.right,n?E:C,e.isExpression)):e.visitEachChild(r,C,t)}function Q(r){var n=r.name;return e.isBindingPattern(n)?$(r):!r.initializer&&function(e){var t=y.getNodeCheckFlags(e),r=262144&t,n=524288&t;return!(0!=(64&a)||r&&n&&0!=(512&a))&&0==(4096&a)&&(!y.isDeclarationWithCollidingName(e)||n&&!r&&0==(6144&a))}(r)?l.updateVariableDeclaration(r,r.name,void 0,void 0,l.createVoidZero()):e.visitEachChild(r,C,t)}function $(r){var n,i=x(32,0);return n=e.isBindingPattern(r.name)?e.flattenDestructuringBinding(r,C,t,0,void 0,0!=(32&i)):e.visitEachChild(r,C,t),b(i,0,0),n}function Z(t){s.labels.set(e.idText(t.label),!0)}function ee(t){s.labels.set(e.idText(t.label),!1)}function te(r,n,i,o,c){var u=x(r,n),d=function(r,n,i,o){if(!pe(r)){var c=void 0;s&&(c=s.allowedNonLabeledJumps,s.allowedNonLabeledJumps=6);var u=o?o(r,n,void 0,i):l.restoreEnclosingLabel(e.isForStatement(r)?function(t){return l.updateForStatement(t,e.visitNode(t.initializer,E,e.isForInitializer),e.visitNode(t.condition,C,e.isExpression),e.visitNode(t.incrementor,E,e.isExpression),e.visitNode(t.statement,C,e.isStatement,l.liftToBlock))}(r):e.visitEachChild(r,C,t),n,s&&ee);return s&&(s.allowedNonLabeledJumps=c),u}var d=function(t){var r;switch(t.kind){case 241:case 242:case 243:var n=t.initializer;n&&254===n.kind&&(r=n)}var i=[],a=[];if(r&&3&e.getCombinedNodeFlags(r))for(var o=de(t),c=0,u=r.declarations;c=81&&r<=116)return e.setTextRange(i.createStringLiteralFromNode(t),t)}}}(c||(c={})),function(e){var t,n,i,a,o;!function(e){e[e.Nop=0]="Nop",e[e.Statement=1]="Statement",e[e.Assign=2]="Assign",e[e.Break=3]="Break",e[e.BreakWhenTrue=4]="BreakWhenTrue",e[e.BreakWhenFalse=5]="BreakWhenFalse",e[e.Yield=6]="Yield",e[e.YieldStar=7]="YieldStar",e[e.Return=8]="Return",e[e.Throw=9]="Throw",e[e.Endfinally=10]="Endfinally"}(t||(t={})),function(e){e[e.Open=0]="Open",e[e.Close=1]="Close"}(n||(n={})),function(e){e[e.Exception=0]="Exception",e[e.With=1]="With",e[e.Switch=2]="Switch",e[e.Loop=3]="Loop",e[e.Labeled=4]="Labeled"}(i||(i={})),function(e){e[e.Try=0]="Try",e[e.Catch=1]="Catch",e[e.Finally=2]="Finally",e[e.Done=3]="Done"}(a||(a={})),function(e){e[e.Next=0]="Next",e[e.Throw=1]="Throw",e[e.Return=2]="Return",e[e.Break=3]="Break",e[e.Yield=4]="Yield",e[e.YieldStar=5]="YieldStar",e[e.Catch=6]="Catch",e[e.Endfinally=7]="Endfinally"}(o||(o={})),e.transformGenerators=function(t){var n,i,a,o,s,c,u,l,d,_,p=t.factory,f=t.getEmitHelperFactory,g=t.resumeLexicalEnvironment,m=t.endLexicalEnvironment,y=t.hoistFunctionDeclaration,v=t.hoistVariableDeclaration,h=t.getCompilerOptions(),D=e.getEmitScriptTarget(h),x=t.getEmitResolver(),b=t.onSubstituteNode;t.onSubstituteNode=function(t,r){if(r=b(t,r),1===t)return function(t){if(e.isIdentifier(t))return function(t){if(!e.isGeneratedIdentifier(t)&&n&&n.has(e.idText(t))){var r=e.getOriginalNode(t);if(e.isIdentifier(r)&&r.parent){var a=x.getReferencedValueDeclaration(r);if(a){var o=i[e.getOriginalNodeId(a)];if(o){var s=e.setParent(e.setTextRange(p.cloneNode(o),o),o.parent);return e.setSourceMapRange(s,t),e.setCommentRange(s,t),s}}}}return t}(t);return t}(r);return r};var S,T,C,E,k,A,F,N,P,w,I,O,M=1,L=0,R=0;return e.chainBundle(t,(function(r){if(r.isDeclarationFile||0==(1024&r.transformFlags))return r;var n=e.visitEachChild(r,B,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function B(r){var n=r.transformFlags;return o?function(r){switch(r.kind){case 239:case 240:return function(r){return o?(oe(),r=e.visitEachChild(r,B,t),ce(),r):e.visitEachChild(r,B,t)}(r);case 248:return function(r){o&&re({kind:2,isScript:!0,breakLabel:-1});r=e.visitEachChild(r,B,t),o&&ue();return r}(r);case 249:return function(r){o&&re({kind:4,isScript:!0,labelText:e.idText(r.label),breakLabel:-1});r=e.visitEachChild(r,B,t),o&&le();return r}(r);default:return j(r)}}(r):a?j(r):e.isFunctionLikeDeclaration(r)&&r.asteriskToken?function(t){switch(t.kind){case 255:return J(t);case 212:return K(t);default:return e.Debug.failBadSyntaxKind(t)}}(r):1024&n?e.visitEachChild(r,B,t):r}function j(r){switch(r.kind){case 255:return J(r);case 212:return K(r);case 171:case 172:return function(r){var n=a,i=o;return a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i,r}(r);case 236:return function(t){if(524288&t.transformFlags)return void G(t.declarationList);if(1048576&e.getEmitFlags(t))return t;for(var r=0,n=t.declarationList.declarations;r0?p.inlineExpressions(e.map(c,Y)):void 0,e.visitNode(r.condition,B,e.isExpression),e.visitNode(r.incrementor,B,e.isExpression),e.visitIterationBody(r.statement,B,t))}else r=e.visitEachChild(r,B,t);o&&ce();return r}(r);case 242:return function(r){o&&oe();var n=r.initializer;if(e.isVariableDeclarationList(n)){for(var i=0,a=n.declarations;i0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 244:return function(r){if(o){var n=me(r.label&&e.idText(r.label));if(n>0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 246:return function(t){return r=e.visitNode(t.expression,B,e.isExpression),n=t,e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression(r?[ve(2),r]:[ve(2)])),n);var r,n}(r);default:return 524288&r.transformFlags?function(r){switch(r.kind){case 220:return function(r){var n=e.getExpressionAssociativity(r);switch(n){case 0:return function(r){if(X(r.right))return e.isLogicalOperator(r.operatorToken.kind)?function(t){var r=ee(),n=Z();be(n,e.visitNode(t.left,B,e.isExpression),t.left),55===t.operatorToken.kind?Ce(r,n,t.left):Te(r,n,t.left);return be(n,e.visitNode(t.right,B,e.isExpression),t.right),te(r),n}(r):27===r.operatorToken.kind?U(r):p.updateBinaryExpression(r,$(e.visitNode(r.left,B,e.isExpression)),r.operatorToken,e.visitNode(r.right,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 1:return function(r){var n=r.left,i=r.right;if(X(i)){var a=void 0;switch(n.kind){case 205:a=p.updatePropertyAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),n.name);break;case 206:a=p.updateElementAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),$(e.visitNode(n.argumentExpression,B,e.isExpression)));break;default:a=e.visitNode(n,B,e.isExpression)}var o=r.operatorToken.kind;return e.isCompoundAssignment(o)?e.setTextRange(p.createAssignment(a,e.setTextRange(p.createBinaryExpression($(a),e.getNonAssignmentOperatorForCompoundAssignment(o),e.visitNode(i,B,e.isExpression)),r)),r):p.updateBinaryExpression(r,a,r.operatorToken,e.visitNode(i,B,e.isExpression))}return e.visitEachChild(r,B,t)}(r);default:return e.Debug.assertNever(n)}}(r);case 349:return function(t){for(var r=[],n=0,i=t.elements;n0&&(Ee(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(a,B,e.isExpression)))}return p.inlineExpressions(r)}(r);case 221:return function(r){if(X(r.whenTrue)||X(r.whenFalse)){var n=ee(),i=ee(),a=Z();return Ce(n,e.visitNode(r.condition,B,e.isExpression),r.condition),be(a,e.visitNode(r.whenTrue,B,e.isExpression),r.whenTrue),Se(i),te(n),be(a,e.visitNode(r.whenFalse,B,e.isExpression),r.whenFalse),te(i),a}return e.visitEachChild(r,B,t)}(r);case 223:return function(t){var r=ee(),n=e.visitNode(t.expression,B,e.isExpression);if(t.asteriskToken){!function(e,t){Ee(7,[e],t)}(0==(8388608&e.getEmitFlags(t.expression))?e.setTextRange(f().createValuesHelper(n),t):n,t)}else!function(e,t){Ee(6,[e],t)}(n,t);return te(r),function(t){return e.setTextRange(p.createCallExpression(p.createPropertyAccessExpression(E,"sent"),void 0,[]),t)}(t)}(r);case 203:return function(e){return V(e.elements,void 0,void 0,e.multiLine)}(r);case 204:return function(t){var r=t.properties,n=t.multiLine,i=Q(r),a=Z();be(a,p.createObjectLiteralExpression(e.visitNodes(r,B,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,s,[],i);return o.push(n?e.startOnNewLine(e.setParent(e.setTextRange(p.cloneNode(a),a),a.parent)):a),p.inlineExpressions(o);function s(r,i){X(i)&&r.length>0&&(xe(p.createExpressionStatement(p.inlineExpressions(r))),r=[]);var o=e.createExpressionForObjectLiteralElementLike(p,t,i,a),s=e.visitNode(o,B,e.isExpression);return s&&(n&&e.startOnNewLine(s),r.push(s)),r}}(r);case 206:return function(r){if(X(r.argumentExpression))return p.updateElementAccessExpression(r,$(e.visitNode(r.expression,B,e.isLeftHandSideExpression)),e.visitNode(r.argumentExpression,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 207:return function(r){if(!e.isImportCall(r)&&e.forEach(r.arguments,X)){var n=p.createCallBinding(r.expression,v,D,!0),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createFunctionApplyCall($(e.visitNode(i,B,e.isLeftHandSideExpression)),a,V(r.arguments)),r),r)}return e.visitEachChild(r,B,t)}(r);case 208:return function(r){if(e.forEach(r.arguments,X)){var n=p.createCallBinding(p.createPropertyAccessExpression(r.expression,"bind"),v),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createNewExpression(p.createFunctionApplyCall($(e.visitNode(i,B,e.isExpression)),a,V(r.arguments,p.createVoidZero())),void 0,[]),r),r)}return e.visitEachChild(r,B,t)}(r);default:return e.visitEachChild(r,B,t)}}(r):2098176&r.transformFlags?e.visitEachChild(r,B,t):r}}function J(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionDeclaration(void 0,r.modifiers,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return a?void y(r):r}function K(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionExpression(void 0,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return r}function z(t){var r=[],n=a,i=o,f=s,y=c,v=u,h=l,D=d,x=_,b=M,k=S,A=T,F=C,N=E;a=!0,o=!1,s=void 0,c=void 0,u=void 0,l=void 0,d=void 0,_=void 0,M=1,S=void 0,T=void 0,C=void 0,E=p.createTempVariable(void 0),g();var P=p.copyPrologue(t.statements,r,!1,B);q(t.statements,P);var w=ke();return e.insertStatementsAfterStandardPrologue(r,m()),r.push(p.createReturnStatement(w)),a=n,o=i,s=f,c=y,u=v,l=h,d=D,_=x,M=b,S=k,T=A,C=F,E=N,e.setTextRange(p.createBlock(r,t.multiLine),t)}function U(t){var r=[];return n(t.left),n(t.right),p.inlineExpressions(r);function n(t){e.isBinaryExpression(t)&&27===t.operatorToken.kind?(n(t.left),n(t.right)):(X(t)&&r.length>0&&(Ee(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,B,e.isExpression)))}}function V(t,n,i,a){var o,s=Q(t);if(s>0){o=Z();var c=e.visitNodes(t,B,e.isExpression,0,s);be(o,p.createArrayLiteralExpression(n?r([n],c,!0):c)),n=void 0}var u=e.reduceLeft(t,(function(t,i){if(X(i)&&t.length>0){var s=void 0!==o;o||(o=Z()),be(o,s?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(t,a)]):p.createArrayLiteralExpression(n?r([n],t,!0):t,a)),n=void 0,t=[]}return t.push(e.visitNode(i,B,e.isExpression)),t}),[],s);return o?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(u,a)]):e.setTextRange(p.createArrayLiteralExpression(n?r([n],u,!0):u,a),i)}function q(e,t){void 0===t&&(t=0);for(var r=e.length,n=t;n0?Se(r,t):xe(t)}(r);case 245:return function(t){var r=ge(t.label?e.idText(t.label):void 0);r>0?Se(r,t):xe(t)}(r);case 246:return function(t){r=e.visitNode(t.expression,B,e.isExpression),n=t,Ee(8,[r],n);var r,n}(r);case 247:return function(t){X(t)?(r=$(e.visitNode(t.expression,B,e.isExpression)),n=ee(),i=ee(),te(n),re({kind:1,expression:r,startLabel:n,endLabel:i}),W(t.statement),e.Debug.assert(1===ae()),te(ne().endLabel)):xe(e.visitNode(t,B,e.isStatement));var r,n,i}(r);case 248:return function(t){if(X(t.caseBlock)){for(var r=t.caseBlock,n=r.clauses.length,i=(re({kind:2,isScript:!1,breakLabel:f=ee()}),f),a=$(e.visitNode(t.expression,B,e.isExpression)),o=[],s=-1,c=0;c0)break;d.push(p.createCaseClause(e.visitNode(u.expression,B,e.isExpression),[he(o[c],u.expression)]))}else _++}d.length&&(xe(p.createSwitchStatement(a,p.createCaseBlock(d))),l+=d.length,d=[]),_>0&&(l+=_,_=0)}Se(s>=0?o[s]:i);for(c=0;c0)break;u.push(Y(i))}u.length&&(xe(p.createExpressionStatement(p.inlineExpressions(u))),c+=u.length,u=[])}}function Y(t){return e.setSourceMapRange(p.createAssignment(e.setSourceMapRange(p.cloneNode(t.name),t.name),e.visitNode(t.initializer,B,e.isExpression)),t)}function X(e){return!!e&&0!=(524288&e.transformFlags)}function Q(e){for(var t=e.length,r=0;r=0;r--){var n=l[r];if(!_e(n))break;if(n.labelText===e)return!0}return!1}function ge(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(_e(r=l[t])&&r.labelText===e)return r.breakLabel;if(de(r)&&fe(e,t-1))return r.breakLabel}else for(t=l.length-1;t>=0;t--){var r;if(de(r=l[t]))return r.breakLabel}return 0}function me(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(pe(r=l[t])&&fe(e,t-1))return r.continueLabel}else for(t=l.length-1;t>=0;t--){var r;if(pe(r=l[t]))return r.continueLabel}return 0}function ye(e){if(void 0!==e&&e>0){void 0===_&&(_=[]);var t=p.createNumericLiteral(-1);return void 0===_[e]?_[e]=[t]:_[e].push(t),t}return p.createOmittedExpression()}function ve(t){var r=p.createNumericLiteral(t);return e.addSyntheticTrailingComment(r,3,function(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return}}(t)),r}function he(t,r){return e.Debug.assertLessThan(0,t,"Invalid label"),e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression([ve(3),ye(t)])),r)}function De(){Ee(0)}function xe(e){e?Ee(1,[e]):De()}function be(e,t,r){Ee(2,[e,t],r)}function Se(e,t){Ee(3,[e],t)}function Te(e,t,r){Ee(4,[e,t],r)}function Ce(e,t,r){Ee(5,[e,t],r)}function Ee(e,t,r){void 0===S&&(S=[],T=[],C=[]),void 0===d&&te(ee());var n=S.length;S[n]=e,T[n]=t,C[n]=r}function ke(){L=0,R=0,k=void 0,A=!1,F=!1,N=void 0,P=void 0,w=void 0,I=void 0,O=void 0;var t=function(){if(S){for(var t=0;t0)),524288))}function Ae(e){(function(e){if(!F)return!0;if(!d||!_)return!1;for(var t=0;t=0;t--){var r=O[t];P=[p.createWithStatement(r.expression,p.createBlock(P))]}if(I){var n=I.startLabel,i=I.catchLabel,a=I.finallyLabel,o=I.endLabel;P.unshift(p.createExpressionStatement(p.createCallExpression(p.createPropertyAccessExpression(p.createPropertyAccessExpression(E,"trys"),"push"),void 0,[p.createArrayLiteralExpression([ye(n),ye(i),ye(a),ye(o)])]))),I=void 0}e&&P.push(p.createExpressionStatement(p.createAssignment(p.createPropertyAccessExpression(E,"label"),p.createNumericLiteral(R+1))))}N.push(p.createCaseClause(p.createNumericLiteral(R),P||[])),P=void 0}function Ne(e){if(d)for(var t=0;t=2?2:0)),t),t))}else n&&e.isDefaultImport(t)&&(r=e.append(r,i.createVariableStatement(void 0,i.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(i.createVariableDeclaration(i.cloneNode(n.name),void 0,void 0,i.getGeneratedNameForNode(t)),t),t)],_>=2?2:0))));if(K(t)){var o=e.getOriginalNodeId(t);D[o]=z(D[o],t)}else r=z(r,t);return e.singleOrMany(r)}(t);case 264:return function(t){var r;e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer."),p!==e.ModuleKind.AMD?r=e.hasSyntacticModifier(t,1)?e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(X(t.name,B(t))),t),t)):e.append(r,e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(i.cloneNode(t.name),void 0,void 0,B(t))],_>=2?2:0)),t),t)):e.hasSyntacticModifier(t,1)&&(r=e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(X(i.getExportName(t),i.getLocalName(t))),t),t)));if(K(t)){var n=e.getOriginalNodeId(t);D[n]=U(D[n],t)}else r=U(r,t);return e.singleOrMany(r)}(t);case 271:return function(t){if(!t.moduleSpecifier)return;var r=i.getGeneratedNameForNode(t);if(t.exportClause&&e.isNamedExports(t.exportClause)){var n=[];p!==e.ModuleKind.AMD&&n.push(e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(r,void 0,void 0,B(t))])),t),t));for(var o=0,s=t.exportClause.elements;o(e.isExportName(t)?1:0);return!1}function M(t,r){var n,o=i.createUniqueName("resolve"),s=i.createUniqueName("reject"),c=[i.createParameterDeclaration(void 0,void 0,void 0,o),i.createParameterDeclaration(void 0,void 0,void 0,s)],l=i.createBlock([i.createExpressionStatement(i.createCallExpression(i.createIdentifier("require"),void 0,[i.createArrayLiteralExpression([t||i.createOmittedExpression()]),o,s]))]);_>=2?n=i.createArrowFunction(void 0,void 0,c,void 0,void 0,l):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,l),r&&e.setEmitFlags(n,8));var d=i.createNewExpression(i.createIdentifier("Promise"),void 0,[n]);return e.getESModuleInterop(u)?i.createCallExpression(i.createPropertyAccessExpression(d,i.createIdentifier("then")),void 0,[a().createImportStarCallbackHelper()]):d}function L(t,r){var n,o=i.createCallExpression(i.createPropertyAccessExpression(i.createIdentifier("Promise"),"resolve"),void 0,[]),s=i.createCallExpression(i.createIdentifier("require"),void 0,t?[t]:[]);return e.getESModuleInterop(u)&&(s=a().createImportStarHelper(s)),_>=2?n=i.createArrowFunction(void 0,void 0,[],void 0,void 0,s):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,i.createBlock([i.createReturnStatement(s)])),r&&e.setEmitFlags(n,8)),i.createCallExpression(i.createPropertyAccessExpression(o,"then"),void 0,[n])}function R(t,r){return!e.getESModuleInterop(u)||67108864&e.getEmitFlags(t)?r:e.getImportNeedsImportStarHelper(t)?a().createImportStarHelper(r):e.getImportNeedsImportDefaultHelper(t)?a().createImportDefaultHelper(r):r}function B(t){var r=e.getExternalModuleNameLiteral(i,t,m,d,l,u),n=[];return r&&n.push(r),i.createCallExpression(i.createIdentifier("require"),void 0,n)}function j(t,r,n){var a=Z(t);if(a){for(var o=e.isExportName(t)?r:i.createAssignment(t,r),s=0,c=a;s=e.ModuleKind.ES2020?function(t){var r;return e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer."),r=function(t,r){e.hasSyntacticModifier(r,1)&&(t=e.append(t,o.createExportDeclaration(void 0,void 0,r.isTypeOnly,o.createNamedExports([o.createExportSpecifier(!1,void 0,e.idText(r.name))]))));return t}(r=e.append(r,e.setOriginalNode(e.setTextRange(o.createVariableStatement(void 0,o.createVariableDeclarationList([o.createVariableDeclaration(o.cloneNode(t.name),void 0,void 0,g(t))],d>=2?2:0)),t),t)),t),e.singleOrMany(r)}(t):void 0;case 270:return function(e){return e.isExportEquals?void 0:e}(t);case 271:return function(t){if(void 0!==l.module&&l.module>e.ModuleKind.ES2015)return t;if(!t.exportClause||!e.isNamespaceExport(t.exportClause)||!t.moduleSpecifier)return t;var r=t.exportClause.name,n=o.getGeneratedNameForNode(r),i=o.createImportDeclaration(void 0,void 0,o.createImportClause(!1,void 0,o.createNamespaceImport(n)),t.moduleSpecifier,t.assertClause);e.setOriginalNode(i,t.exportClause);var a=e.isExportNamespaceAsDefaultDeclaration(t)?o.createExportDefault(n):o.createExportDeclaration(void 0,void 0,!1,o.createNamedExports([o.createExportSpecifier(!1,n,r)]));return e.setOriginalNode(a,t),[i,a]}(t)}return t}function g(t){var r=e.getExternalModuleNameLiteral(o,t,e.Debug.checkDefined(i),c,u,l),n=[];if(r&&n.push(r),!a){var s=o.createUniqueName("_createRequire",48),_=o.createImportDeclaration(void 0,void 0,o.createImportClause(!1,void 0,o.createNamedImports([o.createImportSpecifier(!1,o.createIdentifier("createRequire"),s)])),o.createStringLiteral("module")),p=o.createUniqueName("__require",48),f=o.createVariableStatement(void 0,o.createVariableDeclarationList([o.createVariableDeclaration(p,void 0,void 0,o.createCallExpression(o.cloneNode(s),void 0,[o.createPropertyAccessExpression(o.createMetaProperty(100,o.createIdentifier("meta")),o.createIdentifier("url"))]))],d>=2?2:0));a=[_,f]}var g=a[1].declarationList.declarations[0].name;return e.Debug.assertNode(g,e.isIdentifier),o.createCallExpression(o.cloneNode(g),void 0,n)}}}(c||(c={})),function(e){e.transformNodeModule=function(t){var r=t.onSubstituteNode,n=t.onEmitNode,i=e.transformECMAScriptModule(t),a=t.onSubstituteNode,o=t.onEmitNode;t.onSubstituteNode=r,t.onEmitNode=n;var s,c=e.transformModule(t),u=t.onSubstituteNode,l=t.onEmitNode;return t.onSubstituteNode=function(t,n){return e.isSourceFile(n)?(s=n,r(t,n)):s?s.impliedNodeFormat===e.ModuleKind.ESNext?a(t,n):u(t,n):r(t,n)},t.onEmitNode=function(t,r,i){e.isSourceFile(r)&&(s=r);if(!s)return n(t,r,i);if(s.impliedNodeFormat===e.ModuleKind.ESNext)return o(t,r,i);return l(t,r,i)},t.enableSubstitution(303),t.enableEmitNotification(303),function(r){return 303===r.kind?d(r):function(r){return t.factory.createBundle(e.map(r.sourceFiles,d),r.prepends)}(r)};function d(t){if(t.isDeclarationFile)return t;s=t;var r=(t.impliedNodeFormat===e.ModuleKind.ESNext?i:c)(t);return s=void 0,e.Debug.assert(e.isSourceFile(r)),r}}}(c||(c={})),function(e){function t(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isPropertyAccessExpression(t)||e.isBindingElement(t)||e.isConstructorDeclaration(t)?r:e.isSetAccessor(t)||e.isGetAccessor(t)?function(r){var n;n=172===t.kind?e.isStatic(t)?r.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.isStatic(t)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:n,errorNode:t.name,typeName:t.name}}:e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isIndexSignatureDeclaration(t)?function(r){var n;switch(t.kind){case 174:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 173:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 175:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 168:case 167:n=e.isStatic(t)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:256===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 255:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}:e.isParameter(t)?e.isParameterPropertyDeclaration(t,t.parent)&&e.hasSyntacticModifier(t.parent,8)?r:function(r){var n=function(r){switch(t.parent.kind){case 170:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 174:case 179:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 173:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 175:return r.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 168:case 167:return e.isStatic(t.parent)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:256===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 255:case 178:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 172:case 171:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail("Unknown parent for parameter: ".concat(e.SyntaxKind[t.parent.kind]))}}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}:e.isTypeParameterDeclaration(t)?function(){var r;switch(t.parent.kind){case 256:r=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 257:r=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 194:r=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 179:case 174:r=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 173:r=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 168:case 167:r=e.isStatic(t.parent)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:256===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 178:case 255:r=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 258:r=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:r,errorNode:t,typeName:t.name}}:e.isExpressionWithTypeArguments(t)?function(){var r;r=e.isClassDeclaration(t.parent.parent)?e.isHeritageClause(t.parent)&&117===t.parent.token?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}:e.isImportEqualsDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}:e.isTypeAliasDeclaration(t)||e.isJSDocTypeAlias(t)?function(r){return{diagnosticMessage:r.errorModuleName?e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:e.isJSDocTypeAlias(t)?e.Debug.checkDefined(t.typeExpression):t.type,typeName:e.isJSDocTypeAlias(t)?e.getNameOfDeclaration(t):t.name}}:e.Debug.assertNever(t,"Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(e.SyntaxKind[t.kind]));function r(r){var n=function(r){return 253===t.kind||202===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:166===t.kind||205===t.kind||165===t.kind||163===t.kind&&e.hasSyntacticModifier(t.parent,8)?e.isStatic(t)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:256===t.parent.kind||163===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}}e.canProduceDiagnostics=function(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isBindingElement(t)||e.isSetAccessor(t)||e.isGetAccessor(t)||e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isParameter(t)||e.isTypeParameterDeclaration(t)||e.isExpressionWithTypeArguments(t)||e.isImportEqualsDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isConstructorDeclaration(t)||e.isIndexSignatureDeclaration(t)||e.isPropertyAccessExpression(t)||e.isJSDocTypeAlias(t)},e.createGetSymbolAccessibilityDiagnosticForNodeName=function(r){return e.isSetAccessor(r)||e.isGetAccessor(r)?function(t){var n=function(t){return e.isStatic(r)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:256===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:e.isMethodSignature(r)||e.isMethodDeclaration(r)?function(t){var n=function(t){return e.isStatic(r)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:256===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:t(r)},e.createGetSymbolAccessibilityDiagnosticForNode=t}(c||(c={})),function(e){function t(t,r){var n=r.text.substring(t.pos,t.end);return e.stringContains(n,"@internal")}function n(r,n){var i=e.getParseTreeNode(r);if(i&&163===i.kind){var a=i.parent.parameters.indexOf(i),o=a>0?i.parent.parameters[a-1]:void 0,s=n.text,c=o?e.concatenate(e.getTrailingCommentRanges(s,e.skipTrivia(s,o.end+1,!1,!0)),e.getLeadingCommentRanges(s,r.pos)):e.getTrailingCommentRanges(s,e.skipTrivia(s,r.pos,!1,!0));return c&&c.length&&t(e.last(c),n)}var u=i&&e.getLeadingCommentRangesOfNode(i,n);return!!e.forEach(u,(function(e){return t(e,n)}))}e.getDeclarationDiagnostics=function(t,r,n){var i=t.getCompilerOptions();return e.transformNodes(r,t,e.factory,i,n?[n]:e.filter(t.getSourceFiles(),e.isSourceFileNotJson),[a],!1).diagnostics},e.isInternalDeclaration=n;var i=531469;function a(t){var a,c,u,l,d,_,p,f,g,m,y,v,h=function(){return e.Debug.fail("Diagnostic emitted without context")},D=h,x=!0,b=!1,S=!1,T=!1,C=!1,E=t.factory,k=t.getEmitHost(),A={trackSymbol:function(e,t,r){if(262144&e.flags)return!1;var n=O(F.isSymbolAccessible(e,t,r,!0));return I(F.getTypeReferenceDirectivesForSymbol(e,r)),n},reportInaccessibleThisError:function(){(p||f)&&t.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,M(),"this"))},reportInaccessibleUniqueSymbolError:function(){(p||f)&&t.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,M(),"unique symbol"))},reportCyclicStructureError:function(){(p||f)&&t.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,M()))},reportPrivateInBaseOfClassExpression:function(r){(p||f)&&t.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected,r))},reportLikelyUnsafeImportRequiredError:function(r){(p||f)&&t.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,M(),r))},reportTruncationError:function(){(p||f)&&t.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:k,trackReferencedAmbientModule:function(t,r){var n=F.getTypeReferenceDirectivesForSymbol(r,67108863);if(e.length(n))return I(n);var i=e.getSourceFileOfNode(t);m.set(e.getOriginalNodeId(i),i)},trackExternalModuleSymbolOfImportTypeNode:function(e){b||(_||(_=[])).push(e)},reportNonlocalAugmentation:function(r,n,i){var a,o=null===(a=n.declarations)||void 0===a?void 0:a.find((function(t){return e.getSourceFileOfNode(t)===r})),s=e.filter(i.declarations,(function(t){return e.getSourceFileOfNode(t)!==r}));if(s)for(var c=0,u=s;c0?e.parameters[0].type:void 0}e.transformDeclarations=a}(c||(c={})),function(e){var t,n;function i(t,r,n){if(n)return e.emptyArray;var i=e.getEmitScriptTarget(t),a=e.getEmitModuleKind(t),o=[];return e.addRange(o,r&&e.map(r.before,s)),o.push(e.transformTypeScript),o.push(e.transformClassFields),e.getJSXTransformEnabled(t)&&o.push(e.transformJsx),i<99&&o.push(e.transformESNext),i<8&&o.push(e.transformES2021),i<7&&o.push(e.transformES2020),i<6&&o.push(e.transformES2019),i<5&&o.push(e.transformES2018),i<4&&o.push(e.transformES2017),i<3&&o.push(e.transformES2016),i<2&&(o.push(e.transformES2015),o.push(e.transformGenerators)),o.push(function(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2022:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;case e.ModuleKind.Node12:case e.ModuleKind.NodeNext:return e.transformNodeModule;default:return e.transformModule}}(a)),i<1&&o.push(e.transformES5),e.addRange(o,r&&e.map(r.after,s)),o}function a(t){var r=[];return r.push(e.transformDeclarations),e.addRange(r,t&&e.map(t.afterDeclarations,c)),r}function o(t,r){return function(n){var i=t(n);return"function"==typeof i?r(n,i):function(t){return function(r){return e.isBundle(r)?t.transformBundle(r):t.transformSourceFile(r)}}(i)}}function s(t){return o(t,e.chainBundle)}function c(e){return o(e,(function(e,t){return t}))}function u(e,t){return t}function l(e,t,r){r(e,t)}!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initialized=1]="Initialized",e[e.Completed=2]="Completed",e[e.Disposed=3]="Disposed"}(t||(t={})),function(e){e[e.Substitution=1]="Substitution",e[e.EmitNotifications=2]="EmitNotifications"}(n||(n={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray},e.getTransformers=function(e,t,r){return{scriptTransformers:i(e,t,r),declarationTransformers:a(t)}},e.noEmitSubstitution=u,e.noEmitNotification=l,e.transformNodes=function(t,n,i,a,o,s,c){for(var d,_,p,f,g,m=new Array(353),y=0,v=[],h=[],D=[],x=[],b=0,S=!1,T=[],C=0,E=u,k=l,A=0,F=[],N={factory:i,getCompilerOptions:function(){return a},getEmitResolver:function(){return t},getEmitHost:function(){return n},getEmitHelperFactory:e.memoize((function(){return e.createEmitHelperFactory(N)})),startLexicalEnvironment:function(){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!S,"Lexical environment is suspended."),v[b]=d,h[b]=_,D[b]=p,x[b]=y,b++,d=void 0,_=void 0,p=void 0,y=0},suspendLexicalEnvironment:function(){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!S,"Lexical environment is already suspended."),S=!0},resumeLexicalEnvironment:function(){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(S,"Lexical environment is not suspended."),S=!1},endLexicalEnvironment:function(){var t;if(e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!S,"Lexical environment is suspended."),d||_||p){if(_&&(t=r([],_,!0)),d){var n=i.createVariableStatement(void 0,i.createVariableDeclarationList(d));e.setEmitFlags(n,1048576),t?t.push(n):t=[n]}p&&(t=r(t?r([],t,!0):[],p,!0))}b--,d=v[b],_=h[b],p=D[b],y=x[b],0===b&&(v=[],h=[],D=[],x=[]);return t},setLexicalEnvironmentFlags:function(e,t){y=t?y|e:y&~e},getLexicalEnvironmentFlags:function(){return y},hoistVariableDeclaration:function(t){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed.");var r=e.setEmitFlags(i.createVariableDeclaration(t),64);d?d.push(r):d=[r];1&y&&(y|=2)},hoistFunctionDeclaration:function(t){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(t,1048576),_?_.push(t):_=[t]},addInitializationStatement:function(t){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(t,1048576),p?p.push(t):p=[t]},startBlockScope:function(){e.Debug.assert(A>0,"Cannot start a block scope during initialization."),e.Debug.assert(A<2,"Cannot start a block scope after transformation has completed."),T[C]=f,C++,f=void 0},endBlockScope:function(){e.Debug.assert(A>0,"Cannot end a block scope during initialization."),e.Debug.assert(A<2,"Cannot end a block scope after transformation has completed.");var t=e.some(f)?[i.createVariableStatement(void 0,i.createVariableDeclarationList(f.map((function(e){return i.createVariableDeclaration(e)})),1))]:void 0;C--,f=T[C],0===C&&(T=[]);return t},addBlockScopedVariable:function(t){e.Debug.assert(C>0,"Cannot add a block scoped variable outside of an iteration body."),(f||(f=[])).push(t)},requestEmitHelper:function t(r){if(e.Debug.assert(A>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!r.scoped,"Cannot request a scoped emit helper."),r.dependencies)for(var n=0,i=r.dependencies;n0,"Cannot modify the transformation context during initialization."),e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed.");var t=g;return g=void 0,t},enableSubstitution:function(t){e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed."),m[t]|=1},enableEmitNotification:function(t){e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed."),m[t]|=2},isSubstitutionEnabled:J,isEmitNotificationEnabled:K,get onSubstituteNode(){return E},set onSubstituteNode(t){e.Debug.assert(A<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),E=t},get onEmitNode(){return k},set onEmitNode(t){e.Debug.assert(A<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),k=t},addDiagnostic:function(e){F.push(e)}},P=0,w=o;P"],e[8192]=["[","]"],e}();function a(t,r,n,i,a,s){void 0===i&&(i=!1);var u=e.isArray(n)?n:e.getSourceFilesToEmit(t,n,i),l=t.getCompilerOptions();if(e.outFile(l)){var d=t.getPrependNodes();if(u.length||d.length){var _=e.factory.createBundle(u,d);if(g=r(c(_,t,i),_))return g}}else{if(!a)for(var p=0,f=u;p0){var i=t.preserveSourceNewlinesStack[t.stackIndex],a=t.containerPosStack[t.stackIndex],o=t.containerEndStack[t.stackIndex],s=t.declarationListContainerEndStack[t.stackIndex],c=t.shouldEmitCommentsStack[t.stackIndex],u=t.shouldEmitSourceMapsStack[t.stackIndex];Ae(i),u&&Xr(e),c&&Fr(e,a,o,s),null==N||N(e),t.stackIndex--}}),void 0);function t(t,r,n){var i="left"===n?ne.getParenthesizeLeftSideOfBinaryForOperator(r.operatorToken.kind):ne.getParenthesizeRightSideOfBinaryForOperator(r.operatorToken.kind),a=we(0,1,t);if(a===Re&&(e.Debug.assertIsDefined(x),a=Ie(1,1,t=i(e.cast(x,e.isExpression))),x=void 0),(a===kr||a===Gr||a===Me)&&e.isBinaryExpression(t))return t;b=i,a(1,t)}}();return xe(),{printNode:function(t,r,n){switch(t){case 0:e.Debug.assert(e.isSourceFile(r),"Expected a SourceFile node.");break;case 2:e.Debug.assert(e.isIdentifier(r),"Expected an Identifier node.");break;case 1:e.Debug.assert(e.isExpression(r),"Expected an Expression node.")}switch(r.kind){case 303:return oe(r);case 304:return ae(r);case 305:return function(e,t){var r=p;De(t,void 0),ve(4,e,void 0),xe(),p=r}(r,me()),ye()}return se(t,r,n,me()),ye()},printList:function(e,t,r){return ce(e,t,r,me()),ye()},printFile:oe,printBundle:ae,writeNode:se,writeList:ce,writeFile:ge,writeBundle:fe,bundleFileInfo:K};function ae(e){return fe(e,me(),void 0),ye()}function oe(e){return ge(e,me(),void 0),ye()}function se(e,t,r,n){var i=p;De(n,void 0),ve(e,t,r),xe(),p=i}function ce(e,t,r,n){var i=p;De(n,void 0),r&&he(r),wt(void 0,t,e),xe(),p=i}function ue(){return p.getTextPosWithWriteLine?p.getTextPosWithWriteLine():p.getTextPos()}function le(t,r,n){var i=e.lastOrUndefined(K.sections);i&&i.kind===n?i.end=r:K.sections.push({pos:t,end:r,kind:n})}function de(t){if(U&&K&&n&&(e.isDeclaration(t)||e.isVariableStatement(t))&&e.isInternalDeclaration(t,n)&&"internal"!==q){var r=q;return pe(p.getTextPos()),V=ue(),q="internal",r}}function _e(e){e&&(pe(p.getTextPos()),V=ue(),q=e)}function pe(e){return V"),Ut(),Se(e.type),gr(e)}(r);case 179:return function(e){fr(e),Dt(e,e.modifiers),jt("new"),Ut(),At(e,e.typeParameters),Ft(e,e.parameters),Ut(),Rt("=>"),Ut(),Se(e.type),gr(e)}(r);case 180:return function(e){jt("typeof"),Ut(),Se(e.exprName)}(r);case 181:return function(t){Rt("{");var r=1&e.getEmitFlags(t)?768:32897;wt(t,t.members,524288|r),Rt("}")}(r);case 182:return function(e){Se(e.elementType,ne.parenthesizeElementTypeOfArrayType),Rt("["),Rt("]")}(r);case 183:return function(t){Ye(22,t.pos,Rt,t);var r=1&e.getEmitFlags(t)?528:657;wt(t,t.elements,524288|r),Ye(23,t.elements.end,Rt,t)}(r);case 184:return function(e){Se(e.type,ne.parenthesizeElementTypeOfArrayType),Rt("?")}(r);case 186:return function(e){wt(e,e.types,516,ne.parenthesizeMemberOfElementType)}(r);case 187:return function(e){wt(e,e.types,520,ne.parenthesizeMemberOfElementType)}(r);case 188:return function(e){Se(e.checkType,ne.parenthesizeMemberOfConditionalType),Ut(),jt("extends"),Ut(),Se(e.extendsType,ne.parenthesizeMemberOfConditionalType),Ut(),Rt("?"),Ut(),Se(e.trueType),Ut(),Rt(":"),Ut(),Se(e.falseType)}(r);case 189:return function(e){jt("infer"),Ut(),Se(e.typeParameter)}(r);case 190:return function(e){Rt("("),Se(e.type),Rt(")")}(r);case 227:return function(e){Ce(e.expression,ne.parenthesizeLeftSideOfAccess),kt(e,e.typeArguments)}(r);case 191:return void jt("this");case 192:return function(e){Qt(e.operator,jt),Ut(),Se(e.type,ne.parenthesizeMemberOfElementType)}(r);case 193:return function(e){Se(e.objectType,ne.parenthesizeMemberOfElementType),Rt("["),Se(e.indexType),Rt("]")}(r);case 194:return function(t){var r=e.getEmitFlags(t);Rt("{"),1&r?Ut():(Wt(),Ht());t.readonlyToken&&(Se(t.readonlyToken),144!==t.readonlyToken.kind&&jt("readonly"),Ut());Rt("["),Fe(3,t.typeParameter),t.nameType&&(Ut(),jt("as"),Ut(),Se(t.nameType));Rt("]"),t.questionToken&&(Se(t.questionToken),57!==t.questionToken.kind&&Rt("?"));Rt(":"),Ut(),Se(t.type),Bt(),1&r?Ut():(Wt(),Gt());Rt("}")}(r);case 195:return function(e){Ce(e.literal)}(r);case 196:return function(e){Se(e.dotDotDotToken),Se(e.name),Se(e.questionToken),Ye(58,e.name.end,Rt,e),Ut(),Se(e.type)}(r);case 197:return function(e){Se(e.head),wt(e,e.templateSpans,262144)}(r);case 198:return function(e){Se(e.type),Se(e.literal)}(r);case 199:return function(e){e.isTypeOf&&(jt("typeof"),Ut());jt("import"),Rt("("),Se(e.argument),Rt(")"),e.qualifier&&(Rt("."),Se(e.qualifier));kt(e,e.typeArguments)}(r);case 200:return function(e){Rt("{"),wt(e,e.elements,525136),Rt("}")}(r);case 201:return function(e){Rt("["),wt(e,e.elements,524880),Rt("]")}(r);case 202:return function(e){Se(e.dotDotDotToken),e.propertyName&&(Se(e.propertyName),Rt(":"),Ut());Se(e.name),bt(e.initializer,e.name.end,e,ne.parenthesizeExpressionForDisallowedComma)}(r);case 232:return function(e){Ce(e.expression),Se(e.literal)}(r);case 233:return void Bt();case 234:return function(e){qe(e,!e.multiLine&&lr(e))}(r);case 236:return function(e){Dt(e,e.modifiers),Se(e.declarationList),Bt()}(r);case 235:return We(!1);case 237:return function(t){Ce(t.expression,ne.parenthesizeExpressionOfExpressionStatement),(!e.isJsonSourceFile(n)||e.nodeIsSynthesized(t.expression))&&Bt()}(r);case 238:return function(e){var t=Ye(99,e.pos,jt,e);Ut(),Ye(20,t,Rt,e),Ce(e.expression),Ye(21,e.expression.end,Rt,e),Ct(e,e.thenStatement),e.elseStatement&&($t(e,e.thenStatement,e.elseStatement),Ye(91,e.thenStatement.end,jt,e),238===e.elseStatement.kind?(Ut(),Se(e.elseStatement)):Ct(e,e.elseStatement))}(r);case 239:return function(t){Ye(90,t.pos,jt,t),Ct(t,t.statement),e.isBlock(t.statement)&&!j?Ut():$t(t,t.statement,t.expression);He(t,t.statement.end),Bt()}(r);case 240:return function(e){He(e,e.pos),Ct(e,e.statement)}(r);case 241:return function(e){var t=Ye(97,e.pos,jt,e);Ut();var r=Ye(20,t,Rt,e);Ge(e.initializer),r=Ye(26,e.initializer?e.initializer.end:r,Rt,e),Tt(e.condition),r=Ye(26,e.condition?e.condition.end:r,Rt,e),Tt(e.incrementor),Ye(21,e.incrementor?e.incrementor.end:r,Rt,e),Ct(e,e.statement)}(r);case 242:return function(e){var t=Ye(97,e.pos,jt,e);Ut(),Ye(20,t,Rt,e),Ge(e.initializer),Ut(),Ye(101,e.initializer.end,jt,e),Ut(),Ce(e.expression),Ye(21,e.expression.end,Rt,e),Ct(e,e.statement)}(r);case 243:return function(e){var t=Ye(97,e.pos,jt,e);Ut(),function(e){e&&(Se(e),Ut())}(e.awaitModifier),Ye(20,t,Rt,e),Ge(e.initializer),Ut(),Ye(159,e.initializer.end,jt,e),Ut(),Ce(e.expression),Ye(21,e.expression.end,Rt,e),Ct(e,e.statement)}(r);case 244:return function(e){Ye(86,e.pos,jt,e),St(e.label),Bt()}(r);case 245:return function(e){Ye(81,e.pos,jt,e),St(e.label),Bt()}(r);case 246:return function(e){Ye(105,e.pos,jt,e),Tt(e.expression),Bt()}(r);case 247:return function(e){var t=Ye(116,e.pos,jt,e);Ut(),Ye(20,t,Rt,e),Ce(e.expression),Ye(21,e.expression.end,Rt,e),Ct(e,e.statement)}(r);case 248:return function(e){var t=Ye(107,e.pos,jt,e);Ut(),Ye(20,t,Rt,e),Ce(e.expression),Ye(21,e.expression.end,Rt,e),Ut(),Se(e.caseBlock)}(r);case 249:return function(e){Se(e.label),Ye(58,e.label.end,Rt,e),Ut(),Se(e.statement)}(r);case 250:return function(e){Ye(109,e.pos,jt,e),Tt(e.expression),Bt()}(r);case 251:return function(e){Ye(111,e.pos,jt,e),Ut(),Se(e.tryBlock),e.catchClause&&($t(e,e.tryBlock,e.catchClause),Se(e.catchClause));e.finallyBlock&&($t(e,e.catchClause||e.tryBlock,e.finallyBlock),Ye(96,(e.catchClause||e.tryBlock).end,jt,e),Ut(),Se(e.finallyBlock))}(r);case 252:return function(e){Yt(87,e.pos,jt),Bt()}(r);case 253:return function(e){Se(e.name),Se(e.exclamationToken),xt(e.type),bt(e.initializer,e.type?e.type.end:e.name.end,e,ne.parenthesizeExpressionForDisallowedComma)}(r);case 254:return function(t){jt(e.isLet(t)?"let":e.isVarConst(t)?"const":"var"),Ut(),wt(t,t.declarations,528)}(r);case 255:return function(e){Xe(e)}(r);case 256:return function(e){rt(e)}(r);case 257:return function(e){Et(e,e.decorators),Dt(e,e.modifiers),jt("interface"),Ut(),Se(e.name),At(e,e.typeParameters),wt(e,e.heritageClauses,512),Ut(),Rt("{"),wt(e,e.members,129),Rt("}")}(r);case 258:return function(e){Et(e,e.decorators),Dt(e,e.modifiers),jt("type"),Ut(),Se(e.name),At(e,e.typeParameters),Ut(),Rt("="),Ut(),Se(e.type),Bt()}(r);case 259:return function(e){Dt(e,e.modifiers),jt("enum"),Ut(),Se(e.name),Ut(),Rt("{"),wt(e,e.members,145),Rt("}")}(r);case 260:return function(t){Dt(t,t.modifiers),1024&~t.flags&&(jt(16&t.flags?"namespace":"module"),Ut());Se(t.name);var r=t.body;if(!r)return Bt();for(;r&&e.isModuleDeclaration(r);)Rt("."),Se(r.name),r=r.body;Ut(),Se(r)}(r);case 261:return function(t){fr(t),e.forEach(t.statements,yr),qe(t,lr(t)),gr(t)}(r);case 262:return function(e){Ye(18,e.pos,Rt,e),wt(e,e.clauses,129),Ye(19,e.clauses.end,Rt,e,!0)}(r);case 263:return function(e){var t=Ye(93,e.pos,jt,e);Ut(),t=Ye(127,t,jt,e),Ut(),t=Ye(142,t,jt,e),Ut(),Se(e.name),Bt()}(r);case 264:return function(e){Dt(e,e.modifiers),Ye(100,e.modifiers?e.modifiers.end:e.pos,jt,e),Ut(),e.isTypeOnly&&(Ye(151,e.pos,jt,e),Ut());Se(e.name),Ut(),Ye(63,e.name.end,Rt,e),Ut(),function(e){79===e.kind?Ce(e):Se(e)}(e.moduleReference),Bt()}(r);case 265:return function(e){Dt(e,e.modifiers),Ye(100,e.modifiers?e.modifiers.end:e.pos,jt,e),Ut(),e.importClause&&(Se(e.importClause),Ut(),Ye(155,e.importClause.end,jt,e),Ut());Ce(e.moduleSpecifier),e.assertClause&&St(e.assertClause);Bt()}(r);case 266:return function(e){e.isTypeOnly&&(Ye(151,e.pos,jt,e),Ut());Se(e.name),e.name&&e.namedBindings&&(Ye(27,e.name.end,Rt,e),Ut());Se(e.namedBindings)}(r);case 267:return function(e){var t=Ye(41,e.pos,Rt,e);Ut(),Ye(127,t,jt,e),Ut(),Se(e.name)}(r);case 273:return function(e){var t=Ye(41,e.pos,Rt,e);Ut(),Ye(127,t,jt,e),Ut(),Se(e.name)}(r);case 268:case 272:return function(e){nt(e)}(r);case 269:case 274:return function(e){it(e)}(r);case 270:return function(e){var t=Ye(93,e.pos,jt,e);Ut(),e.isExportEquals?Ye(63,t,Jt,e):Ye(88,t,jt,e);Ut(),Ce(e.expression,e.isExportEquals?ne.getParenthesizeRightSideOfBinaryForOperator(63):ne.parenthesizeExpressionOfExportDefault),Bt()}(r);case 271:return function(e){var t=Ye(93,e.pos,jt,e);Ut(),e.isTypeOnly&&(t=Ye(151,t,jt,e),Ut());e.exportClause?Se(e.exportClause):t=Ye(41,t,Rt,e);if(e.moduleSpecifier){Ut(),Ye(155,e.exportClause?e.exportClause.end:t,jt,e),Ut(),Ce(e.moduleSpecifier)}e.assertClause&&St(e.assertClause);Bt()}(r);case 292:return function(e){Ye(129,e.pos,jt,e),Ut();var t=e.elements;wt(e,t,526226)}(r);case 293:return function(t){Se(t.name),Rt(":"),Ut();var r=t.value;if(0==(512&e.getEmitFlags(r))){Kr(e.getCommentRange(r).pos)}Se(r)}(r);case 275:case 317:case 328:case 329:case 331:case 332:case 333:case 334:case 335:case 347:case 351:case 350:return;case 276:return function(e){jt("require"),Rt("("),Ce(e.expression),Rt(")")}(r);case 11:return function(e){p.writeLiteral(e.text)}(r);case 279:case 282:return function(t){if(Rt("<"),e.isJsxOpeningElement(t)){var r=or(t.tagName,t);at(t.tagName),kt(t,t.typeArguments),t.attributes.properties&&t.attributes.properties.length>0&&Ut(),Se(t.attributes),sr(t.attributes,t),tr(r)}Rt(">")}(r);case 280:case 283:return function(t){Rt("")}(r);case 284:return function(e){Se(e.name),function(e,t,r,n){r&&(t(e),n(r))}("=",Rt,e.initializer,Ee)}(r);case 285:return function(e){wt(e,e.properties,262656)}(r);case 286:return function(e){Rt("{..."),Ce(e.expression),Rt("}")}(r);case 287:return function(t){var r;if(t.expression||!Z&&!e.nodeIsSynthesized(t)&&(o=t.pos,function(t){var r=!1;return e.forEachTrailingCommentRange((null==n?void 0:n.text)||"",t+1,(function(){return r=!0})),r}(o)||function(t){var r=!1;return e.forEachLeadingCommentRange((null==n?void 0:n.text)||"",t+1,(function(){return r=!0})),r}(o))){var i=n&&!e.nodeIsSynthesized(t)&&e.getLineAndCharacterOfPosition(n,t.pos).line!==e.getLineAndCharacterOfPosition(n,t.end).line;i&&p.increaseIndent();var a=Ye(18,t.pos,Rt,t);Se(t.dotDotDotToken),Ce(t.expression),Ye(19,(null===(r=t.expression)||void 0===r?void 0:r.end)||a,Rt,t),i&&p.decreaseIndent()}var o}(r);case 288:return function(e){Ye(82,e.pos,jt,e),Ut(),Ce(e.expression,ne.parenthesizeExpressionForDisallowedComma),ot(e,e.statements,e.expression.end)}(r);case 289:return function(e){var t=Ye(88,e.pos,jt,e);ot(e,e.statements,t)}(r);case 290:return function(e){Ut(),Qt(e.token,jt),Ut(),wt(e,e.types,528)}(r);case 291:return function(e){var t=Ye(83,e.pos,jt,e);Ut(),e.variableDeclaration&&(Ye(20,t,Rt,e),Se(e.variableDeclaration),Ye(21,e.variableDeclaration.end,Rt,e),Ut());Se(e.block)}(r);case 294:return function(t){Se(t.name),Rt(":"),Ut();var r=t.initializer;if(0==(512&e.getEmitFlags(r))){Kr(e.getCommentRange(r).pos)}Ce(r,ne.parenthesizeExpressionForDisallowedComma)}(r);case 295:return function(e){Se(e.name),e.objectAssignmentInitializer&&(Ut(),Rt("="),Ut(),Ce(e.objectAssignmentInitializer,ne.parenthesizeExpressionForDisallowedComma))}(r);case 296:return function(e){e.expression&&(Ye(25,e.pos,Rt,e),Ce(e.expression,ne.parenthesizeExpressionForDisallowedComma))}(r);case 297:return function(e){Se(e.name),bt(e.initializer,e.name.end,e,ne.parenthesizeExpressionForDisallowedComma)}(r);case 298:return Ke(r);case 305:case 299:return function(e){for(var t=0,r=e.texts;t=1&&!e.isJsonSourceFile(n)?64:0;wt(t,t.properties,526226|a|i),r&&Gt()}(r);case 205:return function(t){Ce(t.expression,ne.parenthesizeLeftSideOfAccess);var r=t.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),t.expression.end,t.name.pos),n=ur(t,t.expression,r),i=ur(t,r,t.name);er(n,!1),28===r.kind||!function(t){if(t=e.skipPartiallyEmittedExpressions(t),e.isNumericLiteral(t)){var r=pr(t,!0,!1);return!t.numericLiteralFlags&&!e.stringContains(r,e.tokenToString(24))}if(e.isAccessExpression(t)){var n=e.getConstantValue(t);return"number"==typeof n&&isFinite(n)&&Math.floor(n)===n}}(t.expression)||p.hasTrailingComment()||p.hasTrailingWhitespace()||Rt(".");t.questionDotToken?Se(r):Ye(r.kind,t.expression.end,Rt,t);er(i,!1),Se(t.name),tr(n,i)}(r);case 206:return function(e){Ce(e.expression,ne.parenthesizeLeftSideOfAccess),Se(e.questionDotToken),Ye(22,e.expression.end,Rt,e),Ce(e.argumentExpression),Ye(23,e.argumentExpression.end,Rt,e)}(r);case 207:return function(t){var r=536870912&e.getEmitFlags(t);r&&(Rt("("),Mt("0"),Rt(","),Ut());Ce(t.expression,ne.parenthesizeLeftSideOfAccess),r&&Rt(")");Se(t.questionDotToken),kt(t,t.typeArguments),It(t,t.arguments,2576,ne.parenthesizeExpressionForDisallowedComma)}(r);case 208:return function(e){Ye(103,e.pos,jt,e),Ut(),Ce(e.expression,ne.parenthesizeExpressionOfNew),kt(e,e.typeArguments),It(e,e.arguments,18960,ne.parenthesizeExpressionForDisallowedComma)}(r);case 209:return function(t){var r=536870912&e.getEmitFlags(t);r&&(Rt("("),Mt("0"),Rt(","),Ut());Ce(t.tag,ne.parenthesizeLeftSideOfAccess),r&&Rt(")");kt(t,t.typeArguments),Ut(),Ce(t.template)}(r);case 210:return function(e){Rt("<"),Se(e.type),Rt(">"),Ce(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 211:return function(e){var t=Ye(20,e.pos,Rt,e),r=or(e.expression,e);Ce(e.expression,void 0),sr(e.expression,e),tr(r),Ye(21,e.expression?e.expression.end:t,Rt,e)}(r);case 212:return function(e){hr(e.name),Xe(e)}(r);case 213:return function(e){Et(e,e.decorators),Dt(e,e.modifiers),Qe(e,Ve)}(r);case 214:return function(e){Ye(89,e.pos,jt,e),Ut(),Ce(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 215:return function(e){Ye(112,e.pos,jt,e),Ut(),Ce(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 216:return function(e){Ye(114,e.pos,jt,e),Ut(),Ce(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 217:return function(e){Ye(132,e.pos,jt,e),Ut(),Ce(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 218:return function(e){Qt(e.operator,Jt),function(e){var t=e.operand;return 218===t.kind&&(39===e.operator&&(39===t.operator||45===t.operator)||40===e.operator&&(40===t.operator||46===t.operator))}(e)&&Ut();Ce(e.operand,ne.parenthesizeOperandOfPrefixUnary)}(r);case 219:return function(e){Ce(e.operand,ne.parenthesizeOperandOfPostfixUnary),Qt(e.operator,Jt)}(r);case 220:return ie(r);case 221:return function(e){var t=ur(e,e.condition,e.questionToken),r=ur(e,e.questionToken,e.whenTrue),n=ur(e,e.whenTrue,e.colonToken),i=ur(e,e.colonToken,e.whenFalse);Ce(e.condition,ne.parenthesizeConditionOfConditionalExpression),er(t,!0),Se(e.questionToken),er(r,!0),Ce(e.whenTrue,ne.parenthesizeBranchOfConditionalExpression),tr(t,r),er(n,!0),Se(e.colonToken),er(i,!0),Ce(e.whenFalse,ne.parenthesizeBranchOfConditionalExpression),tr(n,i)}(r);case 222:return function(e){Se(e.head),wt(e,e.templateSpans,262144)}(r);case 223:return function(e){Ye(125,e.pos,jt,e),Se(e.asteriskToken),Tt(e.expression,ne.parenthesizeExpressionForDisallowedComma)}(r);case 224:return function(e){Ye(25,e.pos,Rt,e),Ce(e.expression,ne.parenthesizeExpressionForDisallowedComma)}(r);case 225:return function(e){hr(e.name),rt(e)}(r);case 226:case 347:case 350:case 351:return;case 228:return function(e){Ce(e.expression,void 0),e.type&&(Ut(),jt("as"),Ut(),Se(e.type))}(r);case 229:return function(e){Ce(e.expression,ne.parenthesizeLeftSideOfAccess),Jt("!")}(r);case 230:return function(e){Yt(e.keywordToken,e.pos,Rt),Rt("."),Se(e.name)}(r);case 231:return e.Debug.fail("SyntheticExpression should never be printed.");case 277:return function(e){Se(e.openingElement),wt(e,e.children,262144),Se(e.closingElement)}(r);case 278:return function(e){Rt("<"),at(e.tagName),kt(e,e.typeArguments),Ut(),Se(e.attributes),Rt("/>")}(r);case 281:return function(e){Se(e.openingFragment),wt(e,e.children,262144),Se(e.closingFragment)}(r);case 346:return e.Debug.fail("SyntaxList should not be printed");case 348:return function(e){Ce(e.expression)}(r);case 349:return function(e){It(e,e.elements,528,void 0)}(r);case 352:return e.Debug.fail("SyntheticReferenceExpression should not be printed")}return e.isKeyword(r.kind)?Xt(r,jt):e.isTokenKind(r.kind)?Xt(r,Rt):void e.Debug.fail("Unhandled SyntaxKind: ".concat(e.Debug.formatSyntaxKind(r.kind),"."))}function Re(t,r){var n=Ie(1,t,r);e.Debug.assertIsDefined(x),r=x,x=void 0,n(t,r)}function Be(r){var i=!1,a=304===r.kind?r:void 0;if(!a||R!==e.ModuleKind.None){for(var o=a?a.prepends.length:0,s=a?a.sourceFiles.length+o:1,c=0;c0)return!1;r=o}return!0}(t)?et:tt;Ir?Ir(t,t.statements,r):r(t),Gt(),Yt(19,t.statements.end,Rt,t),null==N||N(t)}function et(e){tt(e,!0)}function tt(e,t){var r=gt(e.statements),n=p.getTextPos();Be(e),0===r&&n===p.getTextPos()&&t?(Gt(),wt(e,e.statements,768),Ht()):wt(e,e.statements,1,void 0,r)}function rt(t){e.forEach(t.members,vr),Et(t,t.decorators),Dt(t,t.modifiers),jt("class"),t.name&&(Ut(),Te(t.name));var r=65536&e.getEmitFlags(t);r&&Ht(),At(t,t.typeParameters),wt(t,t.heritageClauses,0),Ut(),Rt("{"),wt(t,t.members,129),Rt("}"),r&&Gt()}function nt(e){Rt("{"),wt(e,e.elements,525136),Rt("}")}function it(e){e.isTypeOnly&&(jt("type"),Ut()),e.propertyName&&(Se(e.propertyName),Ut(),Ye(127,e.propertyName.end,jt,e),Ut()),Se(e.name)}function at(e){79===e.kind?Ce(e):Se(e)}function ot(t,r,i){var a=163969;1===r.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],n))?(Yt(58,i,Rt,t),Ut(),a&=-130):Ye(58,i,Rt,t),wt(t,r,a)}function st(t){wt(t,e.factory.createNodeArray(t.jsDocPropertyTags),33)}function ct(t){t.typeParameters&&wt(t,e.factory.createNodeArray(t.typeParameters),33),t.parameters&&wt(t,e.factory.createNodeArray(t.parameters),33),t.type&&(Wt(),Ut(),Rt("*"),Ut(),Se(t.type))}function ut(e){Rt("@"),Se(e)}function lt(t){var r=e.getTextOfJSDocComment(t);r&&(Ut(),J(r))}function dt(e){e&&(Ut(),Rt("{"),Se(e.type),Rt("}"))}function _t(t){Wt();var r=t.statements;if(Ir&&(0===r.length||!e.isPrologueDirective(r[0])||e.nodeIsSynthesized(r[0])))return void Ir(t,r,ft);ft(t)}function pt(e,t,r,i){if(e){var a=p.getTextPos();zt('/// '),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"no-default-lib"}),Wt()}if(n&&n.moduleName&&(zt('/// ')),Wt()),n&&n.amdDependencies)for(var o=0,s=n.amdDependencies;o')):zt('/// ')),Wt()}for(var u=0,l=t;u')),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"reference",data:d.fileName}),Wt()}for(var _=0,f=r;_')),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"type",data:d.fileName}),Wt()}for(var g=0,m=i;g')),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"lib",data:d.fileName}),Wt()}}function ft(t){var r=t.statements;fr(t),e.forEach(t.statements,yr),Be(t);var n=e.findIndex(r,(function(t){return!e.isPrologueDirective(t)}));!function(e){e.isDeclarationFile&&pt(e.hasNoDefaultLib,e.referencedFiles,e.typeReferenceDirectives,e.libReferenceDirectives)}(t),wt(t,r,1,void 0,-1===n?r.length:n),gr(t)}function gt(t,r,n,i){for(var a=!!r,o=0;o=a.length||0===u;if(l&&32768&o)return P&&P(a),void(w&&w(a));if(15360&o&&(Rt(function(e){return i[15360&e][0]}(o)),l&&a&&Kr(a.pos,!0)),P&&P(a),l)1&o&&(!j||r&&!e.rangeIsOnSingleLine(r,n))?Wt():256&o&&!(524288&o)&&Ut();else{e.Debug.type(a);var d=0==(262144&o),p=d,f=rr(r,a,o);f?(Wt(f),p=!1):256&o&&Ut(),128&o&&Ht();for(var g=void 0,m=void 0,y=!1,v=0;v0?(0==(131&o)&&(Ht(),y=!0),Wt(D),p=!1):g&&512&o&&Ut()}if(m=de(h),p){if(Kr)Kr(e.getCommentRange(h).pos)}else p=d;_=h.pos,1===t.length?t(h):t(h,s),y&&(Gt(),y=!1),g=h}var x=g?e.getEmitFlags(g):0,b=Z||!!(1024&x),S=(null==a?void 0:a.hasTrailingComma)&&64&o&&16&o;S&&(g&&!b?Ye(27,g.end,Rt,g):Rt(",")),g&&(r?r.end:-1)!==g.end&&60&o&&!b&&jr(S&&(null==a?void 0:a.end)?a.end:g.end),128&o&&Gt(),_e(m);var T=ir(r,a,o);T?Wt(T):2097408&o&&Ut()}w&&w(a),15360&o&&(l&&a&&jr(a.end),Rt(function(e){return i[15360&e][1]}(o)))}}function Mt(e){p.writeLiteral(e)}function Lt(e,t){p.writeSymbol(e,t)}function Rt(e){p.writePunctuation(e)}function Bt(){p.writeTrailingSemicolon(";")}function jt(e){p.writeKeyword(e)}function Jt(e){p.writeOperator(e)}function Kt(e){p.writeParameter(e)}function zt(e){p.writeComment(e)}function Ut(){p.writeSpace(" ")}function Vt(e){p.writeProperty(e)}function qt(e){p.nonEscapingWrite?p.nonEscapingWrite(e):p.write(e)}function Wt(e){void 0===e&&(e=1);for(var t=0;t0)}function Ht(){p.increaseIndent()}function Gt(){p.decreaseIndent()}function Yt(t,r,n,i){return W?Qt(t,n,r):function(t,r,n,i,a){if(W||t&&e.isInJsonFile(t))return a(r,n,i);var o=t&&t.emitNode,s=o&&o.flags||0,c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r],u=c&&c.source||y;i=Qr(u,c?c.pos:i),0==(128&s)&&i>=0&&Zr(u,i);i=a(r,n,i),c&&(i=c.end);0==(256&s)&&i>=0&&Zr(u,i);return i}(i,t,n,r,Qt)}function Xt(t,r){I&&I(t),r(e.tokenToString(t.kind)),O&&O(t)}function Qt(t,r,n){var i=e.tokenToString(t);return r(i),n<0?n:n+i.length}function $t(t,r,n){if(1&e.getEmitFlags(t))Ut();else if(j){var i=ur(t,r,n);i?Wt(i):Ut()}else Wt()}function Zt(t){for(var r=t.split(/\r\n?|\n/g),n=e.guessIndentation(r),i=0,a=r;i-1&&i.indexOf(r)===a+1}(t,r)?ar((function(i){return e.getLinesBetweenRangeEndAndRangeStart(t,r,n,i)})):!j&&(a=t,o=r,(a=e.getOriginalNode(a)).parent&&a.parent===e.getOriginalNode(o).parent)?e.rangeEndIsOnSameLineAsRangeStart(t,r,n)?0:1:65536&i?1:0;if(cr(t,i)||cr(r,i))return 1}else if(e.getStartsOnNewLine(r))return 1;var a,o;return 1&i?1:0}function ir(t,r,i){if(2&i||j){if(65536&i)return 1;var a=e.lastOrUndefined(r);if(void 0===a)return!t||e.rangeIsOnSingleLine(t,n)?0:1;if(t&&!e.positionIsSynthesized(t.pos)&&!e.nodeIsSynthesized(a)&&(!a.parent||a.parent===t)){if(j){var o=e.isNodeArray(r)&&!e.positionIsSynthesized(r.end)?r.end:a.end;return ar((function(r){return e.getLinesBetweenPositionAndNextNonWhitespaceCharacter(o,t.end,n,r)}))}return e.rangeEndPositionsAreOnSameLine(t,a,n)?0:1}if(cr(a,i))return 1}return 1&i&&!(131072&i)?1:0}function ar(t){e.Debug.assert(!!j);var r=t(!0);return 0===r?t(!1):r}function or(e,t){var r=j&&rr(t,[e],0);return r&&er(r,!1),!!r}function sr(e,t){var r=j&&ir(t,[e],0);r&&Wt(r)}function cr(t,r){if(e.nodeIsSynthesized(t)){var n=e.getStartsOnNewLine(t);return void 0===n?0!=(65536&r):n}return 0!=(65536&r)}function ur(t,r,i){return 131072&e.getEmitFlags(t)?0:(t=dr(t),r=dr(r),i=dr(i),e.getStartsOnNewLine(i)?1:e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r)||e.nodeIsSynthesized(i)?0:j?ar((function(t){return e.getLinesBetweenRangeEndAndRangeStart(r,i,n,t)})):e.rangeEndIsOnSameLineAsRangeStart(r,i,n)?0:1)}function lr(t){return 0===t.statements.length&&e.rangeEndIsOnSameLineAsRangeStart(t,t,n)}function dr(t){for(;211===t.kind&&e.nodeIsSynthesized(t);)t=t.expression;return t}function _r(t,r){return e.isGeneratedIdentifier(t)?Dr(t):(e.isIdentifier(t)||e.isPrivateIdentifier(t))&&(e.nodeIsSynthesized(t)||!t.parent||!n||t.parent&&n&&e.getSourceFileOfNode(t)!==e.getOriginalNode(n))?e.idText(t):10===t.kind&&t.textSourceNode?_r(t.textSourceNode,r):!e.isLiteralExpression(t)||!e.nodeIsSynthesized(t)&&t.parent?e.getSourceTextOfNodeFromSourceFile(n,t,r):t.text}function pr(r,i,a){if(10===r.kind&&r.textSourceNode){var o=r.textSourceNode;if(e.isIdentifier(o)||e.isNumericLiteral(o)){var s=e.isNumericLiteral(o)?o.text:_r(o);return a?'"'.concat(e.escapeJsxAttributeString(s),'"'):i||16777216&e.getEmitFlags(r)?'"'.concat(e.escapeString(s),'"'):'"'.concat(e.escapeNonAsciiString(s),'"')}return pr(o,i,a)}var c=(i?1:0)|(a?2:0)|(t.terminateUnterminatedLiterals?4:0)|(t.target&&99===t.target?8:0);return e.getLiteralText(r,n,c)}function fr(t){t&&524288&e.getEmitFlags(t)||(c.push(u),u=0,l.push(d))}function gr(t){t&&524288&e.getEmitFlags(t)||(u=c.pop(),d=l.pop())}function mr(t){d&&d!==e.lastOrUndefined(l)||(d=new e.Set),d.add(t)}function yr(t){if(t)switch(t.kind){case 234:case 288:case 289:e.forEach(t.statements,yr);break;case 249:case 247:case 239:case 240:yr(t.statement);break;case 238:yr(t.thenStatement),yr(t.elseStatement);break;case 241:case 243:case 242:yr(t.initializer),yr(t.statement);break;case 248:yr(t.caseBlock);break;case 262:e.forEach(t.clauses,yr);break;case 251:yr(t.tryBlock),yr(t.catchClause),yr(t.finallyBlock);break;case 291:yr(t.variableDeclaration),yr(t.block);break;case 236:yr(t.declarationList);break;case 254:e.forEach(t.declarations,yr);break;case 253:case 163:case 202:case 256:case 267:case 273:hr(t.name);break;case 255:hr(t.name),524288&e.getEmitFlags(t)&&(e.forEach(t.parameters,yr),yr(t.body));break;case 200:case 201:case 268:e.forEach(t.elements,yr);break;case 265:yr(t.importClause);break;case 266:hr(t.name),yr(t.namedBindings);break;case 269:hr(t.propertyName||t.name)}}function vr(e){if(e)switch(e.kind){case 294:case 295:case 166:case 168:case 171:case 172:hr(e.name)}}function hr(t){t&&(e.isGeneratedIdentifier(t)?Dr(t):e.isBindingPattern(t)&&yr(t))}function Dr(t){if(4==(7&t.autoGenerateFlags))return xr(function(t){var r=t.autoGenerateId,n=t,i=n.original;for(;i&&(n=i,!(e.isIdentifier(n)&&4&n.autoGenerateFlags&&n.autoGenerateId!==r));)i=n.original;return n}(t),t.autoGenerateFlags);var r=t.autoGenerateId;return o[r]||(o[r]=function(t){switch(7&t.autoGenerateFlags){case 1:return Tr(0,!!(8&t.autoGenerateFlags));case 2:return Tr(268435456,!!(8&t.autoGenerateFlags));case 3:return Cr(e.idText(t),32&t.autoGenerateFlags?Sr:br,!!(16&t.autoGenerateFlags),!!(8&t.autoGenerateFlags))}return e.Debug.fail("Unsupported GeneratedIdentifierKind.")}(t))}function xr(t,r){var n=e.getNodeId(t);return a[n]||(a[n]=function(t,r){switch(t.kind){case 79:return Cr(_r(t),br,!!(16&r),!!(8&r));case 260:case 259:return function(t){var r=_r(t.name);return function(t,r){for(var n=r;e.isNodeDescendantOf(n,r);n=n.nextContainer)if(n.locals){var i=n.locals.get(e.escapeLeadingUnderscores(t));if(i&&3257279&i.flags)return!1}return!0}(r,t)?r:Cr(r)}(t);case 265:case 271:return function(t){var r=e.getExternalModuleName(t);return Cr(e.isStringLiteral(r)?e.makeIdentifierFromModuleName(r.text):"module")}(t);case 255:case 256:case 270:return Cr("default");case 225:return Cr("class");case 168:case 171:case 172:return function(t){if(e.isIdentifier(t.name))return xr(t.name);return Tr(0)}(t);case 161:return Tr(0,!0);default:return Tr(0)}}(t,r))}function br(e){return Sr(e)&&!s.has(e)&&!(d&&d.has(e))}function Sr(t){return!n||e.isFileLevelUniqueName(n,t,S)}function Tr(e,t){if(e&&!(u&e)&&br(r=268435456===e?"_i":"_n"))return u|=e,t&&mr(r),r;for(;;){var r,n=268435455&u;if(u++,8!==n&&13!==n)if(br(r=n<26?"_"+String.fromCharCode(97+n):"_"+(n-26)))return t&&mr(r),r}}function Cr(e,t,r,n){if(void 0===t&&(t=br),r&&t(e))return n?mr(e):s.add(e),e;95!==e.charCodeAt(e.length-1)&&(e+="_");for(var i=1;;){var a=e+i;if(t(a))return n?mr(a):s.add(a),a;i++}}function Er(e){return Cr(e,Sr,!0)}function kr(e,t){var r=Ie(2,e,t),n=Y,i=X,a=Q;Ar(t),r(e,t),Fr(t,n,i,a)}function Ar(t){var r=e.getEmitFlags(t),n=e.getCommentRange(t);!function(t,r,n,i){te(),$=!1;var a=n<0||0!=(512&r)||11===t.kind,o=i<0||0!=(1024&r)||11===t.kind;(n>0||i>0)&&n!==i&&(a||Or(n,347!==t.kind),(!a||n>=0&&0!=(512&r))&&(Y=n),(!o||i>=0&&0!=(1024&r))&&(X=i,254===t.kind&&(Q=i)));e.forEach(e.getSyntheticLeadingComments(t),Nr),re()}(t,r,n.pos,n.end),2048&r&&(Z=!0)}function Fr(t,r,n,i){var a=e.getEmitFlags(t),o=e.getCommentRange(t);2048&a&&(Z=!1),function(t,r,n,i,a,o,s){te();var c=i<0||0!=(1024&r)||11===t.kind;e.forEach(e.getSyntheticTrailingComments(t),Pr),(n>0||i>0)&&n!==i&&(Y=a,X=o,Q=s,c||347===t.kind||function(e){qr(e,Jr)}(i));re()}(t,a,o.pos,o.end,r,n,i)}function Nr(e){(e.hasLeadingNewline||2===e.kind)&&p.writeLine(),wr(e),e.hasTrailingNewLine||2===e.kind?p.writeLine():p.writeSpace(" ")}function Pr(e){p.isAtStartOfLine()||p.writeSpace(" "),wr(e),e.hasTrailingNewLine&&p.writeLine()}function wr(t){var r=function(e){return 3===e.kind?"/*".concat(e.text,"*/"):"//".concat(e.text)}(t),n=3===t.kind?e.computeLineStarts(r):void 0;e.writeCommentRange(r,n,p,0,r.length,L)}function Ir(t,r,i){te();var a=r.pos,o=r.end,s=e.getEmitFlags(t),c=Z||o<0||0!=(1024&s);a<0||0!=(512&s)||function(t){var r=e.emitDetachedComments(n.text,be(),p,Wr,t,L,Z);r&&(D?D.push(r):D=[r])}(r),re(),2048&s&&!Z?(Z=!0,i(t),Z=!1):i(t),te(),c||(Or(r.end,!0),$&&!p.isAtStartOfLine()&&p.writeLine()),re()}function Or(e,t){$=!1,t?0===e&&(null==n?void 0:n.isDeclarationFile)?Vr(e,Lr):Vr(e,Br):0===e&&Vr(e,Mr)}function Mr(e,t,r,n,i){Hr(e,t)&&Br(e,t,r,n,i)}function Lr(e,t,r,n,i){Hr(e,t)||Br(e,t,r,n,i)}function Rr(r,n){return!t.onlyPrintJsDocStyle||(e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n))}function Br(t,r,i,a,o){Rr(n.text,t)&&($||(e.emitNewLineBeforeLeadingCommentOfPosition(be(),p,o,t),$=!0),$r(t),e.writeCommentRange(n.text,be(),p,t,r,L),$r(r),a?p.writeLine():3===i&&p.writeSpace(" "))}function jr(e){Z||-1===e||Or(e,!0)}function Jr(t,r,i,a){Rr(n.text,t)&&(p.isAtStartOfLine()||p.writeSpace(" "),$r(t),e.writeCommentRange(n.text,be(),p,t,r,L),$r(r),a&&p.writeLine())}function Kr(e,t,r){Z||(te(),qr(e,t?Jr:r?zr:Ur),re())}function zr(t,r,i){$r(t),e.writeCommentRange(n.text,be(),p,t,r,L),$r(r),2===i&&p.writeLine()}function Ur(t,r,i,a){$r(t),e.writeCommentRange(n.text,be(),p,t,r,L),$r(r),a?p.writeLine():p.writeSpace(" ")}function Vr(t,r){!n||-1!==Y&&t===Y||(function(t){return void 0!==D&&e.last(D).nodePos===t}(t)?function(t){var r=e.last(D).detachedCommentEndPos;D.length-1?D.pop():D=void 0;e.forEachLeadingCommentRange(n.text,r,t,r)}(r):e.forEachLeadingCommentRange(n.text,t,r,t))}function qr(t,r){n&&(-1===X||t!==X&&t!==Q)&&e.forEachTrailingCommentRange(n.text,t,r)}function Wr(t,r,i,a,o,s){Rr(n.text,a)&&($r(a),e.writeCommentRange(t,r,i,a,o,s),$r(o))}function Hr(t,r){return e.isRecognizedTripleSlashComment(n.text,t,r)}function Gr(e,t){var r=Ie(3,e,t);Yr(t),r(e,t),Xr(t)}function Yr(t){var r=e.getEmitFlags(t),n=e.getSourceMapRange(t);if(e.isUnparsedNode(t)){e.Debug.assertIsDefined(t.parent,"UnparsedNodes must have parent pointers");var i=function(t){return void 0===t.parsedSourceMap&&void 0!==t.sourceMapText&&(t.parsedSourceMap=e.tryParseRawSourceMap(t.sourceMapText)||!1),t.parsedSourceMap||void 0}(t.parent);i&&m&&m.appendSourceMap(p.getLine(),p.getColumn(),i,t.parent.sourceMapPath,t.parent.getLineAndCharacterOfPosition(t.pos),t.parent.getLineAndCharacterOfPosition(t.end))}else{var a=n.source||y;347!==t.kind&&0==(16&r)&&n.pos>=0&&Zr(n.source||y,Qr(a,n.pos)),64&r&&(W=!0)}}function Xr(t){var r=e.getEmitFlags(t),n=e.getSourceMapRange(t);e.isUnparsedNode(t)||(64&r&&(W=!1),347!==t.kind&&0==(32&r)&&n.end>=0&&Zr(n.source||y,n.end))}function Qr(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(t.text,r)}function $r(t){if(!(W||e.positionIsSynthesized(t)||tn(y))){var r=e.getLineAndCharacterOfPosition(y,t),n=r.line,i=r.character;m.addMapping(p.getLine(),p.getColumn(),H,n,i,void 0)}}function Zr(e,t){if(e!==y){var r=y,n=H;en(e),$r(t),function(e,t){y=e,H=t}(r,n)}else $r(t)}function en(e){W||(y=e,e!==v?tn(e)||(H=m.addSource(e.fileName),t.inlineSources&&m.setSourceContent(H,e.text),v=e,G=H):H=G)}function tn(t){return e.fileExtensionIs(t.fileName,".json")}}e.isBuildInfoFile=function(t){return e.fileExtensionIs(t,".tsbuildinfo")},e.forEachEmittedFile=a,e.getTsBuildInfoEmitOutputFilePath=o,e.getOutputPathsForBundle=s,e.getOutputPathsFor=c,e.getOutputExtension=l,e.getOutputDeclarationFileName=_,e.getCommonSourceDirectory=y,e.getCommonSourceDirectoryOfConfig=v,e.getAllProjectOutputs=function(t,r){var n=f(),i=n.addOutput,a=n.getOutputs;if(e.outFile(t.options))g(t,i);else{for(var s=e.memoize((function(){return v(t,r)})),c=0,u=t.fileNames;c=4,v=(f+1+"").length;y&&(v=Math.max("...".length,v));for(var h="",D=l;D<=f;D++){h+=o.getNewLine(),y&&l+11}))&&rr(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}j.useDefineForClassFields&&0===d&&rr(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,"useDefineForClassFields");j.checkJs&&!e.getAllowJSCompilerOption(j)&&ce.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs"));j.emitDeclarationOnly&&(e.getEmitDeclarations(j)||rr(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite"),j.noEmit&&rr(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit"));j.emitDecoratorMetadata&&!j.experimentalDecorators&&rr(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators");j.jsxFactory?(j.reactNamespace&&rr(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),4!==j.jsx&&5!==j.jsx||rr(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFactory",e.inverseJsxOptionMap.get(""+j.jsx)),e.parseIsolatedEntityName(j.jsxFactory,d)||nr("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,j.jsxFactory)):j.reactNamespace&&!e.isIdentifierText(j.reactNamespace,d)&&nr("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,j.reactNamespace);j.jsxFragmentFactory&&(j.jsxFactory||rr(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"jsxFragmentFactory","jsxFactory"),4!==j.jsx&&5!==j.jsx||rr(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFragmentFactory",e.inverseJsxOptionMap.get(""+j.jsx)),e.parseIsolatedEntityName(j.jsxFragmentFactory,d)||nr("jsxFragmentFactory",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,j.jsxFragmentFactory));j.reactNamespace&&(4!==j.jsx&&5!==j.jsx||rr(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"reactNamespace",e.inverseJsxOptionMap.get(""+j.jsx)));j.jsxImportSource&&2===j.jsx&&rr(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxImportSource",e.inverseJsxOptionMap.get(""+j.jsx));j.preserveValueImports&&e.getEmitModuleKind(j)=e.length(null==o?void 0:o.imports)+e.length(null==o?void 0:o.moduleAugmentations))return!1;var n=e.getResolvedModule(o,t,o&&m(o,r)),i=n&&z.getSourceFile(n.resolvedFileName);if(n&&i)return!1;var a=U.get(t);return!!a&&(e.isTraceEnabled(j,ne)&&e.trace(ne,e.Diagnostics.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified,t,a),!0)}}function Ze(t){return{getPrependNodes:tt,getCanonicalFileName:qt,getCommonSourceDirectory:Ve.getCommonSourceDirectory,getCompilerOptions:Ve.getCompilerOptions,getCurrentDirectory:function(){return ue},getNewLine:function(){return ne.getNewLine()},getSourceFile:Ve.getSourceFile,getSourceFileByPath:Ve.getSourceFileByPath,getSourceFiles:Ve.getSourceFiles,getLibFileFromReference:Ve.getLibFileFromReference,isSourceFileFromExternalLibrary:rt,getResolvedProjectReferenceToRedirect:Mt,getProjectReferenceRedirect:wt,isSourceOfProjectReferenceRedirect:Bt,getSymlinkCache:lr,writeFile:t||function(e,t,r,n,i){return ne.writeFile(e,t,r,n,i)},isEmitBlocked:at,readFile:function(e){return ne.readFile(e)},fileExists:function(t){var r=Xe(t);return!!st(r)||!e.contains(me,r)&&ne.fileExists(t)},useCaseSensitiveFileNames:function(){return ne.useCaseSensitiveFileNames()},getProgramBuildInfo:function(){return Ve.getProgramBuildInfo&&Ve.getProgramBuildInfo()},getSourceFileFromReference:function(e,t){return Ve.getSourceFileFromReference(e,t)},redirectTargetsMap:Se,getFileIncludeReasons:Ve.getFileIncludeReasons}}function et(){return ye}function tt(){return k(K,(function(e,t){var r;return null===(r=ye[t])||void 0===r?void 0:r.commandLine}),(function(e){var t=Xe(e),r=st(t);return r?r.text:Ce.has(t)?void 0:ne.readFile(t)}))}function rt(e){return!!Q.get(e.path)}function nt(){return I||(I=e.createTypeChecker(Ve,!0))}function it(){return O||(O=e.createTypeChecker(Ve,!1))}function at(e){return _e.has(Xe(e))}function ot(e){return st(Xe(e))}function st(e){return Ce.get(e)||void 0}function ct(t,r,n){return t?r(t,n):e.sortAndDeduplicateDiagnostics(e.flatMap(Ve.getSourceFiles(),(function(e){return n&&n.throwIfCancellationRequested(),r(e,n)})))}function ut(t){var r;if(e.skipTypeChecking(t,j,Ve))return e.emptyArray;var n=ce.getDiagnostics(t.fileName);return(null===(r=t.commentDirectives)||void 0===r?void 0:r.length)?gt(t,t.commentDirectives,n).diagnostics:n}function lt(t){return e.isSourceFileJS(t)?(t.additionalSyntacticDiagnostics||(t.additionalSyntacticDiagnostics=function(t){return dt((function(){var r=[];return n(t,t),e.forEachChildRecursively(t,n,i),r;function n(t,n){switch(n.kind){case 163:case 166:case 168:if(n.questionToken===t)return r.push(s(t,e.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files,"?")),"skip";case 167:case 170:case 171:case 172:case 212:case 255:case 213:case 253:if(n.type===t)return r.push(s(t,e.Diagnostics.Type_annotations_can_only_be_used_in_TypeScript_files)),"skip"}switch(t.kind){case 266:if(t.isTypeOnly)return r.push(s(n,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,"import type")),"skip";break;case 271:if(t.isTypeOnly)return r.push(s(t,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,"export type")),"skip";break;case 264:return r.push(s(t,e.Diagnostics.import_can_only_be_used_in_TypeScript_files)),"skip";case 270:if(t.isExportEquals)return r.push(s(t,e.Diagnostics.export_can_only_be_used_in_TypeScript_files)),"skip";break;case 290:if(117===t.token)return r.push(s(t,e.Diagnostics.implements_clauses_can_only_be_used_in_TypeScript_files)),"skip";break;case 257:var i=e.tokenToString(118);return e.Debug.assertIsDefined(i),r.push(s(t,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,i)),"skip";case 260:var a=16&t.flags?e.tokenToString(142):e.tokenToString(141);return e.Debug.assertIsDefined(a),r.push(s(t,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,a)),"skip";case 258:return r.push(s(t,e.Diagnostics.Type_aliases_can_only_be_used_in_TypeScript_files)),"skip";case 259:var o=e.Debug.checkDefined(e.tokenToString(92));return r.push(s(t,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,o)),"skip";case 229:return r.push(s(t,e.Diagnostics.Non_null_assertions_can_only_be_used_in_TypeScript_files)),"skip";case 228:return r.push(s(t.type,e.Diagnostics.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 210:e.Debug.fail()}}function i(t,n){switch(n.decorators!==t||j.experimentalDecorators||r.push(s(n,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)),n.kind){case 256:case 225:case 168:case 170:case 171:case 172:case 212:case 255:case 213:if(t===n.typeParameters)return r.push(o(t,e.Diagnostics.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)),"skip";case 236:if(t===n.modifiers)return a(n.modifiers,236===n.kind),"skip";break;case 166:if(t===n.modifiers){for(var i=0,c=t;i=0;){if(r.markUsed(o))return o;var s=n.text.slice(a[o],a[o+1]).trim();if(""!==s&&!/^(\s*)\/\/(.*)$/.test(s))return-1;o--}return-1}(t,i)}));return{diagnostics:a,directives:i}}function mt(e,t){return vt(e,t,W,yt)}function yt(t,r){return dt((function(){var n=nt().getEmitResolver(t,r);return e.getDeclarationDiagnostics(Ze(e.noop),n,t)||e.emptyArray}))}function vt(t,r,n,i){var a,o=t?null===(a=n.perFile)||void 0===a?void 0:a.get(t.path):n.allDiagnostics;if(o)return o;var s=i(t,r);return t?(n.perFile||(n.perFile=new e.Map)).set(t.path,s):n.allDiagnostics=s,s}function ht(e,t){return e.isDeclarationFile?[]:mt(e,t)}function Dt(t,r,n,i){Et(e.normalizePath(t),r,n,void 0,i)}function xt(e,t){return e.fileName===t.fileName}function bt(e,t){return 79===e.kind?79===t.kind&&e.escapedText===t.escapedText:10===t.kind&&e.text===t.text}function St(t,r){var n=e.factory.createStringLiteral(t),i=e.factory.createImportDeclaration(void 0,void 0,void 0,n,void 0);return e.addEmitFlags(i,67108864),e.setParent(n,i),e.setParent(i,r),n.flags&=-9,i.flags&=-9,n}function Tt(t){if(!t.imports){var r,n,i,a=e.isSourceFileJS(t),o=e.isExternalModule(t);if((j.isolatedModules||o)&&!t.isDeclarationFile){j.importHelpers&&(r=[St(e.externalHelpersModuleNameText,t)]);var s=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(j,t),j);s&&(r||(r=[])).push(St(s,t))}for(var c=0,u=t.statements;c=1&&e.isStringLiteralLike(i.arguments[0])?(e.setParentRecursive(i,!1),r=e.append(r,i.arguments[0])):e.isLiteralImportTypeNode(i)&&(e.setParentRecursive(i,!1),r=e.append(r,i.argument.literal))}}(t),t.imports=r||e.emptyArray,t.moduleAugmentations=n||e.emptyArray,void(t.ambientModuleNames=i||e.emptyArray)}function l(a,s){if(e.isAnyImportOrReExport(a)){var c=e.getExternalModuleName(a);!(c&&e.isStringLiteral(c)&&c.text)||s&&e.isExternalModuleNameRelative(c.text)||(e.setParentRecursive(a,!1),r=e.append(r,c),Te||0!==Y||t.isDeclarationFile||(Te=e.startsWith(c.text,"node:")))}else if(e.isModuleDeclaration(a)&&e.isAmbientModule(a)&&(s||e.hasSyntacticModifier(a,2)||t.isDeclarationFile)){a.name.parent=a;var u=e.getTextOfIdentifierOrLiteral(a.name);if(o||s&&!e.isExternalModuleNameRelative(u))(n||(n=[])).push(a.name);else if(!s){t.isDeclarationFile&&(i||(i=[])).push(u);var d=a.body;if(d)for(var _=0,p=d.statements;_0),Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}}),o}(x,v,t,o,Xe(t),d);return Se.add(x.path,t),Pt(b,o,l),Nt(b,i),be.set(o,a.name),f.push(b),b}v&&(xe.set(h,v),be.set(o,a.name))}if(Pt(v,o,l),v){if(Q.set(o,Y>0),v.fileName=t,v.path=o,v.resolvedPath=Xe(t),v.originalFileName=d,v.impliedNodeFormat=S(v.resolvedPath,null==Z?void 0:Z.getPackageJsonInfoCache(),ne,j),Nt(v,i),ne.useCaseSensitiveFileNames()){var T=e.toFileNameLowerCase(o),C=Ee.get(T);C?At(t,C,i):Ee.set(T,v)}ae=ae||v.hasNoDefaultLib&&!n,j.noResolve||(Jt(v,r),Kt(v)),j.noLib||Vt(v),Wt(v),r?p.push(v):f.push(v)}return v}(t,r,n,i,a);return null===e.tracing||void 0===e.tracing||e.tracing.pop(),o}function Nt(e,t){e&&V.add(e.path,t)}function Pt(e,t,r){r?(Ce.set(r,e),Ce.set(t,e||!1)):Ce.set(t,e)}function wt(e){var t=It(e);return t&&Ot(t,e)}function It(t){if(ye&&ye.length&&!e.fileExtensionIs(t,".d.ts")&&!e.fileExtensionIs(t,".json"))return Mt(t)}function Ot(t,r){var n=e.outFile(t.commandLine.options);return n?e.changeExtension(n,".d.ts"):e.getOutputDeclarationFileName(r,t.commandLine,!ne.useCaseSensitiveFileNames())}function Mt(t){void 0===he&&(he=new e.Map,Lt((function(e){Xe(j.configFilePath)!==e.sourceFile.path&&e.commandLine.fileNames.forEach((function(t){return he.set(Xe(t),e.sourceFile.path)}))})));var r=he.get(Xe(t));return r&&jt(r)}function Lt(t){return e.forEachResolvedProjectReference(ye,t)}function Rt(t){if(e.isDeclarationFileName(t))return void 0===De&&(De=new e.Map,Lt((function(t){var r=e.outFile(t.commandLine.options);if(r){var n=e.changeExtension(r,".d.ts");De.set(Xe(n),!0)}else{var i=e.memoize((function(){return e.getCommonSourceDirectoryOfConfig(t.commandLine,!ne.useCaseSensitiveFileNames())}));e.forEach(t.commandLine.fileNames,(function(r){if(!e.fileExtensionIs(r,".d.ts")&&!e.fileExtensionIs(r,".json")){var n=e.getOutputDeclarationFileName(r,t.commandLine,!ne.useCaseSensitiveFileNames(),i);De.set(Xe(n),r)}}))}}))),De.get(t)}function Bt(e){return ke&&!!Mt(e)}function jt(e){if(ve)return ve.get(e)||void 0}function Jt(r,n){e.forEach(r.referencedFiles,(function(i,a){Et(t(i.fileName,r.fileName),n,!1,void 0,{kind:e.FileIncludeKind.ReferenceFile,file:r.path,index:a})}))}function Kt(t){var r=e.map(t.typeReferenceDirectives,(function(t){return e.toFileNameLowerCase(t.fileName)}));if(r)for(var n=We(r,t),i=0;iG,p=d&&!F(a,s)&&!a.noResolve&&o_?e.createDiagnosticForNodeInSourceFile(d,p.elements[_],t.kind===e.FileIncludeKind.OutputFromProjectReference?e.Diagnostics.File_is_output_from_referenced_project_specified_here:e.Diagnostics.File_is_source_from_referenced_project_specified_here):void 0;case e.FileIncludeKind.AutomaticTypeDirectiveFile:if(!j.types)return;i=tr("types",t.typeReference),a=e.Diagnostics.File_is_entry_point_of_type_library_specified_here;break;case e.FileIncludeKind.LibFile:if(void 0!==t.index){i=tr("lib",j.lib[t.index]),a=e.Diagnostics.File_is_library_specified_here;break}var f=e.forEachEntry(e.targetOptionDeclaration.type,(function(t,r){return t===e.getEmitScriptTarget(j)?r:void 0}));i=f?function(t,r){var n=Zt(t);return n&&e.firstDefined(n,(function(t){return e.isStringLiteral(t.initializer)&&t.initializer.text===r?t.initializer:void 0}))}("target",f):void 0,a=e.Diagnostics.File_is_default_library_for_target_specified_here;break;default:e.Debug.assertNever(t)}return i&&e.createDiagnosticForNodeInSourceFile(j.configFile,i,a)}(t))),t===n&&(n=void 0)}}function Yt(e,t,r,n){(L||(L=[])).push({kind:1,file:e&&e.path,fileProcessingReason:t,diagnostic:r,args:n})}function Xt(e,t,r){ce.add(Gt(e,void 0,t,r))}function Qt(t,r,n,i,a,o){for(var s=!0,c=0,u=er();cr&&(ce.add(e.createDiagnosticForNodeInSourceFile(j.configFile,p.elements[r],n,i,a,o)),s=!1)}}s&&ce.add(e.createCompilerDiagnostic(n,i,a,o))}function $t(t,r,n,i){for(var a=!0,o=0,s=er();or?ce.add(e.createDiagnosticForNodeInSourceFile(t||j.configFile,o.elements[r],n,i,a)):ce.add(e.createCompilerDiagnostic(n,i,a))}function ar(t,r,n,i,a,o,s){var c=or();(!c||!sr(c,t,r,n,i,a,o,s))&&ce.add(e.createCompilerDiagnostic(i,a,o,s))}function or(){if(void 0===$){$=!1;var t=e.getTsConfigObjectLiteralExpression(j.configFile);if(t)for(var r=0,n=e.getPropertyAssignment(t,"compilerOptions");r0)for(var a=t.getTypeChecker(),o=0,u=r.imports;o0)for(var _=0,p=r.referencedFiles;_1&&b(x)}return i;function b(t){if(t.declarations)for(var n=0,i=t.declarations;n0;){var d=l.pop();if(!u.has(d)){var _=r.getSourceFileByPath(d);u.set(d,_),_&&p(t,r,_,i,a,o,s)&&l.push.apply(l,g(t,_.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(u.values(),(function(e){return e})))}r.createManyToManyPathMap=i,r.canReuseOldState=l,r.create=function(t,r,n,a){var o=new e.Map,s=t.getCompilerOptions().module!==e.ModuleKind.None?i():void 0,c=s?i():void 0,d=new e.Set,_=l(s,n);t.getTypeChecker();for(var p=0,f=t.getSourceFiles();p0;){var c=s.pop();if(!o.has(c)&&(o.set(c,!0),n(t,c),l(t,c))){var u=e.Debug.checkDefined(t.program).getSourceFileByPath(c);s.push.apply(s,e.BuilderState.getReferencedByPaths(t,u.resolvedPath))}}}e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap);var _=new e.Set;null===(i=t.currentAffectedFilesExportedModulesMap.getKeys(r.resolvedPath))||void 0===i||i.forEach((function(e){return d(t,e,_,n)})),null===(a=t.exportedModulesMap.getKeys(r.resolvedPath))||void 0===a||a.forEach((function(e){var r;return!t.currentAffectedFilesExportedModulesMap.hasKey(e)&&!(null===(r=t.currentAffectedFilesExportedModulesMap.deletedKeys())||void 0===r?void 0:r.has(e))&&d(t,e,_,n)}))}(t,r,(function(t,r){return function(t,r,n,i){if(u(t,r),!t.changedFilesSet.has(r)){var a=e.Debug.checkDefined(t.program),o=a.getSourceFileByPath(r);o&&(e.BuilderState.updateShapeSignature(t,a,o,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap,!0),e.getEmitDeclarations(t.compilerOptions)&&x(t,r,0))}}(t,r,n,i)}));else{if(!t.cleanedDiagnosticsOfLibFiles){t.cleanedDiagnosticsOfLibFiles=!0;var o=e.Debug.checkDefined(t.program),s=o.getCompilerOptions();e.forEach(o.getSourceFiles(),(function(r){return o.isSourceFileDefaultLibrary(r)&&!e.skipTypeChecking(r,s,o)&&u(t,r.resolvedPath)}))}e.BuilderState.updateShapeSignature(t,e.Debug.checkDefined(t.program),r,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap)}}function u(e,t){return!e.semanticDiagnosticsFromOldState||(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size)}function l(t,r){return e.Debug.checkDefined(t.currentAffectedFilesSignatures).get(r)!==e.Debug.checkDefined(t.fileInfos.get(r)).signature}function d(e,t,r,n){var i;null===(i=e.referencedMap.getKeys(t))||void 0===i||i.forEach((function(t){return _(e,t,r,n)}))}function _(t,r,n,i){var a,o,s;e.tryAddToSet(n,r)&&(i(t,r),e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap),null===(a=t.currentAffectedFilesExportedModulesMap.getKeys(r))||void 0===a||a.forEach((function(e){return _(t,e,n,i)})),null===(o=t.exportedModulesMap.getKeys(r))||void 0===o||o.forEach((function(e){var r;return!t.currentAffectedFilesExportedModulesMap.hasKey(e)&&!(null===(r=t.currentAffectedFilesExportedModulesMap.deletedKeys())||void 0===r?void 0:r.has(e))&&_(t,e,n,i)})),null===(s=t.referencedMap.getKeys(r))||void 0===s||s.forEach((function(e){return!n.has(e)&&i(t,e)})))}function p(t,r,n,i,a){a?t.buildInfoEmitPending=!1:r===t.program?(t.changedFilesSet.clear(),t.programEmitComplete=!0):(t.seenAffectedFiles.add(r.resolvedPath),void 0!==n&&(t.seenEmittedFiles||(t.seenEmittedFiles=new e.Map)).set(r.resolvedPath,n),i?(t.affectedFilesPendingEmitIndex++,t.buildInfoEmitPending=!0):t.affectedFilesIndex++)}function f(e,t,r){return p(e,r),{result:t,affected:r}}function g(e,t,r,n,i,a){return p(e,r,n,i,a),{result:t,affected:r}}function m(t,r,n){return e.concatenate(function(t,r,n){var i=r.resolvedPath;if(t.semanticDiagnosticsPerFile){var a=t.semanticDiagnosticsPerFile.get(i);if(a)return e.filterSemanticDiagnostics(a,t.compilerOptions)}var o=e.Debug.checkDefined(t.program).getBindAndCheckDiagnostics(r,n);t.semanticDiagnosticsPerFile&&t.semanticDiagnosticsPerFile.set(i,o);return e.filterSemanticDiagnostics(o,t.compilerOptions)}(t,r,n),e.Debug.checkDefined(t.program).getProgramDiagnostics(r))}function y(t,r){for(var n,i=e.getOptionsNameMap().optionsNameMap,a=0,o=e.getOwnKeys(t).sort(e.compareStringsCaseSensitive);a1||47!==t.charCodeAt(0);if(a&&0!==t.search(/[a-zA-Z]:/)&&0===i.search(/[a-zA-z]\$\//)){if(-1===(n=t.indexOf(e.directorySeparator,n+1)))return!1;i=t.substring(r+i.length,n+1)}if(a&&0!==i.search(/users\//i))return!0;for(var o=n+1,s=2;s>0;s--)if(0===(o=t.indexOf(e.directorySeparator,o)+1))return!1;return!0}function n(e){var t,r;return!(!(null===(t=e.resolvedModule)||void 0===t?void 0:t.originalPath)&&!(null===(r=e.resolvedTypeReferenceDirective)||void 0===r?void 0:r.originalPath))}e.removeIgnoredPath=t,e.canWatchDirectory=r,e.createResolutionCache=function(i,a,o){var s,c,u,l,d,_,p=e.createMultiMap(),f=[],g=e.createMultiMap(),m=!1,y=e.memoize((function(){return i.getCurrentDirectory()})),v=i.getCachedDirectoryStructureHost(),h=new e.Map,D=e.createCacheWithRedirects(),x=e.createCacheWithRedirects(),b=e.createModuleResolutionCache(y(),i.getCanonicalFileName,void 0,D,x),S=new e.Map,T=e.createCacheWithRedirects(),C=e.createTypeReferenceDirectiveResolutionCache(y(),i.getCanonicalFileName,void 0,b.getPackageJsonInfoCache(),T),E=[".ts",".tsx",".js",".jsx",".json"],k=new e.Map,A=new e.Map,F=a&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(a,y())),N=F&&i.toPath(F),P=void 0!==N?N.split(e.directorySeparator).length:0,w=new e.Map;return{getModuleResolutionCache:function(){return b},startRecordingFilesWithChangedResolutions:function(){s=[]},finishRecordingFilesWithChangedResolutions:function(){var e=s;return s=void 0,e},startCachingPerDirectoryResolution:R,finishCachingPerDirectoryResolution:function(){u=void 0,R(),A.forEach((function(e,t){0===e.refCount&&(A.delete(t),e.watcher.close())})),m=!1},resolveModuleNames:function(t,r,n,i,a){return J({names:t,containingFile:r,redirectedReference:i,cache:h,perDirectoryCacheWithRedirects:D,loader:B,getResolutionWithResolvedFileName:I,shouldRetryResolution:function(t){return!t.resolvedModule||!e.resolutionExtensionIsTSOrJson(t.resolvedModule.extension)},reusedNames:n,logChanges:o,containingSourceFile:a})},getResolvedModuleWithFailedLookupLocationsFromCache:function(e,t,r){var n=h.get(i.toPath(t));return n?n.get(e,r):void 0},resolveTypeReferenceDirectives:function(e,t,r){return J({names:e,containingFile:t,redirectedReference:r,cache:S,perDirectoryCacheWithRedirects:T,loader:j,getResolutionWithResolvedFileName:O,shouldRetryResolution:function(e){return void 0===e.resolvedTypeReferenceDirective}})},removeResolutionsFromProjectReferenceRedirects:function(t){if(!e.fileExtensionIs(t,".json"))return;var r=i.getCurrentProgram();if(!r)return;var n=r.getResolvedProjectReferenceByPath(t);if(!n)return;n.commandLine.fileNames.forEach((function(e){return Z(i.toPath(e))}))},removeResolutionsOfFile:Z,hasChangedAutomaticTypeDirectiveNames:function(){return m},invalidateResolutionOfFile:function(t){Z(t);var r=m;ee(g.get(t),e.returnTrue)&&m&&!r&&i.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations:re,setFilesWithInvalidatedNonRelativeUnresolvedImports:function(t){e.Debug.assert(u===t||void 0===u),u=t},createHasInvalidatedResolution:function(t){if(re(),t)return c=void 0,e.returnTrue;var r=c;return c=void 0,function(e){return!!r&&r.has(e)||L(e)}},isFileWithInvalidatedNonRelativeUnresolvedImports:L,updateTypeRootsWatch:function(){var t=i.getCompilationSettings();if(t.types)return void ie();var r=e.getEffectiveTypeRoots(t,{directoryExists:oe,getCurrentDirectory:y});r?e.mutateMap(w,e.arrayToMap(r,(function(e){return i.toPath(e)})),{createNewValue:ae,onDeleteValue:e.closeFileWatcher}):ie()},closeTypeRootsWatch:ie,clear:function(){e.clearMap(A,e.closeFileWatcherOf),k.clear(),p.clear(),ie(),h.clear(),S.clear(),g.clear(),f.length=0,l=void 0,d=void 0,_=void 0,R(),m=!1}};function I(e){return e.resolvedModule}function O(e){return e.resolvedTypeReferenceDirective}function M(t,r){return!(void 0===t||r.length<=t.length)&&(e.startsWith(r,t)&&r[t.length]===e.directorySeparator)}function L(e){if(!u)return!1;var t=u.get(e);return!!t&&!!t.length}function R(){b.clear(),C.clear(),p.forEach(H),p.clear()}function B(t,r,n,a,o){var s,c=e.resolveModuleName(t,r,n,a,b,o);if(!i.getGlobalCache)return c;var u=i.getGlobalCache();if(!(void 0===u||e.isExternalModuleNameRelative(t)||c.resolvedModule&&e.extensionIsTS(c.resolvedModule.extension))){var l=e.loadModuleFromGlobalCache(e.Debug.checkDefined(i.globalCacheResolutionModuleName)(t),i.projectName,n,a,u,b),d=l.resolvedModule,_=l.failedLookupLocations;if(d)return c.resolvedModule=d,(s=c.failedLookupLocations).push.apply(s,_),c}return c}function j(t,r,n,i,a){return e.resolveTypeReferenceDirective(t,r,n,i,a,C)}function J(t){var r,a,o,c=t.names,u=t.containingFile,l=t.redirectedReference,d=t.cache,_=t.perDirectoryCacheWithRedirects,p=t.loader,f=t.getResolutionWithResolvedFileName,g=t.shouldRetryResolution,m=t.reusedNames,y=t.logChanges,v=t.containingSourceFile,h=i.toPath(u),D=d.get(h)||d.set(h,e.createModeAwareCache()).get(h),x=e.getDirectoryPath(h),b=_.getOrCreateMapOfCacheRedirects(l),S=b.get(x);S||(S=e.createModeAwareCache(),b.set(x,S));for(var T=[],C=i.getCompilationSettings(),E=y&&L(h),k=i.getCurrentProgram(),A=k&&k.getResolvedProjectReferenceToRedirect(u),F=A?!l||l.sourceFile.path!==A.sourceFile.path:!!l,N=e.createModeAwareCache(),P=0,w=0,I=c;wP+1?{dir:i.slice(0,P+1).join(e.directorySeparator),dirPath:n.slice(0,P+1).join(e.directorySeparator)}:{dir:F,dirPath:N,nonRecursive:!1}}return U(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,y())),e.getDirectoryPath(r))}function U(t,n){for(;e.pathContainsNodeModules(n);)t=e.getDirectoryPath(t),n=e.getDirectoryPath(n);if(e.isNodeModulesDirectory(n))return r(e.getDirectoryPath(n))?{dir:t,dirPath:n}:void 0;var i,a,o=!0;if(void 0!==N)for(;!M(n,N);){var s=e.getDirectoryPath(n);if(s===n)break;o=!1,i=n,a=t,n=s,t=e.getDirectoryPath(t)}return r(n)?{dir:a||t,dirPath:i||n,nonRecursive:o}:void 0}function V(t){return e.fileExtensionIsOneOf(t,E)}function q(t,r,n,a){if(r.refCount)r.refCount++,e.Debug.assertDefined(r.files);else{r.refCount=1,e.Debug.assert(0===e.length(r.files)),e.isExternalModuleNameRelative(t)?W(r):p.add(t,r);var o=a(r);o&&o.resolvedFileName&&g.add(i.toPath(o.resolvedFileName),r)}(r.files||(r.files=[])).push(n)}function W(t){e.Debug.assert(!!t.refCount);var r=t.failedLookupLocations;if(r.length){f.push(t);for(var n=!1,a=0,o=r;a1),k.set(l,p-1))),_===N?o=!0:X(_)}}o&&X(N)}}}function X(e){A.get(e).refCount--}function Q(e,t,r){return i.watchDirectoryOfFailedLookupLocation(e,(function(e){var r=i.toPath(e);v&&v.addOrDeleteFileOrDirectory(e,r),te(r,t===r)}),r?0:1)}function $(e,t,r){var n=e.get(t);n&&(n.forEach((function(e){return Y(e,t,r)})),e.delete(t))}function Z(e){$(h,e,I),$(S,e,O)}function ee(t,r){if(!t)return!1;for(var n=!1,i=0,a=t;i1&&r.sort(g),s.push.apply(s,r));var i=e.getDirectoryPath(t);if(i===t)return o=t,"break";o=t=i},u=e.getDirectoryPath(t);0!==a.size;){var l=c(u);if(u=o,"break"===l)break}if(a.size){var d=e.arrayFrom(a.values());d.length>1&&d.sort(g),s.push.apply(s,d)}return s}function D(t,r,n){for(var i in n)for(var a=0,o=n[i];a=l.length+d.length&&e.startsWith(r,l)&&e.endsWith(r,d)||!d&&r===e.removeTrailingDirectorySeparator(l)){var _=r.substr(l.length,r.length-d.length-l.length);return i.replace("*",_)}}else if(c===r||c===t)return i}}function x(t,r,n,i,a,o,s){if(void 0===s&&(s=0),"string"==typeof a){var c=e.getNormalizedAbsolutePath(e.combinePaths(n,a),void 0),u=e.hasTSFileExtension(r)?e.removeFileExtension(r)+E(r,t):void 0;switch(s){case 0:if(0===e.comparePaths(r,c)||u&&0===e.comparePaths(u,c))return{moduleFileToTry:i};break;case 1:if(e.containsPath(c,r)){var l=e.getRelativePathFromDirectory(c,r,!1);return{moduleFileToTry:e.getNormalizedAbsolutePath(e.combinePaths(e.combinePaths(i,a),l),void 0)}}break;case 2:var d=c.indexOf("*"),_=c.slice(0,d),p=c.slice(d+1);if(e.startsWith(r,_)&&e.endsWith(r,p)){var f=r.slice(_.length,r.length-p.length);return{moduleFileToTry:i.replace("*",f)}}if(u&&e.startsWith(u,_)&&e.endsWith(u,p)){f=u.slice(_.length,u.length-p.length);return{moduleFileToTry:i.replace("*",f)}}}}else{if(Array.isArray(a))return e.forEach(a,(function(e){return x(t,r,n,i,e,o)}));if("object"==typeof a&&null!==a){if(e.allKeysStartWithDot(a))return e.forEach(e.getOwnKeys(a),(function(s){var c=e.getNormalizedAbsolutePath(e.combinePaths(i,s),void 0),u=e.endsWith(s,"/")?1:e.stringContains(s,"*")?2:0;return x(t,r,n,c,a[s],o,u)}));for(var g=0,m=e.getOwnKeys(a);g=0||e.isApplicableVersionedTypesKey(o,y)){var v=a[y],h=x(t,r,n,i,v,o);if(h)return h}}}}}function b(t,r,i,a,o){var s=t.path,c=t.isRedirect,u=r.getCanonicalFileName,l=r.sourceDirectory;if(i.fileExists&&i.readFile){var d=function(t){var r,n=0,i=0,a=0,o=0;!function(e){e[e.BeforeNodeModules=0]="BeforeNodeModules",e[e.NodeModules=1]="NodeModules",e[e.Scope=2]="Scope",e[e.PackageContent=3]="PackageContent"}(r||(r={}));var s=0,c=0,u=0;for(;c>=0;)switch(s=c,c=t.indexOf("/",s+1),u){case 0:t.indexOf(e.nodeModulesPathPart,s)===s&&(n=s,i=c,u=1);break;case 1:case 2:1===u&&"@"===t.charAt(s+1)?u=2:(a=c,u=3);break;case 3:u=t.indexOf(e.nodeModulesPathPart,s)===s?1:3}return o=s,u>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:i,packageRootIndex:a,fileNameIndex:o}:void 0}(s);if(d){var _=s,p=!1;if(!o)for(var f=d.packageRootIndex,g=void 0;;){var m=F(f),y=m.moduleFileToTry,v=m.packageRootPath,h=m.blockedByExports,b=m.verbatimFromExports;if(e.getEmitModuleResolutionKind(a)!==e.ModuleResolutionKind.Classic){if(h)return;if(b)return y}if(v){_=v,p=!0;break}if(g||(g=y),-1===(f=s.indexOf(e.directorySeparator,f+1))){_=N(g);break}}if(!c||p){var S=i.getGlobalTypingsCacheLocation&&i.getGlobalTypingsCacheLocation(),C=u(_.substring(0,d.topLevelNodeModulesIndex));if(e.startsWith(l,C)||S&&e.startsWith(u(S),C)){var k=_.substring(d.topLevelPackageNameIndex+1),A=e.getPackageNameFromTypesPackageName(k);return e.getEmitModuleResolutionKind(a)===e.ModuleResolutionKind.Classic&&A===k?void 0:A}}}}function F(t){var r=s.substring(0,t),o=e.combinePaths(r,"package.json"),c=s;if(i.fileExists(o)){var l=JSON.parse(i.readFile(o));if(e.getEmitModuleResolutionKind(a)===e.ModuleResolutionKind.Node12||e.getEmitModuleResolutionKind(a)===e.ModuleResolutionKind.NodeNext){var d=l.exports&&"string"==typeof l.name?x(a,s,r,l.name,l.exports,["node","types"]):void 0;if(d){var _=e.hasTSFileExtension(d.moduleFileToTry)?{moduleFileToTry:e.removeFileExtension(d.moduleFileToTry)+E(d.moduleFileToTry,a)}:d;return n(n({},_),{verbatimFromExports:!0})}if(l.exports)return{moduleFileToTry:s,blockedByExports:!0}}var p=l.typesVersions?e.getPackageJsonTypesVersionsPaths(l.typesVersions):void 0;if(p){var f=s.slice(r.length+1),g=D(e.removeFileExtension(f),T(f,0,a),p.paths);void 0!==g&&(c=e.combinePaths(r,g))}var m=l.typings||l.types||l.main;if(e.isString(m)){var y=e.toPath(m,r,u);if(e.removeFileExtension(y)===e.removeFileExtension(u(c)))return{packageRootPath:r,moduleFileToTry:c}}}return{moduleFileToTry:c}}function N(t){var r=e.removeFileExtension(t);return"/index"!==u(r.substring(d.fileNameIndex))||function(t,r){if(!t.fileExists)return;for(var n=e.flatten(e.getSupportedExtensions({allowJs:!0},[{extension:"node",isMixedContent:!1},{extension:"json",isMixedContent:!1,scriptKind:6}])),i=0,a=n;i0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:d.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}function D(t,r){return void 0===t&&(t=e.sys),{onWatchStatusChange:r||o(t),watchFile:e.maybeBind(t,t.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(t,t.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(t,t.setTimeout)||e.noop,clearTimeout:e.maybeBind(t,t.clearTimeout)||e.noop}}function x(t,r){var n=e.memoize((function(){return e.getDirectoryPath(e.normalizePath(t.getExecutingFilePath()))}));return{useCaseSensitiveFileNames:function(){return t.useCaseSensitiveFileNames},getNewLine:function(){return t.newLine},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),getDefaultLibLocation:n,getDefaultLibFileName:function(t){return e.combinePaths(n(),e.getDefaultLibFileName(t))},fileExists:function(e){return t.fileExists(e)},readFile:function(e,r){return t.readFile(e,r)},directoryExists:function(e){return t.directoryExists(e)},getDirectories:function(e){return t.getDirectories(e)},readDirectory:function(e,r,n,i,a){return t.readDirectory(e,r,n,i,a)},realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable),trace:function(e){return t.write(e+t.newLine)},createDirectory:function(e){return t.createDirectory(e)},writeFile:function(e,r,n){return t.writeFile(e,r,n)},createHash:e.maybeBind(t,t.createHash),createProgram:r||e.createEmitAndSemanticDiagnosticsBuilderProgram,disableUseFileVersionAsSignature:t.disableUseFileVersionAsSignature}}function b(t,r,n,i){void 0===t&&(t=e.sys);var a=function(e){return t.write(e+t.newLine)},o=x(t,r);return e.copyProperties(o,D(t,i)),o.afterProgramCreate=function(r){var i=r.getCompilerOptions(),s=e.getNewLineCharacter(i,(function(){return t.newLine}));v(r,n,a,(function(t){return o.onWatchStatusChange(e.createCompilerDiagnostic(c(t),t),s,i,t)}))},o}function S(t,r,n){r(n),t.exit(e.ExitStatus.DiagnosticsPresent_OutputsSkipped)}e.createDiagnosticReporter=n,e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code],e.getLocaleTimeString=a,e.createWatchStatusReporter=o,e.parseConfigFileWithSystem=function(t,r,n,i,a,o){var s=a;s.onUnRecoverableConfigFileDiagnostic=function(e){return S(a,o,e)};var c=e.getParsedCommandLineOfConfigFile(t,r,s,n,i);return s.onUnRecoverableConfigFileDiagnostic=void 0,c},e.getErrorCountForSummary=s,e.getWatchErrorSummaryDiagnosticMessage=c,e.getErrorSummaryText=u,e.isBuilderProgram=l,e.listFiles=d,e.explainFiles=_,e.explainIfFileIsRedirect=p,e.getMatchedFileSpec=f,e.getMatchedIncludeSpec=g,e.fileIncludeReasonToDiagnostics=m,e.emitFilesAndReportErrors=v,e.emitFilesAndReportErrorsAndGetExitStatus=h,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher},e.createWatchHost=D,e.WatchType={ConfigFile:"Config file",ExtendedConfigFile:"Extended config file",SourceFile:"Source file",MissingFile:"Missing file",WildcardDirectory:"Wild card directory",FailedLookupLocations:"Failed Lookup Locations",TypeRoots:"Type roots",ConfigFileOfReferencedProject:"Config file of referened project",ExtendedConfigOfReferencedProject:"Extended config file of referenced project",WildcardDirectoryOfReferencedProject:"Wild card directory of referenced project",PackageJson:"package.json file"},e.createWatchFactory=function(t,r){var n=t.trace?r.extendedDiagnostics?e.WatchLogLevel.Verbose:r.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,i=n!==e.WatchLogLevel.None?function(e){return t.trace(e)}:e.noop,a=e.getWatchFactory(t,n,i);return a.writeLog=i,a},e.createCompilerHostFromProgramHost=function(t,r,n){void 0===n&&(n=t);var i=t.useCaseSensitiveFileNames(),a=e.memoize((function(){return t.getNewLine()}));return{getSourceFile:function(n,i,a){var o;try{e.performance.mark("beforeIORead"),o=t.readFile(n,r().charset),e.performance.mark("afterIORead"),e.performance.measure("I/O Read","beforeIORead","afterIORead")}catch(e){a&&a(e.message),o=""}return void 0!==o?e.createSourceFile(n,o,i):void 0},getDefaultLibLocation:e.maybeBind(t,t.getDefaultLibLocation),getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:function(r,n,i,a){try{e.performance.mark("beforeIOWrite"),e.writeFileEnsuringDirectories(r,n,i,(function(e,r,n){return t.writeFile(e,r,n)}),(function(e){return t.createDirectory(e)}),(function(e){return t.directoryExists(e)})),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){a&&a(e.message)}},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return i},getCanonicalFileName:e.createGetCanonicalFileName(i),getNewLine:function(){return e.getNewLineCharacter(r(),a)},fileExists:function(e){return t.fileExists(e)},readFile:function(e){return t.readFile(e)},trace:e.maybeBind(t,t.trace),directoryExists:e.maybeBind(n,n.directoryExists),getDirectories:e.maybeBind(n,n.getDirectories),realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable)||function(){return""},createHash:e.maybeBind(t,t.createHash),readDirectory:e.maybeBind(t,t.readDirectory),disableUseFileVersionAsSignature:t.disableUseFileVersionAsSignature}},e.setGetSourceFileAsHashVersioned=function(t,n){var i=t.getSourceFile,a=e.maybeBind(n,n.createHash)||e.generateDjb2Hash;t.getSourceFile=function(){for(var e=[],n=0;ne?t:e}function u(t){return e.fileExtensionIs(t,".d.ts")}function l(e){return!!e&&!!e.buildOrder}function d(e){return l(e)?e.buildOrder:e}function _(t,r){return function(n){var i=r?"[".concat(e.formatColorAndReset(e.getLocaleTimeString(t),e.ForegroundColorEscapeSequences.Grey),"] "):"".concat(e.getLocaleTimeString(t)," - ");i+="".concat(e.flattenDiagnosticMessageText(n.messageText,t.newLine)).concat(t.newLine+t.newLine),t.write(i)}}function p(t,r,n,i){var a=e.createProgramHost(t,r);return a.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:e.returnUndefined,a.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop,a.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop,a.reportDiagnostic=n||e.createDiagnosticReporter(t),a.reportSolutionBuilderStatus=i||_(t),a.now=e.maybeBind(t,t.now),a}function f(t,r,n,i,a){var o,s,c=r,u=r,l=c.getCurrentDirectory(),d=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),_=(o=i,s={},e.commonOptionsWithBuild.forEach((function(t){e.hasProperty(o,t.name)&&(s[t.name]=o[t.name])})),s),p=e.createCompilerHostFromProgramHost(c,(function(){return T.projectCompilerOptions}));e.setGetSourceFileAsHashVersioned(p,c),p.getParsedCommandLine=function(e){return h(T,e,m(T,e))},p.resolveModuleNames=e.maybeBind(c,c.resolveModuleNames),p.resolveTypeReferenceDirectives=e.maybeBind(c,c.resolveTypeReferenceDirectives);var f=p.resolveModuleNames?void 0:e.createModuleResolutionCache(l,d),g=p.resolveTypeReferenceDirectives?void 0:e.createTypeReferenceDirectiveResolutionCache(l,d,void 0,null==f?void 0:f.getPackageJsonInfoCache());if(!p.resolveModuleNames){var y=function(t,r,n,i){return e.resolveModuleName(t,n,T.projectCompilerOptions,p,f,i,r).resolvedModule};p.resolveModuleNames=function(t,r,n,i,a,o){return e.loadWithModeAwareCache(e.Debug.checkEachDefined(t),e.Debug.checkDefined(o),r,i,y)},p.getModuleResolutionCache=function(){return f}}if(!p.resolveTypeReferenceDirectives){var v=function(t,r,n){return e.resolveTypeReferenceDirective(t,r,T.projectCompilerOptions,p,n,T.typeReferenceDirectiveResolutionCache).resolvedTypeReferenceDirective};p.resolveTypeReferenceDirectives=function(t,r,n){return e.loadWithLocalCache(e.Debug.checkEachDefined(t),r,n,v)}}var D=e.createWatchFactory(u,i),x=D.watchFile,b=D.watchDirectory,S=D.writeLog,T={host:c,hostWithWatch:u,currentDirectory:l,getCanonicalFileName:d,parseConfigFileHost:e.parseConfigHostFromCompilerHostLike(c),write:e.maybeBind(c,c.trace),options:i,baseCompilerOptions:_,rootNames:n,baseWatchOptions:a,resolvedConfigFilePaths:new e.Map,configFileCache:new e.Map,projectStatus:new e.Map,buildInfoChecked:new e.Map,extendedConfigCache:new e.Map,builderPrograms:new e.Map,diagnostics:new e.Map,projectPendingBuild:new e.Map,projectErrorsReported:new e.Map,compilerHost:p,moduleResolutionCache:f,typeReferenceDirectiveResolutionCache:g,buildOrder:void 0,readFileWithCache:function(e){return c.readFile(e)},projectCompilerOptions:_,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:t,currentInvalidatedProject:void 0,watch:t,allWatchedWildcardDirectories:new e.Map,allWatchedInputFiles:new e.Map,allWatchedConfigFiles:new e.Map,allWatchedExtendedConfigFiles:new e.Map,allWatchedPackageJsonFiles:new e.Map,lastCachedPackageJsonLookups:new e.Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:x,watchDirectory:b,writeLog:S};return T}function g(t,r){return e.toPath(r,t.currentDirectory,t.getCanonicalFileName)}function m(e,t){var r=e.resolvedConfigFilePaths,n=r.get(t);if(void 0!==n)return n;var i=g(e,t);return r.set(t,i),i}function y(e){return!!e.options}function v(e,t){var r=e.configFileCache.get(t);return r&&y(r)?r:void 0}function h(t,r,n){var i,a=t.configFileCache,o=a.get(n);if(o)return y(o)?o:void 0;var s,c=t.parseConfigFileHost,u=t.baseCompilerOptions,l=t.baseWatchOptions,d=t.extendedConfigCache,_=t.host;return _.getParsedCommandLine?(s=_.getParsedCommandLine(r))||(i=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,r)):(c.onUnRecoverableConfigFileDiagnostic=function(e){return i=e},s=e.getParsedCommandLineOfConfigFile(r,u,c,d,l),c.onUnRecoverableConfigFileDiagnostic=e.noop),a.set(n,s||i),s}function D(t,r){return e.resolveConfigFileProjectName(e.resolvePath(t.currentDirectory,r))}function x(t,r){for(var n,i,a=new e.Map,o=new e.Map,s=[],c=0,u=r;co)}}}function w(t,r,n){var i=t.options;return!(r.type===e.UpToDateStatusType.OutOfDateWithPrepend&&!i.force)||(0===n.fileNames.length||!!e.getConfigFileParsingDiagnostics(n).length||!e.isIncrementalCompilation(n.options))}function I(t,r,i){if(t.projectPendingBuild.size&&!l(r)){if(t.currentInvalidatedProject)return e.arrayIsEqualTo(t.currentInvalidatedProject.buildOrder,r)?t.currentInvalidatedProject:void 0;for(var a=t.options,o=t.projectPendingBuild,s=0;sl&&(s=f,l=g)}}if(!r.fileNames.length&&!e.canJsonReportNoInputFiles(r.raw))return{type:e.UpToDateStatusType.ContainerOnly};var y,v=e.getAllProjectOutputs(r,!d.useCaseSensitiveFileNames()),D="(none)",x=o,b="(none)",S=a,T=a,C=!1;if(!i)for(var E=0,k=v;ES&&(S=F,b=A),u(A)&&(T=c(T,e.getModifiedTime(d,A)))}var N,P=!1,w=!1;if(r.projectReferences){t.projectStatus.set(n,{type:e.UpToDateStatusType.ComputingUpstream});for(var I=0,O=r.projectReferences;I=0},t.findArgument=function(t){var r=e.sys.args.indexOf(t);return r>=0&&r214)return 2;if(46===e.charCodeAt(0))return 3;if(95===e.charCodeAt(0))return 4;if(t){var r=/^@([^/]+)\/([^/]+)$/.exec(e);if(r){var n=s(r[1],!1);if(0!==n)return{name:r[1],isScopeName:!0,result:n};var i=s(r[2],!1);return 0!==i?{name:r[2],isScopeName:!1,result:i}:0}}return encodeURIComponent(e)!==e?5:0}function c(t,r,n,i){var a=i?"Scope":"Package";switch(r){case 1:return"'".concat(t,"':: ").concat(a," name '").concat(n,"' cannot be empty");case 2:return"'".concat(t,"':: ").concat(a," name '").concat(n,"' should be less than ").concat(214," characters");case 3:return"'".concat(t,"':: ").concat(a," name '").concat(n,"' cannot start with '.'");case 4:return"'".concat(t,"':: ").concat(a," name '").concat(n,"' cannot start with '_'");case 5:return"'".concat(t,"':: ").concat(a," name '").concat(n,"' contains non URI safe characters");case 0:return e.Debug.fail();default:throw e.Debug.assertNever(r)}}t.validatePackageName=function(e){return s(e,!0)},t.renderPackageNameValidationFailure=function(e,t){return"object"==typeof e?c(t,e.result,e.name,e.isScopeName):c(t,e,t,!1)}}(e.JsTyping||(e.JsTyping={}))}(c||(c={})),function(e){var t,r,n,i,a,o,s,c,u,l,d,_,p,f,g,m,y,v,h,D;function x(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:!0,indentStyle:l.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:d.Ignore,trimTrailingWhitespace:!0}}t=e.ScriptSnapshot||(e.ScriptSnapshot={}),r=function(){function e(e){this.text=e}return e.prototype.getText=function(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)},e.prototype.getLength=function(){return this.text.length},e.prototype.getChangeRange=function(){},e}(),t.fromString=function(e){return new r(e)},(n=e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={}))[n.Dependencies=1]="Dependencies",n[n.DevDependencies=2]="DevDependencies",n[n.PeerDependencies=4]="PeerDependencies",n[n.OptionalDependencies=8]="OptionalDependencies",n[n.All=15]="All",(i=e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={}))[i.Off=0]="Off",i[i.On=1]="On",i[i.Auto=2]="Auto",(a=e.LanguageServiceMode||(e.LanguageServiceMode={}))[a.Semantic=0]="Semantic",a[a.PartialSemantic=1]="PartialSemantic",a[a.Syntactic=2]="Syntactic",e.emptyOptions={},(o=e.SemanticClassificationFormat||(e.SemanticClassificationFormat={})).Original="original",o.TwentyTwenty="2020",(s=e.CompletionTriggerKind||(e.CompletionTriggerKind={}))[s.Invoked=1]="Invoked",s[s.TriggerCharacter=2]="TriggerCharacter",s[s.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions",(c=e.InlayHintKind||(e.InlayHintKind={})).Type="Type",c.Parameter="Parameter",c.Enum="Enum",(u=e.HighlightSpanKind||(e.HighlightSpanKind={})).none="none",u.definition="definition",u.reference="reference",u.writtenReference="writtenReference",function(e){e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart"}(l=e.IndentStyle||(e.IndentStyle={})),function(e){e.Ignore="ignore",e.Insert="insert",e.Remove="remove"}(d=e.SemicolonPreference||(e.SemicolonPreference={})),e.getDefaultFormatCodeSettings=x,e.testFormatSettings=x("\n"),(_=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}))[_.aliasName=0]="aliasName",_[_.className=1]="className",_[_.enumName=2]="enumName",_[_.fieldName=3]="fieldName",_[_.interfaceName=4]="interfaceName",_[_.keyword=5]="keyword",_[_.lineBreak=6]="lineBreak",_[_.numericLiteral=7]="numericLiteral",_[_.stringLiteral=8]="stringLiteral",_[_.localName=9]="localName",_[_.methodName=10]="methodName",_[_.moduleName=11]="moduleName",_[_.operator=12]="operator",_[_.parameterName=13]="parameterName",_[_.propertyName=14]="propertyName",_[_.punctuation=15]="punctuation",_[_.space=16]="space",_[_.text=17]="text",_[_.typeParameterName=18]="typeParameterName",_[_.enumMemberName=19]="enumMemberName",_[_.functionName=20]="functionName",_[_.regularExpressionLiteral=21]="regularExpressionLiteral",_[_.link=22]="link",_[_.linkName=23]="linkName",_[_.linkText=24]="linkText",(p=e.OutliningSpanKind||(e.OutliningSpanKind={})).Comment="comment",p.Region="region",p.Code="code",p.Imports="imports",(f=e.OutputFileType||(e.OutputFileType={}))[f.JavaScript=0]="JavaScript",f[f.SourceMap=1]="SourceMap",f[f.Declaration=2]="Declaration",(g=e.EndOfLineState||(e.EndOfLineState={}))[g.None=0]="None",g[g.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",g[g.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",g[g.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",g[g.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",g[g.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",g[g.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition",(m=e.TokenClass||(e.TokenClass={}))[m.Punctuation=0]="Punctuation",m[m.Keyword=1]="Keyword",m[m.Operator=2]="Operator",m[m.Comment=3]="Comment",m[m.Whitespace=4]="Whitespace",m[m.Identifier=5]="Identifier",m[m.NumberLiteral=6]="NumberLiteral",m[m.BigIntLiteral=7]="BigIntLiteral",m[m.StringLiteral=8]="StringLiteral",m[m.RegExpLiteral=9]="RegExpLiteral",(y=e.ScriptElementKind||(e.ScriptElementKind={})).unknown="",y.warning="warning",y.keyword="keyword",y.scriptElement="script",y.moduleElement="module",y.classElement="class",y.localClassElement="local class",y.interfaceElement="interface",y.typeElement="type",y.enumElement="enum",y.enumMemberElement="enum member",y.variableElement="var",y.localVariableElement="local var",y.functionElement="function",y.localFunctionElement="local function",y.memberFunctionElement="method",y.memberGetAccessorElement="getter",y.memberSetAccessorElement="setter",y.memberVariableElement="property",y.constructorImplementationElement="constructor",y.callSignatureElement="call",y.indexSignatureElement="index",y.constructSignatureElement="construct",y.parameterElement="parameter",y.typeParameterElement="type parameter",y.primitiveType="primitive type",y.label="label",y.alias="alias",y.constElement="const",y.letElement="let",y.directory="directory",y.externalModuleName="external module name",y.jsxAttribute="JSX attribute",y.string="string",y.link="link",y.linkName="link name",y.linkText="link text",(v=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})).none="",v.publicMemberModifier="public",v.privateMemberModifier="private",v.protectedMemberModifier="protected",v.exportedModifier="export",v.ambientModifier="declare",v.staticModifier="static",v.abstractModifier="abstract",v.optionalModifier="optional",v.deprecatedModifier="deprecated",v.dtsModifier=".d.ts",v.tsModifier=".ts",v.tsxModifier=".tsx",v.jsModifier=".js",v.jsxModifier=".jsx",v.jsonModifier=".json",v.dmtsModifier=".d.mts",v.mtsModifier=".mts",v.mjsModifier=".mjs",v.dctsModifier=".d.cts",v.ctsModifier=".cts",v.cjsModifier=".cjs",(h=e.ClassificationTypeNames||(e.ClassificationTypeNames={})).comment="comment",h.identifier="identifier",h.keyword="keyword",h.numericLiteral="number",h.bigintLiteral="bigint",h.operator="operator",h.stringLiteral="string",h.whiteSpace="whitespace",h.text="text",h.punctuation="punctuation",h.className="class name",h.enumName="enum name",h.interfaceName="interface name",h.moduleName="module name",h.typeParameterName="type parameter name",h.typeAliasName="type alias name",h.parameterName="parameter name",h.docCommentTagName="doc comment tag name",h.jsxOpenTagName="jsx open tag name",h.jsxCloseTagName="jsx close tag name",h.jsxSelfClosingTagName="jsx self closing tag name",h.jsxAttribute="jsx attribute",h.jsxText="jsx text",h.jsxAttributeStringLiteralValue="jsx attribute string literal value",(D=e.ClassificationType||(e.ClassificationType={}))[D.comment=1]="comment",D[D.identifier=2]="identifier",D[D.keyword=3]="keyword",D[D.numericLiteral=4]="numericLiteral",D[D.operator=5]="operator",D[D.stringLiteral=6]="stringLiteral",D[D.regularExpressionLiteral=7]="regularExpressionLiteral",D[D.whiteSpace=8]="whiteSpace",D[D.text=9]="text",D[D.punctuation=10]="punctuation",D[D.className=11]="className",D[D.enumName=12]="enumName",D[D.interfaceName=13]="interfaceName",D[D.moduleName=14]="moduleName",D[D.typeParameterName=15]="typeParameterName",D[D.typeAliasName=16]="typeAliasName",D[D.parameterName=17]="parameterName",D[D.docCommentTagName=18]="docCommentTagName",D[D.jsxOpenTagName=19]="jsxOpenTagName",D[D.jsxCloseTagName=20]="jsxCloseTagName",D[D.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",D[D.jsxAttribute=22]="jsxAttribute",D[D.jsxText=23]="jsxText",D[D.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",D[D.bigintLiteral=25]="bigintLiteral"}(c||(c={})),function(e){var t;function r(t){switch(t.kind){case 253:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 163:case 202:case 166:case 165:case 294:case 295:case 168:case 167:case 170:case 171:case 172:case 255:case 212:case 213:case 291:case 284:return 1;case 162:case 257:case 258:case 181:return 2;case 343:return void 0===t.name?3:2;case 297:case 256:return 3;case 260:return e.isAmbientModule(t)||1===e.getModuleInstanceState(t)?5:4;case 259:case 268:case 269:case 264:case 265:case 270:case 271:return 7;case 303:return 5}return 7}function i(t){for(;160===t.parent.kind;)t=t.parent;return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}function a(e){return e.expression}function o(e){return e.tag}function s(e){return e.tagName}function c(t,r,n,i,a){var o=i?l(t):u(t);return a&&(o=e.skipOuterExpressions(o)),!!o&&!!o.parent&&r(o.parent)&&n(o.parent)===o}function u(e){return p(e)?e.parent:e}function l(e){return p(e)||f(e)?e.parent:e}function d(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isBreakOrContinueStatement))||void 0===r?void 0:r.label)===t}function _(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isLabeledStatement))||void 0===r?void 0:r.label)===t}function p(t){var r;return(null===(r=e.tryCast(t.parent,e.isPropertyAccessExpression))||void 0===r?void 0:r.name)===t}function f(t){var r;return(null===(r=e.tryCast(t.parent,e.isElementAccessExpression))||void 0===r?void 0:r.argumentExpression)===t}e.scanner=e.createScanner(99,!0),(t=e.SemanticMeaning||(e.SemanticMeaning={}))[t.None=0]="None",t[t.Value=1]="Value",t[t.Type=2]="Type",t[t.Namespace=4]="Namespace",t[t.All=7]="All",e.getMeaningFromDeclaration=r,e.getMeaningFromLocation=function(t){var n=(t=I(t)).parent;if(303===t.kind)return 1;if(e.isExportAssignment(n)||e.isExportSpecifier(n)||e.isExternalModuleReference(n)||e.isImportSpecifier(n)||e.isImportClause(n)||e.isImportEqualsDeclaration(n)&&t===n.name){for(var a=n;a;){if(e.isImportEqualsDeclaration(a)||e.isImportClause(a)||e.isExportDeclaration(a))return a.isTypeOnly?2:7;a=a.parent}return 7}return i(t)?function(t){var r=160===t.kind?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:void 0;return r&&264===r.parent.kind?7:4}(t):e.isDeclarationName(t)?r(n):e.isEntityName(t)&&e.findAncestor(t,e.or(e.isJSDocNameReference,e.isJSDocLinkLike,e.isJSDocMemberName))?7:function(t){e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);switch(t.kind){case 108:return!e.isExpressionNode(t);case 191:return!0}switch(t.parent.kind){case 177:return!0;case 199:return!t.parent.isTypeOf;case 227:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return!1}(t)?2:function(e){return function(e){var t=e,r=!0;if(160===t.parent.kind){for(;t.parent&&160===t.parent.kind;)t=t.parent;r=t.right===e}return 177===t.parent.kind&&!r}(e)||function(e){var t=e,r=!0;if(205===t.parent.kind){for(;t.parent&&205===t.parent.kind;)t=t.parent;r=t.name===e}if(!r&&227===t.parent.kind&&290===t.parent.parent.kind){var n=t.parent.parent.parent;return 256===n.kind&&117===t.parent.parent.token||257===n.kind&&94===t.parent.parent.token}return!1}(e)}(t)?4:e.isTypeParameterDeclaration(n)?(e.Debug.assert(e.isJSDocTemplateTag(n.parent)),2):e.isLiteralTypeNode(n)?3:1},e.isInRightSideOfInternalImportEqualsDeclaration=i,e.isCallExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isCallExpression,a,r,n)},e.isNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isNewExpression,a,r,n)},e.isCallOrNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isCallOrNewExpression,a,r,n)},e.isTaggedTemplateTag=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isTaggedTemplateExpression,o,r,n)},e.isDecoratorTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isDecorator,a,r,n)},e.isJsxOpeningLikeElementTagName=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isJsxOpeningLikeElement,s,r,n)},e.climbPastPropertyAccess=u,e.climbPastPropertyOrElementAccess=l,e.getTargetLabel=function(e,t){for(;e;){if(249===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}},e.hasPropertyAccessExpressionWithName=function(t,r){return!!e.isPropertyAccessExpression(t.expression)&&t.expression.name.text===r},e.isJumpStatementTarget=d,e.isLabelOfLabeledStatement=_,e.isLabelName=function(e){return _(e)||d(e)},e.isTagName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isJSDocTag))||void 0===r?void 0:r.tagName)===t},e.isRightSideOfQualifiedName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isQualifiedName))||void 0===r?void 0:r.right)===t},e.isRightSideOfPropertyAccess=p,e.isArgumentExpressionOfElementAccess=f,e.isNameOfModuleDeclaration=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isModuleDeclaration))||void 0===r?void 0:r.name)===t},e.isNameOfFunctionDeclaration=function(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isFunctionLike))||void 0===r?void 0:r.name)===t},e.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(t){switch(t.parent.kind){case 166:case 165:case 294:case 297:case 168:case 167:case 171:case 172:case 260:return e.getNameOfDeclaration(t.parent)===t;case 206:return t.parent.argumentExpression===t;case 161:return!0;case 195:return 193===t.parent.parent.kind;default:return!1}},e.isExpressionOfExternalModuleImportEqualsDeclaration=function(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t},e.getContainerNode=function(t){for(e.isJSDocTypeAlias(t)&&(t=t.parent.parent);;){if(!(t=t.parent))return;switch(t.kind){case 303:case 168:case 167:case 255:case 212:case 171:case 172:case 256:case 257:case 259:case 260:return t}}},e.getNodeKind=function t(r){switch(r.kind){case 303:return e.isExternalModule(r)?"module":"script";case 260:return"module";case 256:case 225:return"class";case 257:return"interface";case 258:case 336:case 343:return"type";case 259:return"enum";case 253:return c(r);case 202:return c(e.getRootDeclaration(r));case 213:case 255:case 212:return"function";case 171:return"getter";case 172:return"setter";case 168:case 167:return"method";case 294:var n=r.initializer;return e.isFunctionLike(n)?"method":"property";case 166:case 165:case 295:case 296:return"property";case 175:return"index";case 174:return"construct";case 173:return"call";case 170:case 169:return"constructor";case 162:return"type parameter";case 297:return"enum member";case 163:return e.hasSyntacticModifier(r,16476)?"property":"parameter";case 264:case 269:case 274:case 267:case 273:return"alias";case 220:var i=e.getAssignmentDeclarationKind(r),a=r.right;switch(i){case 7:case 8:case 9:case 0:return"";case 1:case 2:var o=t(a);return""===o?"const":o;case 3:case 5:return e.isFunctionExpression(a)?"method":"property";case 4:return"property";case 6:return"local class";default:return e.assertType(i),""}case 79:return e.isImportClause(r.parent)?"alias":"";case 270:var s=t(r.expression);return""===s?"const":s;default:return""}function c(t){return e.isVarConst(t)?"const":e.isLet(t)?"let":"var"}},e.isThis=function(t){switch(t.kind){case 108:return!0;case 79:return e.identifierIsThisKeyword(t)&&163===t.parent.kind;default:return!1}};var g,m=/^\/\/\/\s*=r.end}function D(e,t,r,n){return Math.max(e,r)r?1:l(a[e])?a[e-1]&&l(a[e-1])?1:0:i&&s===r&&a[e-1]&&a[e-1].getEnd()===r&&l(a[e-1])?1:-1}));return o?{value:o}:c>=0&&a[c]?(s=a[c],"continue-outer"):{value:s}};;){var u=c();if("object"==typeof u)return u.value}function l(e){if((n?e.getFullStart():e.getStart(t,!0))>r)return!1;var s=e.getEnd();if(rt.end||e.pos===t.end)&&G(e,n)?r(e):void 0}))}(r)}function B(t,r,n,i){var a=function a(o){if(j(o)&&1!==o.kind)return o;var s=o.getChildren(r),c=e.binarySearchKey(s,t,(function(e,t){return t}),(function(e,r){return t=s[e-1].end?0:1:-1}));if(c>=0&&s[c]){var u=s[c];if(t=t||!G(u,r)||z(u)){var l=K(s,c,r);return l&&J(l,r)}return a(u)}}e.Debug.assert(void 0!==n||303===o.kind||1===o.kind||e.isJSDocCommentContainingNode(o));var d=K(s,s.length,r);return d&&J(d,r)}(n||r);return e.Debug.assert(!(a&&z(a))),a}function j(t){return e.isToken(t)&&!z(t)}function J(e,t){if(j(e))return e;var r=e.getChildren(t);if(0===r.length)return e;var n=K(r,r.length,t);return n&&J(n,t)}function K(t,r,n){for(var i=r-1;i>=0;i--){if(z(t[i]))e.Debug.assert(i>0,"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if(G(t[i],n))return t[i]}}function z(t){return e.isJsxText(t)&&t.containsOnlyTriviaWhiteSpaces}function U(t,r,n){var i=e.tokenToString(t.kind),a=e.tokenToString(r),o=t.getFullStart(),s=n.text.lastIndexOf(a,o);if(-1!==s){if(n.text.lastIndexOf(i,o-1)=r}))}function W(t,r){if(-1!==r.text.lastIndexOf("<",t?t.pos:r.text.length))for(var n=t,i=0,a=0;n;){switch(n.kind){case 29:if((n=B(n.getFullStart(),r))&&28===n.kind&&(n=B(n.getFullStart(),r)),!n||!e.isIdentifier(n))return;if(!i)return e.isDeclarationName(n)?void 0:{called:n,nTypeArguments:a};i--;break;case 49:i=3;break;case 48:i=2;break;case 31:i++;break;case 19:if(!(n=U(n,18,r)))return;break;case 21:if(!(n=U(n,20,r)))return;break;case 23:if(!(n=U(n,22,r)))return;break;case 27:a++;break;case 38:case 79:case 10:case 8:case 9:case 110:case 95:case 112:case 94:case 140:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(n))break;return}n=B(n.getFullStart(),r)}}function H(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,void 0,n)}function G(e,t){return 1===e.kind?!!e.jsDoc:0!==e.getWidth(t)}function Y(e,t,r){var n=H(e,t,void 0);return!!n&&r===m.test(e.text.substring(n.pos,n.end))}function X(t,r,n){return e.createTextSpanFromBounds(t.getStart(r),(n||t).getEnd())}function Q(t){if(!t.isUnterminated)return e.createTextSpanFromBounds(t.getStart()+1,t.getEnd()-1)}function $(e,t){return{span:e,newText:t}}function Z(e){return 151===e.kind}function ee(t,r){return{fileExists:function(e){return t.fileExists(e)},getCurrentDirectory:function(){return r.getCurrentDirectory()},readFile:e.maybeBind(r,r.readFile),useCaseSensitiveFileNames:e.maybeBind(r,r.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(r,r.getSymlinkCache)||t.getSymlinkCache,getModuleSpecifierCache:e.maybeBind(r,r.getModuleSpecifierCache),getGlobalTypingsCacheLocation:e.maybeBind(r,r.getGlobalTypingsCacheLocation),redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)},getNearestAncestorDirectoryWithPackageJson:e.maybeBind(r,r.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:function(){return t.getFileIncludeReasons()}}}function te(e,t){return n(n({},ee(e,t)),{getCommonSourceDirectory:function(){return e.getCommonSourceDirectory()}})}function re(t,r,n,i,a){return e.factory.createImportDeclaration(void 0,void 0,t||r?e.factory.createImportClause(!!a,t,r&&r.length?e.factory.createNamedImports(r):void 0):void 0,"string"==typeof n?ne(n,i):n,void 0)}function ne(t,r){return e.factory.createStringLiteral(t,0===r)}function ie(t,r){return e.isStringDoubleQuoted(t,r)?1:0}function ae(t,r){if(r.quotePreference&&"auto"!==r.quotePreference)return"single"===r.quotePreference?0:1;var n=t.imports&&e.find(t.imports,(function(t){return e.isStringLiteral(t)&&!e.nodeIsSynthesized(t.parent)}));return n?ie(n,t):1}function oe(t){return"default"!==t.escapedName?t.escapedName:e.firstDefined(t.declarations,(function(t){var r=e.getNameOfDeclaration(t);return r&&79===r.kind?r.escapedText:void 0}))}function se(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function ce(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function ue(t){var r=t.declarations?e.firstOrUndefined(t.declarations):void 0;return!!e.findAncestor(r,(function(t){return!!e.isParameter(t)||!(e.isBindingElement(t)||e.isObjectBindingPattern(t)||e.isArrayBindingPattern(t))&&"quit"}))}e.getLineStartPositionForPosition=function(t,r){return e.getLineStarts(r)[r.getLineAndCharacterOfPosition(t).line]},e.rangeContainsRange=y,e.rangeContainsRangeExclusive=function(e,t){return v(e,t.pos)&&v(e,t.end)},e.rangeContainsPosition=function(e,t){return e.pos<=t&&t<=e.end},e.rangeContainsPositionExclusive=v,e.startEndContainsRange=h,e.rangeContainsStartEnd=function(e,t,r){return e.pos<=t&&e.end>=r},e.rangeOverlapsWithStartEnd=function(e,t,r){return D(e.pos,e.end,t,r)},e.nodeOverlapsWithStartEnd=function(e,t,r,n){return D(e.getStart(t),e.end,r,n)},e.startEndOverlapsWithStartEnd=D,e.positionBelongsToNode=function(t,r,n){return e.Debug.assert(t.pos<=r),rn.getStart(t)&&rn.getStart(t)},e.isInJSXText=function(t,r){var n=M(t,r);return!!e.isJsxText(n)||(!(18!==n.kind||!e.isJsxExpression(n.parent)||!e.isJsxElement(n.parent.parent))||!(29!==n.kind||!e.isJsxOpeningLikeElement(n.parent)||!e.isJsxElement(n.parent.parent)))},e.isInsideJsxElement=function(e,t){return function(r){for(;r;)if(r.kind>=278&&r.kind<=287||11===r.kind||29===r.kind||31===r.kind||79===r.kind||19===r.kind||18===r.kind||43===r.kind)r=r.parent;else{if(277!==r.kind)return!1;if(t>r.getStart(e))return!0;r=r.parent}return!1}(M(e,t))},e.findPrecedingMatchingToken=U,e.removeOptionality=V,e.isPossiblyTypeArgumentPosition=function t(r,n,i){var a=W(r,n);return void 0!==a&&(e.isPartOfTypeNode(a.called)||0!==q(a.called,a.nTypeArguments,i).length||t(a.called,n,i))},e.getPossibleGenericSignatures=q,e.getPossibleTypeArgumentsInfo=W,e.isInComment=H,e.hasDocComment=function(t,r){var n=M(t,r);return!!e.findAncestor(n,e.isJSDoc)},e.getNodeModifiers=function(t,r){void 0===r&&(r=0);var n=[],i=e.isDeclaration(t)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(t)&~r:0;return 8&i&&n.push("private"),16&i&&n.push("protected"),4&i&&n.push("public"),(32&i||e.isClassStaticBlockDeclaration(t))&&n.push("static"),128&i&&n.push("abstract"),1&i&&n.push("export"),8192&i&&n.push("deprecated"),8388608&t.flags&&n.push("declare"),270===t.kind&&n.push("export"),n.length>0?n.join(","):""},e.getTypeArgumentOrTypeParameterList=function(t){return 177===t.kind||207===t.kind?t.typeArguments:e.isFunctionLike(t)||256===t.kind||257===t.kind?t.typeParameters:void 0},e.isComment=function(e){return 2===e||3===e},e.isStringOrRegularExpressionOrTemplateLiteral=function(t){return!(10!==t&&13!==t&&!e.isTemplateLiteralKind(t))},e.isPunctuation=function(e){return 18<=e&&e<=78},e.isInsideTemplateLiteral=function(t,r,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart(n)=2||!!t.noEmit},e.createModuleSpecifierResolutionHost=ee,e.getModuleSpecifierResolverHost=te,e.makeImportIfNecessary=function(e,t,r,n){return e||t&&t.length?re(e,t,r,n):void 0},e.makeImport=re,e.makeStringLiteral=ne,(g=e.QuotePreference||(e.QuotePreference={}))[g.Single=0]="Single",g[g.Double=1]="Double",e.quotePreferenceFromString=ie,e.getQuotePreference=ae,e.getQuoteFromPreference=function(t){switch(t){case 0:return"'";case 1:return'"';default:return e.Debug.assertNever(t)}},e.symbolNameNoDefault=function(t){var r=oe(t);return void 0===r?void 0:e.unescapeLeadingUnderscores(r)},e.symbolEscapedNameNoDefault=oe,e.isModuleSpecifierLike=function(t){return e.isStringLiteralLike(t)&&(e.isExternalModuleReference(t.parent)||e.isImportDeclaration(t.parent)||e.isRequireCall(t.parent,!1)&&t.parent.arguments[0]===t||e.isImportCall(t.parent)&&t.parent.arguments[0]===t)},e.isObjectBindingElementWithoutPropertyName=function(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName},e.getPropertySymbolFromBindingElement=function(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)},e.getParentNodeInSpan=function(t,r,n){if(t)for(;t.parent;){if(e.isSourceFile(t.parent)||!se(n,t.parent,r))return t;t=t.parent}},e.findModifier=function(t,r){return t.modifiers&&e.find(t.modifiers,(function(e){return e.kind===r}))},e.insertImports=function(t,r,n,i){var a=236===(e.isArray(n)?n[0]:n).kind?e.isRequireVariableStatement:e.isAnyImportSyntax,o=e.filter(r.statements,a),s=e.isArray(n)?e.stableSort(n,e.OrganizeImports.compareImportsOrRequireStatements):[n];if(o.length)if(o&&e.OrganizeImports.importsAreSorted(o))for(var c=0,u=s;ca&&r&&"..."!==r&&(e.isWhiteSpaceLike(r.charCodeAt(r.length-1))||t.push(_e(" ",e.SymbolDisplayPartKind.space)),t.push(_e("...",e.SymbolDisplayPartKind.punctuation))),t},writeKeyword:function(t){return c(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return c(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return c(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return c(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return c(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(e,r){if(i>a)return;s(),i+=e.length,t.push(de(e,r))},writeLine:function(){if(i>a)return;i+=1,t.push(ve()),r=!0},write:o,writeComment:o,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return n},increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:u,trackSymbol:function(){return!1},reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function s(){if(!(i>a)&&r){var o=e.getIndentString(n);o&&(i+=o.length,t.push(_e(o,e.SymbolDisplayPartKind.space))),r=!1}}function c(e,r){i>a||(s(),i+=e.length,t.push(_e(e,r)))}function u(){t=[],r=!0,n=0,i=0}}();function de(t,r){return _e(t,function(t){var r=t.flags;if(3&r)return ue(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName;return 4&r||32768&r||65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r||2097152&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}(r))}function _e(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}function pe(t){return _e(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function fe(t){return _e(t,e.SymbolDisplayPartKind.text)}function ge(t){return _e(t,e.SymbolDisplayPartKind.linkText)}function me(t,r){return{text:t,kind:e.SymbolDisplayPartKind[e.SymbolDisplayPartKind.linkName],target:{fileName:e.getSourceFileOfNode(r).fileName,textSpan:X(r)}}}function ye(t){return _e(t,e.SymbolDisplayPartKind.link)}e.symbolPart=de,e.displayPart=_e,e.spacePart=function(){return _e(" ",e.SymbolDisplayPartKind.space)},e.keywordPart=pe,e.punctuationPart=function(t){return _e(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(t){return _e(e.tokenToString(t),e.SymbolDisplayPartKind.operator)},e.parameterNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.parameterName)},e.propertyNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.propertyName)},e.textOrKeywordPart=function(t){var r=e.stringToToken(t);return void 0===r?fe(t):pe(r)},e.textPart=fe,e.typeAliasNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.aliasName)},e.typeParameterNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.typeParameterName)},e.linkTextPart=ge,e.linkNamePart=me,e.linkPart=ye,e.buildLinkParts=function(t,r){var n,i=e.isJSDocLink(t)?"link":e.isJSDocLinkCode(t)?"linkcode":"linkplain",a=[ye("{@".concat(i," "))];if(t.name){var o=null==r?void 0:r.getSymbolAtLocation(t.name),s=function(e){if(0===e.indexOf("()"))return 2;if("<"!==e[0])return 0;var t=0,r=0;for(;r"===e[r]&&t--,r++,!t)return r;return 0}(t.text),c=e.getTextOfNode(t.name)+t.text.slice(0,s),u=t.text.slice(s),l=(null==o?void 0:o.valueDeclaration)||(null===(n=null==o?void 0:o.declarations)||void 0===n?void 0:n[0]);l?(a.push(me(c,l)),u&&a.push(ge(u))):a.push(ge(c+(s?"":" ")+u))}else t.text&&a.push(ge(t.text));return a.push(ye("}")),a};function ve(){return _e("\n",e.SymbolDisplayPartKind.lineBreak)}function he(e){try{return e(le),le.displayParts()}finally{le.clear()}}function De(e){return 0!=(33554432&e.flags)}function xe(e){return 0!=(2097152&e.flags)}function be(e,t){void 0===t&&(t=!0);var r=e&&Te(e);return r&&!t&&ke(r),r}function Se(t,r,n){var i=n(t);return i?e.setOriginalNode(i,t):i=Te(t,n),i&&!r&&ke(i),i}function Te(t,r){var n=r?function(e){return Se(e,!0,r)}:be,i=r?function(e){return e&&Ee(e,!0,r)}:function(e){return e&&Ce(e)},a=e.visitEachChild(t,n,e.nullTransformationContext,i,n);if(a===t){var o=e.isStringLiteral(t)?e.setOriginalNode(e.factory.createStringLiteralFromNode(t),t):e.isNumericLiteral(t)?e.setOriginalNode(e.factory.createNumericLiteral(t.text,t.numericLiteralFlags),t):e.factory.cloneNode(t);return e.setTextRange(o,t)}return a.parent=void 0,a}function Ce(t,r){return void 0===r&&(r=!0),t&&e.factory.createNodeArray(t.map((function(e){return be(e,r)})),t.hasTrailingComma)}function Ee(t,r,n){return e.factory.createNodeArray(t.map((function(e){return Se(e,r,n)})),t.hasTrailingComma)}function ke(e){Ae(e),Fe(e)}function Ae(e){Ne(e,512,Pe)}function Fe(t){Ne(t,1024,e.getLastChild)}function Ne(t,r,n){e.addEmitFlags(t,r);var i=n(t);i&&Ne(i,r,n)}function Pe(e){return e.forEachChild((function(e){return e}))}function we(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,Me(r,n,i,a,e.addSyntheticLeadingComment))}function Ie(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.end,Me(r,n,i,a,e.addSyntheticTrailingComment))}function Oe(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.pos,Me(r,n,i,a,e.addSyntheticLeadingComment))}function Me(e,t,r,n,i){return function(a,o,s,c){3===s?(a+=2,o-=2):a+=2,i(e,r||s,t.text.slice(a,o),void 0!==n?n:c)}}function Le(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(" "+r);return-1===n&&(n=t.indexOf("."+r)),-1===n&&(n=t.indexOf('"'+r)),-1===n?-1:n+1}function Re(e,t){var r=e.parent;switch(r.kind){case 208:return t.getContextualType(r);case 220:var n=r,i=n.left,a=n.operatorToken,o=n.right;return Be(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e);case 288:return r.expression===e?je(r,t):void 0;default:return t.getContextualType(e)}}function Be(e){switch(e){case 36:case 34:case 37:case 35:return!0;default:return!1}}function je(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function Je(e){return 173===e||174===e||175===e||165===e||167===e}function Ke(e){return 255===e||170===e||168===e||171===e||172===e}function ze(e){return 260===e}function Ue(e){return 236===e||237===e||239===e||244===e||245===e||246===e||250===e||252===e||166===e||258===e||265===e||264===e||271===e||263===e||270===e}function Ve(e,t){return We(e,e.fileExists,t)}function qe(e){try{return e()}catch(e){return}}function We(e,t){for(var r=[],n=2;n-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r));)r-=1;return r+1},e.getSynthesizedDeepClone=be,e.getSynthesizedDeepCloneWithReplacements=Se,e.getSynthesizedDeepClones=Ce,e.getSynthesizedDeepClonesWithReplacements=Ee,e.suppressLeadingAndTrailingTrivia=ke,e.suppressLeadingTrivia=Ae,e.suppressTrailingTrivia=Fe,e.copyComments=function(e,t){var r=e.getSourceFile();!function(e,t){for(var r=e.getFullStart(),n=e.getStart(),i=r;i=0),o},e.copyLeadingComments=we,e.copyTrailingComments=Ie,e.copyTrailingAsLeadingComments=Oe,e.needsParentheses=function(t){return e.isBinaryExpression(t)&&27===t.operatorToken.kind||e.isObjectLiteralExpression(t)||e.isAsExpression(t)&&e.isObjectLiteralExpression(t.expression)},e.getContextualTypeFromParent=Re,e.quote=function(t,r,n){var i=ae(t,r),a=JSON.stringify(n);return 0===i?"'".concat(e.stripQuotes(a).replace(/'/g,"\\'").replace(/\\"/g,'"'),"'"):a},e.isEqualityOperatorKind=Be,e.isStringLiteralOrTemplate=function(e){switch(e.kind){case 10:case 14:case 222:case 209:return!0;default:return!1}},e.hasIndexSignature=function(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()},e.getSwitchedType=je,e.ANONYMOUS="anonymous function",e.getTypeNodeIfAccessible=function(e,t,r,n){var i=r.getTypeChecker(),a=!0,o=function(){return a=!1},s=i.typeToTypeNode(e,t,1,{trackSymbol:function(e,t,r){return!(a=a&&0===i.isSymbolAccessible(e,t,r,!1).accessibility)},reportInaccessibleThisError:o,reportPrivateInBaseOfClassExpression:o,reportInaccessibleUniqueSymbolError:o,moduleResolverHost:te(r,n)});return a?s:void 0},e.syntaxRequiresTrailingCommaOrSemicolonOrASI=Je,e.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI=Ke,e.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI=ze,e.syntaxRequiresTrailingSemicolonOrASI=Ue,e.syntaxMayBeASICandidate=e.or(Je,Ke,ze,Ue),e.positionIsASICandidate=function(t,r,n){var i=e.findAncestor(r,(function(r){return r.end!==t?"quit":e.syntaxMayBeASICandidate(r.kind)}));return!!i&&function(t,r){var n=t.getLastToken(r);if(n&&26===n.kind)return!1;if(Je(t.kind)){if(n&&27===n.kind)return!1}else if(ze(t.kind)){if((i=e.last(t.getChildren(r)))&&e.isModuleBlock(i))return!1}else if(Ke(t.kind)){var i;if((i=e.last(t.getChildren(r)))&&e.isFunctionBlock(i))return!1}else if(!Ue(t.kind))return!1;if(239===t.kind)return!0;var a=R(t,e.findAncestor(t,(function(e){return!e.parent})),r);return!a||19===a.kind||r.getLineAndCharacterOfPosition(t.getEnd()).line!==r.getLineAndCharacterOfPosition(a.getStart(r)).line}(i,n)},e.probablyUsesSemicolons=function(t){var r=0,n=0;return e.forEachChild(t,(function i(a){if(Ue(a.kind)){var o=a.getLastToken(t);o&&26===o.kind?r++:n++}return r+n>=5||e.forEachChild(a,i)})),0===r&&n<=1||r/n>.2},e.tryGetDirectories=function(e,t){return We(e,e.getDirectories,t)||[]},e.tryReadDirectory=function(t,r,n,i,a){return We(t,t.readDirectory,r,n,i,a)||e.emptyArray},e.tryFileExists=Ve,e.tryDirectoryExists=function(t,r){return qe((function(){return e.directoryProbablyExists(r,t)}))||!1},e.tryAndIgnoreErrors=qe,e.tryIOAndConsumeErrors=We,e.findPackageJsons=function(t,r,n){var i=[];return e.forEachAncestorDirectory(t,(function(t){if(t===n)return!0;var a=e.combinePaths(t,"package.json");Ve(r,a)&&i.push(a)})),i},e.findPackageJson=function(t,r){var n;return e.forEachAncestorDirectory(t,(function(t){return"node_modules"===t||(!!(n=e.findConfigFile(t,(function(e){return Ve(r,e)}),"package.json"))||void 0)})),n},e.getPackageJsonsVisibleToFile=He,e.createPackageJsonInfo=Ge,e.createPackageJsonImportFilter=function(t,r,n){var i,a=(n.getPackageJsonsVisibleToFile&&n.getPackageJsonsVisibleToFile(t.fileName)||He(t.fileName,n)).filter((function(e){return e.parseable}));return{allowsImportingAmbientModule:function(t,r){if(!a.length||!t.valueDeclaration)return!0;var n=c(t.valueDeclaration.getSourceFile().fileName,r);if(void 0===n)return!0;var i=e.stripQuotes(t.getName());if(s(i))return!0;return o(n)||o(i)},allowsImportingSourceFile:function(e,t){if(!a.length)return!0;var r=c(e.fileName,t);if(!r)return!0;return o(r)},allowsImportingSpecifier:function(t){if(!a.length||s(t))return!0;if(e.pathIsRelative(t)||e.isRootedDiskPath(t))return!0;return o(t)}};function o(t){for(var r=u(t),n=0,i=a;n=0){var a=r[i];return e.Debug.assertEqual(a.file,t.getSourceFile(),"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"),e.cast(a,Xe)}},e.getDiagnosticsWithinSpan=function(t,r){var n,i=e.binarySearchKey(r,t.start,(function(e){return e.start}),e.compareValues);for(i<0&&(i=~i);(null===(n=r[i-1])||void 0===n?void 0:n.start)===t.start;)i--;for(var a=[],o=e.textSpanEnd(t);;){var s=e.tryCast(r[i],Xe);if(!s||s.start>o)break;e.textSpanContainsTextSpan(t,s)&&a.push(s),i++}return a},e.getRefactorContextSpan=function(t){var r=t.startPosition,n=t.endPosition;return e.createTextSpanFromBounds(r,void 0===n?r:n)},e.getFixableErrorSpanExpression=function(t,r){var n=M(t,r.start),i=e.findAncestor(n,(function(n){return n.getStart(t)e.textSpanEnd(r)?"quit":e.isExpression(n)&&ce(r,X(n,t))}));return i},e.mapOneOrMany=function(t,r,n){return void 0===n&&(n=e.identity),t?e.isArray(t)?n(e.map(t,r)):r(t,0):void 0},e.firstOrOnly=function(t){return e.isArray(t)?e.first(t):t},e.getNameForExportedSymbol=function(t,r){return 33554432&t.flags||"export="!==t.escapedName&&"default"!==t.escapedName?t.name:e.firstDefined(t.declarations,(function(t){var r;return e.isExportAssignment(t)?null===(r=e.tryCast(e.skipOuterExpressions(t.expression),e.isIdentifier))||void 0===r?void 0:r.text:void 0}))||e.codefix.moduleSymbolToValidIdentifier(function(t){var r;return e.Debug.checkDefined(t.parent,"Symbol parent was undefined. Flags: ".concat(e.Debug.formatSymbolFlags(t.flags),". ")+"Declarations: ".concat(null===(r=t.declarations)||void 0===r?void 0:r.map((function(t){var r=e.Debug.formatSyntaxKind(t.kind),n=e.isInJSFile(t),i=t.expression;return(n?"[JS]":"")+r+(i?" (expression: ".concat(e.Debug.formatSyntaxKind(i.kind),")"):"")})).join(", "),"."))}(t),r)},e.stringContainsAt=function(e,t,r){var n=t.length;if(n+r>e.length)return!1;for(var i=0;i=i.length){var D=r(o,u,e.lastOrUndefined(d));void 0!==D&&(m=D)}}while(1!==u);function x(){switch(u){case 43:case 68:t[l]||13!==o.reScanSlashToken()||(u=13);break;case 29:79===l&&v++;break;case 31:v>0&&v--;break;case 130:case 149:case 146:case 133:case 150:v>0&&!c&&(u=79);break;case 15:d.push(u);break;case 18:d.length>0&&d.push(u);break;case 19:if(d.length>0){var r=e.lastOrUndefined(d);15===r?17===(u=o.reScanTemplateToken(!1))?d.pop():e.Debug.assertEqual(u,16,"Should have been a template middle."):(e.Debug.assertEqual(r,18,"Should have been an open brace"),d.pop())}break;default:if(!e.isKeyword(u))break;(24===l||e.isKeyword(l)&&e.isKeyword(u)&&!function(t,r){if(!e.isAccessibilityModifier(t))return!0;switch(r){case 136:case 148:case 134:case 124:return!0;default:return!1}}(l,u))&&(u=79)}}return{endOfLineState:m,spans:y}}return{getClassificationsForLine:function(t,r,n){return function(t,r){for(var n=[],a=t.spans,o=0,s=0;s=0){var d=c-o;d>0&&n.push({length:d,classification:e.TokenClass.Whitespace})}n.push({length:u,classification:i(l)}),o=c+u}var _=r.length-o;_>0&&n.push({length:_,classification:e.TokenClass.Whitespace});return{entries:n,finalLexState:t.endOfLineState}}(s(t,r,n),t)},getEncodedLexicalClassifications:s}};var t=e.arrayToNumericMap([79,10,8,9,13,108,45,46,21,23,19,110,95],(function(e){return e}),(function(){return!0}));function r(t,r,n){switch(r){case 10:if(!t.isUnterminated())return;for(var i=t.getTokenText(),a=i.length-1,o=0;92===i.charCodeAt(a-o);)o++;if(0==(1&o))return;return 34===i.charCodeAt(0)?3:2;case 3:return t.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated())return;switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+r)}}return 15===n?6:void 0}}function n(e,t,r,n,i){if(8!==n){0===e&&r>0&&(e+=r);var a=t-e;a>0&&i.push(e-r,a,n)}}function i(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function a(t){if(e.isKeyword(t))return 3;if(function(e){switch(e){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 102:case 101:case 127:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 74:case 73:case 78:case 70:case 71:case 72:case 64:case 65:case 66:case 68:case 69:case 63:case 27:case 60:case 75:case 76:case 77:return!0;default:return!1}}(t)||function(e){switch(e){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}(t))return 5;if(t>=18&&t<=78)return 10;switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;default:return e.isTemplateLiteralKind(t)?6:2}}function o(e,t){switch(t){case 260:case 256:case 257:case 255:case 225:case 212:case 213:e.throwIfCancellationRequested()}}function s(t,r,n,i,a){var s=[];return n.forEachChild((function u(l){if(l&&e.textSpanIntersectsWith(a,l.pos,l.getFullWidth())){if(o(r,l.kind),e.isIdentifier(l)&&!e.nodeIsMissing(l)&&i.has(l.escapedText)){var d=t.getSymbolAtLocation(l),_=d&&c(d,e.getMeaningFromLocation(l),t);_&&function(t,r,n){var i=r-t;e.Debug.assert(i>0,"Classification had non-positive length of ".concat(i)),s.push(t),s.push(i),s.push(n)}(l.getStart(n),l.getEnd(),_)}l.forEachChild(u)}})),{spans:s,endOfLineState:0}}function c(t,r,n){var i=t.getFlags();return 0==(2885600&i)?void 0:32&i?11:384&i?12:524288&i?16:1536&i?4&r||1&r&&function(t){return e.some(t.declarations,(function(t){return e.isModuleDeclaration(t)&&1===e.getModuleInstanceState(t)}))}(t)?14:void 0:2097152&i?c(n.getAliasedSymbol(t),r,n):2&r?64&i?13:262144&i?15:void 0:void 0}function u(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return}}function l(t){e.Debug.assert(t.spans.length%3==0);for(var r=t.spans,n=[],i=0;i])*)(\/>)?)?/im,a=/(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/gim,o=r.text.substr(t,n),s=i.exec(o);if(!s)return!1;if(!s[3]||!(s[3]in e.commentPragmas))return!1;var c=t;_(c,s[1].length),l(c+=s[1].length,s[2].length,10),l(c+=s[2].length,s[3].length,21),c+=s[3].length;var u=s[4],d=c;for(;;){var p=a.exec(u);if(!p)break;var f=c+p.index+p[1].length;f>d&&(_(d,f-d),d=f),l(d,p[2].length,22),d+=p[2].length,p[3].length&&(_(d,p[3].length),d+=p[3].length),l(d,p[4].length,5),d+=p[4].length,p[5].length&&(_(d,p[5].length),d+=p[5].length),l(d,p[6].length,24),d+=p[6].length}(c+=s[4].length)>d&&_(d,c-d);s[5]&&(l(c,s[5].length,10),c+=s[5].length);var g=t+n;c=0),a>0){var o=n||y(t.kind,t);o&&l(i,a,o)}return!0}function y(t,r){if(e.isKeyword(t))return 3;if((29===t||31===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){var n=r.parent;if(63===t&&(253===n.kind||166===n.kind||163===n.kind||284===n.kind))return 5;if(220===n.kind||218===n.kind||219===n.kind||221===n.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 25;if(10===t)return r&&284===r.parent.kind?24:6;if(13===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(11===t)return 23;if(79===t){if(r)switch(r.parent.kind){case 256:return r.parent.name===r?11:void 0;case 162:return r.parent.name===r?15:void 0;case 257:return r.parent.name===r?13:void 0;case 259:return r.parent.name===r?12:void 0;case 260:return r.parent.name===r?14:void 0;case 163:return r.parent.name===r?e.isThisIdentifier(r)?3:17:void 0}return 2}}function v(n){if(n&&e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){o(t,n.kind);for(var s=0,c=n.getChildren(r);s0})))return 0;if(a((function(e){return e.getCallSignatures().length>0}))&&!a((function(e){return e.getProperties().length>0}))||function(t){for(;c(t);)t=t.parent;return e.isCallExpression(t.parent)&&t.parent.expression===t}(r))return 9===n?11:10}}return n}(o,_,g);var y=f.valueDeclaration;if(y){var v=e.getCombinedModifierFlags(y),h=e.getCombinedNodeFlags(y);32&v&&(m|=2),256&v&&(m|=4),0!==g&&2!==g&&(64&v||2&h||8&f.getFlags())&&(m|=8),7!==g&&10!==g||!function(t,r){return e.isBindingElement(t)&&(t=s(t)),e.isVariableDeclaration(t)?(!e.isSourceFile(t.parent.parent.parent)||e.isCatchClause(t.parent))&&t.getSourceFile()===r:!!e.isFunctionDeclaration(t)&&(!e.isSourceFile(t.parent)&&t.getSourceFile()===r)}(y,r)||(m|=32),t.isSourceFileDefaultLibrary(y.getSourceFile())&&(m|=16)}else f.declarations&&f.declarations.some((function(e){return t.isSourceFileDefaultLibrary(e.getSourceFile())}))&&(m|=16);i(_,g,m)}}}e.forEachChild(_,d),l=p}}d(r)}(t,r,n,(function(e,t,n){a.push(e.getStart(r),e.getWidth(r),(t+1<<8)+n)}),i),a}function s(t){for(;;){if(!e.isBindingElement(t.parent.parent))return t.parent.parent;t=t.parent.parent}}function c(t){return e.isQualifiedName(t.parent)&&t.parent.right===t||e.isPropertyAccessExpression(t.parent)&&t.parent.name===t}(r=t.TokenEncodingConsts||(t.TokenEncodingConsts={}))[r.typeOffset=8]="typeOffset",r[r.modifierMask=255]="modifierMask",(n=t.TokenType||(t.TokenType={}))[n.class=0]="class",n[n.enum=1]="enum",n[n.interface=2]="interface",n[n.namespace=3]="namespace",n[n.typeParameter=4]="typeParameter",n[n.type=5]="type",n[n.parameter=6]="parameter",n[n.variable=7]="variable",n[n.enumMember=8]="enumMember",n[n.property=9]="property",n[n.function=10]="function",n[n.member=11]="member",(i=t.TokenModifier||(t.TokenModifier={}))[i.declaration=0]="declaration",i[i.static=1]="static",i[i.async=2]="async",i[i.readonly=3]="readonly",i[i.defaultLibrary=4]="defaultLibrary",i[i.local=5]="local",t.getSemanticClassifications=function(t,r,n,i){var o=a(t,r,n,i);e.Debug.assert(o.spans.length%3==0);for(var s=o.spans,c=[],u=0;ua.parameters.length)){var o=r.getParameterType(a,t.argumentIndex);return n=n||!!(4&o.flags),d(o,i)}}));return{kind:2,types:o,isNewIdentifier:n}}(k,a):A()}case 265:case 271:case 276:return{kind:0,paths:g(r,n,o,s,a,c)};default:return A()}function A(){return{kind:2,types:d(e.getContextualTypeFromParent(n,a)),isNewIdentifier:!1}}}function u(t){switch(t.kind){case 190:return e.walkUpParenthesizedTypes(t);case 211:return e.walkUpParenthesizedExpressions(t);default:return t}}function l(t){return t&&{kind:1,symbols:e.filter(t.getApparentProperties(),(function(t){return!(t.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(t.valueDeclaration))})),hasIndexSignature:e.hasIndexSignature(t)}}function d(t,r){return void 0===r&&(r=new e.Map),t?(t=e.skipConstraint(t)).isUnion()?e.flatMap(t.types,(function(e){return d(e,r)})):!t.isStringLiteral()||1024&t.flags||!e.addToSeen(r,t.value)?e.emptyArray:[t]:e.emptyArray}function _(e,t,r){return{name:e,kind:t,extension:r}}function p(e){return _(e,"directory",void 0)}function f(t,r,n){var i=function(t,r){var n=Math.max(t.lastIndexOf(e.directorySeparator),t.lastIndexOf(e.altDirectorySeparator)),i=-1!==n?n+1:0,a=t.length-i;return 0===a||e.isIdentifierText(t.substr(i,a),99)?void 0:e.createTextSpan(r+i,a)}(t,r),a=0===t.length?void 0:e.createTextSpan(r,t.length);return n.map((function(t){var r=t.name,n=t.kind,o=t.extension;return-1!==Math.max(r.indexOf(e.directorySeparator),r.indexOf(e.altDirectorySeparator))?{name:r,kind:n,extension:o,span:a}:{name:r,kind:n,extension:o,span:i}}))}function g(t,n,i,a,o,s){return f(n.text,n.getStart(t)+1,function(t,n,i,a,o,s){var c=e.normalizeSlashes(n.text),u=t.path,l=e.getDirectoryPath(u);return function(e){if(e&&e.length>=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,r=e.charCodeAt(t);return 47===r||92===r}return!1}(c)||!i.baseUrl&&(e.isRootedDiskPath(c)||e.isUrl(c))?function(t,n,i,a,o,s){var c=m(i,s);return i.rootDirs?function(t,n,i,a,o,s,c){var u=o.project||s.getCurrentDirectory(),l=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),d=function(t,n,i,a){t=t.map((function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))}));var o=e.firstDefined(t,(function(t){return e.containsPath(t,i,n,a)?i.substr(t.length):void 0}));return e.deduplicate(r(r([],t.map((function(t){return e.combinePaths(t,o)})),!0),[i],!1),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(t,u,i,l);return e.flatMap(d,(function(e){return v(n,e,a,s,c)}))}(i.rootDirs,t,n,c,i,a,o):v(t,n,c,a,o)}(c,l,i,a,u,d()):function(t,r,n,i,a){var o=n.baseUrl,s=n.paths,c=[],u=m(n);if(o){var l=n.project||i.getCurrentDirectory(),d=e.normalizePath(e.combinePaths(l,o));v(t,d,u,i,void 0,c),s&&h(c,t,d,u.extensions,s,i)}for(var p=D(t),f=0,g=function(t,r,n){var i=n.getAmbientModules().map((function(t){return e.stripQuotes(t.name)})).filter((function(r){return e.startsWith(r,t)}));if(void 0!==r){var a=e.ensureTrailingDirectorySeparator(r);return i.map((function(t){return e.removePrefix(t,a)}))}return i}(t,p,a);f=e.pos&&r<=e.end}));if(s){var c=t.text.slice(s.pos,r),u=S.exec(c);if(u){var l=u[1],d=u[2],_=u[3],p=e.getDirectoryPath(t.path),g="path"===d?v(_,p,m(n,1),i,t.path):"types"===d?b(i,n,p,D(_),m(n)):e.Debug.fail();return f(_,s.pos+l.length,g)}}}(r,n,o,s);return _&&i(_)}if(e.isInString(r,n,a)){if(!a||!e.isStringLiteralLike(a))return;return function(r,n,a,o,s,c,u,l){if(void 0!==r){var d=e.createTextSpanFromStringLiteralLikeContent(n);switch(r.kind){case 0:return i(r.paths);case 1:var _=[];return t.getCompletionEntriesFromSymbols(r.symbols,_,n,n,a,a,o,s,99,c,4,l,u),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:r.hasIndexSignature,optionalReplacementSpan:d,entries:_};case 2:return _=r.types.map((function(r){return{name:r.value,kindModifiers:"",kind:"string",sortText:t.SortText.LocationPriority,replacementSpan:e.getReplacementSpanForContextToken(n)}})),{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:r.isNewIdentifier,optionalReplacementSpan:d,entries:_};default:return e.Debug.assertNever(r)}}}(_=c(r,a,n,u.getTypeChecker(),o,s,d),a,r,s,u,l,o,d)}},n.getStringLiteralCompletionDetails=function(r,n,i,o,s,u,l,d,_){if(o&&e.isStringLiteralLike(o)){var p=c(n,o,i,s,u,l,_);return p&&function(r,n,i,o,s,c){switch(i.kind){case 0:return(u=e.find(i.paths,(function(e){return e.name===r})))&&t.createCompletionDetails(r,a(u.extension),u.kind,[e.textPart(r)]);case 1:var u=e.find(i.symbols,(function(e){return e.name===r}));return u&&t.createCompletionDetailsForSymbol(u,s,o,n,c);case 2:return e.find(i.types,(function(e){return e.value===r}))?t.createCompletionDetails(r,"","type",[e.textPart(r)]):void 0;default:return e.Debug.assertNever(i)}}(r,o,p,n,s,d)}},function(e){e[e.Paths=0]="Paths",e[e.Properties=1]="Properties",e[e.Types=2]="Types"}(o||(o={})),function(e){e[e.Exclude=0]="Exclude",e[e.Include=1]="Include",e[e.ModuleSpecifierCompletion=2]="ModuleSpecifierCompletion"}(s||(s={}));var S=/^(\/\/\/\s*=t.pos;case 24:case 22:return 201===i;case 58:return 202===i;case 20:return 291===i||Se(i);case 18:return 259===i;case 29:return 256===i||225===i||257===i||258===i||e.isFunctionLikeKind(i);case 124:return 166===i&&!e.isClassLike(r.parent);case 25:return 163===i||!!r.parent&&201===r.parent.kind;case 123:case 121:case 122:return 163===i&&!e.isConstructorDeclaration(r.parent);case 127:return 269===i||274===i||267===i;case 136:case 148:return!ee(t);case 79:if(269===i&&t===r.name&&"type"===t.text)return!1;break;case 84:case 92:case 118:case 98:case 113:case 100:case 119:case 85:case 137:return!0;case 151:return 269!==i;case 41:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(H(Y(t))&&ee(t))return!1;if(xe(t)&&(!e.isIdentifier(t)||e.isParameterPropertyModifier(Y(t))||ke(t)))return!1;switch(Y(t)){case 126:case 84:case 85:case 135:case 92:case 98:case 118:case 119:case 121:case 122:case 123:case 124:case 113:return!0;case 131:return e.isPropertyDeclaration(t.parent)}if(e.findAncestor(t.parent,e.isClassLike)&&t===S&&be(t,a))return!1;var o=e.getAncestor(t.parent,166);if(o&&t!==S&&e.isClassLike(S.parent.parent)&&a<=S.end){if(be(t,S.end))return!1;if(63!==t.kind&&(e.isInitializedProperty(o)||e.hasType(o)))return!0}return e.isDeclarationName(t)&&!e.isShorthandPropertyAssignment(t.parent)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==S||a>S.end))}(t)||function(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}(t)||function(e){if(11===e.kind)return!0;if(31===e.kind&&e.parent){if(279===e.parent.kind)return 279!==O.parent.kind;if(280===e.parent.kind||278===e.parent.kind)return!!e.parent.parent&&277===e.parent.parent.kind}return!1}(t)||e.isBigIntLiteral(t);return r("getCompletionsAtPosition: isCompletionListBlocker: "+(e.timestamp()-i)),o}(T))return r("Returning an empty list because completion was requested in an invalid position."),M?v(M,x,De()):void 0;var J=T.parent;if(24===T.kind||28===T.kind)switch(A=24===T.kind,F=28===T.kind,J.kind){case 205:k=(C=J).expression;var K=e.getLeftmostAccessExpression(C);if(e.nodeIsMissing(K)||(e.isCallExpression(k)||e.isFunctionLike(k))&&k.end===T.pos&&k.getChildCount(n)&&21!==e.last(k.getChildren(n)).kind)return;break;case 160:k=J.left;break;case 260:k=J.name;break;case 199:k=J;break;case 230:k=J.getFirstToken(n),e.Debug.assert(100===k.kind||103===k.kind);break;default:return}else if(!E&&1===n.languageVariant){if(J&&205===J.kind&&(T=J,J=J.parent),_.parent===O)switch(_.kind){case 31:277!==_.parent.kind&&279!==_.parent.kind||(O=_);break;case 43:278===_.parent.kind&&(O=_)}switch(J.kind){case 280:43===T.kind&&(P=!0,O=T);break;case 220:if(!te(J))break;case 278:case 277:case 279:I=!0,29===T.kind&&(N=!0,O=T);break;case 287:case 286:19===S.kind&&31===_.kind&&(I=!0);break;case 284:if(J.initializer===S&&S.end0&&(G=e.concatenate(G,function(t,r){if(0===r.length)return t;for(var n=new e.Set,i=new e.Set,a=0,o=r;a");return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:e.createTextSpanFromNode(i.tagName),entries:[{name:o,kind:"class",kindModifiers:void 0,sortText:r.LocationPriority}]}}return}(f,t);if(P)return P}var I=[];if(D(t,a)){var O=w(u,I,void 0,l,f,t,n,i,e.getEmitScriptTarget(a),o,d,c,a,C,g,E,T,k,b,v,F);!function(t,n,i,a,o){e.getNameTable(t).forEach((function(t,s){if(t!==n){var c=e.unescapeLeadingUnderscores(s);!i.has(c)&&e.isIdentifierText(c,a)&&(i.add(c),o.push({name:c,kind:"warning",kindModifiers:"",sortText:r.JavascriptIdentifiers,isFromUncheckedFile:!0}))}}))}(t,f.pos,O,e.getEmitScriptTarget(a),I)}else{if(!(p||u&&0!==u.length||0!==m))return;w(u,I,void 0,l,f,t,n,i,e.getEmitScriptTarget(a),o,d,c,a,C,g,E,T,k,b,v,F)}if(0!==m)for(var M=new e.Set(I.map((function(e){return e.name}))),L=0,R=V(m,!A&&e.isSourceFileJS(t));L=0&&!u(r,n[i],115);i--);return e.forEach(a(t.statement),(function(e){s(t,e)&&u(r,e.getFirstToken(),81,86)})),r}function d(e){var t=c(e);if(t)switch(t.kind){case 241:case 242:case 243:case 239:case 240:return l(t);case 248:return _(t)}}function _(t){var r=[];return u(r,t.getFirstToken(),107),e.forEach(t.caseBlock.clauses,(function(n){u(r,n.getFirstToken(),82,88),e.forEach(a(n),(function(e){s(t,e)&&u(r,e.getFirstToken(),81)}))})),r}function p(t,r){var n=[];(u(n,t.getFirstToken(),111),t.catchClause&&u(n,t.catchClause.getFirstToken(),83),t.finallyBlock)&&u(n,e.findChildOfKind(t,96,r),96);return n}function f(t,r){var n=function(t){for(var r=t;r.parent;){var n=r.parent;if(e.isFunctionBlock(n)||303===n.kind)return n;if(e.isTryStatement(n)&&n.tryBlock===r&&n.catchClause)return r;r=n}}(t);if(n){var a=[];return e.forEach(i(n),(function(t){a.push(e.findChildOfKind(t,109,r))})),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,(function(t){a.push(e.findChildOfKind(t,105,r))})),a}}function g(t,r){var n=e.getContainingFunction(t);if(n){var a=[];return e.forEachReturnStatement(e.cast(n.body,e.isBlock),(function(t){a.push(e.findChildOfKind(t,105,r))})),e.forEach(i(n.body),(function(t){a.push(e.findChildOfKind(t,109,r))})),a}}function m(t){var r=e.getContainingFunction(t);if(r){var n=[];return r.modifiers&&r.modifiers.forEach((function(e){u(n,e,131)})),e.forEachChild(r,(function(t){y(t,(function(t){e.isAwaitExpression(t)&&u(n,t.getFirstToken(),132)}))})),n}}function y(t,r){r(t),e.isFunctionLike(t)||e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isModuleDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isTypeNode(t)||e.forEachChild(t,(function(e){return y(e,r)}))}t.getDocumentHighlights=function(t,i,a,o,s){var c=e.getTouchingPropertyName(a,o);if(c.parent&&(e.isJsxOpeningElement(c.parent)&&c.parent.tagName===c||e.isJsxClosingElement(c.parent))){var v=c.parent.parent,h=[v.openingElement,v.closingElement].map((function(e){return n(e.tagName,a)}));return[{fileName:a.fileName,highlightSpans:h}]}return function(t,r,n,i,a){var o=new e.Set(a.map((function(e){return e.fileName}))),s=e.FindAllReferences.getReferenceEntriesForNode(t,r,n,a,i,void 0,o);if(!s)return;var c=e.arrayToMultiMap(s.map(e.FindAllReferences.toHighlightSpan),(function(e){return e.fileName}),(function(e){return e.span})),u=e.createGetCanonicalFileName(n.useCaseSensitiveFileNames());return e.mapDefined(e.arrayFrom(c.entries()),(function(t){var r=t[0],i=t[1];if(!o.has(r)){if(!n.redirectTargetsMap.has(e.toPath(r,n.getCurrentDirectory(),u)))return;var s=n.getSourceFile(r);r=e.find(a,(function(e){return!!e.redirectInfo&&e.redirectInfo.redirectTarget===s})).fileName,e.Debug.assert(o.has(r))}return{fileName:r,highlightSpans:i}}))}(o,c,t,i,s)||function(t,i){var a=function(t,i){switch(t.kind){case 99:case 91:return e.isIfStatement(t.parent)?function(t,r){for(var i=function(t,r){var n=[];for(;e.isIfStatement(t.parent)&&t.parent.elseStatement===t;)t=t.parent;for(;;){var i=t.getChildren(r);u(n,i[0],99);for(var a=i.length-1;a>=0&&!u(n,i[a],91);a--);if(!t.elseStatement||!e.isIfStatement(t.elseStatement))break;t=t.elseStatement}return n}(t,r),a=[],o=0;o=s.end;d--)if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(d))){l=!1;break}if(l){a.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(s.getStart(),c.end),kind:"reference"}),o++;continue}}a.push(n(i[o],r))}return a}(t.parent,i):void 0;case 105:return c(t.parent,e.isReturnStatement,g);case 109:return c(t.parent,e.isThrowStatement,f);case 111:case 83:case 96:return c(83===t.kind?t.parent.parent:t.parent,e.isTryStatement,p);case 107:return c(t.parent,e.isSwitchStatement,_);case 82:case 88:return e.isDefaultClause(t.parent)||e.isCaseClause(t.parent)?c(t.parent.parent.parent,e.isSwitchStatement,_):void 0;case 81:case 86:return c(t.parent,e.isBreakOrContinueStatement,d);case 97:case 115:case 90:return c(t.parent,(function(t){return e.isIterationStatement(t,!0)}),l);case 134:return s(e.isConstructorDeclaration,[134]);case 136:case 148:return s(e.isAccessor,[136,148]);case 132:return c(t.parent,e.isAwaitExpression,m);case 131:return v(m(t));case 125:return v(function(t){var r=e.getContainingFunction(t);if(!r)return;var n=[];return e.forEachChild(r,(function(t){y(t,(function(t){e.isYieldExpression(t)&&u(n,t.getFirstToken(),125)}))})),n}(t));default:return e.isModifierKind(t.kind)&&(e.isDeclaration(t.parent)||e.isVariableStatement(t.parent))?v((a=t.kind,o=t.parent,e.mapDefined(function(t,n){var i=t.parent;switch(i.kind){case 261:case 303:case 234:case 288:case 289:return 128&n&&e.isClassDeclaration(t)?r(r([],t.members,!0),[t],!1):i.statements;case 170:case 168:case 255:return r(r([],i.parameters,!0),e.isClassLike(i.parent)?i.parent.members:[],!0);case 256:case 225:case 257:case 181:var a=i.members;if(92&n){var o=e.find(i.members,e.isConstructorDeclaration);if(o)return r(r([],a,!0),o.parameters,!0)}else if(128&n)return r(r([],a,!0),[i],!1);return a;case 204:return;default:e.Debug.assertNever(i,"Invalid container kind.")}}(o,e.modifierToFlag(a)),(function(t){return e.findModifier(t,a)})))):void 0}var a,o;function s(r,n){return c(t.parent,r,(function(t){return e.mapDefined(t.symbol.declarations,(function(t){return r(t)?e.find(t.getChildren(i),(function(t){return e.contains(n,t.kind)})):void 0}))}))}function c(e,t,r){return t(e)?v(r(e,i)):void 0}function v(e){return e&&e.map((function(e){return n(e,i)}))}}(t,i);return a&&[{fileName:i.fileName,highlightSpans:a}]}(c,a)}}(e.DocumentHighlights||(e.DocumentHighlights={}))}(c||(c={})),function(e){function t(e){return!!e.sourceFile}function r(r,i,a){void 0===i&&(i="");var o=new e.Map,s=e.createGetCanonicalFileName(!!r);function c(e,t,r,n,i,a,o){return d(e,t,r,n,i,a,!0,o)}function u(e,t,r,n,i,a,o){return d(e,t,r,n,i,a,!1,o)}function l(r,n){var i=t(r)?r:r.get(e.Debug.checkDefined(n,"If there are more than one scriptKind's for same document the scriptKind should be provided"));return e.Debug.assert(void 0===n||!i||i.sourceFile.scriptKind===n,"Script kind should match provided ScriptKind:".concat(n," and sourceFile.scriptKind: ").concat(null==i?void 0:i.sourceFile.scriptKind,", !entry: ").concat(!i)),i}function d(r,n,i,s,c,u,d,_){var p=6===(_=e.ensureScriptKind(r,_))?100:e.getEmitScriptTarget(i),f=e.getOrUpdate(o,s,(function(){return new e.Map})),g=f.get(n),m=g&&l(g,_);!m&&a&&((y=a.getDocument(s,n))&&(e.Debug.assert(d),m={sourceFile:y,languageServiceRefCount:0},v()));if(m)m.sourceFile.version!==u&&(m.sourceFile=e.updateLanguageServiceSourceFile(m.sourceFile,c,u,c.getChangeRange(m.sourceFile.scriptSnapshot)),a&&a.setDocument(s,n,m.sourceFile)),d&&m.languageServiceRefCount++;else{var y=e.createLanguageServiceSourceFile(r,c,p,u,!1,_);a&&a.setDocument(s,n,y),m={sourceFile:y,languageServiceRefCount:1},v()}return e.Debug.assert(0!==m.languageServiceRefCount),m.sourceFile;function v(){if(g)if(t(g)){var r=new e.Map;r.set(g.sourceFile.scriptKind,g),r.set(_,m),f.set(n,r)}else g.set(_,m);else f.set(n,m)}}function _(r,n,i){var a=e.Debug.checkDefined(o.get(n)),s=a.get(r),c=l(s,i);c.languageServiceRefCount--,e.Debug.assert(c.languageServiceRefCount>=0),0===c.languageServiceRefCount&&(t(s)?a.delete(r):(s.delete(i),1===s.size&&a.set(r,e.firstDefinedIterator(s.values(),e.identity))))}return{acquireDocument:function(t,r,a,o,u){return c(t,e.toPath(t,i,s),r,n(r),a,o,u)},acquireDocumentWithKey:c,updateDocument:function(t,r,a,o,c){return u(t,e.toPath(t,i,s),r,n(r),a,o,c)},updateDocumentWithKey:u,releaseDocument:function(t,r,a){return _(e.toPath(t,i,s),n(r),a)},releaseDocumentWithKey:_,getLanguageServiceRefCounts:function(t,r){return e.arrayFrom(o.entries(),(function(e){var n=e[0],i=e[1].get(t),a=i&&l(i,r);return[n,a&&a.languageServiceRefCount]}))},reportStats:function(){var r=e.arrayFrom(o.keys()).filter((function(e){return e&&"_"===e.charAt(0)})).map((function(e){var r=o.get(e),n=[];return r.forEach((function(e,r){t(e)?n.push({name:r,scriptKind:e.sourceFile.scriptKind,refCount:e.languageServiceRefCount}):e.forEach((function(e,t){return n.push({name:r,scriptKind:t,refCount:e.languageServiceRefCount})}))})),n.sort((function(e,t){return t.refCount-e.refCount})),{bucket:e,sourceFiles:n}}));return JSON.stringify(r,void 0,2)},getKeyForCompilationSettings:n}}function n(t){return e.sourceFileAffectingCompilerOptions.map((function(r){return e.getCompilerOptionValue(t,r)})).join("|")}e.createDocumentRegistry=function(e,t){return r(e,t)},e.createDocumentRegistryInternal=r}(c||(c={})),function(e){!function(t){var r,i;function a(t,r){return e.forEach(303===t.kind?t.statements:t.body.statements,(function(t){return r(t)||l(t)&&e.forEach(t.body&&t.body.statements,r)}))}function o(t,r){if(t.externalModuleIndicator||void 0!==t.imports)for(var n=0,i=t.imports;n=0&&!(c>n.end);){var u=c+s;0!==c&&e.isIdentifierPart(a.charCodeAt(c-1),99)||u!==o&&e.isIdentifierPart(a.charCodeAt(u),99)||i.push(c),c=a.indexOf(r,c+s+1)}return i}function S(t,r){var n=t.getSourceFile(),i=r.text,a=e.mapDefined(D(n,i,t),(function(t){return t===r||e.isJumpStatementTarget(t)&&e.getTargetLabel(t,i)===r?c(t):void 0}));return[{definition:{type:1,node:r},references:a}]}function T(e,t,r,n){return void 0===n&&(n=!0),r.cancellationToken.throwIfCancellationRequested(),C(e,e,t,r,n)}function C(e,t,r,n,i){if(n.markSearchedSymbols(t,r.allSearchSymbols))for(var a=0,o=b(t,r.text,e);a0;o--){b(t,i=n[o])}return[n.length-1,n[0]]}function b(e,t){var r=v(e,t);g(o,r),u.push(o),l.push(s),s=void 0,o=r}function S(){o.children&&(A(o.children,o),O(o.children)),o=u.pop(),s=l.pop()}function T(e,t,r){b(e,r),k(t),S()}function C(t){t.initializer&&function(e){switch(e.kind){case 213:case 212:case 225:return!0;default:return!1}}(t.initializer)?(b(t),e.forEachChild(t.initializer,k),S()):T(t,t.initializer)}function E(t){return!e.hasDynamicName(t)||220!==t.kind&&e.isPropertyAccessExpression(t.name.expression)&&e.isIdentifier(t.name.expression.expression)&&"Symbol"===e.idText(t.name.expression.expression)}function k(t){var r;if(i.throwIfCancellationRequested(),t&&!e.isToken(t))switch(t.kind){case 170:var n=t;T(n,n.body);for(var a=0,o=n.parameters;a0&&(b(J,L),e.forEachChild(J.right,k),S()):e.isFunctionExpression(J.right)||e.isArrowFunction(J.right)?T(t,J.right,L):(b(J,L),T(t,J.right,I.name),S()),void D(M);case 7:case 9:var R=t,B=(L=7===w?R.arguments[0]:R.arguments[0].expression,R.arguments[1]),j=x(t,L);M=j[0];return b(t,j[1]),b(t,e.setTextRange(e.factory.createIdentifier(B.text),B)),k(t.arguments[2]),S(),S(),void D(M);case 5:var J,K=(I=(J=t).left).expression;if(e.isIdentifier(K)&&"prototype"!==e.getElementOrPropertyAccessName(I)&&s&&s.has(K.text))return void(e.isFunctionExpression(J.right)||e.isArrowFunction(J.right)?T(t,J.right,K):e.isBindableStaticAccessExpression(I)&&(b(J,K),T(J.left,J.right,e.getNameOrArgument(I)),S()));break;case 4:case 0:case 8:break;default:e.Debug.assertNever(w)}default:e.hasJSDocNodes(t)&&e.forEach(t.jsDoc,(function(t){e.forEach(t.tags,(function(t){e.isJSDocTypeAlias(t)&&y(t)}))})),e.forEachChild(t,k)}}function A(t,r){var n=new e.Map;e.filterMutate(t,(function(t,i){var a=t.name||e.getNameOfDeclaration(t.node),o=a&&p(a);if(!o)return!0;var s=n.get(o);if(!s)return n.set(o,t),!0;if(s instanceof Array){for(var c=0,u=s;c0)return Y(n)}switch(t.kind){case 303:var i=t;return e.isExternalModule(i)?'"'.concat(e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName)))),'"'):"";case 270:return e.isExportAssignment(t)&&t.isExportEquals?"export=":"default";case 213:case 255:case 212:case 256:case 225:return 512&e.getSyntacticModifierFlags(t)?"default":H(t);case 170:return"constructor";case 174:return"new()";case 173:return"()";case 175:return"[]";default:return""}}function B(t){return{text:R(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:W(t.node),spans:J(t),nameSpan:t.name&&q(t.name),childItems:e.map(t.children,B)}}function j(t){return{text:R(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:W(t.node),spans:J(t),childItems:e.map(t.children,(function(t){return{text:R(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:e.getNodeModifiers(t.node),spans:J(t),childItems:d,indent:0,bolded:!1,grayed:!1}}))||d,indent:t.indent,bolded:!1,grayed:!1}}function J(e){var t=[q(e.node)];if(e.additionalNodes)for(var r=0,n=e.additionalNodes;r0)return Y(e.declarationNameToString(t.name));if(e.isVariableDeclaration(r))return Y(e.declarationNameToString(r.name));if(e.isBinaryExpression(r)&&63===r.operatorToken.kind)return p(r.left).replace(c,"");if(e.isPropertyAssignment(r))return p(r.name);if(512&e.getSyntacticModifierFlags(t))return"default";if(e.isClassLike(t))return"";if(e.isCallExpression(r)){var n=G(r.expression);if(void 0!==n){if((n=Y(n)).length>150)return"".concat(n," callback");var i=Y(e.mapDefined(r.arguments,(function(t){return e.isStringLiteralLike(t)?t.getText(a):void 0})).join(", "));return"".concat(n,"(").concat(i,") callback")}}return""}function G(t){if(e.isIdentifier(t))return t.text;if(e.isPropertyAccessExpression(t)){var r=G(t.expression),n=t.name.text;return void 0===r?n:"".concat(r,".").concat(n)}}function Y(e){return(e=e.length>150?e.substring(0,150)+"...":e).replace(/\\?(\r?\n|\r|\u2028|\u2029)/g,"")}}(e.NavigationBar||(e.NavigationBar={}))}(c||(c={})),function(e){!function(t){function r(t,r){var n=e.isStringLiteral(r)&&r.text;return e.isString(n)&&e.some(t.moduleAugmentations,(function(t){return e.isStringLiteral(t)&&t.text===n}))}function n(t){return void 0!==t&&e.isStringLiteralLike(t)?t.text:void 0}function i(t){var r;if(0===t.length)return t;var n=function(t){for(var r,n={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]},a=0,o=t;a0?g[0]:y[0],k=0===C.length?x?void 0:e.factory.createNamedImports(e.emptyArray):0===y.length?e.factory.createNamedImports(C):e.factory.updateNamedImports(y[0].importClause.namedBindings,C);f&&x&&k?(u.push(o(E,x,void 0)),u.push(o(null!==(r=y[0])&&void 0!==r?r:E,void 0,k))):u.push(o(E,x,k))}}else{var A=g[0];u.push(o(A,A.importClause.name,m[0].importClause.namedBindings))}}return u}function a(t){if(0===t.length)return t;var r=function(e){for(var t,r=[],n=[],i=0,a=e;i...")}function d(t){var n=e.createTextSpanFromBounds(t.openingFragment.getStart(r),t.closingFragment.getEnd());return u(n,"code",n,!1,"<>...")}function _(e){if(0!==e.properties.length)return s(e.getStart(r),e.getEnd(),"code")}function p(e){if(14!==e.kind||0!==e.text.length)return s(e.getStart(r),e.getEnd(),"code")}function f(t,r){return void 0===r&&(r=18),g(t,!1,!e.isArrayLiteralExpression(t.parent)&&!e.isCallExpression(t.parent),r)}function g(n,i,a,o,s){void 0===i&&(i=!1),void 0===a&&(a=!0),void 0===o&&(o=18),void 0===s&&(s=18===o?19:23);var u=e.findChildOfKind(t,o,r),l=e.findChildOfKind(t,s,r);return u&&l&&c(u,l,n,r,i,a)}function m(t){return t.length?u(e.createTextSpanFromRange(t),"code"):void 0}}(r,t);_&&i.push(_),l--,e.isCallExpression(r)?(l++,m(r.expression),l--,r.arguments.forEach(m),null===(d=r.typeArguments)||void 0===d||d.forEach(m)):e.isIfStatement(r)&&r.elseStatement&&e.isIfStatement(r.elseStatement)?(m(r.expression),m(r.thenStatement),l++,m(r.elseStatement),l--):r.forEachChild(m),l++}}}(t,n,l),function(t,r){for(var n=[],a=t.getLineStarts(),o=0,s=a;o1&&a.push(s(c,u,"comment"))}}function o(t,r,n,i){e.isJsxText(t)||a(t.pos,r,n,i)}function s(t,r,n){return u(e.createTextSpanFromBounds(t,r),n)}function c(t,r,n,i,a,o){return void 0===a&&(a=!1),void 0===o&&(o=!0),u(e.createTextSpanFromBounds(o?t.getFullStart():t.getStart(i),r.getEnd()),"code",e.createTextSpanFromNode(n,i),a)}function u(e,t,r,n,i){return void 0===r&&(r=e),void 0===n&&(n=!1),void 0===i&&(i="..."),{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(c||(c={})),function(e){var t;function r(e,t){return{kind:e,isCaseSensitive:t}}function n(e,t){var r=t.get(e);return r||t.set(e,r=v(e)),r}function i(i,a,o){var s=function(e,t){for(var r=e.length-t.length,n=function(r){if(C(t,(function(t,n){return _(e.charCodeAt(n+r))===t})))return{value:r}},i=0;i<=r;i++){var a=n(i);if("object"==typeof a)return a.value}return-1}(i,a.textLowerCase);if(0===s)return r(a.text.length===i.length?t.exact:t.prefix,e.startsWith(i,a.text));if(a.isLowerCase){if(-1===s)return;for(var d=0,p=n(i,o);d0)return r(t.substring,!0);if(a.characterSpans.length>0){var g=n(i,o),m=!!u(i,g,a,!1)||!u(i,g,a,!0)&&void 0;if(void 0!==m)return r(t.camelCase,m)}}}function a(e,t,r){if(C(t.totalTextChunk.text,(function(e){return 32!==e&&42!==e}))){var n=i(e,t.totalTextChunk,r);if(n)return n}for(var a,s=0,c=t.subWordTextChunks;s=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toUpperCase()}function d(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toLowerCase()}function _(e){return e>=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function p(e){return e>=48&&e<=57}function f(e){return l(e)||d(e)||p(e)||95===e||36===e}function g(e){for(var t=[],r=0,n=0,i=0;i0&&(t.push(m(e.substr(r,n))),n=0)}return n>0&&t.push(m(e.substr(r,n))),t}function m(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:y(e)}}function y(e){return h(e,!1)}function v(e){return h(e,!0)}function h(t,r){for(var n=[],i=0,a=1;at.length)return;for(var c=n.length-2,u=t.length-1;c>=0;c-=1,u-=1)s=o(s,a(t[u],n[c],i));return s}(t,i,n,r)},getMatchForLastSegmentOfPattern:function(t){return a(t,e.last(n),r)},patternContainsDots:n.length>1}},e.breakIntoCharacterSpans=y,e.breakIntoWordSpans=v}(c||(c={})),function(e){e.preProcessFile=function(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=!1);var i,a,o,s={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},c=[],u=0,l=!1;function d(){return a=o,18===(o=e.scanner.scan())?u++:19===o&&u--,o}function _(){var t=e.scanner.getTokenValue(),r=e.scanner.getTokenPos();return{fileName:t,pos:r,end:r+t.length}}function p(){c.push(_()),f()}function f(){0===u&&(l=!0)}function g(){var t=e.scanner.getToken();return 135===t&&(141===(t=d())&&10===(t=d())&&(i||(i=[]),i.push({ref:_(),depth:u})),!0)}function m(){if(24===a)return!1;var t=e.scanner.getToken();if(100===t){if(20===(t=d())){if(10===(t=d())||14===t)return p(),!0}else{if(10===t)return p(),!0;if(151===t){var r=e.scanner.lookAhead((function(){var t=e.scanner.scan();return 155!==t&&(41===t||18===t||79===t||e.isKeyword(t))}));r&&(t=d())}if(79===t||e.isKeyword(t))if(155===(t=d())){if(10===(t=d()))return p(),!0}else if(63===t){if(v(!0))return!0}else{if(27!==t)return!0;t=d()}if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&155===(t=d())&&10===(t=d())&&p()}else 41===t&&127===(t=d())&&(79===(t=d())||e.isKeyword(t))&&155===(t=d())&&10===(t=d())&&p()}return!0}return!1}function y(){var t=e.scanner.getToken();if(93===t){if(f(),151===(t=d())){var r=e.scanner.lookAhead((function(){var t=e.scanner.scan();return 41===t||18===t}));r&&(t=d())}if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&155===(t=d())&&10===(t=d())&&p()}else if(41===t)155===(t=d())&&10===(t=d())&&p();else if(100===t){if(151===(t=d())){r=e.scanner.lookAhead((function(){var t=e.scanner.scan();return 79===t||e.isKeyword(t)}));r&&(t=d())}if((79===t||e.isKeyword(t))&&63===(t=d())&&v(!0))return!0}return!0}return!1}function v(t,r){void 0===r&&(r=!1);var n=t?d():e.scanner.getToken();return 145===n&&(20===(n=d())&&(10===(n=d())||r&&14===n)&&p(),!0)}function h(){var t=e.scanner.getToken();if(79===t&&"define"===e.scanner.getTokenValue()){if(20!==(t=d()))return!0;if(10===(t=d())||14===t){if(27!==(t=d()))return!0;t=d()}if(22!==t)return!0;for(t=d();23!==t&&1!==t;)10!==t&&14!==t||p(),t=d();return!0}return!1}if(r&&function(){for(e.scanner.setText(t),d();1!==e.scanner.getToken();)g()||m()||y()||n&&(v(!1,!0)||h())||d();e.scanner.setText(void 0)}(),e.processCommentPragmas(s,t),e.processPragmasIntoFields(s,e.noop),l){if(i)for(var D=0,x=i;Dt)break e;var v=e.singleOrUndefined(e.getTrailingCommentRanges(i.text,m.end));if(v&&2===v.kind&&S(v.pos,v.end),r(i,t,m)){if(e.isBlock(m)||e.isTemplateSpan(m)||e.isTemplateHead(m)||e.isTemplateTail(m)||g&&e.isTemplateHead(g)||e.isVariableDeclarationList(m)&&e.isVariableStatement(_)||e.isSyntaxList(m)&&e.isVariableDeclarationList(_)||e.isVariableDeclaration(m)&&e.isSyntaxList(_)&&1===p.length||e.isJSDocTypeExpression(m)||e.isJSDocSignature(m)||e.isJSDocTypeLiteral(m)){_=m;break}if(e.isTemplateSpan(_)&&y&&e.isTemplateMiddleOrTemplateTail(y))b(m.getFullStart()-"${".length,y.getStart()+"}".length);var h=e.isSyntaxList(m)&&(c=void 0,18===(c=(s=g)&&s.kind)||22===c||20===c||279===c)&&u(y)&&!e.positionsAreOnSameLine(g.getStart(),y.getStart(),i),D=h?g.getEnd():m.getStart(),x=h?y.getStart():l(i,m);e.hasJSDocNodes(m)&&(null===(o=m.jsDoc)||void 0===o?void 0:o.length)&&b(e.first(m.jsDoc).getStart(),x),b(D,x),(e.isStringLiteral(m)||e.isTemplateLiteral(m))&&b(D+1,x-1),_=m;break}if(f===p.length-1)break e}}return d;function b(r,i){if(r!==i){var a=e.createTextSpanFromBounds(r,i);(!d||!e.textSpansEqual(a,d.textSpan)&&e.textSpanIntersectsWithPosition(a,t))&&(d=n({textSpan:a},d&&{parent:d}))}}function S(e,t){b(e,t);for(var r=e;47===i.text.charCodeAt(r);)r++;b(r,t)}};var i=e.or(e.isImportDeclaration,e.isImportEqualsDeclaration);function a(t){if(e.isSourceFile(t))return o(t.getChildAt(0).getChildren(),i);if(e.isMappedTypeNode(t)){var r=t.getChildren(),n=r[0],a=r.slice(1),u=e.Debug.checkDefined(a.pop());e.Debug.assertEqual(n.kind,18),e.Debug.assertEqual(u.kind,19);var l=o(a,(function(e){return e===t.readonlyToken||144===e.kind||e===t.questionToken||57===e.kind})),d=o(l,(function(e){var t=e.kind;return 22===t||162===t||23===t}));return[n,c(s(d,(function(e){return 58===e.kind}))),u]}if(e.isPropertySignature(t))return s(a=o(t.getChildren(),(function(r){return r===t.name||e.contains(t.modifiers,r)})),(function(e){return 58===e.kind}));if(e.isParameter(t)){var _=o(t.getChildren(),(function(e){return e===t.dotDotDotToken||e===t.name}));return s(o(_,(function(e){return e===_[0]||e===t.questionToken})),(function(e){return 63===e.kind}))}return e.isBindingElement(t)?s(t.getChildren(),(function(e){return 63===e.kind})):t.getChildren()}function o(e,t){for(var r,n=[],i=0,a=e;i0&&27===e.last(r).kind&&n++;return n}(i);0!==a&&e.Debug.assertLessThan(a,o);var s=function(t,r){var n=t.getFullStart(),i=e.skipTrivia(r.text,t.getEnd(),!1);return e.createTextSpan(n,i-n)}(i,r);return{list:i,argumentIndex:a,argumentCount:o,argumentsSpan:s}}}function s(t,r,n){var i=t.parent;if(e.isCallOrNewExpression(i)){var a=i,s=o(t,n);if(!s)return;var c=s.list,u=s.argumentIndex,l=s.argumentCount,d=s.argumentsSpan;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===c.pos,invocation:{kind:0,node:a},argumentsSpan:d,argumentIndex:u,argumentCount:l}}if(e.isNoSubstitutionTemplateLiteral(t)&&e.isTaggedTemplateExpression(i))return e.isInsideTemplateLiteral(t,r,n)?_(i,0,n):void 0;if(e.isTemplateHead(t)&&209===i.parent.kind){var p=i,f=p.parent;return e.Debug.assert(222===p.kind),_(f,u=e.isInsideTemplateLiteral(t,r,n)?0:1,n)}if(e.isTemplateSpan(i)&&e.isTaggedTemplateExpression(i.parent.parent)){var g=i;f=i.parent.parent;if(e.isTemplateTail(t)&&!e.isInsideTemplateLiteral(t,r,n))return;u=function(t,r,n,i){if(e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralToken(r))return e.isInsideTemplateLiteral(r,n,i)?0:t+2;return t+1}(g.parent.templateSpans.indexOf(g),t,r,n);return _(f,u,n)}if(e.isJsxOpeningLikeElement(i)){var m=i.attributes.pos,y=e.skipTrivia(n.text,i.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:e.createTextSpan(m,y-m),argumentIndex:0,argumentCount:1}}var v=e.getPossibleTypeArgumentsInfo(t,n);if(v){var h=v.called,D=v.nTypeArguments;return{isTypeParameterList:!0,invocation:a={kind:1,called:h},argumentsSpan:d=e.createTextSpanFromBounds(h.getStart(n),t.end),argumentIndex:D,argumentCount:D+1}}}function c(t){return e.isBinaryExpression(t.parent)?c(t.parent):t}function u(t){return e.isBinaryExpression(t.left)?u(t.left)+1:2}function l(t){return"__type"===t.name&&e.firstDefined(t.declarations,(function(t){return e.isFunctionTypeNode(t)?t.parent.symbol:void 0}))||t}function d(e,t){for(var r=0,n=0,i=e.getChildren();n=0&&i.length>a+1),i[a+1]}function g(t){return 0===t.kind?e.getInvokedExpression(t.node):t.called}function m(e){return 0===e.kind?e.node:1===e.kind?e.called:e.node}!function(e){e[e.Call=0]="Call",e[e.TypeArgs=1]="TypeArgs",e[e.Contextual=2]="Contextual"}(n||(n={})),t.getSignatureHelpItems=function(t,r,n,i,d){var _=t.getTypeChecker(),p=e.findTokenOnLeftOfPosition(r,n);if(p){var f=!!i&&"characterTyped"===i.kind;if(!f||!e.isInString(r,n,p)&&!e.isInComment(r,n)){var y=!!i&&"invoked"===i.kind,D=function(t,r,n,i,a){for(var d=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),"Not a subspan",(function(){return"Child: ".concat(e.Debug.formatSyntaxKind(t.kind),", parent: ").concat(e.Debug.formatSyntaxKind(t.parent.kind))}));var a=function(t,r,n,i){return function(t,r,n,i){var a=function(t,r,n){if(20!==t.kind&&27!==t.kind)return;var i=t.parent;switch(i.kind){case 211:case 168:case 212:case 213:var a=o(t,r);if(!a)return;var s=a.argumentIndex,l=a.argumentCount,d=a.argumentsSpan,_=e.isMethodDeclaration(i)?n.getContextualTypeForObjectLiteralElement(i):n.getContextualType(i);return _&&{contextualType:_,argumentIndex:s,argumentCount:l,argumentsSpan:d};case 220:var p=c(i),f=n.getContextualType(p),g=20===t.kind?0:u(i)-1,m=u(p);return f&&{contextualType:f,argumentIndex:g,argumentCount:m,argumentsSpan:e.createTextSpanFromNode(i)};default:return}}(t,n,i);if(!a)return;var s=a.contextualType,d=a.argumentIndex,_=a.argumentCount,p=a.argumentsSpan,f=s.getNonNullableType(),g=f.getCallSignatures();return 1!==g.length?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:e.first(g),node:t,symbol:l(f.symbol)},argumentsSpan:p,argumentIndex:d,argumentCount:_}}(t,0,n,i)||s(t,r,n)}(t,r,n,i);if(a)return{value:a}},_=t;!e.isSourceFile(_)&&(a||!e.isBlock(_));_=_.parent){var p=d(_);if("object"==typeof p)return p.value}return}(p,n,r,_,y);if(D){d.throwIfCancellationRequested();var x=function(t,r,n,i,o){var s=t.invocation,c=t.argumentCount;switch(s.kind){case 0:if(o&&!function(t,r,n){if(!e.isCallOrNewExpression(r))return!1;var i=r.getChildren(n);switch(t.kind){case 20:return e.contains(i,t);case 27:var o=e.findContainingList(t);return!!o&&e.contains(i,o);case 29:return a(t,n,r.expression);default:return!1}}(i,s.node,n))return;var u=[],l=r.getResolvedSignatureForSignatureHelp(s.node,u,c);return 0===u.length?void 0:{kind:0,candidates:u,resolvedSignature:l};case 1:var d=s.called;if(o&&!a(i,n,e.isIdentifier(d)?d.parent:d))return;if(0!==(u=e.getPossibleGenericSignatures(d,c,r)).length)return{kind:0,candidates:u,resolvedSignature:e.first(u)};var _=r.getSymbolAtLocation(d);return _&&{kind:1,symbol:_};case 2:return{kind:0,candidates:[s.signature],resolvedSignature:s.signature};default:return e.Debug.assertNever(s)}}(D,_,r,p,f);return d.throwIfCancellationRequested(),x?_.runWithCancellationToken(d,(function(e){return 0===x.kind?v(x.candidates,x.resolvedSignature,D,r,e):function(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex,c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return c?{items:[h(e,c,n,m(o),r)],applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}:void 0}(x.symbol,D,r,e)})):e.isSourceFileJS(r)?function(t,r,n){if(2===t.invocation.kind)return;var i=g(t.invocation),a=e.isPropertyAccessExpression(i)?i.name.text:void 0,o=r.getTypeChecker();return void 0===a?void 0:e.firstDefined(r.getSourceFiles(),(function(r){return e.firstDefined(r.getNamedDeclarations().get(a),(function(e){var i=e.symbol&&o.getTypeOfSymbolAtLocation(e.symbol,e),a=i&&i.getCallSignatures();if(a&&a.length)return o.runWithCancellationToken(n,(function(e){return v(a,a[0],t,r,e,!0)}))}))}))}(D,t,d):void 0}}}},function(e){e[e.Candidate=0]="Candidate",e[e.Type=1]="Type"}(i||(i={})),t.getArgumentInfoForCompletions=function(e,t,r){var n=s(e,t,r);return!n||n.isTypeParameterList||0!==n.invocation.kind?void 0:{invocation:n.invocation.node,argumentCount:n.argumentCount,argumentIndex:n.argumentIndex}};var y=70246400;function v(t,n,i,a,o,s){var c,u=i.isTypeParameterList,l=i.argumentCount,d=i.argumentsSpan,_=i.invocation,p=i.argumentIndex,f=m(_),y=2===_.kind?_.symbol:o.getSymbolAtLocation(g(_))||s&&(null===(c=n.declaration)||void 0===c?void 0:c.symbol),v=y?e.symbolToDisplayParts(o,y,s?a:void 0,void 0):e.emptyArray,h=e.map(t,(function(t){return function(t,n,i,a,o,s){var c=(i?x:b)(t,a,o,s);return e.map(c,(function(i){var s=i.isVariadic,c=i.parameters,u=i.prefix,l=i.suffix,d=r(r([],n,!0),u,!0),_=r(r([],l,!0),function(t,r,n){return e.mapToDisplayParts((function(e){e.writePunctuation(":"),e.writeSpace(" ");var i=n.getTypePredicateOfSignature(t);i?n.writeTypePredicate(i,r,void 0,e):n.writeType(n.getReturnTypeOfSignature(t),r,void 0,e)}))}(t,o,a),!0),p=t.getDocumentationComment(a),f=t.getJsDocTags();return{isVariadic:s,prefixDisplayParts:d,suffixDisplayParts:_,separatorDisplayParts:D,parameters:c,documentation:p,tags:f}}))}(t,v,u,o,f,a)}));0!==p&&e.Debug.assertLessThan(p,l);for(var S=0,T=0,C=0;C1))for(var k=0,A=0,F=E;A=l){S=T+k;break}k++}T+=E.length}e.Debug.assert(-1!==S);var P={items:e.flatMapToMutable(h,e.identity),applicableSpan:d,selectedItemIndex:S,argumentIndex:p,argumentCount:l},w=P.items[S];if(w.isVariadic){var I=e.findIndex(w.parameters,(function(e){return!!e.isRest}));-1t?e.substr(0,t-"...".length)+"...":e}function x(t){var r=e.createPrinter({removeComments:!0});return e.usingSingleLineStringWriter((function(i){var a=l.typeToTypeNode(t,void 0,71286784,i);e.Debug.assertIsDefined(a,"should always get typenode"),r.writeNode(4,a,n,i)}))}}}(e.InlayHints||(e.InlayHints={}))}(c||(c={})),function(e){var t=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;function r(t,r,n){var i=e.tryParseRawSourceMap(r);if(i&&i.sources&&i.file&&i.mappings&&(!i.sourcesContent||!i.sourcesContent.some(e.isString)))return e.createDocumentPositionMapper(t,i,n)}e.getSourceMapper=function(t){var r=e.createGetCanonicalFileName(t.useCaseSensitiveFileNames()),n=t.getCurrentDirectory(),i=new e.Map,a=new e.Map;return{tryGetSourcePosition:function t(r){if(!e.isDeclarationFileName(r.fileName))return;if(!c(r.fileName))return;var n=s(r.fileName).getSourcePosition(r);return n&&n!==r?t(n)||n:void 0},tryGetGeneratedPosition:function(i){if(e.isDeclarationFileName(i.fileName))return;var a=c(i.fileName);if(!a)return;var o=t.getProgram();if(o.isSourceOfProjectReferenceRedirect(a.fileName))return;var u=o.getCompilerOptions(),l=e.outFile(u),d=l?e.removeFileExtension(l)+".d.ts":e.getDeclarationEmitOutputFilePathWorker(i.fileName,o.getCompilerOptions(),n,o.getCommonSourceDirectory(),r);if(void 0===d)return;var _=s(d,i.fileName).getGeneratedPosition(i);return _===i?void 0:_},toLineColumnOffset:function(e,t){return l(e).getLineAndCharacterOfPosition(t)},clearCache:function(){i.clear(),a.clear()}};function o(t){return e.toPath(t,n,r)}function s(n,i){var s,c=o(n),u=a.get(c);if(u)return u;if(t.getDocumentPositionMapper)s=t.getDocumentPositionMapper(n,i);else if(t.readFile){var d=l(n);s=d&&e.getDocumentPositionMapper({getSourceFileLike:l,getCanonicalFileName:r,log:function(e){return t.log(e)}},n,e.getLineInfo(d.text,e.getLineStarts(d)),(function(e){return!t.fileExists||t.fileExists(e)?t.readFile(e):void 0}))}return a.set(c,s||e.identitySourceMapConsumer),s||e.identitySourceMapConsumer}function c(e){var r=t.getProgram();if(r){var n=o(e),i=r.getSourceFileByPath(n);return i&&i.resolvedPath===n?i:void 0}}function u(r){var n=o(r),a=i.get(n);if(void 0!==a)return a||void 0;if(t.readFile&&(!t.fileExists||t.fileExists(n))){var s=t.readFile(n),c=!!s&&function(t,r){return{text:t,lineMap:r,getLineAndCharacterOfPosition:function(t){return e.computeLineAndCharacterOfPosition(e.getLineStarts(this),t)}}}(s);return i.set(n,c),c||void 0}i.set(n,!1)}function l(e){return t.getSourceFileLike?t.getSourceFileLike(e):c(e)||u(e)}},e.getDocumentPositionMapper=function(n,i,a,o){var s=e.tryGetSourceMappingURL(a);if(s){var c=t.exec(s);if(c){if(c[1]){var u=c[1];return r(n,e.base64decode(e.sys,u),i)}s=void 0}}var l=[];s&&l.push(s),l.push(i+".map");for(var d=s&&e.getNormalizedAbsolutePath(s,e.getDirectoryPath(i)),_=0,p=l;_n)&&(t.arguments.length0?e.arrayFrom(n.values()).join(","):""},t.getSymbolDisplayPartsDocumentationAndSymbolKind=function t(a,o,s,c,u,l,d){var _;void 0===l&&(l=e.getMeaningFromLocation(u));var p,f,g,m,y=[],v=[],h=[],D=e.getCombinedLocalAndExportSymbolFlags(o),x=1&l?i(a,o,u):"",b=!1,S=108===u.kind&&e.isInExpressionContext(u),T=!1;if(108===u.kind&&!S)return{displayParts:[e.keywordPart(108)],documentation:[],symbolKind:"primitive type",tags:void 0};if(""!==x||32&D||2097152&D){"getter"!==x&&"setter"!==x||(x="property");var C=void 0;if(p=S?a.getTypeAtLocation(u):a.getTypeOfSymbolAtLocation(o,u),u.parent&&205===u.parent.kind){var E=u.parent.name;(E===u||E&&0===E.getFullWidth())&&(u=u.parent)}var k=void 0;if(e.isCallOrNewExpression(u)?k=u:(e.isCallExpressionTarget(u)||e.isNewExpressionTarget(u)||u.parent&&(e.isJsxOpeningLikeElement(u.parent)||e.isTaggedTemplateExpression(u.parent))&&e.isFunctionLike(o.valueDeclaration))&&(k=u.parent),k){C=a.getResolvedSignature(k);var A=208===k.kind||e.isCallExpression(k)&&106===k.expression.kind,F=A?p.getConstructSignatures():p.getCallSignatures();if(!C||e.contains(F,C.target)||e.contains(F,C)||(C=F.length?F[0]:void 0),C){switch(A&&32&D?(x="constructor",$(p.symbol,x)):2097152&D?(Z(x="alias"),y.push(e.spacePart()),A&&(4&C.flags&&(y.push(e.keywordPart(126)),y.push(e.spacePart())),y.push(e.keywordPart(103)),y.push(e.spacePart())),Q(o)):$(o,x),x){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":y.push(e.punctuationPart(58)),y.push(e.spacePart()),16&e.getObjectFlags(p)||!p.symbol||(e.addRange(y,e.symbolToDisplayParts(a,p.symbol,c,void 0,5)),y.push(e.lineBreakPart())),A&&(4&C.flags&&(y.push(e.keywordPart(126)),y.push(e.spacePart())),y.push(e.keywordPart(103)),y.push(e.spacePart())),ee(C,F,262144);break;default:ee(C,F)}b=!0,T=F.length>1}}else if(e.isNameOfFunctionDeclaration(u)&&!(98304&D)||134===u.kind&&170===u.parent.kind){var N=u.parent,P=o.declarations&&e.find(o.declarations,(function(e){return e===(134===u.kind?N.parent:N)}));if(P){F=170===N.kind?p.getNonNullableType().getConstructSignatures():p.getNonNullableType().getCallSignatures();C=a.isImplementationOfOverload(N)?F[0]:a.getSignatureFromDeclaration(N),170===N.kind?(x="constructor",$(p.symbol,x)):$(173!==N.kind||2048&p.symbol.flags||4096&p.symbol.flags?o:p.symbol,x),C&&ee(C,F),b=!0,T=F.length>1}}}if(32&D&&!b&&!S&&(Y(),e.getDeclarationOfKind(o,225)?Z("local class"):y.push(e.keywordPart(84)),y.push(e.spacePart()),Q(o),te(o,s)),64&D&&2&l&&(G(),y.push(e.keywordPart(118)),y.push(e.spacePart()),Q(o),te(o,s)),524288&D&&2&l&&(G(),y.push(e.keywordPart(151)),y.push(e.spacePart()),Q(o),te(o,s),y.push(e.spacePart()),y.push(e.operatorPart(63)),y.push(e.spacePart()),e.addRange(y,e.typeToDisplayParts(a,a.getDeclaredTypeOfSymbol(o),c,8388608))),384&D&&(G(),e.some(o.declarations,(function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)}))&&(y.push(e.keywordPart(85)),y.push(e.spacePart())),y.push(e.keywordPart(92)),y.push(e.spacePart()),Q(o)),1536&D&&!S){G();var w=(q=e.getDeclarationOfKind(o,260))&&q.name&&79===q.name.kind;y.push(e.keywordPart(w?142:141)),y.push(e.spacePart()),Q(o)}if(262144&D&&2&l)if(G(),y.push(e.punctuationPart(20)),y.push(e.textPart("type parameter")),y.push(e.punctuationPart(21)),y.push(e.spacePart()),Q(o),o.parent)X(),Q(o.parent,c),te(o.parent,c);else{var I=e.getDeclarationOfKind(o,162);if(void 0===I)return e.Debug.fail();if(q=I.parent)if(e.isFunctionLikeKind(q.kind)){X();C=a.getSignatureFromDeclaration(q);174===q.kind?(y.push(e.keywordPart(103)),y.push(e.spacePart())):173!==q.kind&&q.name&&Q(q.symbol),e.addRange(y,e.signatureToDisplayParts(a,C,s,32))}else 258===q.kind&&(X(),y.push(e.keywordPart(151)),y.push(e.spacePart()),Q(q.symbol),te(q.symbol,s))}if(8&D&&(x="enum member",$(o,"enum member"),297===(null==(q=null===(_=o.declarations)||void 0===_?void 0:_[0])?void 0:q.kind))){var O=a.getConstantValue(q);void 0!==O&&(y.push(e.spacePart()),y.push(e.operatorPart(63)),y.push(e.spacePart()),y.push(e.displayPart(e.getTextOfConstantValue(O),"number"==typeof O?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&o.flags){if(G(),!b){var M=a.getAliasedSymbol(o);if(M!==o&&M.declarations&&M.declarations.length>0){var L=M.declarations[0],R=e.getNameOfDeclaration(L);if(R){var B=e.isModuleWithStringLiteralName(L)&&e.hasSyntacticModifier(L,2),j="default"!==o.name&&!B,J=t(a,M,e.getSourceFileOfNode(L),L,R,l,j?o:M);y.push.apply(y,J.displayParts),y.push(e.lineBreakPart()),g=J.documentation,m=J.tags}else g=M.getContextualDocumentationComment(L,a),m=M.getJsDocTags(a)}}if(o.declarations)switch(o.declarations[0].kind){case 263:y.push(e.keywordPart(93)),y.push(e.spacePart()),y.push(e.keywordPart(142));break;case 270:y.push(e.keywordPart(93)),y.push(e.spacePart()),y.push(e.keywordPart(o.declarations[0].isExportEquals?63:88));break;case 274:y.push(e.keywordPart(93));break;default:y.push(e.keywordPart(100))}y.push(e.spacePart()),Q(o),e.forEach(o.declarations,(function(t){if(264===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r))y.push(e.spacePart()),y.push(e.operatorPart(63)),y.push(e.spacePart()),y.push(e.keywordPart(145)),y.push(e.punctuationPart(20)),y.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),y.push(e.punctuationPart(21));else{var n=a.getSymbolAtLocation(r.moduleReference);n&&(y.push(e.spacePart()),y.push(e.operatorPart(63)),y.push(e.spacePart()),Q(n,c))}return!0}}))}if(!b)if(""!==x){if(p)if(S?(G(),y.push(e.keywordPart(108))):$(o,x),"property"===x||"JSX attribute"===x||3&D||"local var"===x||S){if(y.push(e.punctuationPart(58)),y.push(e.spacePart()),p.symbol&&262144&p.symbol.flags){var K=e.mapToDisplayParts((function(t){var n=a.typeParameterToDeclaration(p,c,r);H().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(c)),t)}));e.addRange(y,K)}else e.addRange(y,e.typeToDisplayParts(a,p,c));if(o.target&&o.target.tupleLabelDeclaration){var z=o.target.tupleLabelDeclaration;e.Debug.assertNode(z.name,e.isIdentifier),y.push(e.spacePart()),y.push(e.punctuationPart(20)),y.push(e.textPart(e.idText(z.name))),y.push(e.punctuationPart(21))}}else if(16&D||8192&D||16384&D||131072&D||98304&D||"method"===x){(F=p.getNonNullableType().getCallSignatures()).length&&(ee(F[0],F),T=F.length>1)}}else x=n(a,o,u);if(0!==v.length||T||(v=o.getContextualDocumentationComment(c,a)),0===v.length&&4&D&&o.parent&&o.declarations&&e.forEach(o.parent.declarations,(function(e){return 303===e.kind})))for(var U=0,V=o.declarations;U0))break}}return 0!==h.length||T||(h=o.getJsDocTags(a)),0===v.length&&g&&(v=g),0===h.length&&m&&(h=m),{displayParts:y,documentation:v,symbolKind:x,tags:0===h.length?void 0:h};function H(){return f||(f=e.createPrinter({removeComments:!0})),f}function G(){y.length&&y.push(e.lineBreakPart()),Y()}function Y(){d&&(Z("alias"),y.push(e.spacePart()))}function X(){y.push(e.spacePart()),y.push(e.keywordPart(101)),y.push(e.spacePart())}function Q(t,r){d&&t===o&&(t=d);var n=e.symbolToDisplayParts(a,t,r||s,void 0,7);e.addRange(y,n),16777216&o.flags&&y.push(e.punctuationPart(57))}function $(t,r){G(),r&&(Z(r),t&&!e.some(t.declarations,(function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name}))&&(y.push(e.spacePart()),Q(t)))}function Z(t){switch(t){case"var":case"function":case"let":case"const":case"constructor":return void y.push(e.textOrKeywordPart(t));default:return y.push(e.punctuationPart(20)),y.push(e.textOrKeywordPart(t)),void y.push(e.punctuationPart(21))}}function ee(t,r,n){void 0===n&&(n=0),e.addRange(y,e.signatureToDisplayParts(a,t,c,32|n)),r.length>1&&(y.push(e.spacePart()),y.push(e.punctuationPart(20)),y.push(e.operatorPart(39)),y.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),y.push(e.spacePart()),y.push(e.textPart(2===r.length?"overload":"overloads")),y.push(e.punctuationPart(21))),v=t.getDocumentationComment(a),h=t.getJsDocTags(),r.length>1&&0===v.length&&0===h.length&&(v=r[0].getDocumentationComment(a),h=r[0].getJsDocTags())}function te(t,n){var i=e.mapToDisplayParts((function(i){var o=a.symbolToTypeParameterDeclarations(t,n,r);H().writeList(53776,o,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)}));e.addRange(y,i)}}}(e.SymbolDisplay||(e.SymbolDisplay={}))}(c||(c={})),function(e){function t(t,r){var i=[],a=r.compilerOptions?n(r.compilerOptions,i):{},o=e.getDefaultCompilerOptions();for(var s in o)e.hasProperty(o,s)&&void 0===a[s]&&(a[s]=o[s]);for(var c=0,u=e.transpileOptionValueCompilerOptions;c>=5;return r}(p,_),0,n),a[c]=(d=1+((u=p)>>(l=_)&s),e.Debug.assert((d&s)===d,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),u&~(s<=r.pos?t.pos:a.end:t.pos}(o,r,n),r.end,(function(s){return _(r,o,t.SmartIndenter.getIndentationForNode(o,r,n,i.options),function(e,r,n){for(var i,a=-1;e;){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(r,e,i,n))return r.indentSize;a=o,i=e,e=e.parent}return 0}(o,i.options,n),s,i,a,function(t,r){if(!t.length)return a;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return a;var i=0;return function(t){for(;;){if(i>=n.length)return!1;var r=n[i];if(t.end<=r.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return!0;i++}};function a(){return!1}}(n.parseDiagnostics,r),n)}))}function _(r,n,i,a,o,s,c,u,l){var d,_,f,g,m=s.options,y=s.getRules,v=s.host,h=new t.FormattingContext(l,c,m),D=-1,x=[];if(o.advance(),o.isOnToken()){var b=l.getLineAndCharacterOfPosition(n.getStart(l)).line,S=b;n.decorators&&(S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line),function n(i,a,s,c,p,y){if(!e.rangeOverlapsWithStartEnd(r,i.getStart(l),i.getEnd()))return;var v=E(i,s,p,y),h=a;e.forEachChild(i,(function(e){S(e,-1,i,v,s,c,!1)}),(function(e){T(e,i,s,v)}));for(;o.isOnToken();){var x=o.readTokenInfo(i);if(x.token.end>i.end)break;C(x,i,v,i)}if(!i.parent&&o.isOnEOF()){var b=o.readEOFTokenRange();b.end<=i.end&&d&&N(b,l.getLineAndCharacterOfPosition(b.pos).line,i,d,f,_,a,v)}function S(a,s,c,u,d,_,p,f){var y=a.getStart(l),v=l.getLineAndCharacterOfPosition(y).line,x=v;a.decorators&&(x=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,l)).line);var b=-1;if(p&&e.rangeContainsRange(r,c)&&(b=function(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(-1!==o)return o}else{var s=l.getLineAndCharacterOfPosition(r).line,c=e.getLineStartPositionForPosition(r,l),u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,m);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(m);return d>u?d:u}}return-1}(y,a.end,d,r,s),-1!==b&&(s=b)),!e.rangeOverlapsWithStartEnd(r,a.pos,a.end))return a.endy){S.token.pos>y&&o.skipToStartOf(a);break}C(S,i,u,i)}if(!o.isOnToken())return s;if(e.isToken(a)){var S=o.readTokenInfo(a);if(11!==a.kind)return e.Debug.assert(S.token.end===a.end,"Token end is child end"),C(S,i,u,a),s}var T=164===a.kind?v:_,E=function(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(m,e)?m.indentSize:0;return o===r?{indentation:r===g?D:a.getIndentation(),delta:Math.min(m.indentSize,a.getDelta(e)+s)}:-1===n?20===e.kind&&r===g?{indentation:D,delta:a.getDelta(e)}:t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)||t.SmartIndenter.childIsUnindentedBranchOfConditionalExpression(i,e,r,l)||t.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(i,e,r,l)?{indentation:a.getIndentation(),delta:s}:{indentation:a.getIndentation()+a.getDelta(e),delta:s}:{indentation:n,delta:s}}(a,v,b,i,u,T);return n(a,h,v,x,E.indentation,E.delta),h=i,f&&203===c.kind&&-1===s&&(s=E.indentation),s}function T(r,n,a,s){e.Debug.assert(e.isNodeArray(r));var c=function(e,t){switch(e.kind){case 170:case 255:case 212:case 168:case 167:case 213:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 207:case 208:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 177:if(e.typeArguments===t)return 29;break;case 181:return 18}return 0}(n,r),u=s,d=a;if(0!==c)for(;o.isOnToken();){if((v=o.readTokenInfo(n)).token.end>r.pos)break;if(v.token.kind===c){d=l.getLineAndCharacterOfPosition(v.token.pos).line,C(v,n,s,n);var _=void 0;if(-1!==D)_=D;else{var p=e.getLineStartPositionForPosition(v.token.pos,l);_=t.SmartIndenter.findFirstNonWhitespaceColumn(p,v.token.pos,l,m)}u=E(n,a,_,m.indentSize)}else C(v,n,s,n)}for(var f=-1,g=0;g0){var S=p(b,m);R(D,x.character,S)}else L(D,x.character)}}}else i||P(r.pos,n,!1)}function I(t,r,n){for(var i=t;io)){var s=O(a,o);-1!==s&&(e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1))),L(s,o+1-s))}}}function O(t,r){for(var n=r;n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n));)n--;return n!==r?n+1:-1}function M(e,t,r){I(l.getLineAndCharacterOfPosition(e).line,l.getLineAndCharacterOfPosition(t).line+1,r)}function L(t,r){r&&x.push(e.createTextChangeFromStartLength(t,r,""))}function R(t,r,n){(r||n)&&x.push(e.createTextChangeFromStartLength(t,r,n))}}function p(t,r){if((!i||i.tabSize!==r.tabSize||i.indentSize!==r.indentSize)&&(i={tabSize:r.tabSize,indentSize:r.indentSize},a=o=void 0),r.convertTabsToSpaces){var n=void 0,s=Math.floor(t/r.indentSize),c=t%r.indentSize;return o||(o=[]),void 0===o[s]?(n=e.repeatString(" ",r.indentSize*s),o[s]=n):n=o[s],c?n+e.repeatString(" ",c):n}var u=Math.floor(t/r.tabSize),l=t-u*r.tabSize,d=void 0;return a||(a=[]),void 0===a[u]?a[u]=d=e.repeatString("\t",u):d=a[u],l?d+e.repeatString(" ",l):d}t.createTextRangeWithKind=function(t,r,n){var i={pos:t,end:r,kind:n};return e.Debug.isDebugging&&Object.defineProperty(i,"__debugKind",{get:function(){return e.Debug.formatSyntaxKind(n)}}),i},function(e){e[e.Unknown=-1]="Unknown"}(r||(r={})),t.formatOnEnter=function(t,r,n){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var a=e.getEndLinePosition(i,r);e.isWhiteSpaceSingleLine(r.text.charCodeAt(a));)a--;return e.isLineBreak(r.text.charCodeAt(a))&&a--,d({pos:e.getStartPositionOfLine(i-1,r),end:a+1},r,n,2)},t.formatOnSemicolon=function(e,t,r){return l(c(s(e,26,t)),t,r,3)},t.formatOnOpeningCurly=function(t,r,n){var i=s(t,18,r);if(!i)return[];var a=c(i.parent);return d({pos:e.getLineStartPositionForPosition(a.getStart(r),r),end:t},r,n,4)},t.formatOnClosingCurly=function(e,t,r){return l(c(s(e,19,t)),t,r,5)},t.formatDocument=function(e,t){return d({pos:0,end:e.text.length},e,t,0)},t.formatSelection=function(t,r,n,i){return d({pos:e.getLineStartPositionForPosition(t,n),end:r},n,i,1)},t.formatNodeGivenIndentation=function(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,(function(t){return _(s,e,i,a,t,o,1,(function(e){return!1}),r)}))},function(e){e[e.None=0]="None",e[e.LineAdded=1]="LineAdded",e[e.LineRemoved=2]="LineRemoved"}(n||(n={})),t.getRangeOfEnclosingComment=function(t,r,n,i){void 0===i&&(i=e.getTokenAtPosition(t,r));var a=e.findAncestor(i,e.isJSDoc);if(a&&(i=a.parent),!(i.getStart(t)<=r&&rr.end}var h=s(g,e,i),D=h.line===t.line||_(g,e,t.line,i);if(y){var x=null===(f=p(e,i))||void 0===f?void 0:f[0],S=m(e,i,u,!!x&&l(x,i).line>h.line);if(-1!==S)return S+n;if(-1!==(S=c(e,g,t,D,i,u)))return S+n}b(u,g,e,i,o)&&!D&&(n+=u.indentSize);var T=d(g,e,t.line,i);g=(e=g).parent,t=T?i.getLineAndCharacterOfPosition(e.getStart(i)):h}return n+a(u)}function s(e,t,r){var n=p(t,r),i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function c(t,r,n,i,a,o){return!e.isDeclaration(t)&&!e.isStatementButNotDeclaration(t)||303!==r.kind&&i?-1:v(n,a,o)}function u(t,r,n,i){var a=e.findNextToken(t,r,i);return a?18===a.kind?1:19===a.kind&&n===l(a,i).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function d(t,r,n,i){if(!e.isCallExpression(t)||!e.contains(t.arguments,r))return!1;var a=t.expression.getEnd();return e.getLineAndCharacterOfPosition(i,a).line===n}function _(t,r,n,i){if(238===t.kind&&t.elseStatement===r){var a=e.findChildOfKind(t,91,i);return e.Debug.assert(void 0!==a),l(a,i).line===n}return!1}function p(e,t){return e.parent&&f(e.getStart(t),e.getEnd(),e.parent,t)}function f(t,r,n,i){switch(n.kind){case 177:return a(n.typeArguments);case 204:return a(n.properties);case 203:case 268:case 272:case 200:case 201:return a(n.elements);case 181:return a(n.members);case 255:case 212:case 213:case 168:case 167:case 173:case 170:case 179:case 174:return a(n.typeParameters)||a(n.parameters);case 256:case 225:case 257:case 258:case 342:return a(n.typeParameters);case 208:case 207:return a(n.typeArguments)||a(n.arguments);case 254:return a(n.declarations)}function a(a){return a&&e.rangeContainsStartEnd(function(e,t,r){for(var n=e.getChildren(r),i=1;i=0&&r=0;o--)if(27!==t[o].kind){if(n.getLineAndCharacterOfPosition(t[o].end).line!==a.line)return v(a,n,i);a=l(t[o],n)}return-1}function v(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return D(n,n+e.character,t,r)}function h(t,r,n,i){for(var a=0,o=0,s=t;sn.text.length)return a(i);if(i.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(r,n,void 0,!0),d=t.getRangeOfEnclosingComment(n,r,c||null);if(d&&3===d.kind)return function(t,r,n,i){var a=e.getLineAndCharacterOfPosition(t,r).line-1,o=e.getLineAndCharacterOfPosition(t,i.pos).line;if(e.Debug.assert(o>=0),a<=o)return D(e.getStartPositionOfLine(o,t),r,t,n);var s=e.getStartPositionOfLine(a,t),c=h(s,r,t,n),u=c.column,l=c.character;return 0===u?u:42===t.text.charCodeAt(s+l)?u-1:u}(n,r,i,d);if(!c)return a(i);if(e.isStringOrRegularExpressionOrTemplateLiteral(c.kind)&&c.getStart(n)<=r&&r0;){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a))break;i--}return D(e.getLineStartPositionForPosition(i,t),i,t,n)}(n,r,i);if(27===c.kind&&220!==c.parent.kind){var p=function(t,r,n){var i=e.findListItemInfo(t);return i&&i.listItemIndex>0?y(i.list.getChildren(),i.listItemIndex-1,r,n):-1}(c,n,i);if(-1!==p)return p}var v=function(e,t,r){return t&&f(e,e,t,r)}(r,c.parent,n);return v&&!e.rangeContainsRange(v,c)?g(v,n,i)+i.indentSize:function(t,r,n,i,s,c){for(var d,_=n;_;){if(e.positionBelongsToNode(_,r,t)&&b(c,_,d,t,!0)){var p=l(_,t),f=u(n,_,i,t);return o(_,p,void 0,0!==f?s&&2===f?c.indentSize:0:i!==p.line?c.indentSize:0,t,!0,c)}var g=m(_,t,c,!0);if(-1!==g)return g;d=_,_=_.parent}return a(c)}(n,r,c,_,s,i)},r.getIndentationForNode=function(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return o(e,i,t,0,r,!1,n)},r.getBaseIndentation=a,function(e){e[e.Unknown=0]="Unknown",e[e.OpenBrace=1]="OpenBrace",e[e.CloseBrace=2]="CloseBrace"}(i||(i={})),r.isArgumentAndStartLineOverlapsExpressionBeingCalled=d,r.childStartsOnTheSameLineWithElseInIfStatement=_,r.childIsUnindentedBranchOfConditionalExpression=function(t,r,n,i){if(e.isConditionalExpression(t)&&(r===t.whenTrue||r===t.whenFalse)){var a=e.getLineAndCharacterOfPosition(i,t.condition.end).line;if(r===t.whenTrue)return n===a;var o=l(t.whenTrue,i).line,s=e.getLineAndCharacterOfPosition(i,t.whenTrue.end).line;return a===o&&s===n}return!1},r.argumentStartsOnSameLineAsPreviousArgument=function(t,r,n,i){if(e.isCallOrNewExpression(t)){if(!t.arguments)return!1;var a=e.find(t.arguments,(function(e){return e.pos===r.pos}));if(!a)return!1;var o=t.arguments.indexOf(a);if(0===o)return!1;var s=t.arguments[o-1];if(n===e.getLineAndCharacterOfPosition(i,s.getEnd()).line)return!0}return!1},r.getContainingList=p,r.findFirstNonWhitespaceCharacterAndColumn=h,r.findFirstNonWhitespaceColumn=D,r.nodeWillIndentChild=x,r.shouldIndentChildNode=b})((t=e.formatting||(e.formatting={})).SmartIndenter||(t.SmartIndenter={}))}(c||(c={})),function(e){!function(t){function i(t){var r=t.__pos;return e.Debug.assert("number"==typeof r),r}function a(t,r){e.Debug.assert("number"==typeof r),t.__pos=r}function o(t){var r=t.__end;return e.Debug.assert("number"==typeof r),r}function s(t,r){e.Debug.assert("number"==typeof r),t.__end=r}var c,u;function l(t,r){return e.skipTrivia(t,r,!1,!0)}!function(e){e[e.Exclude=0]="Exclude",e[e.IncludeAll=1]="IncludeAll",e[e.JSDoc=2]="JSDoc",e[e.StartLine=3]="StartLine"}(c=t.LeadingTriviaOption||(t.LeadingTriviaOption={})),function(e){e[e.Exclude=0]="Exclude",e[e.ExcludeWhitespace=1]="ExcludeWhitespace",e[e.Include=2]="Include"}(u=t.TrailingTriviaOption||(t.TrailingTriviaOption={}));var d,_={leadingTriviaOption:c.Exclude,trailingTriviaOption:u.Exclude};function p(e,t,r,n){return{pos:f(e,t,n),end:m(e,r,n)}}function f(t,r,n,i){var a,o;void 0===i&&(i=!1);var s=n.leadingTriviaOption;if(s===c.Exclude)return r.getStart(t);if(s===c.StartLine){var u=r.getStart(t),d=e.getLineStartPositionForPosition(u,t);return e.rangeContainsPosition(r,d)?d:u}if(s===c.JSDoc){var _=e.getJSDocCommentRanges(r,t.text);if(null==_?void 0:_.length)return e.getLineStartPositionForPosition(_[0].pos,t)}var p=r.getFullStart(),f=r.getStart(t);if(p===f)return f;var g=e.getLineStartPositionForPosition(p,t);if(e.getLineStartPositionForPosition(f,t)===g)return s===c.IncludeAll?p:f;if(i){var m=(null===(a=e.getLeadingCommentRanges(t.text,p))||void 0===a?void 0:a[0])||(null===(o=e.getTrailingCommentRanges(t.text,p))||void 0===o?void 0:o[0]);if(m)return e.skipTrivia(t.text,m.end,!0,!0)}var y=p>0?1:0,v=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,g)+y,t);return v=l(t.text,v),e.getStartPositionOfLine(e.getLineOfLocalPosition(t,v),t)}function g(t,r,n){var i=r.end;if(n.trailingTriviaOption===u.Include){var a=e.getTrailingCommentRanges(t.text,i);if(a)for(var o=e.getLineOfLocalPosition(t,r.end),s=0,c=a;so)break;if(e.getLineOfLocalPosition(t,l.end)>o)return e.skipTrivia(t.text,l.end,!0,!0)}}}function m(t,r,n){var i,a=r.end,o=n.trailingTriviaOption;if(o===u.Exclude)return a;if(o===u.ExcludeWhitespace){var s=e.concatenate(e.getTrailingCommentRanges(t.text,a),e.getLeadingCommentRanges(t.text,a)),c=null===(i=null==s?void 0:s[s.length-1])||void 0===i?void 0:i.end;return c||a}var l=g(t,r,n);if(l)return l;var d=e.skipTrivia(t.text,a,!0);return d===a||o!==u.Include&&!e.isLineBreak(t.text.charCodeAt(d-1))?a:d}function y(e,t){return!!t&&!!e.parent&&(27===t.kind||26===t.kind&&204===e.parent.kind)}!function(e){e[e.Remove=0]="Remove",e[e.ReplaceWithSingleNode=1]="ReplaceWithSingleNode",e[e.ReplaceWithMultipleNodes=2]="ReplaceWithMultipleNodes",e[e.Text=3]="Text"}(d||(d={})),t.isThisTypeAnnotatable=function(t){return e.isFunctionExpression(t)||e.isFunctionDeclaration(t)};var v,h,D=function(){function t(t,r){this.newLineCharacter=t,this.formatContext=r,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return t.fromContext=function(r){return new t(e.getNewLineOrDefaultFromHost(r.host,r.formatContext.options),r.formatContext)},t.with=function(e,r){var n=t.fromContext(e);return r(n),n.getChanges()},t.prototype.pushRaw=function(t,r){e.Debug.assertEqual(t.fileName,r.fileName);for(var n=0,i=r.textChanges;n=t.getLineAndCharacterOfPosition(u.range.end).line+2)break}if(t.statements.length)if(void 0===l&&(l=t.getLineAndCharacterOfPosition(t.statements[0].getStart()).line),l",joiner:", "})},t.prototype.getOptionsForInsertNodeBefore=function(t,r,n){return e.isStatement(t)||e.isClassElement(t)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(t)?{suffix:", "}:e.isParameter(t)?e.isParameter(r)?{suffix:", "}:{}:e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)?{suffix:", "}:e.isImportSpecifier(t)?{suffix:","+(n?this.newLineCharacter:" ")}:e.Debug.failBadSyntaxKind(t)},t.prototype.insertNodeAtConstructorStart=function(t,n,i){var a=e.firstOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeBefore(t,a,i):this.replaceConstructorBody(t,n,r([i],n.body.statements,!0))},t.prototype.insertNodeAtConstructorStartAfterSuperCall=function(t,n,i){var a=e.find(n.body.statements,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}));a&&n.body.multiLine?this.insertNodeAfter(t,a,i):this.replaceConstructorBody(t,n,r(r([],n.body.statements,!0),[i],!1))},t.prototype.insertNodeAtConstructorEnd=function(t,n,i){var a=e.lastOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeAfter(t,a,i):this.replaceConstructorBody(t,n,r(r([],n.body.statements,!0),[i],!1))},t.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.factory.createBlock(n,!0))},t.prototype.insertNodeAtEndOfScope=function(t,r,n){var i=f(t,r.getLastToken(),{});this.insertNodeAt(t,i,n,{prefix:e.isLineBreak(t.text.charCodeAt(r.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},t.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtStartWorker=function(e,t,r){var n,i=null!==(n=this.guessIndentationFromExistingMembers(e,t))&&void 0!==n?n:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,b(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,i))},t.prototype.guessIndentationFromExistingMembers=function(t,r){for(var n,i=r,a=0,o=b(r);a=0;n--){var i=r[n],a=i.span,o=i.newText;t="".concat(t.substring(0,a.start)).concat(o).concat(t.substring(e.textSpanEnd(a)))}return t}function T(t){var r=e.visitEachChild(t,T,e.nullTransformationContext,C,T),n=e.nodeIsSynthesized(r)?r:Object.create(r);return e.setTextRangePosEnd(n,i(t),o(t)),n}function C(t,r,n,a,s){var c=e.visitNodes(t,r,n,a,s);if(!c)return c;var u=c===t?e.factory.createNodeArray(c.slice(0)):c;return e.setTextRangePosEnd(u,i(t),o(t)),u}function E(t,r){return!(e.isInComment(t,r)||e.isInString(t,r)||e.isInTemplateString(t,r)||e.isInJSXText(t,r))}function k(e,t,r,n){void 0===n&&(n={leadingTriviaOption:c.IncludeAll});var i=f(t,r,n),a=m(t,r,n);e.deleteRange(t,{pos:i,end:a})}function A(t,r,n,i){var a=e.Debug.checkDefined(e.formatting.SmartIndenter.getContainingList(i,n)),o=e.indexOfNode(a,i);e.Debug.assert(-1!==o),1!==a.length?(e.Debug.assert(!r.has(i),"Deleting a node twice"),r.add(i),t.deleteRange(n,{pos:x(n,i),end:o===a.length-1?m(n,i,{}):x(n,a[o+1])})):k(t,n,i)}t.ChangeTracker=D,t.getNewFileText=function(e,t,r,n){return v.newFileChangesWorker(void 0,t,e,r,n)},function(t){function r(t,r,n,a,o){var s=n.map((function(e){return 4===e?"":i(e,t,a).text})).join(a),c=e.createSourceFile("any file name",s,99,!0,r);return S(s,e.formatting.formatDocument(c,o))+a}function i(t,r,n){var i=function(t){var r=0,n=e.createTextWriter(t),i=function(e){e&&a(e,r)},o=function(e){e&&s(e,r)},c=function(e){e&&a(e,r)},u=function(e){e&&s(e,r)};function l(t,i){if(i||!function(t){return e.skipTrivia(t,0)===t.length}(t)){r=n.getTextPos();for(var a=0;e.isWhiteSpaceLike(t.charCodeAt(t.length-a-1));)a++;r-=a}}function d(e){n.write(e),l(e,!1)}function _(e){n.writeComment(e)}function p(e){n.writeKeyword(e),l(e,!1)}function f(e){n.writeOperator(e),l(e,!1)}function g(e){n.writePunctuation(e),l(e,!1)}function m(e){n.writeTrailingSemicolon(e),l(e,!1)}function y(e){n.writeParameter(e),l(e,!1)}function v(e){n.writeProperty(e),l(e,!1)}function h(e){n.writeSpace(e),l(e,!1)}function D(e){n.writeStringLiteral(e),l(e,!1)}function x(e,t){n.writeSymbol(e,t),l(e,!1)}function b(e){n.writeLine(e)}function S(){n.increaseIndent()}function T(){n.decreaseIndent()}function C(){return n.getText()}function E(e){n.rawWrite(e),l(e,!1)}function k(e){n.writeLiteral(e),l(e,!0)}function A(){return n.getTextPos()}function F(){return n.getLine()}function N(){return n.getColumn()}function P(){return n.getIndent()}function w(){return n.isAtStartOfLine()}function I(){n.clear(),r=0}return{onBeforeEmitNode:i,onAfterEmitNode:o,onBeforeEmitNodeArray:function(e){e&&a(e,r)},onAfterEmitNodeArray:function(e){e&&s(e,r)},onBeforeEmitToken:c,onAfterEmitToken:u,write:d,writeComment:_,writeKeyword:p,writeOperator:f,writePunctuation:g,writeTrailingSemicolon:m,writeParameter:y,writeProperty:v,writeSpace:h,writeStringLiteral:D,writeSymbol:x,writeLine:b,increaseIndent:S,decreaseIndent:T,getText:C,rawWrite:E,writeLiteral:k,getTextPos:A,getLine:F,getColumn:N,getIndent:P,isAtStartOfLine:w,hasTrailingComment:function(){return n.hasTrailingComment()},hasTrailingWhitespace:function(){return n.hasTrailingWhitespace()},clear:I}}(n),o=e.getNewLineKind(n);return e.createPrinter({newLine:o,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},i).writeNode(4,t,r,i),{text:i.getText(),node:T(t)}}t.getTextChangesFromChanges=function(t,r,a,o){return e.mapDefined(e.group(t,(function(e){return e.sourceFile.path})),(function(t){for(var s=t[0].sourceFile,c=e.stableSort(t,(function(e,t){return e.range.pos-t.range.pos||e.range.end-t.range.end})),u=function(t){e.Debug.assert(c[t].range.end<=c[t+1].range.pos,"Changes overlap",(function(){return"".concat(JSON.stringify(c[t].range)," and ").concat(JSON.stringify(c[t+1].range))}))},l=0;l0?{fileName:s.fileName,textChanges:_}:void 0}))},t.newFileChanges=function(t,n,i,a,o){var s=r(t,e.getScriptKindFromFileName(n),i,a,o);return{fileName:n,textChanges:[e.createTextChange(e.createTextSpan(0,0),s)],isNewFile:!0}},t.newFileChangesWorker=r,t.getNonformattedText=i}(v||(v={})),t.applyChanges=S,t.isValidLocationToAddComment=E,function(t){function r(t,r,n){if(n.parent.name){var i=e.Debug.checkDefined(e.getTokenAtPosition(r,n.pos-1));t.deleteRange(r,{pos:i.getStart(r),end:n.end})}else{k(t,r,e.getAncestor(n,265))}}t.deleteDeclaration=function(t,n,i,a){switch(a.kind){case 163:var o=a.parent;e.isArrowFunction(o)&&1===o.parameters.length&&!e.findChildOfKind(o,20,i)?t.replaceNodeWithText(i,a,"()"):A(t,n,i,a);break;case 265:case 264:k(t,i,a,{leadingTriviaOption:i.imports.length&&a===e.first(i.imports).parent||a===e.find(i.statements,e.isAnyImportSyntax)?c.Exclude:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;case 202:var s=a.parent;201===s.kind&&a!==e.last(s.elements)?k(t,i,a):A(t,n,i,a);break;case 253:!function(t,r,n,i){var a=i.parent;if(291===a.kind)return void t.deleteNodeRange(n,e.findChildOfKind(a,20,n),e.findChildOfKind(a,21,n));if(1!==a.declarations.length)return void A(t,r,n,i);var o=a.parent;switch(o.kind){case 243:case 242:t.replaceNode(n,i,e.factory.createObjectLiteralExpression());break;case 241:k(t,n,a);break;case 236:k(t,n,o,{leadingTriviaOption:e.hasJSDocNodes(o)?c.JSDoc:c.StartLine});break;default:e.Debug.assertNever(o)}}(t,n,i,a);break;case 162:A(t,n,i,a);break;case 269:var l=a.parent;1===l.elements.length?r(t,i,l):A(t,n,i,a);break;case 267:r(t,i,a);break;case 26:k(t,i,a,{trailingTriviaOption:u.Exclude});break;case 98:k(t,i,a,{leadingTriviaOption:c.Exclude});break;case 256:case 255:k(t,i,a,{leadingTriviaOption:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;default:a.parent?e.isImportClause(a.parent)&&a.parent.name===a?function(t,r,n){if(n.namedBindings){var i=n.name.getStart(r),a=e.getTokenAtPosition(r,n.name.end);if(a&&27===a.kind){var o=e.skipTrivia(r.text,a.end,!1,!0);t.deleteRange(r,{pos:i,end:o})}else k(t,r,n.name)}else k(t,r,n.parent)}(t,i,a.parent):e.isCallExpression(a.parent)&&e.contains(a.parent.arguments,a)?A(t,n,i,a):k(t,i,a):k(t,i,a)}}}(h||(h={})),t.deleteNode=k}(e.textChanges||(e.textChanges={}))}(c||(c={})),function(e){!function(t){var i=e.createMultiMap(),a=new e.Map;function s(e,t,r,n,i,a){return{fixName:e,description:t,changes:r,fixId:n,fixAllDescription:i,commands:a?[a]:void 0}}function c(e,t){return{changes:e,commands:t}}function u(t,r,n){for(var i=0,a=l(t);i1)break}var l=a<2;return function(e){var t=e.fixId,r=e.fixAllDescription,i=o(e,["fixId","fixAllDescription"]);return l?i:n(n({},i),{fixId:t,fixAllDescription:r})}}(i,r))}))},t.getAllFixes=function(t){return a.get(e.cast(t.fixId,e.isString)).getAllCodeActions(t)},t.createCombinedCodeActions=c,t.createFileTextChanges=function(e,t){return{fileName:e,textChanges:t}},t.codeFixAll=function(t,r,n){var i=[],a=e.textChanges.ChangeTracker.with(t,(function(e){return u(t,r,(function(t){return n(e,t,i)}))}));return c(a,0===i.length?void 0:i)},t.eachDiagnostic=u}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){var t,r;t=e.refactor||(e.refactor={}),r=new e.Map,t.registerRefactor=function(e,t){r.set(e,t)},t.getApplicableRefactors=function(n){return e.arrayFrom(e.flatMapIterator(r.values(),(function(e){var r;return n.cancellationToken&&n.cancellationToken.isCancellationRequested()||!(null===(r=e.kinds)||void 0===r?void 0:r.some((function(e){return t.refactorKindBeginsWith(e,n.kind)})))?void 0:e.getAvailableActions(n)})))},t.getEditsForRefactor=function(e,t,n){var i=r.get(t);return i&&i.getEditsForAction(e,n)}}(c||(c={})),function(e){!function(t){var r="addConvertToUnknownForNonOverlappingTypes",n=[e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.Debug.checkDefined(e.findAncestor(i,(function(t){return e.isAsExpression(t)||e.isTypeAssertionExpression(t)})),"Expected to find an assertion expression"),o=e.isAsExpression(a)?e.factory.createAsExpression(a.expression,e.factory.createKeywordTypeNode(154)):e.factory.createTypeAssertion(e.factory.createKeywordTypeNode(154),a.expression);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_unknown_conversion_for_non_overlapping_types,r,e.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){var t;(t=e.codefix||(e.codefix={})).registerCodeFix({errorCodes:[e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,e.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(r){var n=r.sourceFile,i=e.textChanges.ChangeTracker.with(r,(function(t){var r=e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([]),void 0);t.insertNodeAtEndOfScope(n,n,r)}));return[t.createCodeFixActionWithoutFixAll("addEmptyExportDeclaration",i,e.Diagnostics.Add_export_to_make_this_file_into_a_module)]}})}(c||(c={})),function(e){!function(t){var r="addMissingAsync",n=[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_comparable_to_type_1.code];function i(n,i,a,o){var s=a((function(t){return function(t,r,n,i){if(i&&i.has(e.getNodeId(n)))return;null==i||i.add(e.getNodeId(n));var a=e.factory.updateModifiers(e.getSynthesizedDeepClone(n,!0),e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(256|e.getSyntacticModifierFlags(n))));t.replaceNode(r,n,a)}(t,n.sourceFile,i,o)}));return t.createCodeFixAction(r,s,e.Diagnostics.Add_async_modifier_to_containing_function,r,e.Diagnostics.Add_all_missing_async_modifiers)}function a(t,r){if(r){var n=e.getTokenAtPosition(t,r.start),i=e.findAncestor(n,(function(n){return n.getStart(t)e.textSpanEnd(r)?"quit":(e.isArrowFunction(n)||e.isMethodDeclaration(n)||e.isFunctionExpression(n)||e.isFunctionDeclaration(n))&&e.textSpansEqual(r,e.createTextSpanFromNode(n,t))}));return i}}t.registerCodeFix({fixIds:[r],errorCodes:n,getCodeActions:function(t){var r=t.sourceFile,n=t.errorCode,o=t.cancellationToken,s=t.program,c=t.span,u=e.find(s.getDiagnosticsProducingTypeChecker().getDiagnostics(r,o),function(t,r){return function(n){var i=n.start,a=n.length,o=n.relatedInformation,s=n.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},t)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}))}}(c,n)),l=a(r,u&&u.relatedInformation&&e.find(u.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})));if(l){return[i(t,l,(function(r){return e.textChanges.ChangeTracker.with(t,r)}))]}},getAllCodeActions:function(r){var o=r.sourceFile,s=new e.Set;return t.codeFixAll(r,n,(function(t,n){var c=n.relatedInformation&&e.find(n.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})),u=a(o,c);if(u){return i(r,u,(function(e){return e(t),[]}),s)}}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var n="addMissingAwait",i=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,a=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],o=r([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code,e.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,i],a,!0);function s(t,r,n,i,a){var o=e.getFixableErrorSpanExpression(t,n);return o&&function(t,r,n,i,a){var o=a.getDiagnosticsProducingTypeChecker().getDiagnostics(t,i);return e.some(o,(function(t){var i=t.start,a=t.length,o=t.relatedInformation,s=t.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},n)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_forget_to_use_await.code}))}))}(t,r,n,i,a)&&l(o)?o:void 0}function c(r,n,i,a,s,c){var u=r.sourceFile,_=r.program,p=r.cancellationToken,f=function(t,r,n,i,a){var s=function(t,r){if(e.isPropertyAccessExpression(t.parent)&&e.isIdentifier(t.parent.expression))return{identifiers:[t.parent.expression],isCompleteFix:!0};if(e.isIdentifier(t))return{identifiers:[t],isCompleteFix:!0};if(e.isBinaryExpression(t)){for(var n=void 0,i=!0,a=0,o=[t.left,t.right];a0)return[t.createCodeFixAction(r,a,e.Diagnostics.Add_const_to_unresolved_variable,r,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,r.program,a)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="addMissingDeclareProperty",n=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function i(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(e.isIdentifier(a)){var o=a.parent;166!==o.kind||i&&!e.tryAddToSet(i,o)||t.insertModifierBefore(r,135,o)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Prefix_with_declare,r,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,a)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="addMissingInvocationForDecorator",n=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.findAncestor(i,e.isDecorator);e.Debug.assert(!!a,"Expected position to be owned by a decorator.");var o=e.factory.createCallExpression(a.expression,void 0,void 0);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Call_decorator_expression,r,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="addNameToNamelessParameter",n=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=i.parent;if(!e.isParameter(a))return e.Debug.fail("Tried to add a parameter name to a non-parameter: "+e.Debug.formatSyntaxKind(i.kind));var o=a.parent.parameters.indexOf(a);e.Debug.assert(!a.type,"Tried to add a parameter name to a parameter that already had one."),e.Debug.assert(o>-1,"Parameter not found in parent parameter list.");var s=e.factory.createTypeReferenceNode(a.name,void 0),c=e.factory.createParameterDeclaration(void 0,a.modifiers,a.dotDotDotToken,"arg"+o,a.questionToken,a.dotDotDotToken?e.factory.createArrayTypeNode(s):s,a.initializer);t.replaceNode(r,a,c)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_parameter_name,r,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var n="addOptionalPropertyUndefined",i=[e.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code];function a(t,r){var n;if(t){if(e.isBinaryExpression(t.parent)&&63===t.parent.operatorToken.kind)return{source:t.parent.right,target:t.parent.left};if(e.isVariableDeclaration(t.parent)&&t.parent.initializer)return{source:t.parent.initializer,target:t.parent.name};if(e.isCallExpression(t.parent)){var i=r.getSymbolAtLocation(t.parent.expression);if(!(null==i?void 0:i.valueDeclaration)||!e.isFunctionLikeKind(i.valueDeclaration.kind))return;if(!e.isExpression(t))return;var o=t.parent.arguments.indexOf(t);if(-1===o)return;var s=i.valueDeclaration.parameters[o].name;if(e.isIdentifier(s))return{source:t,target:s}}else if(e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)||e.isShorthandPropertyAssignment(t.parent)){var c=a(t.parent.parent,r);if(!c)return;var u=r.getPropertyOfType(r.getTypeAtLocation(c.target),t.parent.name.text),l=null===(n=null==u?void 0:u.declarations)||void 0===n?void 0:n[0];if(!l)return;return{source:e.isPropertyAssignment(t.parent)?t.parent.initializer:t.parent.name,target:l}}}}t.registerCodeFix({errorCodes:i,getCodeActions:function(i){var o=i.program.getTypeChecker(),s=function(t,r,n){var i,o,s=a(e.getFixableErrorSpanExpression(t,r),n);if(!s)return e.emptyArray;var c=s.source,u=s.target,l=function(t,r,n){return e.isPropertyAccessExpression(r)&&!!n.getExactOptionalProperties(n.getTypeAtLocation(r.expression)).length&&n.getTypeAtLocation(t)===n.getUndefinedType()}(c,u,n)?n.getTypeAtLocation(u.expression):n.getTypeAtLocation(u);if(null===(o=null===(i=l.symbol)||void 0===i?void 0:i.declarations)||void 0===o?void 0:o.some((function(t){return e.getSourceFileOfNode(t).fileName.match(/\.d\.ts$/)})))return e.emptyArray;return n.getExactOptionalProperties(l)}(i.sourceFile,i.span,o);if(s.length){var c=e.textChanges.ChangeTracker.with(i,(function(t){return function(t,n){for(var i=0,a=n;i1?(t.delete(r,l),t.insertNodeAfter(r,_,d)):t.replaceNode(r,_,d)}}function p(n){var i=[];return n.members&&n.members.forEach((function(e,n){if("constructor"===n&&e.valueDeclaration)t.delete(r,e.valueDeclaration.parent);else{var a=u(e,void 0);a&&i.push.apply(i,a)}})),n.exports&&n.exports.forEach((function(t){if("prototype"===t.name&&t.declarations){var r=t.declarations[0];if(1===t.declarations.length&&e.isPropertyAccessExpression(r)&&e.isBinaryExpression(r.parent)&&63===r.parent.operatorToken.kind&&e.isObjectLiteralExpression(r.parent.right))(n=u(r.parent.right.symbol,void 0))&&i.push.apply(i,n)}else{var n;(n=u(t,[e.factory.createToken(124)]))&&i.push.apply(i,n)}})),i;function u(n,i){var u=[];if(!(8192&n.flags||4096&n.flags))return u;var l,d,_=n.valueDeclaration,p=_.parent,f=p.right;if(l=_,d=f,!(e.isAccessExpression(l)?e.isPropertyAccessExpression(l)&&o(l)||e.isFunctionLike(d):e.every(l.properties,(function(t){return!!(e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)||e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)&&t.name||o(t))}))))return u;var g=p.parent&&237===p.parent.kind?p.parent:p;if(t.delete(r,g),!f)return u.push(e.factory.createPropertyDeclaration([],i,n.name,void 0,void 0,void 0)),u;if(e.isAccessExpression(_)&&(e.isFunctionExpression(f)||e.isArrowFunction(f))){var m=e.getQuotePreference(r,s),y=function(t,r,n){if(e.isPropertyAccessExpression(t))return t.name;var i=t.argumentExpression;if(e.isNumericLiteral(i))return i;if(e.isStringLiteralLike(i))return e.isIdentifierText(i.text,e.getEmitScriptTarget(r))?e.factory.createIdentifier(i.text):e.isNoSubstitutionTemplateLiteral(i)?e.factory.createStringLiteral(i.text,0===n):i;return}(_,c,m);return y?h(u,f,y):u}if(e.isObjectLiteralExpression(f))return e.flatMap(f.properties,(function(t){return e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)?u.concat(t):e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)?h(u,t.initializer,t.name):o(t)?u:[]}));if(e.isSourceFileJS(r))return u;if(!e.isPropertyAccessExpression(_))return u;var v=e.factory.createPropertyDeclaration(void 0,i,_.name,void 0,void 0,f);return e.copyLeadingComments(p.parent,v,r),u.push(v),u;function h(t,n,o){return e.isFunctionExpression(n)?function(t,n,o){var s=e.concatenate(i,a(n,131)),c=e.factory.createMethodDeclaration(void 0,s,void 0,o,void 0,void 0,n.parameters,void 0,n.body);return e.copyLeadingComments(p,c,r),t.concat(c)}(t,n,o):function(t,n,o){var s,c=n.body;s=234===c.kind?c:e.factory.createBlock([e.factory.createReturnStatement(c)]);var u=e.concatenate(i,a(n,131)),l=e.factory.createMethodDeclaration(void 0,u,void 0,o,void 0,void 0,n.parameters,void 0,s);return e.copyLeadingComments(p,l,r),t.concat(l)}(t,n,o)}}}}function a(t,r){return e.filter(t.modifiers,(function(e){return e.kind===r}))}function o(t){return!!t.name&&!(!e.isIdentifier(t.name)||"constructor"!==t.name.text)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start,n.program.getTypeChecker(),n.preferences,n.program.getCompilerOptions())}));return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_function_to_an_ES2015_class,r,e.Diagnostics.Convert_all_constructor_functions_to_classes)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return i(t,r.file,r.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions())}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var n,i="convertToAsyncFunction",a=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],o=!0;function s(t,r,n,i){var a,o=e.getTokenAtPosition(r,n);if(a=e.isIdentifier(o)&&e.isVariableDeclaration(o.parent)&&o.parent.initializer&&e.isFunctionLikeDeclaration(o.parent.initializer)?o.parent.initializer:e.tryCast(e.getContainingFunction(e.getTokenAtPosition(r,n)),e.canBeConvertedToAsync)){var s=new e.Map,u=e.isInJSFile(a),l=function(t,r){if(!t.body)return new e.Set;var n=new e.Set;return e.forEachChild(t.body,(function t(i){c(i,r,"then")?(n.add(e.getNodeId(i)),e.forEach(i.arguments,t)):c(i,r,"catch")||c(i,r,"finally")?(n.add(e.getNodeId(i)),e.forEachChild(i,t)):d(i,r)?n.add(e.getNodeId(i)):e.forEachChild(i,t)})),n}(a,i),f=function(t,r,n){var i=new e.Map,a=e.createMultiMap();return e.forEachChild(t,(function t(o){if(e.isIdentifier(o)){var s=r.getSymbolAtLocation(o);if(s){var c=T(r.getTypeAtLocation(o),r),u=e.getSymbolId(s).toString();if(!c||e.isParameter(o.parent)||e.isFunctionLikeDeclaration(o.parent)||n.has(u)){if(o.parent&&(e.isParameter(o.parent)||e.isVariableDeclaration(o.parent)||e.isBindingElement(o.parent))){var l=o.text,d=a.get(l);if(d&&d.some((function(e){return e!==s}))){var p=_(o,a);i.set(u,p.identifier),n.set(u,p),a.add(l,s)}else{var f=e.getSynthesizedDeepClone(o);n.set(u,A(f)),a.add(l,s)}}}else{var g=e.firstOrUndefined(c.parameters),m=(null==g?void 0:g.valueDeclaration)&&e.isParameter(g.valueDeclaration)&&e.tryCast(g.valueDeclaration.name,e.isIdentifier)||e.factory.createUniqueName("result",16),y=_(m,a);n.set(u,y),a.add(m.text,s)}}}else e.forEachChild(o,t)})),e.getSynthesizedDeepCloneWithReplacements(t,!0,(function(t){if(e.isBindingElement(t)&&e.isIdentifier(t.name)&&e.isObjectBindingPattern(t.parent)){if((a=(n=r.getSymbolAtLocation(t.name))&&i.get(String(e.getSymbolId(n))))&&a.text!==(t.name||t.propertyName).getText())return e.factory.createBindingElement(t.dotDotDotToken,t.propertyName||t.name,a,t.initializer)}else if(e.isIdentifier(t)){var n,a;if(a=(n=r.getSymbolAtLocation(t))&&i.get(String(e.getSymbolId(n))))return e.factory.createIdentifier(a.text)}}))}(a,i,s);if(e.returnsPromise(f,i)){var m=f.body&&e.isBlock(f.body)?function(t,r){var n=[];return e.forEachReturnStatement(t,(function(t){e.isReturnStatementWithFixablePromiseHandler(t,r)&&n.push(t)})),n}(f.body,i):e.emptyArray,y={checker:i,synthNamesMap:s,setOfExpressionsToReturn:l,isInJSFile:u};if(m.length){var v=a.modifiers?a.modifiers.end:a.decorators?e.skipTrivia(r.text,a.decorators.end):a.getStart(r),h=a.modifiers?{prefix:" "}:{suffix:" "};t.insertModifierAt(r,v,131,h);for(var D=function(n){if(e.forEachChild(n,(function i(a){if(e.isCallExpression(a)){var o=g(a,a,y,!1);if(p())return!0;t.replaceNodeWithNodes(r,n,o)}else if(!e.isFunctionLike(a)&&(e.forEachChild(a,i),p()))return!0})),p())return{value:void 0}},x=0,b=m;x0)return P;if(y){A=S(o.checker,y,m);if(O(a,o))return x(A,l(a,t,o.checker));var w=D(n,A,void 0);return n&&n.types.push(o.checker.getAwaitedType(y)||y),w}return f();default:return f()}return e.emptyArray}function S(t,r,n){var i=e.getSynthesizedDeepClone(n);return t.getPromisedTypeOfPromise(r)?e.factory.createAwaitExpression(i):i}function T(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function C(t,r,n,i){var a=[];return e.forEachChild(r,(function r(o){if(e.isCallExpression(o)){var s=g(o,o,t,n,i);if((a=a.concat(s)).length>0)return}else e.isFunctionLike(o)||e.forEachChild(o,r)})),a}function E(t,r){var n,i=[];e.isFunctionLikeDeclaration(t)?t.parameters.length>0&&(n=function t(r){if(e.isIdentifier(r))return a(r);var n=e.flatMap(r.elements,(function(r){return e.isOmittedExpression(r)?[]:[t(r.name)]}));return function(t,r,n){void 0===r&&(r=e.emptyArray);void 0===n&&(n=[]);return{kind:1,bindingPattern:t,elements:r,types:n}}(r,n)}(t.parameters[0].name)):e.isIdentifier(t)?n=a(t):e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&(n=a(t.name));if(n&&(!("identifier"in n)||"undefined"!==n.identifier.text))return n;function a(t){var n=function(e){return e.original?e.original:e}(t),a=function(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}(n);return a&&r.synthNamesMap.get(e.getSymbolId(a).toString())||A(t,i)}}function k(t){return!t||(I(t)?!t.identifier.text:e.every(t.elements,k))}function A(e,t){return void 0===t&&(t=[]),{kind:0,identifier:e,types:t,hasBeenDeclared:!1,hasBeenReferenced:!1}}function F(e){return e.hasBeenReferenced=!0,e.identifier}function N(e){return I(e)?w(e):P(e)}function P(e){for(var t=0,r=e.elements;t1?[[o(n),s(n)],!0]:[[s(n)],!0]:[[o(n)],!1]}(d.arguments[0],r):void 0;return p?(i.replaceNodeWithNodes(t,n.parent,p[0]),p[1]):(i.replaceRangeWithText(t,e.createRange(l.getStart(t),d.pos),"export default"),!0)}i.delete(t,n.parent)}else e.isExportsOrModuleExportsOrAlias(t,l.expression)&&function(t,r,n,i){var a=r.left.name.text,o=i.get(a);if(void 0!==o){var s=[g(void 0,o,r.right),m([e.factory.createExportSpecifier(!1,o,a)])];n.replaceNodeWithNodes(t,r.parent,s)}else!function(t,r,n){var i=t.left,a=t.right,o=t.parent,s=i.name.text;if(!(e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))||a.name&&a.name.text!==s)n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.factory.createToken(93),e.factory.createToken(85)],{joiner:" ",suffix:" "});else{n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.factory.createToken(93),{suffix:" "}),a.name||n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);c&&n.delete(r,c)}}(r,t,n)}(t,n,i,a);return!1}(t,n,y,i,d,p)}default:return!1}}function a(r,n,i,a,o,s,c){var l,d=n.declarationList,_=!1,m=e.map(d.declarations,(function(n){var i=n.name,l=n.initializer;if(l){if(e.isExportsOrModuleExportsOrAlias(r,l))return _=!0,y([]);if(e.isRequireCall(l,!0))return _=!0,function(r,n,i,a,o,s){switch(r.kind){case 200:var c=e.mapAllOrFail(r.elements,(function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?void 0:f(t.propertyName&&t.propertyName.text,t.name.text)}));if(c)return y([e.makeImport(void 0,c,n,s)]);case 201:var l=u(t.moduleSpecifierToValidIdentifier(n.text,o),a);return y([e.makeImport(e.factory.createIdentifier(l),void 0,n,s),g(void 0,e.getSynthesizedDeepClone(r),e.factory.createIdentifier(l))]);case 79:return function(t,r,n,i,a){for(var o,s=n.getSymbolAtLocation(t),c=new e.Map,l=!1,d=0,_=i.original.get(t.text);d<_.length;d++){var p=_[d];if(n.getSymbolAtLocation(p)===s&&p!==t){var f=p.parent;if(e.isPropertyAccessExpression(f)){var g=f.name.text;if("default"===g){l=!0;var m=p.getText();(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(m))}else{e.Debug.assert(f.expression===p,"Didn't expect expression === use");var v=c.get(g);void 0===v&&(v=u(g,i),c.set(g,v)),(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(v))}}else l=!0}}var h=0===c.size?void 0:e.arrayFrom(e.mapIterator(c.entries(),(function(t){var r=t[0],n=t[1];return e.factory.createImportSpecifier(!1,r===n?void 0:e.factory.createIdentifier(r),e.factory.createIdentifier(n))})));h||(l=!0);return y([e.makeImport(l?e.getSynthesizedDeepClone(t):void 0,h,r,a)],o)}(r,n,i,a,s);default:return e.Debug.assertNever(r,"Convert to ES module got invalid name kind ".concat(r.kind))}}(i,l.arguments[0],a,o,s,c);if(e.isPropertyAccessExpression(l)&&e.isRequireCall(l.expression,!0))return _=!0,function(t,r,n,i,a){switch(t.kind){case 200:case 201:var o=u(r,i);return y([p(o,r,n,a),g(void 0,t,e.factory.createIdentifier(o))]);case 79:return y([p(t.text,r,n,a)]);default:return e.Debug.assertNever(t,"Convert to ES module got invalid syntax form ".concat(t.kind))}}(i,l.name.text,l.expression.arguments[0],o,c)}return y([e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([n],d.flags))])}));if(_)return i.replaceNodeWithNodes(r,n,e.flatMap(m,(function(e){return e.newImports}))),e.forEach(m,(function(t){t.useSitesToUnqualify&&e.copyEntries(t.useSitesToUnqualify,null!=l?l:l=new e.Map)})),l}function o(e){return m(void 0,e)}function s(t){return m([e.factory.createExportSpecifier(!1,void 0,"default")],t)}function c(t,r){return r&&e.some(e.arrayFrom(r.keys()),(function(r){return e.rangeContainsRange(t,r)}))?e.isArray(t)?e.getSynthesizedDeepClonesWithReplacements(t,!0,n):e.getSynthesizedDeepCloneWithReplacements(t,!0,n):t;function n(e){if(205===e.kind){var t=r.get(e);return r.delete(e),t}}}function u(e,t){for(;t.original.has(e)||t.additional.has(e);)e="_".concat(e);return t.additional.add(e),e}function l(t){var r=e.createMultiMap();return d(t,(function(e){return r.add(e.text,e)})),r}function d(t,r){e.isIdentifier(t)&&function(e){var t=e.parent;switch(t.kind){case 205:return t.name!==e;case 202:case 269:return t.propertyName!==e;default:return!0}}(t)&&r(t),t.forEachChild((function(e){return d(e,r)}))}function _(t,r,n,i){return e.factory.createFunctionDeclaration(e.getSynthesizedDeepClones(n.decorators),e.concatenate(r,e.getSynthesizedDeepClones(n.modifiers)),e.getSynthesizedDeepClone(n.asteriskToken),t,e.getSynthesizedDeepClones(n.typeParameters),e.getSynthesizedDeepClones(n.parameters),e.getSynthesizedDeepClone(n.type),e.factory.converters.convertToFunctionBlock(c(n.body,i)))}function p(t,r,n,i){return"default"===r?e.makeImport(e.factory.createIdentifier(t),void 0,n,i):e.makeImport(void 0,[f(r,t)],n,i)}function f(t,r){return e.factory.createImportSpecifier(!1,void 0!==t&&t!==r?e.factory.createIdentifier(t):void 0,e.factory.createIdentifier(r))}function g(t,r,n){return e.factory.createVariableStatement(t,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(r,void 0,void 0,n)],2))}function m(t,r){return e.factory.createExportDeclaration(void 0,void 0,!1,t&&e.factory.createNamedExports(t),void 0===r?void 0:e.factory.createStringLiteral(r))}function y(e,t){return{newImports:e,useSitesToUnqualify:t}}t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code],getCodeActions:function(o){var s=o.sourceFile,c=o.program,d=o.preferences,_=e.textChanges.ChangeTracker.with(o,(function(t){var o=function(t,r,o,s,c){var d={original:l(t),additional:new e.Set},_=function(t,r,i){var a=new e.Map;return n(t,(function(t){var n=t.name,o=n.text,s=n.originalKeywordKind;!a.has(o)&&(void 0!==s&&e.isNonContextualKeyword(s)||r.resolveName(o,t,111551,!0))&&a.set(o,u("_".concat(o),i))})),a}(t,r,d);!function(t,r,i){n(t,(function(n,a){if(!a){var o=n.name.text;i.replaceNode(t,n,e.factory.createIdentifier(r.get(o)||o))}}))}(t,_,o);for(var p,f=!1,g=0,m=e.filter(t.statements,e.isVariableStatement);g0||c.length>0||l.size>0||d.size>0}};function p(t){var r,n,i=t.fixes,a=t.symbolName,o=e.first(i);switch(o.kind){case 0:s.push(o);break;case 1:c.push(o);break;case 2:var u=o.importClauseOrBindingPattern,_=o.importKind,p=o.addAsTypeOnly,f=String(e.getNodeId(u));if((v=l.get(f))||l.set(f,v={importClauseOrBindingPattern:u,defaultImport:void 0,namedImports:new e.Map}),0===_){var g=null==v?void 0:v.namedImports.get(a);v.namedImports.set(a,h(g,p))}else e.Debug.assert(void 0===v.defaultImport||v.defaultImport.name===a,"(Add to Existing) Default import should be missing or match symbolName"),v.defaultImport={name:a,addAsTypeOnly:h(null===(r=v.defaultImport)||void 0===r?void 0:r.addAsTypeOnly,p)};break;case 3:var m=o.moduleSpecifier,y=(_=o.importKind,o.useRequire),v=function(e,t,r,n){var i=D(e,!0),a=D(e,!1),o=d.get(i),s=d.get(a),c={defaultImport:void 0,namedImports:void 0,namespaceLikeImport:void 0,useRequire:r};if(1===t&&2===n)return o||(d.set(i,c),c);if(1===n&&(o||s))return o||s;if(s)return s;return d.set(a,c),c}(m,_,y,p=o.addAsTypeOnly);switch(e.Debug.assert(v.useRequire===y,"(Add new) Tried to add an `import` and a `require` for the same module"),_){case 1:e.Debug.assert(void 0===v.defaultImport||v.defaultImport.name===a,"(Add new) Default import should be missing or match symbolName"),v.defaultImport={name:a,addAsTypeOnly:h(null===(n=v.defaultImport)||void 0===n?void 0:n.addAsTypeOnly,p)};break;case 0:g=(v.namedImports||(v.namedImports=new e.Map)).get(a);v.namedImports.set(a,h(g,p));break;case 3:case 2:e.Debug.assert(void 0===v.namespaceLikeImport||v.namespaceLikeImport.name===a,"Namespacelike import shoudl be missing or match symbolName"),v.namespaceLikeImport={importKind:_,name:a,addAsTypeOnly:p}}break;default:e.Debug.assertNever(o,"fix wasn't never - got kind ".concat(o.kind))}function h(e,t){return Math.max(null!=e?e:0,t)}function D(e,t){return"".concat(t?1:0,"|").concat(e)}}}function u(t,r,n,i,a,o,s,c,u,l){return e.Debug.assert(r.some((function(e){return e.moduleSymbol===n||e.symbol.parent===n})),"Some exportInfo should match the specified moduleSymbol"),v(p(r,i,o,s,c,a,t,u,l),t,a,u,l)}function l(e){return{description:e.description,changes:e.changes,commands:e.commands}}function d(t,r,n,i){var a,o,s=n.getCompilerOptions(),c=l(n.getTypeChecker(),!1);if(c)return c;var u=null===(o=null===(a=i.getPackageJsonAutoImportProvider)||void 0===a?void 0:a.call(i))||void 0===o?void 0:o.getTypeChecker();return e.Debug.checkDefined(u&&l(u,!0),"Could not find symbol in specified module for code actions");function l(n,i){var a=e.getDefaultLikeExportInfo(r,n,s);if(a&&e.skipAlias(a.symbol,n)===t)return{symbol:a.symbol,moduleSymbol:r,moduleFileName:void 0,exportKind:a.exportKind,targetFlags:e.skipAlias(t,n).flags,isFromPackageJson:i};var o=n.tryGetMemberInModuleExportsAndProperties(t.name,r);return o&&e.skipAlias(o,n)===t?{symbol:o,moduleSymbol:r,moduleFileName:void 0,exportKind:0,targetFlags:e.skipAlias(t,n).flags,isFromPackageJson:i}:void 0}}function _(t,r,n,i,a,o,s,c){var u=[],l=o.getCompilerOptions(),d=e.memoizeOne((function(t){return e.createModuleSpecifierResolutionHost(t?a.getPackageJsonAutoImportProvider():o,a)}));return e.forEachExternalModuleToImportFrom(o,a,c,(function(a,o,s,c){var d=s.getTypeChecker();if(!o||a===n||!e.startsWith(t.fileName,e.getDirectoryPath(o.fileName))){var p=e.getDefaultLikeExportInfo(a,d,l);p&&(p.name===i||P(a,e.getEmitScriptTarget(l))===i)&&e.skipAlias(p.symbol,d)===r&&_(s,o,c)&&u.push({symbol:p.symbol,moduleSymbol:a,moduleFileName:null==o?void 0:o.fileName,exportKind:p.exportKind,targetFlags:e.skipAlias(p.symbol,d).flags,isFromPackageJson:c});for(var f=0,g=d.getExportsAndPropertiesOfModule(a);f=e.ModuleKind.ES2015)return i?1:2;if(a)return e.isExternalModule(t)||n?i?1:2:3;for(var o=0,s=t.statements;o"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,c?c.text:e.ANONYMOUS]}return t.replaceNode(r,s,e.factory.createToken(85)),t.insertText(r,c.end," = "),t.insertText(r,u.pos," =>"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,c.text]}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a,o=n.sourceFile,s=n.program,c=n.span,u=e.textChanges.ChangeTracker.with(n,(function(e){a=i(e,o,c.start,s.getTypeChecker())}));return a?[t.createCodeFixAction(r,u,a,r,e.Diagnostics.Fix_all_implicit_this_errors)]:e.emptyArray},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){var t,r,n;t=e.codefix||(e.codefix={}),r="fixIncorrectNamedTupleSyntax",n=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=function(t,r){var n=e.getTokenAtPosition(t,r);return e.findAncestor(n,(function(e){return 196===e.kind}))}(i,a.start),s=e.textChanges.ChangeTracker.with(n,(function(t){return function(t,r,n){if(n){for(var i=n.type,a=!1,o=!1;184===i.kind||185===i.kind||190===i.kind;)184===i.kind?a=!0:185===i.kind&&(o=!0),i=i.type;var s=e.factory.updateNamedTupleMember(n,n.dotDotDotToken||(o?e.factory.createToken(25):void 0),n.name,n.questionToken||(a?e.factory.createToken(57):void 0),i);s!==n&&t.replaceNode(r,n,s)}}(t,i,o)}));return[t.createCodeFixAction(r,s,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,r,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[r]})}(c||(c={})),function(e){!function(t){var r="fixSpelling",n=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Could_not_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,e.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];function i(t,r,n,i){var a=e.getTokenAtPosition(t,r),o=a.parent;if(i!==e.Diagnostics.No_overload_matches_this_call.code&&i!==e.Diagnostics.Type_0_is_not_assignable_to_type_1.code||e.isJsxAttribute(o)){var s,c=n.program.getTypeChecker();if(e.isPropertyAccessExpression(o)&&o.name===a){e.Debug.assert(e.isMemberName(a),"Expected an identifier for spelling (property access)");var u=c.getTypeAtLocation(o.expression);32&o.flags&&(u=c.getNonNullableType(u)),s=c.getSuggestedSymbolForNonexistentProperty(a,u)}else if(e.isBinaryExpression(o)&&101===o.operatorToken.kind&&o.left===a&&e.isPrivateIdentifier(a)){var l=c.getTypeAtLocation(o.right);s=c.getSuggestedSymbolForNonexistentProperty(a,l)}else if(e.isQualifiedName(o)&&o.right===a){var d=c.getSymbolAtLocation(o.left);d&&1536&d.flags&&(s=c.getSuggestedSymbolForNonexistentModule(o.right,d))}else if(e.isImportSpecifier(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,"Expected an identifier for spelling (import)");var _=function(t,r,n){if(!n||!e.isStringLiteralLike(n.moduleSpecifier))return;var i=e.getResolvedModule(t,n.moduleSpecifier.text,e.getModeForUsageLocation(t,n.moduleSpecifier));return i?r.program.getSourceFile(i.resolvedFileName):void 0}(t,n,e.findAncestor(a,e.isImportDeclaration));_&&_.symbol&&(s=c.getSuggestedSymbolForNonexistentModule(a,_.symbol))}else if(e.isJsxAttribute(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,"Expected an identifier for JSX attribute");var p=e.findAncestor(a,e.isJsxOpeningLikeElement),f=c.getContextualTypeForArgumentAtIndex(p,0);s=c.getSuggestedSymbolForNonexistentJSXAttribute(a,f)}else if(e.hasSyntacticModifier(o,16384)&&e.isClassElement(o)&&o.name===a){var g=e.findAncestor(a,e.isClassLike),m=g?e.getEffectiveBaseTypeNode(g):void 0,y=m?c.getTypeAtLocation(m):void 0;y&&(s=c.getSuggestedSymbolForNonexistentClassMember(e.getTextOfNode(a),y))}else{var v=e.getMeaningFromLocation(a),h=e.getTextOfNode(a);e.Debug.assert(void 0!==h,"name should be defined"),s=c.getSuggestedSymbolForNonexistentSymbol(a,h,function(e){var t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(v))}return void 0===s?void 0:{node:a,suggestedSymbol:s}}}function a(t,r,n,i,a){var o=e.symbolName(i);if(!e.isIdentifierText(o,a)&&e.isPropertyAccessExpression(n.parent)){var s=i.valueDeclaration;s&&e.isNamedDeclaration(s)&&e.isPrivateIdentifier(s.name)?t.replaceNode(r,n,e.factory.createIdentifier(o)):t.replaceNode(r,n.parent,e.factory.createElementAccessExpression(n.parent.expression,e.factory.createStringLiteral(o)))}else t.replaceNode(r,n,e.factory.createIdentifier(o))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.errorCode,c=i(o,n.span.start,n,s);if(c){var u=c.node,l=c.suggestedSymbol,d=e.getEmitScriptTarget(n.host.getCompilationSettings()),_=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,u,l,d)}));return[t.createCodeFixAction("spelling",_,[e.Diagnostics.Change_spelling_to_0,e.symbolName(l)],r,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[r],getAllCodeActions:function(r){return t.codeFixAll(r,n,(function(t,n){var o=i(n.file,n.start,r,n.code),s=e.getEmitScriptTarget(r.host.getCompilationSettings());o&&a(t,r.sourceFile,o.node,o.suggestedSymbol,s)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r,n="returnValueCorrect",i="fixAddReturnStatement",a="fixRemoveBracesFromArrowFunctionBody",o="fixWrapTheBlockWithParen",s=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function c(t,r,n){var i=t.createSymbol(4,r.escapedText);i.type=t.getTypeAtLocation(n);var a=e.createSymbolTable([i]);return t.createAnonymousType(void 0,a,[],[],[])}function u(t,n,i,a){if(n.body&&e.isBlock(n.body)&&1===e.length(n.body.statements)){var o=e.first(n.body.statements);if(e.isExpressionStatement(o)&&l(t,n,t.getTypeAtLocation(o.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:o.expression,statement:o,commentSource:o.expression};if(e.isLabeledStatement(o)&&e.isExpressionStatement(o.statement)){var s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(o.label,o.statement.expression)]);if(l(t,n,c(t,o.label,o.statement.expression),i,a))return e.isArrowFunction(n)?{declaration:n,kind:r.MissingParentheses,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:o.statement.expression}}else if(e.isBlock(o)&&1===e.length(o.statements)){var u=e.first(o.statements);if(e.isLabeledStatement(u)&&e.isExpressionStatement(u.statement)){s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(u.label,u.statement.expression)]);if(l(t,n,c(t,u.label,u.statement.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:u}}}}}function l(t,r,n,i,a){if(a){var o=t.getSignatureFromDeclaration(r);if(o){e.hasSyntacticModifier(r,256)&&(n=t.createPromiseType(n));var s=t.createSignature(r,o.typeParameters,o.thisParameter,o.parameters,n,void 0,o.minArgumentCount,o.flags);n=t.createAnonymousType(void 0,e.createSymbolTable(),[s],[],[])}else n=t.getAnyType()}return t.isTypeAssignableTo(n,i)}function d(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(a.parent){var o=e.findAncestor(a.parent,e.isFunctionLikeDeclaration);switch(i){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:if(!(o&&o.body&&o.type&&e.rangeContainsRange(o.type,a)))return;return u(t,o,t.getTypeFromTypeNode(o.type),!1);case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!o||!e.isCallExpression(o.parent)||!o.body)return;var s=o.parent.arguments.indexOf(o),c=t.getContextualTypeForArgumentAtIndex(o.parent,s);if(!c)return;return u(t,o,c,!0);case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(a)||!e.isVariableLike(a.parent)&&!e.isJsxAttribute(a.parent))return;var l=function(t){switch(t.kind){case 253:case 163:case 202:case 166:case 294:return t.initializer;case 284:return t.initializer&&(e.isJsxExpression(t.initializer)?t.initializer.expression:void 0);case 295:case 165:case 297:case 345:case 338:return}}(a.parent);if(!l||!e.isFunctionLikeDeclaration(l)||!l.body)return;return u(t,l,t.getTypeAtLocation(a.parent),!0)}}}function _(t,r,n,i){e.suppressLeadingAndTrailingTrivia(n);var a=e.probablyUsesSemicolons(r);t.replaceNode(r,i,e.factory.createReturnStatement(n),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:a?";":void 0})}function p(t,r,n,i,a,o){var s=o||e.needsParentheses(i)?e.factory.createParenthesizedExpression(i):i;e.suppressLeadingAndTrailingTrivia(a),e.copyComments(a,s),t.replaceNode(r,n.body,s)}function f(t,r,n,i){t.replaceNode(r,n.body,e.factory.createParenthesizedExpression(i))}function g(r,a,o){var s=e.textChanges.ChangeTracker.with(r,(function(e){return _(e,r.sourceFile,a,o)}));return t.createCodeFixAction(n,s,e.Diagnostics.Add_a_return_statement,i,e.Diagnostics.Add_all_missing_return_statement)}function m(r,i,a){var s=e.textChanges.ChangeTracker.with(r,(function(e){return f(e,r.sourceFile,i,a)}));return t.createCodeFixAction(n,s,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,o,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}!function(e){e[e.MissingReturnStatement=0]="MissingReturnStatement",e[e.MissingParentheses=1]="MissingParentheses"}(r||(r={})),t.registerCodeFix({errorCodes:s,fixIds:[i,a,o],getCodeActions:function(i){var o=i.program,s=i.sourceFile,c=i.span.start,u=i.errorCode,l=d(o.getTypeChecker(),s,c,u);if(l)return l.kind===r.MissingReturnStatement?e.append([g(i,l.expression,l.statement)],e.isArrowFunction(l.declaration)?function(r,i,o,s){var c=e.textChanges.ChangeTracker.with(r,(function(e){return p(e,r.sourceFile,i,o,s,!1)}));return t.createCodeFixAction(n,c,e.Diagnostics.Remove_braces_from_arrow_function_body,a,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(i,l.declaration,l.expression,l.commentSource):void 0):[m(i,l.declaration,l.expression)]},getAllCodeActions:function(r){return t.codeFixAll(r,s,(function(t,n){var s=d(r.program.getTypeChecker(),n.file,n.start,n.code);if(s)switch(r.fixId){case i:_(t,n.file,s.expression,s.statement);break;case a:if(!e.isArrowFunction(s.declaration))return;p(t,n.file,s.declaration,s.expression,s.commentSource,!1);break;case o:if(!e.isArrowFunction(s.declaration))return;f(t,n.file,s.declaration,s.expression);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var n,i="fixMissingMember",a="fixMissingProperties",o="fixMissingAttributes",s="fixMissingFunctionDeclaration",c=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Cannot_find_name_0.code];function u(t,r,n,i,a){var o=e.getTokenAtPosition(t,r),s=o.parent;if(n===e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code){if(18!==o.kind||!e.isObjectLiteralExpression(s)||!e.isCallExpression(s.parent))return;var c=e.findIndex(s.parent.arguments,(function(e){return e===s}));if(c<0)return;var u=e.singleOrUndefined(i.getSignaturesOfType(i.getTypeAtLocation(s.parent.expression),0));if(!(u&&u.declaration&&u.parameters[c]))return;var d=u.parameters[c].valueDeclaration;if(!(d&&e.isParameter(d)&&e.isIdentifier(d.name)))return;var _=e.arrayFrom(i.getUnmatchedProperties(i.getTypeAtLocation(s),i.getTypeAtLocation(d),!1,!1));if(!e.length(_))return;return{kind:3,token:d.name,properties:_,indentation:0,parentDeclaration:s}}if(e.isMemberName(o)){if(e.isIdentifier(o)&&e.hasInitializer(s)&&s.initializer&&e.isObjectLiteralExpression(s.initializer)){_=e.arrayFrom(i.getUnmatchedProperties(i.getTypeAtLocation(s.initializer),i.getTypeAtLocation(o),!1,!1));if(!e.length(_))return;return{kind:3,token:o,properties:_,indentation:void 0,parentDeclaration:s.initializer}}if(e.isIdentifier(o)&&e.isJsxOpeningLikeElement(o.parent)){var p=function(t,r){var n=t.getContextualType(r.attributes);if(void 0===n)return e.emptyArray;var i=n.getProperties();if(!e.length(i))return e.emptyArray;for(var a=new e.Set,o=0,s=r.attributes.properties;o=e.ModuleKind.ES2015&&o99)&&(s=e.textChanges.ChangeTracker.with(r,(function(r){if(e.getTsConfigObjectLiteralExpression(i)){var n=[["target",e.factory.createStringLiteral("es2017")]];o===e.ModuleKind.CommonJS&&n.push(["module",e.factory.createStringLiteral("commonjs")]),t.setJsonCompilerOptionValues(r,i,n)}})),a.push(t.createCodeFixActionWithoutFixAll("fixTargetOption",s,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,"es2017"]))),a.length?a:void 0}}})}(c||(c={})),function(e){!function(t){var r="fixPropertyAssignment",n=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function i(t,r,n){t.replaceNode(r,n,e.factory.createPropertyAssignment(n.name,n.objectAssignmentInitializer))}function a(t,r){return e.cast(e.getTokenAtPosition(t,r).parent,e.isShorthandPropertyAssignment)}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var o=a(n.sourceFile,n.span.start),s=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,o)}));return[t.createCodeFixAction(r,s,[e.Diagnostics.Change_0_to_1,"=",":"],r,[e.Diagnostics.Switch_each_misused_0_to_1,"=",":"])]},getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,a(t.file,t.start))}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="extendsInterfaceBecomesImplements",n=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function i(t,r){var n=e.getTokenAtPosition(t,r),i=e.getContainingClass(n).heritageClauses,a=i[0].getFirstToken();return 94===a.kind?{extendsToken:a,heritageClauses:i}:void 0}function a(t,r,n,i){if(t.replaceNode(r,n,e.factory.createToken(117)),2===i.length&&94===i[0].token&&117===i[1].token){var a=i[1].getFirstToken(),o=a.getFullStart();t.replaceRange(r,{pos:o,end:o},e.factory.createToken(27));for(var s=r.text,c=a.end;c":">","}":"}"};function o(t,r,n,i,o){var s=n.getText()[i];if(function(t){return e.hasProperty(a,t)}(s)){var c=o?a[s]:"{".concat(e.quote(n,r,s),"}");t.replaceRangeWithText(n,{pos:i,end:i+1},c)}}}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="unusedIdentifier",n="unusedIdentifier_prefix",i="unusedIdentifier_delete",a="unusedIdentifier_deleteImports",o="unusedIdentifier_infer",s=[e.Diagnostics._0_is_declared_but_its_value_is_never_read.code,e.Diagnostics._0_is_declared_but_never_used.code,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,e.Diagnostics.All_imports_in_import_declaration_are_unused.code,e.Diagnostics.All_destructured_elements_are_unused.code,e.Diagnostics.All_variables_are_unused.code,e.Diagnostics.All_type_parameters_are_unused.code];function c(t,r,n){t.replaceNode(r,n.parent,e.factory.createKeywordTypeNode(154))}function u(n,a){return t.createCodeFixAction(r,n,a,i,e.Diagnostics.Delete_all_unused_declarations)}function l(t,r,n){t.delete(r,e.Debug.checkDefined(e.cast(n.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,"The type parameter to delete should exist"))}function d(e){return 100===e.kind||79===e.kind&&(269===e.parent.kind||266===e.parent.kind)}function _(t){return 100===t.kind?e.tryCast(t.parent,e.isImportDeclaration):void 0}function p(t,r){return e.isVariableDeclarationList(r.parent)&&e.first(r.parent.getChildren(t))===r}function f(e,t,r){e.delete(t,236===r.parent.kind?r.parent:r)}function g(t,r,n,i){r!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(137===i.kind&&(i=e.cast(i.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(i)&&function(e){switch(e.parent.kind){case 163:case 162:return!0;case 253:switch(e.parent.parent.parent.kind){case 243:case 242:return!0}}return!1}(i)&&(t.replaceNode(n,i,e.factory.createIdentifier("_".concat(i.text))),e.isParameter(i.parent)&&e.getJSDocParameterTags(i.parent).forEach((function(r){e.isIdentifier(r.name)&&t.replaceNode(n,r.name,e.factory.createIdentifier("_".concat(r.name.text)))}))))}function m(t,r,n,i,a,o,s,c){!function(t,r,n,i,a,o,s,c){var u=t.parent;if(e.isParameter(u))!function(t,r,n,i,a,o,s,c){void 0===c&&(c=!1);(function(t,r,n,i,a,o,s){var c=n.parent;switch(c.kind){case 168:case 170:var u=c.parameters.indexOf(n),l=e.isMethodDeclaration(c)?c.name:c,d=e.FindAllReferences.Core.getReferencedSymbolsForNode(c.pos,l,a,i,o);if(d)for(var _=0,p=d;_u,h=e.isPropertyAccessExpression(m.node.parent)&&e.isSuperKeyword(m.node.parent.expression)&&e.isCallExpression(m.node.parent.parent)&&m.node.parent.parent.arguments.length>u,D=(e.isMethodDeclaration(m.node.parent)||e.isMethodSignature(m.node.parent))&&m.node.parent!==n.parent&&m.node.parent.parameters.length>u;if(y||h||D)return!1}}return!0;case 255:return!c.name||!function(t,r,n){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(n,t,r,(function(t){return e.isIdentifier(t)&&e.isCallExpression(t.parent)&&t.parent.arguments.indexOf(t)>=0}))}(t,r,c.name)||v(c,n,s);case 212:case 213:return v(c,n,s);case 172:return!1;default:return e.Debug.failBadSyntaxKind(c)}})(i,r,n,a,o,s,c)&&(n.modifiers&&n.modifiers.length>0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))?n.modifiers.forEach((function(e){return t.deleteModifier(r,e)})):!n.initializer&&y(n,i,a)&&t.delete(r,n))}(r,n,u,i,a,o,s,c);else if(!(c&&e.isIdentifier(t)&&e.FindAllReferences.Core.isSymbolReferencedInFile(t,i,n))){var l=e.isImportClause(u)?t:e.isComputedPropertyName(u)?u.parent:u;e.Debug.assert(l!==n,"should not delete whole source file"),r.delete(n,l)}}(r,n,t,i,a,o,s,c),e.isIdentifier(r)&&e.FindAllReferences.Core.eachSymbolReferenceInFile(r,i,t,(function(r){e.isPropertyAccessExpression(r.parent)&&r.parent.name===r&&(r=r.parent),!c&&function(t){return(e.isBinaryExpression(t.parent)&&t.parent.left===t||(e.isPostfixUnaryExpression(t.parent)||e.isPrefixUnaryExpression(t.parent))&&t.parent.operand===t)&&e.isExpressionStatement(t.parent.parent)}(r)&&n.delete(t,r.parent.parent)}))}function y(t,r,n){var i=t.parent.parameters.indexOf(t);return!e.FindAllReferences.Core.someSignatureUsage(t.parent,n,r,(function(e,t){return!t||t.arguments.length>i}))}function v(t,r,n){var i=t.parameters,a=i.indexOf(r);return e.Debug.assert(-1!==a,"The parameter should already be in the list"),n?i.slice(a+1).every((function(t){return e.isIdentifier(t.name)&&!t.symbol.isReferenced})):a===i.length-1}t.registerCodeFix({errorCodes:s,getCodeActions:function(i){var s=i.errorCode,y=i.sourceFile,v=i.program,h=i.cancellationToken,D=v.getTypeChecker(),x=v.getSourceFiles(),b=e.getTokenAtPosition(y,i.span.start);if(e.isJSDocTemplateTag(b))return[u(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(y,b)})),e.Diagnostics.Remove_template_tag)];if(29===b.kind){var S=e.textChanges.ChangeTracker.with(i,(function(e){return l(e,y,b)}));return[u(S,e.Diagnostics.Remove_type_parameters)]}var T=_(b);if(T){S=e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(y,T)}));return[t.createCodeFixAction(r,S,[e.Diagnostics.Remove_import_from_0,e.showModuleSpecifier(T)],a,e.Diagnostics.Delete_all_unused_imports)]}if(d(b)){var C=e.textChanges.ChangeTracker.with(i,(function(e){return m(y,b,e,D,x,v,h,!1)}));if(C.length)return[t.createCodeFixAction(r,C,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,b.getText(y)],a,e.Diagnostics.Delete_all_unused_imports)]}if(e.isObjectBindingPattern(b.parent)||e.isArrayBindingPattern(b.parent)){if(e.isParameter(b.parent.parent)){var E=b.parent.elements,k=[E.length>1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(E,(function(e){return e.getText(y)})).join(", ")];return[u(e.textChanges.ChangeTracker.with(i,(function(t){return function(t,r,n){e.forEach(n.elements,(function(e){return t.delete(r,e)}))}(t,y,b.parent)})),k)]}return[u(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(y,b.parent.parent)})),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(p(y,b))return[u(e.textChanges.ChangeTracker.with(i,(function(e){return f(e,y,b.parent)})),e.Diagnostics.Remove_variable_statement)];var A=[];if(137===b.kind){S=e.textChanges.ChangeTracker.with(i,(function(e){return c(e,y,b)}));var F=e.cast(b.parent,e.isInferTypeNode).typeParameter.name.text;A.push(t.createCodeFixAction(r,S,[e.Diagnostics.Replace_infer_0_with_unknown,F],o,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{C=e.textChanges.ChangeTracker.with(i,(function(e){return m(y,b,e,D,x,v,h,!1)}));if(C.length){F=e.isComputedPropertyName(b.parent)?b.parent:b;A.push(u(C,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,F.getText(y)]))}}var N=e.textChanges.ChangeTracker.with(i,(function(e){return g(e,s,y,b)}));return N.length&&A.push(t.createCodeFixAction(r,N,[e.Diagnostics.Prefix_0_with_an_underscore,b.getText(y)],n,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),A},fixIds:[n,i,a,o],getAllCodeActions:function(r){var u=r.sourceFile,v=r.program,h=r.cancellationToken,D=v.getTypeChecker(),x=v.getSourceFiles();return t.codeFixAll(r,s,(function(t,s){var b=e.getTokenAtPosition(u,s.start);switch(r.fixId){case n:g(t,s.code,u,b);break;case a:var S=_(b);S?t.delete(u,S):d(b)&&m(u,b,t,D,x,v,h,!0);break;case i:if(137===b.kind||d(b))break;if(e.isJSDocTemplateTag(b))t.delete(u,b);else if(29===b.kind)l(t,u,b);else if(e.isObjectBindingPattern(b.parent)){if(b.parent.parent.initializer)break;e.isParameter(b.parent.parent)&&!y(b.parent.parent,D,x)||t.delete(u,b.parent.parent)}else{if(e.isArrayBindingPattern(b.parent.parent)&&b.parent.parent.parent.initializer)break;p(u,b)?f(t,u,b.parent):m(u,b,t,D,x,v,h,!0)}break;case o:137===b.kind&&c(t,u,b);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="fixUnreachableCode",n=[e.Diagnostics.Unreachable_code_detected.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n),s=e.findAncestor(o,e.isStatement);if(s.getStart(r)!==o.getStart(r)){var c=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(s.kind),tokenKind:e.Debug.formatSyntaxKind(o.kind),errorCode:a,start:n,length:i});e.Debug.fail("Token and statement should start at the same point. "+c)}var u=(e.isBlock(s.parent)?s.parent:s).parent;if(!e.isBlock(s.parent)||s===e.first(s.parent.statements))switch(u.kind){case 238:if(u.elseStatement){if(e.isBlock(s.parent))break;return void t.replaceNode(r,s,e.factory.createBlock(e.emptyArray))}case 240:case 241:return void t.delete(r,u)}if(e.isBlock(s.parent)){var l=n+i,d=e.Debug.checkDefined(function(e,t){for(var r,n=0,i=e;nj.length)z(k,v.getSignatureFromDeclaration(y[y.length-1]),S,x,_||c(k));else e.Debug.assert(y.length===j.length,"Declarations and signatures should match count"),d(function(t,n,i,a,o,u,l,d,_){for(var p=a[0],f=a[0].minArgumentCount,g=!1,m=0,y=a;m=p.parameters.length&&(!e.signatureHasRestParameter(v)||e.signatureHasRestParameter(p))&&(p=v)}var h=p.parameters.length-(e.signatureHasRestParameter(p)?1:0),D=p.parameters.map((function(e){return e.name})),x=s(h,D,void 0,f,!1);if(g){var b=e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(130)),S=e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),D[h]||"rest",h>=f?e.factory.createToken(57):void 0,b,void 0);x.push(S)}return function(t,r,n,i,a,o,s,u){return e.factory.createMethodDeclaration(void 0,t,void 0,r,n?e.factory.createToken(57):void 0,i,a,o,u||c(s))}(l,o,u,void 0,x,function(t,n,i,a){if(e.length(t)){var o=n.getUnionType(e.map(t,n.getReturnTypeOfSignature));return n.typeToTypeNode(o,a,void 0,r(i))}}(a,t,n,i),d,_)}(v,o,n,j,x,C&&!!(1&f),S,k,_))}}function z(e,t,r,i,s){var c=a(168,o,e,t,s,i,r,C&&!!(1&f),n,l);c&&d(c)}}function a(t,n,i,a,o,s,c,u,l,d){var _=n.program,f=_.getTypeChecker(),m=e.getEmitScriptTarget(_.getCompilerOptions()),y=1073742081|(0===i?268435456:0),v=f.signatureToSignatureDeclaration(a,t,l,y,r(n));if(v){var h=v.typeParameters,D=v.parameters,x=v.type;if(d){if(h){var b=e.sameMap(h,(function(t){var r,n=t.constraint,i=t.default;n&&((r=p(n,m))&&(n=r.typeNode,g(d,r.symbols)));i&&((r=p(i,m))&&(i=r.typeNode,g(d,r.symbols)));return e.factory.updateTypeParameterDeclaration(t,t.name,n,i)}));h!==b&&(h=e.setTextRange(e.factory.createNodeArray(b,h.hasTrailingComma),h))}var S=e.sameMap(D,(function(t){var r=p(t.type,m),n=t.type;return r&&(n=r.typeNode,g(d,r.symbols)),e.factory.updateParameterDeclaration(t,t.decorators,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,n,t.initializer)}));if(D!==S&&(D=e.setTextRange(e.factory.createNodeArray(S,D.hasTrailingComma),D)),x){var T=p(x,m);T&&(x=T.typeNode,g(d,T.symbols))}}var C=u?e.factory.createToken(57):void 0,E=v.asteriskToken;return e.isFunctionExpression(v)?e.factory.updateFunctionExpression(v,c,v.asteriskToken,e.tryCast(s,e.isIdentifier),h,D,x,null!=o?o:v.body):e.isArrowFunction(v)?e.factory.updateArrowFunction(v,c,h,D,x,v.equalsGreaterThanToken,null!=o?o:v.body):e.isMethodDeclaration(v)?e.factory.updateMethodDeclaration(v,void 0,c,E,null!=s?s:e.factory.createIdentifier(""),C,h,D,x,o):void 0}}function o(t,r,n,i,a,o,s){var c=t.typeToTypeNode(n,i,o,s);if(c&&e.isImportTypeNode(c)){var u=p(c,a);u&&(g(r,u.symbols),c=u.typeNode)}return e.getSynthesizedDeepClone(c)}function s(t,r,n,i,a){for(var o=[],s=0;s=i?e.factory.createToken(57):void 0,a?void 0:n&&n[s]||e.factory.createKeywordTypeNode(130),void 0);o.push(c)}return o}function c(t){return u(e.Diagnostics.Method_not_implemented.message,t)}function u(t,r){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier("Error"),void 0,[e.factory.createStringLiteral(t,0===r)]))],!0)}function l(t,r,n){var i=e.getTsConfigObjectLiteralExpression(r);if(i){var a=_(i,"compilerOptions");if(void 0!==a){var o=a.initializer;if(e.isObjectLiteralExpression(o))for(var s=0,c=n;s0)return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_to_a_bigint_numeric_literal,r,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="fixAddModuleReferTypeMissingTypeof",n=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.Debug.assert(100===n.kind,"This token should be an ImportKeyword"),e.Debug.assert(199===n.parent.kind,"Token parent should be an ImportType"),n.parent}function a(t,r,n){var i=e.factory.updateImportTypeNode(n,n.argument,n.qualifier,n.typeArguments,!0);t.replaceNode(r,n,i)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.span,c=i(o,s.start),u=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,c)}));return[t.createCodeFixAction(r,u,e.Diagnostics.Add_missing_typeof,r,e.Diagnostics.Add_missing_typeof)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return a(t,e.sourceFile,i(r.file,r.start))}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="wrapJsxInFragment",n=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];function i(t,r){var n=e.getTokenAtPosition(t,r).parent.parent;if((e.isBinaryExpression(n)||(n=n.parent,e.isBinaryExpression(n)))&&e.nodeIsMissing(n.operatorToken))return n}function a(t,r,n){var i=function(t){var r=[],n=t;for(;;){if(e.isBinaryExpression(n)&&e.nodeIsMissing(n.operatorToken)&&27===n.operatorToken.kind){if(r.push(n.left),e.isJsxChild(n.right))return r.push(n.right),r;if(e.isBinaryExpression(n.right)){n=n.right;continue}return}return}}(n);i&&t.replaceNode(r,n,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),i,e.factory.createJsxJsxClosingFragment()))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.span,c=i(o,s.start);if(c){var u=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,c)}));return[t.createCodeFixAction(r,u,e.Diagnostics.Wrap_in_JSX_fragment,r,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(e.sourceFile,r.start);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var n="fixConvertToMappedObjectType",i=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code];function a(t,r){var n=e.getTokenAtPosition(t,r),i=e.cast(n.parent.parent,e.isIndexSignatureDeclaration);if(!e.isClassDeclaration(i.parent))return{indexSignature:i,container:e.isInterfaceDeclaration(i.parent)?i.parent:e.cast(i.parent.parent,e.isTypeAliasDeclaration)}}function o(t,n,i){var a=i.indexSignature,o=i.container,s=(e.isInterfaceDeclaration(o)?o.members:o.type.members).filter((function(t){return!e.isIndexSignatureDeclaration(t)})),c=e.first(a.parameters),u=e.factory.createTypeParameterDeclaration(e.cast(c.name,e.isIdentifier),c.type),l=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(a)?e.factory.createModifier(144):void 0,u,void 0,a.questionToken,a.type,void 0),d=e.factory.createIntersectionTypeNode(r(r(r([],e.getAllSuperTypeNodes(o),!0),[l],!1),s.length?[e.factory.createTypeLiteralNode(s)]:e.emptyArray,!0));t.replaceNode(n,o,function(t,r){return e.factory.createTypeAliasDeclaration(t.decorators,t.modifiers,t.name,t.typeParameters,r)}(o,d))}t.registerCodeFix({errorCodes:i,getCodeActions:function(r){var i=r.sourceFile,s=r.span,c=a(i,s.start);if(c){var u=e.textChanges.ChangeTracker.with(r,(function(e){return o(e,i,c)})),l=e.idText(c.container.name);return[t.createCodeFixAction(n,u,[e.Diagnostics.Convert_0_to_mapped_object_type,l],n,[e.Diagnostics.Convert_0_to_mapped_object_type,l])]}},fixIds:[n],getAllCodeActions:function(e){return t.codeFixAll(e,i,(function(e,t){var r=a(t.file,t.start);r&&o(e,t.file,r)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){var t,r,n;t=e.codefix||(e.codefix={}),r="removeAccidentalCallParentheses",n=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code],t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.findAncestor(e.getTokenAtPosition(n.sourceFile,n.span.start),e.isCallExpression);if(i){var a=e.textChanges.ChangeTracker.with(n,(function(e){e.deleteRange(n.sourceFile,{pos:i.expression.end,end:i.end})}));return[t.createCodeFixActionWithoutFixAll(r,a,e.Diagnostics.Remove_parentheses)]}},fixIds:[r]})}(c||(c={})),function(e){!function(t){var r="removeUnnecessaryAwait",n=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];function i(t,r,n){var i=e.tryCast(e.getTokenAtPosition(r,n.start),(function(e){return 132===e.kind})),a=i&&e.tryCast(i.parent,e.isAwaitExpression);if(a){var o=a;if(e.isParenthesizedExpression(a.parent)){var s=e.getLeftmostExpression(a.expression,!1);if(e.isIdentifier(s)){var c=e.findPrecedingToken(a.parent.pos,r);c&&103!==c.kind&&(o=a.parent)}}t.replaceNode(r,o,a.expression)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Remove_unnecessary_await,r,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],n="splitTypeOnlyImport";function i(t,r){return e.findAncestor(e.getTokenAtPosition(t,r.start),e.isImportDeclaration)}function a(t,r,n){if(r){var i=e.Debug.checkDefined(r.importClause);t.replaceNode(n.sourceFile,r,e.factory.updateImportDeclaration(r,r.decorators,r.modifiers,e.factory.updateImportClause(i,i.isTypeOnly,i.name,void 0),r.moduleSpecifier,r.assertClause)),t.insertNodeAfter(n.sourceFile,r,e.factory.createImportDeclaration(void 0,void 0,e.factory.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),r.moduleSpecifier,r.assertClause))}}t.registerCodeFix({errorCodes:r,fixIds:[n],getCodeActions:function(r){var o=e.textChanges.ChangeTracker.with(r,(function(e){return a(e,i(r.sourceFile,r.span),r)}));if(o.length)return[t.createCodeFixAction(n,o,e.Diagnostics.Split_into_two_separate_import_declarations,n,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(e){return t.codeFixAll(e,r,(function(t,r){a(t,i(e.sourceFile,r),e)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){var t,r,n;t=e.codefix||(e.codefix={}),r="fixConvertConstToLet",n=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code],t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=n.program,s=function(t,r,n){var i,a=n.getTypeChecker().getSymbolAtLocation(e.getTokenAtPosition(t,r)),o=e.tryCast(null===(i=null==a?void 0:a.valueDeclaration)||void 0===i?void 0:i.parent,e.isVariableDeclarationList);if(void 0!==o){var s=e.findChildOfKind(o,85,t);if(void 0!==s)return e.createRange(s.pos,s.end)}}(i,a.start,o);if(void 0!==s){var c=e.textChanges.ChangeTracker.with(n,(function(e){return function(e,t,r){e.replaceRangeWithText(t,r,"let")}(e,i,s)}));return[t.createCodeFixAction(r,c,e.Diagnostics.Convert_const_to_let,r,e.Diagnostics.Convert_const_to_let)]}},fixIds:[r]})}(c||(c={})),function(e){!function(t){var r="fixExpectedComma",n=[e.Diagnostics._0_expected.code];function i(t,r,n){var i=e.getTokenAtPosition(t,r);return 26===i.kind&&i.parent&&(e.isObjectLiteralExpression(i.parent)||e.isArrayLiteralExpression(i.parent))?{node:i}:void 0}function a(t,r,n){var i=n.node,a=e.factory.createToken(27);t.replaceNode(r,i,a)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=i(o,n.span.start,n.errorCode);if(s){var c=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,s)}));return[t.createCodeFixAction(r,c,[e.Diagnostics.Change_0_to_1,";",","],r,[e.Diagnostics.Change_0_to_1,";",","])]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,r.code);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="addVoidToPromise",n=[e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n.start);if(e.isIdentifier(o)&&e.isCallExpression(o.parent)&&o.parent.expression===o&&0===o.parent.arguments.length){var s=i.getTypeChecker(),c=s.getSymbolAtLocation(o),u=null==c?void 0:c.valueDeclaration;if(u&&e.isParameter(u)&&e.isNewExpression(u.parent.parent)&&!(null==a?void 0:a.has(u))){null==a||a.add(u);var l=function(t){var r;if(!e.isInJSFile(t))return t.typeArguments;if(e.isParenthesizedExpression(t.parent)){var n=null===(r=e.getJSDocTypeTag(t.parent))||void 0===r?void 0:r.typeExpression.type;if(n&&e.isTypeReferenceNode(n)&&e.isIdentifier(n.typeName)&&"Promise"===e.idText(n.typeName))return n.typeArguments}}(u.parent.parent);if(e.some(l)){var d=l[0],_=!e.isUnionTypeNode(d)&&!e.isParenthesizedTypeNode(d)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([d,e.factory.createKeywordTypeNode(114)]).types[0]);_&&t.insertText(r,d.pos,"("),t.insertText(r,d.end,_?") | void":" | void")}else{var p=s.getResolvedSignature(o.parent),f=null==p?void 0:p.parameters[0],g=f&&s.getTypeOfSymbolAtLocation(f,u.parent.parent);e.isInJSFile(u)?(!g||3&g.flags)&&(t.insertText(r,u.parent.parent.end,")"),t.insertText(r,e.skipTrivia(r.text,u.parent.parent.pos),"/** @type {Promise} */(")):(!g||2&g.flags)&&t.insertText(r,u.parent.parent.expression.end,"")}}}}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span,n.program)}));if(a.length>0)return[t.createCodeFixAction("addVoidToPromise",a,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,r,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(r){return t.codeFixAll(r,n,(function(t,n){return i(t,n.file,n,r.program,new e.Set)}))}})}(e.codefix||(e.codefix={}))}(c||(c={})),function(e){!function(t){var r="Convert export",i={name:"Convert default export to named export",description:e.Diagnostics.Convert_default_export_to_named_export.message,kind:"refactor.rewrite.export.named"},a={name:"Convert named export to default export",description:e.Diagnostics.Convert_named_export_to_default_export.message,kind:"refactor.rewrite.export.default"};function o(t,r){void 0===r&&(r=!0);var n=t.file,i=t.program,a=e.getRefactorContextSpan(t),o=e.getTokenAtPosition(n,a.start),s=o.parent&&1&e.getSyntacticModifierFlags(o.parent)&&r?o.parent:e.getParentNodeInSpan(o,n,a);if(!(s&&(e.isSourceFile(s.parent)||e.isModuleBlock(s.parent)&&e.isAmbientModule(s.parent.parent))))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var c=e.isSourceFile(s.parent)?s.parent.symbol:s.parent.parent.symbol,u=e.getSyntacticModifierFlags(s)||(e.isExportAssignment(s)&&!s.isExportEquals?513:0),l=!!(512&u);if(!(1&u)||!l&&c.exports.has("default"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};var d=i.getTypeChecker(),_=function(t){return e.isIdentifier(t)&&d.getSymbolAtLocation(t)?void 0:{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_named_export)}};switch(s.kind){case 255:case 256:case 257:case 259:case 258:case 260:if(!(g=s).name)return;return _(g.name)||{exportNode:g,exportName:g.name,wasDefault:l,exportingModuleSymbol:c};case 236:var p=s;if(!(2&p.declarationList.flags)||1!==p.declarationList.declarations.length)return;var f=e.first(p.declarationList.declarations);if(!f.initializer)return;return e.Debug.assert(!l,"Can't have a default flag here"),_(f.name)||{exportNode:p,exportName:f.name,wasDefault:l,exportingModuleSymbol:c};case 270:var g;if((g=s).isExportEquals)return;return _(g.expression)||{exportNode:g,exportName:g.expression,wasDefault:l,exportingModuleSymbol:c};default:return}}function s(t,r){return e.factory.createImportSpecifier(!1,t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}function c(t,r){return e.factory.createExportSpecifier(!1,t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}t.registerRefactor(r,{kinds:[i.kind,a.kind],getAvailableActions:function(s){var c=o(s,"invoked"===s.triggerReason);if(!c)return e.emptyArray;if(!t.isRefactorErrorInfo(c)){var u=c.wasDefault?i:a;return[{name:r,description:u.description,actions:[u]}]}return s.preferences.provideRefactorNotApplicableReason?[{name:r,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[n(n({},i),{notApplicableReason:c.error}),n(n({},a),{notApplicableReason:c.error})]}]:e.emptyArray},getEditsForAction:function(r,n){e.Debug.assert(n===i.name||n===a.name,"Unexpected action name");var u=o(r);e.Debug.assert(u&&!t.isRefactorErrorInfo(u),"Expected applicable refactor info");var l=e.textChanges.ChangeTracker.with(r,(function(t){return function(t,r,n,i,a){(function(t,r,n,i){var a=r.wasDefault,o=r.exportNode,s=r.exportName;if(a)if(e.isExportAssignment(o)&&!o.isExportEquals){var u=o.expression,l=c(u.text,u.text);n.replaceNode(t,o,e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([l])))}else n.delete(t,e.Debug.checkDefined(e.findModifier(o,88),"Should find a default keyword in modifier list"));else{var d=e.Debug.checkDefined(e.findModifier(o,93),"Should find an export keyword in modifier list");switch(o.kind){case 255:case 256:case 257:n.insertNodeAfter(t,d,e.factory.createToken(88));break;case 236:var _=e.first(o.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(s,i,t)&&!_.type){n.replaceNode(t,o,e.factory.createExportDefault(e.Debug.checkDefined(_.initializer,"Initializer was previously known to be present")));break}case 259:case 258:case 260:n.deleteModifier(t,d),n.insertNodeAfter(t,o,e.factory.createExportDefault(e.factory.createIdentifier(s.text)));break;default:e.Debug.fail("Unexpected exportNode kind ".concat(o.kind))}}})(t,n,i,r.getTypeChecker()),function(t,r,n,i){var a=r.wasDefault,o=r.exportName,u=r.exportingModuleSymbol,l=t.getTypeChecker(),d=e.Debug.checkDefined(l.getSymbolAtLocation(o),"Export name should resolve to a symbol");e.FindAllReferences.Core.eachExportReference(t.getSourceFiles(),l,i,d,u,o.text,a,(function(t){var r=t.getSourceFile();a?function(t,r,n,i){var a=r.parent;switch(a.kind){case 205:n.replaceNode(t,r,e.factory.createIdentifier(i));break;case 269:case 274:var o=a;n.replaceNode(t,o,s(i,o.name.text));break;case 266:var c=a;e.Debug.assert(c.name===r,"Import clause name should match provided ref");o=s(i,r.text);var u=c.namedBindings;if(u)if(267===u.kind){n.deleteRange(t,{pos:r.getStart(t),end:u.getStart(t)});var l=e.isStringLiteral(c.parent.moduleSpecifier)?e.quotePreferenceFromString(c.parent.moduleSpecifier,t):1,d=e.makeImport(void 0,[s(i,r.text)],c.parent.moduleSpecifier,l);n.insertNodeAfter(t,c.parent,d)}else n.delete(t,r),n.insertNodeAtEndOfList(t,u.elements,o);else n.replaceNode(t,r,e.factory.createNamedImports([o]));break;default:e.Debug.failBadSyntaxKind(a)}}(r,t,n,o.text):function(t,r,n){var i=r.parent;switch(i.kind){case 205:n.replaceNode(t,r,e.factory.createIdentifier("default"));break;case 269:var a=e.factory.createIdentifier(i.name.text);1===i.parent.elements.length?n.replaceNode(t,i.parent,a):(n.delete(t,i),n.insertNodeBefore(t,i.parent,a));break;case 274:n.replaceNode(t,i,c("default",i.name.text));break;default:e.Debug.assertNever(i,"Unexpected parent kind ".concat(i.kind))}}(r,t,n)}))}(r,n,i,a)}(r.file,r.program,u,t,r.cancellationToken)}));return{edits:l,renameFilename:void 0,renameLocation:void 0}}})}(e.refactor||(e.refactor={}))}(c||(c={})),function(e){!function(t){var r="Convert import",i={name:"Convert namespace import to named imports",description:e.Diagnostics.Convert_namespace_import_to_named_imports.message,kind:"refactor.rewrite.import.named"},a={name:"Convert named imports to namespace import",description:e.Diagnostics.Convert_named_imports_to_namespace_import.message,kind:"refactor.rewrite.import.namespace"};function o(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=r?e.findAncestor(a,e.isImportDeclaration):e.getParentNodeInSpan(a,n,i);if(!o||!e.isImportDeclaration(o))return{error:"Selection is not an import declaration."};var s=i.start+i.length,c=e.findNextToken(o,o.parent,n);if(!(c&&s>c.getStart())){var u=o.importClause;return u?u.namedBindings?u.namedBindings:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_namespace_import_or_named_imports)}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_import_clause)}}}function s(t){return e.isPropertyAccessExpression(t)?t.name:t.right}function c(t,r,n){return e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,r,n&&n.length?e.factory.createNamedImports(n):void 0),t.moduleSpecifier,void 0)}t.registerRefactor(r,{kinds:[i.kind,a.kind],getAvailableActions:function(s){var c=o(s,"invoked"===s.triggerReason);if(!c)return e.emptyArray;if(!t.isRefactorErrorInfo(c)){var u=267===c.kind?i:a;return[{name:r,description:u.description,actions:[u]}]}return s.preferences.provideRefactorNotApplicableReason?[{name:r,description:i.description,actions:[n(n({},i),{notApplicableReason:c.error})]},{name:r,description:a.description,actions:[n(n({},a),{notApplicableReason:c.error})]}]:e.emptyArray},getEditsForAction:function(r,n){e.Debug.assert(n===i.name||n===a.name,"Unexpected action name");var u=o(r);e.Debug.assert(u&&!t.isRefactorErrorInfo(u),"Expected applicable refactor info");var l=e.textChanges.ChangeTracker.with(r,(function(t){return n=r.file,i=r.program,a=t,o=u,l=i.getTypeChecker(),void(267===o.kind?function(t,r,n,i,a){var o=!1,u=[],l=new e.Map;e.FindAllReferences.Core.eachSymbolReferenceInFile(i.name,r,t,(function(t){if(e.isPropertyAccessOrQualifiedName(t.parent)){var n=s(t.parent).text;r.resolveName(n,t,67108863,!0)&&l.set(n,!0),e.Debug.assert(function(t){return e.isPropertyAccessExpression(t)?t.expression:t.left}(t.parent)===t,"Parent expression should match id"),u.push(t.parent)}else o=!0}));for(var d=new e.Map,_=0,p=u;_=u.pos?_.getEnd():u.getEnd()),g=o?function(e){for(;e.parent;){if(c(e)&&!c(e.parent))return e;e=e.parent}}(u):function(e,t){for(;e.parent;){if(c(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}}(u,f),m=g&&c(g)?function(t){if(s(t))return t;if(e.isVariableStatement(t)){var r=e.getSingleVariableOfVariableStatement(t),n=null==r?void 0:r.initializer;return n&&s(n)?n:void 0}return t.expression&&s(t.expression)?t.expression:void 0}(g):void 0;if(!m)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var y=i.getTypeChecker();return e.isConditionalExpression(m)?function(t,r){var n=t.condition,i=p(t.whenTrue);if(!i||r.isNullableType(r.getTypeAtLocation(i)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(n)||e.isIdentifier(n))&&d(n,i.expression))return{finalExpression:i,occurrences:[n],expression:t};if(e.isBinaryExpression(n)){var a=l(i.expression,n);return a?{finalExpression:i,occurrences:a,expression:t}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}(m,y):function(t){if(55!==t.operatorToken.kind)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var r=p(t.right);if(!r)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var n=l(r.expression,t.left);return n?{finalExpression:r,occurrences:n,expression:t}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}(m)}}function l(t,r){for(var n=[];e.isBinaryExpression(r)&&55===r.operatorToken.kind;){var i=d(e.skipParentheses(t),e.skipParentheses(r.right));if(!i)break;n.push(i),t=i,r=r.left}var a=d(t,r);return a&&n.push(a),n.length>0?n:void 0}function d(t,r){if(e.isIdentifier(r)||e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r))return function(t,r){for(;(e.isCallExpression(t)||e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t))&&_(t)!==_(r);)t=t.expression;for(;e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)||e.isElementAccessExpression(t)&&e.isElementAccessExpression(r);){if(_(t)!==_(r))return!1;t=t.expression,r=r.expression}return e.isIdentifier(t)&&e.isIdentifier(r)&&t.getText()===r.getText()}(t,r)?r:void 0}function _(t){return e.isIdentifier(t)||e.isStringOrNumericLiteralLike(t)?t.getText():e.isPropertyAccessExpression(t)?_(t.name):e.isElementAccessExpression(t)?_(t.argumentExpression):void 0}function p(t){return t=e.skipParentheses(t),e.isBinaryExpression(t)?p(t.left):(e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)||e.isCallExpression(t))&&!e.isOptionalChain(t)?t:void 0}function f(t,r,n){if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)||e.isCallExpression(r)){var i=f(t,r.expression,n),a=n.length>0?n[n.length-1]:void 0,o=(null==a?void 0:a.getText())===r.expression.getText();if(o&&n.pop(),e.isCallExpression(r))return o?e.factory.createCallChain(i,e.factory.createToken(28),r.typeArguments,r.arguments):e.factory.createCallChain(i,r.questionDotToken,r.typeArguments,r.arguments);if(e.isPropertyAccessExpression(r))return o?e.factory.createPropertyAccessChain(i,e.factory.createToken(28),r.name):e.factory.createPropertyAccessChain(i,r.questionDotToken,r.name);if(e.isElementAccessExpression(r))return o?e.factory.createElementAccessChain(i,e.factory.createToken(28),r.argumentExpression):e.factory.createElementAccessChain(i,r.questionDotToken,r.argumentExpression)}return r}t.registerRefactor(i,{kinds:[o.kind],getAvailableActions:function(r){var s=u(r,"invoked"===r.triggerReason);return s?t.isRefactorErrorInfo(s)?r.preferences.provideRefactorNotApplicableReason?[{name:i,description:a,actions:[n(n({},o),{notApplicableReason:s.error})]}]:e.emptyArray:[{name:i,description:a,actions:[o]}]:e.emptyArray},getEditsForAction:function(r,n){var i=u(r);e.Debug.assert(i&&!t.isRefactorErrorInfo(i),"Expected applicable refactor info");var a=e.textChanges.ChangeTracker.with(r,(function(t){return function(t,r,n,i,a){var o=i.finalExpression,s=i.occurrences,c=i.expression,u=s[s.length-1],l=f(r,o,s);l&&(e.isPropertyAccessExpression(l)||e.isElementAccessExpression(l)||e.isCallExpression(l))&&(e.isBinaryExpression(c)?n.replaceNodeRange(t,u,o,l):e.isConditionalExpression(c)&&n.replaceNode(t,c,e.factory.createBinaryExpression(l,e.factory.createToken(60),c.whenFalse)))}(r.file,r.program.getTypeChecker(),t,i)}));return{edits:a,renameFilename:void 0,renameLocation:void 0}}})})((t=e.refactor||(e.refactor={})).convertToOptionalChainExpression||(t.convertToOptionalChainExpression={}))}(c||(c={})),function(e){var t;(function(r){var n="Convert overload list to single signature",i=e.Diagnostics.Convert_overload_list_to_single_signature.message,a={name:n,description:i,kind:"refactor.rewrite.function.overloadList"};function o(e){switch(e.kind){case 167:case 168:case 173:case 170:case 174:case 255:return!0}return!1}function s(t,r,n){var i=e.getTokenAtPosition(t,r),a=e.findAncestor(i,o);if(a){var s=n.getTypeChecker(),c=a.symbol;if(c){var u=c.declarations;if(!(e.length(u)<=1)&&e.every(u,(function(r){return e.getSourceFileOfNode(r)===t}))&&o(u[0])){var l=u[0].kind;if(e.every(u,(function(e){return e.kind===l}))){var d=u;if(!e.some(d,(function(t){return!!t.typeParameters||e.some(t.parameters,(function(t){return!!t.decorators||!!t.modifiers||!e.isIdentifier(t.name)}))}))){var _=e.mapDefined(d,(function(e){return s.getSignatureFromDeclaration(e)}));if(e.length(_)===e.length(u)){var p=s.getReturnTypeOfSignature(_[0]);if(e.every(_,(function(e){return s.getReturnTypeOfSignature(e)===p})))return d}}}}}}}t.registerRefactor(n,{kinds:[a.kind],getEditsForAction:function(t){var r=t.file,n=t.startPosition,i=t.program,a=s(r,n,i);if(a){var o=i.getTypeChecker(),c=a[a.length-1],u=c;switch(c.kind){case 167:u=e.factory.updateMethodSignature(c,c.modifiers,c.name,c.questionToken,c.typeParameters,d(a),c.type);break;case 168:u=e.factory.updateMethodDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.questionToken,c.typeParameters,d(a),c.type,c.body);break;case 173:u=e.factory.updateCallSignature(c,c.typeParameters,d(a),c.type);break;case 170:u=e.factory.updateConstructorDeclaration(c,c.decorators,c.modifiers,d(a),c.body);break;case 174:u=e.factory.updateConstructSignature(c,c.typeParameters,d(a),c.type);break;case 255:u=e.factory.updateFunctionDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.typeParameters,d(a),c.type,c.body);break;default:return e.Debug.failBadSyntaxKind(c,"Unhandled signature kind in overload list conversion refactoring")}if(u!==c){var l=e.textChanges.ChangeTracker.with(t,(function(e){e.replaceNodeRange(r,a[0],a[a.length-1],u)}));return{renameFilename:void 0,renameLocation:void 0,edits:l}}}function d(t){var r=t[t.length-1];return e.isFunctionLikeDeclaration(r)&&r.body&&(t=t.slice(0,t.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),"args",void 0,e.factory.createUnionTypeNode(e.map(t,_)))])}function _(t){var r=e.map(t.parameters,p);return e.setEmitFlags(e.factory.createTupleTypeNode(r),e.some(r,(function(t){return!!e.length(e.getSyntheticLeadingComments(t))}))?0:1)}function p(t){e.Debug.assert(e.isIdentifier(t.name));var r=e.setTextRange(e.factory.createNamedTupleMember(t.dotDotDotToken,t.name,t.questionToken,t.type||e.factory.createKeywordTypeNode(130)),t),n=t.symbol&&t.symbol.getDocumentationComment(o);if(n){var i=e.displayPartsToString(n);i.length&&e.setSyntheticLeadingComments(r,[{text:"*\n".concat(i.split("\n").map((function(e){return" * ".concat(e)})).join("\n"),"\n "),kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return r}},getAvailableActions:function(t){var r=t.file,o=t.startPosition,c=t.program;return s(r,o,c)?[{name:n,description:i,actions:[a]}]:e.emptyArray}})})((t=e.refactor||(e.refactor={})).addOrRemoveBracesToArrowFunction||(t.addOrRemoveBracesToArrowFunction={}))}(c||(c={})),function(e){var t;(function(r){var i,a,o,s,c="Extract Symbol",u={name:"Extract Constant",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),kind:"refactor.extract.constant"},l={name:"Extract Function",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),kind:"refactor.extract.function"};function d(r){var i=r.kind,a=p(r.file,e.getRefactorContextSpan(r),"invoked"===r.triggerReason),o=a.targetRange;if(void 0===o){if(!a.errors||0===a.errors.length||!r.preferences.provideRefactorNotApplicableReason)return e.emptyArray;var s=[];return t.refactorKindBeginsWith(l.kind,i)&&s.push({name:c,description:l.description,actions:[n(n({},l),{notApplicableReason:F(a.errors)})]}),t.refactorKindBeginsWith(u.kind,i)&&s.push({name:c,description:u.description,actions:[n(n({},u),{notApplicableReason:F(a.errors)})]}),s}var d=function(t,r){var n=m(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope,c=i.map((function(t,r){var n,i,a=function(t){return e.isFunctionLikeDeclaration(t)?"inner function":e.isClassLike(t)?"method":"function"}(t),c=function(t){return e.isClassLike(t)?"readonly field":"constant"}(t),u=e.isFunctionLikeDeclaration(t)?function(t){switch(t.kind){case 170:return"constructor";case 212:case 255:return t.name?"function '".concat(t.name.text,"'"):e.ANONYMOUS;case 213:return"arrow function";case 168:return"method '".concat(t.name.getText(),"'");case 171:return"'get ".concat(t.name.getText(),"'");case 172:return"'set ".concat(t.name.getText(),"'");default:throw e.Debug.assertNever(t,"Unexpected scope kind ".concat(t.kind))}}(t):e.isClassLike(t)?function(e){return 256===e.kind?e.name?"class '".concat(e.name.text,"'"):"anonymous class declaration":e.name?"class expression '".concat(e.name.text,"'"):"anonymous class expression"}(t):function(e){return 261===e.kind?"namespace '".concat(e.parent.name.getText(),"'"):e.externalModuleIndicator?0:1}(t);return 1===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,"global"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,"global"])):0===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,"module"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,"module"])):(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[a,u]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[c,u])),0!==r||e.isClassLike(t)||(i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[c])),{functionExtraction:{description:n,errors:o[r]},constantExtraction:{description:i,errors:s[r]}}}));return c}(o,r);if(void 0===d)return e.emptyArray;for(var _,f,g=[],y=new e.Map,v=[],h=new e.Map,D=0,x=0,b=d;x0;if(e.isBlock(t)&&!s&&0===i.size)return{body:e.factory.createBlock(t.statements,!0),returnValueProperty:void 0};var c=!1,u=e.factory.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.factory.createReturnStatement(e.skipParentheses(t))]);if(s||i.size){var l=e.visitNodes(u,_).slice();if(s&&!a&&e.isStatement(t)){var d=h(r,n);1===d.length?l.push(e.factory.createReturnStatement(d[0].name)):l.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(d)))}return{body:e.factory.createBlock(l,!0),returnValueProperty:o}}return{body:e.factory.createBlock(u,!0),returnValueProperty:void 0};function _(t){if(!c&&e.isReturnStatement(t)&&s){var a=h(r,n);return t.expression&&(o||(o="__return"),a.unshift(e.factory.createPropertyAssignment(o,e.visitNode(t.expression,_)))),1===a.length?e.factory.createReturnStatement(a[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(a))}var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString()),d=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,_,e.nullTransformationContext);return c=u,d}}(t,i,u,_,!!(o.facts&a.HasReturn)),O=I.body,M=I.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(O),e.isClassLike(r)){var L=b?[]:[e.factory.createModifier(121)];o.facts&a.InStaticRegion&&L.push(e.factory.createModifier(124)),o.facts&a.IsAsyncFunction&&L.push(e.factory.createModifier(131)),w=e.factory.createMethodDeclaration(void 0,L.length?L:void 0,o.facts&a.IsGenerator?e.factory.createToken(41):void 0,T,void 0,F,C,c,O)}else w=e.factory.createFunctionDeclaration(void 0,o.facts&a.IsAsyncFunction?[e.factory.createToken(131)]:void 0,o.facts&a.IsGenerator?e.factory.createToken(41):void 0,T,F,C,c,O);var R=e.textChanges.ChangeTracker.fromContext(s),B=function(t,r){return e.find(function(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r))return r.statements}else{if(e.isModuleBlock(t)||e.isSourceFile(t))return t.statements;if(e.isClassLike(t))return t.members;e.assertType(t)}return e.emptyArray}(r),(function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)}))}((D(o.range)?e.last(o.range):o.range).end,r);B?R.insertNodeBefore(s.file,B,w,!0):R.insertNodeAtEndOfScope(s.file,r,w),g.writeFixes(R);var j=[],J=function(t,r,n){var i=e.factory.createIdentifier(n);if(e.isClassLike(t)){var o=r.facts&a.InStaticRegion?e.factory.createIdentifier(t.name.text):e.factory.createThis();return e.factory.createPropertyAccessExpression(o,i)}return i}(r,o,x),K=e.factory.createCallExpression(J,N,E);if(o.facts&a.IsGenerator&&(K=e.factory.createYieldExpression(e.factory.createToken(41),K)),o.facts&a.IsAsyncFunction&&(K=e.factory.createAwaitExpression(K)),S(t)&&(K=e.factory.createJsxExpression(void 0,K)),i.length&&!u)if(e.Debug.assert(!M,"Expected no returnValueProperty"),e.Debug.assert(!(o.facts&a.HasReturn),"Expected RangeFacts.HasReturn flag to be unset"),1===i.length){var z=i[0];j.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(z.name),void 0,e.getSynthesizedDeepClone(z.type),K)],z.parent.flags)))}else{for(var U=[],V=[],q=i[0].parent.flags,W=!1,H=0,G=i;H0,"Found no members");for(var a=!0,o=0,s=i;ot)return n||i[0];if(a&&!e.isPropertyDeclaration(c)){if(void 0!==n)return c;a=!1}n=c}return void 0===n?e.Debug.fail():n}(t.pos,r);m.insertNodeBefore(o.file,D,v,!0),m.replaceNode(o.file,t,h)}else{var x=e.factory.createVariableDeclaration(d,void 0,p,f),T=function(t,r){for(var n;void 0!==t&&t!==r;){if(e.isVariableDeclaration(t)&&t.initializer===n&&e.isVariableDeclarationList(t.parent)&&t.parent.declarations.length>1)return t;n=t,t=t.parent}}(t,r);if(T)m.insertNodeBefore(o.file,T,x),h=e.factory.createIdentifier(d),m.replaceNode(o.file,t,h);else if(237===t.parent.kind&&r===e.findAncestor(t,g)){var C=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([x],2));m.replaceNode(o.file,t.parent,C)}else C=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([x],2)),D=function(t,r){var n;e.Debug.assert(!e.isClassLike(r));for(var i=t;i!==r;i=i.parent)g(i)&&(n=i);for(i=(n||t).parent;;i=i.parent){if(b(i)){for(var a=void 0,o=0,s=i.statements;ot.pos)break;a=c}return!a&&e.isCaseClause(i)?(e.Debug.assert(e.isSwitchStatement(i.parent.parent),"Grandparent isn't a switch statement"),i.parent.parent):e.Debug.checkDefined(a,"prevStatement failed to get set")}e.Debug.assert(i!==r,"Didn't encounter a block-like before encountering scope")}}(t,r),0===D.pos?m.insertNodeAtTopOfFile(o.file,C,!1):m.insertNodeBefore(o.file,D,C,!1),237===t.parent.kind?m.delete(o.file,t.parent):(h=e.factory.createIdentifier(d),S(t)&&(h=e.factory.createJsxExpression(void 0,h)),m.replaceNode(o.file,t,h))}var E=m.getChanges(),k=t.getSourceFile().fileName,A=e.getRenameLocation(E,k,d,!0);return{renameFilename:k,renameLocation:A,edits:E};function F(n,i){if(void 0===n)return{variableType:n,initializer:i};if(!e.isFunctionExpression(i)&&!e.isArrowFunction(i)||i.typeParameters)return{variableType:n,initializer:i};var a=u.getTypeAtLocation(t),o=e.singleOrUndefined(u.getSignaturesOfType(a,0));if(!o)return{variableType:n,initializer:i};if(o.getTypeParameters())return{variableType:n,initializer:i};for(var s=[],c=!1,l=0,d=i.parameters;l=r.start+r.length)return(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractSuper)),!0}else g|=a.UsesThis;break;case 213:e.forEachChild(n,(function t(r){if(e.isThis(r))g|=a.UsesThis;else{if(e.isClassLike(r)||e.isFunctionLike(r)&&!e.isArrowFunction(r))return!1;e.forEachChild(r,t)}}));case 256:case 255:e.isSourceFile(n.parent)&&void 0===n.parent.externalModuleIndicator&&(o||(o=[])).push(e.createDiagnosticForNode(n,i.functionWillNotBeVisibleInTheNewScope));case 225:case 212:case 168:case 170:case 171:case 172:return!1}var d=u;switch(n.kind){case 238:case 251:u=0;break;case 234:n.parent&&251===n.parent.kind&&n.parent.finallyBlock===n&&(u=4);break;case 289:case 288:u|=1;break;default:e.isIterationStatement(n,!1)&&(u|=3)}switch(n.kind){case 191:case 108:g|=a.UsesThis;break;case 249:var _=n.label;(c||(c=[])).push(_.escapedText),e.forEachChild(n,t),c.pop();break;case 245:case 244:(_=n.label)?e.contains(c,_.escapedText)||(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):u&(245===n.kind?1:2)||(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 217:g|=a.IsAsyncFunction;break;case 223:g|=a.IsGenerator;break;case 246:4&u?g|=a.HasReturn:(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(n,t)}u=d}(t),o}}function f(t){return e.isStatement(t)?[t]:e.isExpressionNode(t)?e.isExpressionStatement(t.parent)?[t.parent]:t:void 0}function g(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function m(t,r){var n=r.file,o=function(t){var r=D(t.range)?e.first(t.range):t.range;if(t.facts&a.UsesThis){var n=e.getContainingClass(r);if(n){var i=e.findAncestor(r,e.isFunctionLikeDeclaration);return i?[i,n]:[n]}}for(var o=[];;)if(163===(r=r.parent).kind&&(r=e.findAncestor(r,(function(t){return e.isFunctionLikeDeclaration(t)})).parent),g(r)&&(o.push(r),303===r.kind))return o}(t),s=function(t,r){return D(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}(t,n),c=function(t,r,n,o,s,c){var u,l,d=new e.Map,_=[],p=[],f=[],g=[],m=[],y=new e.Map,v=[],h=D(t.range)?1===t.range.length&&e.isExpressionStatement(t.range[0])?t.range[0].expression:void 0:t.range;if(void 0===h){var x=t.range,b=e.first(x).getStart(),S=e.last(x).end;l=e.createFileDiagnostic(o,b,S-b,i.expressionExpected)}else 147456&s.getTypeAtLocation(h).flags&&(l=e.createDiagnosticForNode(h,i.uselessConstantType));for(var T=0,C=r;T0){for(var w=new e.Map,I=0,O=N;void 0!==O&&I0&&(n.usages.size>0||n.typeParameterUsages.size>0)){var a=D(t.range)?t.range[0]:t.range;g[r].push(e.createDiagnosticForNode(a,i.cannotAccessVariablesFromNestedScopes))}var o,s=!1;if(_[r].usages.forEach((function(t){2===t.usage&&(s=!0,106500&t.symbol.flags&&t.symbol.valueDeclaration&&e.hasEffectiveModifier(t.symbol.valueDeclaration,64)&&(o=t.symbol.valueDeclaration))})),e.Debug.assert(D(t.range)||0===v.length,"No variable declarations expected if something was extracted"),s&&!D(t.range)){var c=e.createDiagnosticForNode(t.range,i.cannotWriteInExpression);f[r].push(c),g[r].push(c)}else o&&r>0?(c=e.createDiagnosticForNode(o,i.cannotExtractReadonlyPropertyInitializerOutsideConstructor),f[r].push(c),g[r].push(c)):u&&(c=e.createDiagnosticForNode(u,i.cannotExtractExportedEntity),f[r].push(c),g[r].push(c))},K=0;K=u)return m;if(A.set(m,u),y){for(var v=0,h=_;v=0)){var n=e.isIdentifier(r)?G(r):s.getSymbolAtLocation(r);if(n){var i=e.find(m,(function(e){return e.symbol===n}));if(i)if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();y.has(a)||(v.push(i),y.set(a,!0))}else u=u||i}e.forEachChild(r,H)}}function G(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function Y(t,r,n){if(t){var i=t.getDeclarations();if(i&&i.some((function(e){return e.parent===r})))return e.factory.createIdentifier(t.name);var a=Y(t.parent,r,n);if(void 0!==a)return n?e.factory.createQualifiedName(a,e.factory.createIdentifier(t.name)):e.factory.createPropertyAccessExpression(a,t.name)}}}(t,o,s,n,r.program.getTypeChecker(),r.cancellationToken);return{scopes:o,readsAndWrites:c}}function y(e){var t,r=e.symbol;if(r&&r.declarations)for(var n=0,i=r.declarations;nn.pos}));if(-1!==a){var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n))return{toMove:[i[a]],afterLast:i[a+1]};if(!(n.pos>o.getStart(r))){var s=e.findIndex(i,(function(e){return e.end>n.end}),a);if(-1===s||!(0===s||i[s].getStart(r)=2&&e.every(t,(function(t){return function(t,r){if(e.isRestParameter(t)){var n=r.getTypeAtLocation(t);if(!r.isArrayType(n)&&!r.isTupleType(n))return!1}return!t.modifiers&&!t.decorators&&e.isIdentifier(t.name)}(t,r)}))}(t.parameters,r))return!1;switch(t.kind){case 255:return m(t)&&g(t,r);case 168:if(e.isObjectLiteralExpression(t.parent)){var i=s(t.name,r);return 1===(null===(n=null==i?void 0:i.declarations)||void 0===n?void 0:n.length)&&g(t,r)}return g(t,r);case 170:return e.isClassDeclaration(t.parent)?m(t.parent)&&g(t,r):y(t.parent.parent)&&g(t,r);case 212:case 213:return y(t.parent)}return!1}(a,n)&&e.rangeContainsRange(a,i))||a.body&&e.rangeContainsRange(a.body,i)?void 0:a}function f(t){return e.isMethodSignature(t)&&(e.isInterfaceDeclaration(t.parent)||e.isTypeLiteralNode(t.parent))}function g(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function m(t){return!!t.name||!!e.findModifier(t,88)}function y(t){return e.isVariableDeclaration(t)&&e.isVarConst(t)&&e.isIdentifier(t.name)&&!t.type}function v(t){return t.length>0&&e.isThis(t[0].name)}function h(t){return v(t)&&(t=e.factory.createNodeArray(t.slice(1),t.hasTrailingComma)),t}function D(t,r){var n=h(t.parameters),i=e.isRestParameter(e.last(n)),a=i?r.slice(0,n.length-1):r,o=e.map(a,(function(t,r){var i=function(t,r){return e.isIdentifier(r)&&e.getTextOfIdentifierOrLiteral(r)===t?e.factory.createShorthandPropertyAssignment(t):e.factory.createPropertyAssignment(t,r)}(b(n[r]),t);return e.suppressLeadingAndTrailingTrivia(i.name),e.isPropertyAssignment(i)&&e.suppressLeadingAndTrailingTrivia(i.initializer),e.copyComments(t,i),i}));if(i&&r.length>=n.length){var s=r.slice(n.length-1),c=e.factory.createPropertyAssignment(b(e.last(n)),e.factory.createArrayLiteralExpression(s));o.push(c)}return e.factory.createObjectLiteralExpression(o,!1)}function x(t,r,n){var i,a,o,s=r.getTypeChecker(),c=h(t.parameters),u=e.map(c,(function(t){var r=e.factory.createBindingElement(void 0,void 0,b(t),e.isRestParameter(t)&&m(t)?e.factory.createArrayLiteralExpression():t.initializer);return e.suppressLeadingAndTrailingTrivia(r),t.initializer&&r.initializer&&e.copyComments(t.initializer,r.initializer),r})),l=e.factory.createObjectBindingPattern(u),d=(i=c,a=e.map(i,g),e.addEmitFlags(e.factory.createTypeLiteralNode(a),1));e.every(c,m)&&(o=e.factory.createObjectLiteralExpression());var _=e.factory.createParameterDeclaration(void 0,void 0,void 0,l,void 0,d,o);if(v(t.parameters)){var p=t.parameters[0],f=e.factory.createParameterDeclaration(void 0,void 0,void 0,p.name,void 0,p.type);return e.suppressLeadingAndTrailingTrivia(f.name),e.copyComments(p.name,f.name),p.type&&(e.suppressLeadingAndTrailingTrivia(f.type),e.copyComments(p.type,f.type)),e.factory.createNodeArray([f,_])}return e.factory.createNodeArray([_]);function g(t){var i=t.type;i||!t.initializer&&!e.isRestParameter(t)||(i=function(t){var i=s.getTypeAtLocation(t);return e.getTypeNodeIfAccessible(i,t,r,n)}(t));var a=e.factory.createPropertySignature(void 0,b(t),m(t)?e.factory.createToken(57):t.questionToken,i);return e.suppressLeadingAndTrailingTrivia(a),e.copyComments(t.name,a.name),t.type&&a.type&&e.copyComments(t.type,a.type),a}function m(t){if(e.isRestParameter(t)){var r=s.getTypeAtLocation(t);return!s.isTupleType(r)}return s.isOptionalParameter(t)}}function b(t){return e.getTextOfIdentifierOrLiteral(t.name)}t.registerRefactor(i,{kinds:[o.kind],getEditsForAction:function(t,n){e.Debug.assert(n===i,"Unexpected action name");var a=t.file,o=t.startPosition,g=t.program,m=t.cancellationToken,y=t.host,v=p(a,o,g.getTypeChecker());if(v&&m){var h=function(t,n,i){var a=function(t){switch(t.kind){case 255:return t.name?[t.name]:[e.Debug.checkDefined(e.findModifier(t,88),"Nameless function declaration should be a default export")];case 168:return[t.name];case 170:var r=e.Debug.checkDefined(e.findChildOfKind(t,134,t.getSourceFile()),"Constructor declaration should have constructor keyword");return 225===t.parent.kind?[t.parent.parent.name,r]:[r];case 213:return[t.parent.name];case 212:return t.name?[t.name,t.parent.name]:[t.parent.name];default:return e.Debug.assertNever(t,"Unexpected function declaration kind ".concat(t.kind))}}(t),o=e.isConstructorDeclaration(t)?function(t){switch(t.parent.kind){case 256:var r=t.parent;return r.name?[r.name]:[e.Debug.checkDefined(e.findModifier(r,88),"Nameless class declaration should be a default export")];case 225:var n=t.parent,i=t.parent.parent,a=n.name;return a?[a,i.name]:[i.name]}}(t):[],p=e.deduplicate(r(r([],a,!0),o,!0),e.equateValues),g=n.getTypeChecker(),m=e.flatMap(p,(function(t){return e.FindAllReferences.getReferenceEntriesForNode(-1,t,n,n.getSourceFiles(),i)})),y=v(m);return e.every(y.declarations,(function(t){return e.contains(p,t)}))||(y.valid=!1),y;function v(r){for(var n={accessExpressions:[],typeUsages:[]},i={functionCalls:[],declarations:[],classReferences:n,valid:!0},p=e.map(a,h),m=e.map(o,h),y=e.isConstructorDeclaration(t),v=e.map(a,(function(e){return s(e,g)})),D=0,x=r;D0;){var o=i.shift();e.copyTrailingComments(t[o],a,r,3,!1),n(o,a)}}}(n,r,a),s=p(0,n),c=s[0],u=s[1],l=s[2],d=s[3];if(c===n.length){var g=e.factory.createNoSubstitutionTemplateLiteral(u,l);return o(d,g),g}var m=[],y=e.factory.createTemplateHead(u,l);o(d,y);for(var v,h=function(t){var r=function(t){return e.isParenthesizedExpression(t)&&(f(t),t=t.expression),t}(n[t]);a(t,r);var i=p(t+1,n),s=i[0],c=i[1],u=i[2],l=i[3],d=(t=s-1)==n.length-1;if(e.isTemplateExpression(r)){var g=e.map(r.templateSpans,(function(t,n){f(t);var i=n===r.templateSpans.length-1,a=t.literal.text+(i?c:""),o=_(t.literal)+(i?u:"");return e.factory.createTemplateSpan(t.expression,d?e.factory.createTemplateTail(a,o):e.factory.createTemplateMiddle(a,o))}));m.push.apply(m,g)}else{var y=d?e.factory.createTemplateTail(c,u):e.factory.createTemplateMiddle(c,u);o(l,y),m.push(e.factory.createTemplateSpan(r,y))}v=t},D=c;D1)return t.getUnionType(e.mapDefined(n,(function(e){return e.getReturnType()})))}var i=t.getSignatureFromDeclaration(r);if(i)return t.getReturnTypeOfSignature(i)}(a,i);if(!s)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_determine_function_return_type)};var c=a.typeToTypeNode(s,i,1);return c?{declaration:i,returnTypeNode:c}:void 0}}t.registerRefactor(i,{kinds:[o.kind],getEditsForAction:function(r){var n=s(r);if(n&&!t.isRefactorErrorInfo(n)){var i=e.textChanges.ChangeTracker.with(r,(function(t){return i=r.file,a=t,o=n.declaration,s=n.returnTypeNode,c=e.findChildOfKind(o,21,i),u=e.isArrowFunction(o)&&void 0===c,void((l=u?e.first(o.parameters):c)&&(u&&(a.insertNodeBefore(i,l,e.factory.createToken(20)),a.insertNodeAfter(i,l,e.factory.createToken(21))),a.insertNodeAt(i,l.end,s,{prefix:": "})));var i,a,o,s,c,u,l}));return{renameFilename:void 0,renameLocation:void 0,edits:i}}},getAvailableActions:function(r){var c=s(r);return c?t.isRefactorErrorInfo(c)?r.preferences.provideRefactorNotApplicableReason?[{name:i,description:a,actions:[n(n({},o),{notApplicableReason:c.error})]}]:e.emptyArray:[{name:i,description:a,actions:[o]}]:e.emptyArray}})})((t=e.refactor||(e.refactor={})).inferFunctionReturnType||(t.inferFunctionReturnType={}))}(c||(c={})),function(e){function t(t,r,n,a){var o=e.isNodeKind(t)?new i(t,r,n):79===t?new l(79,r,n):80===t?new d(80,r,n):new u(t,r,n);return o.parent=a,o.flags=25358336&a.flags,o}e.servicesVersion="0.8";var i=function(){function r(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}return r.prototype.assertHasRealPosition=function(t){e.Debug.assert(!e.positionIsSynthesized(this.pos)&&!e.positionIsSynthesized(this.end),t||"Node must have a real position for this operation")},r.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},r.prototype.getStart=function(t,r){return this.assertHasRealPosition(),e.getTokenPosOfNode(this,t,r)},r.prototype.getFullStart=function(){return this.assertHasRealPosition(),this.pos},r.prototype.getEnd=function(){return this.assertHasRealPosition(),this.end},r.prototype.getWidth=function(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)},r.prototype.getFullWidth=function(){return this.assertHasRealPosition(),this.end-this.pos},r.prototype.getLeadingTriviaWidth=function(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos},r.prototype.getFullText=function(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)},r.prototype.getText=function(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())},r.prototype.getChildCount=function(e){return this.getChildren(e).length},r.prototype.getChildAt=function(e,t){return this.getChildren(t)[e]},r.prototype.getChildren=function(r){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=function(r,n){if(!e.isNodeKind(r.kind))return e.emptyArray;var i=[];if(e.isJSDocCommentContainingNode(r))return r.forEachChild((function(e){i.push(e)})),i;e.scanner.setText((n||r.getSourceFile()).text);var o=r.pos,s=function(e){a(i,o,e.pos,r),i.push(e),o=e.end},c=function(e){a(i,o,e.pos,r),i.push(function(e,r){var n=t(346,e.pos,e.end,r);n._children=[];for(var i=e.pos,o=0,s=e;o345}));return n.kind<160?n:n.getFirstToken(t)}},r.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t),n=e.lastOrUndefined(r);if(n)return n.kind<160?n:n.getLastToken(t)},r.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)},r}();function a(r,n,i,a){for(e.scanner.setTextPos(n);n=n.length&&(t=this.getEnd()),t||(t=n[r+1]-1);var i=this.getFullText();return"\n"===i[t]&&"\r"===i[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();return this.forEachChild((function i(a){switch(a.kind){case 255:case 212:case 168:case 167:var o=a,s=n(o);if(s){var c=function(e){var r=t.get(e);r||t.set(e,r=[]);return r}(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o)}e.forEachChild(a,i);break;case 256:case 225:case 257:case 258:case 259:case 260:case 264:case 274:case 269:case 266:case 267:case 171:case 172:case 181:r(a),e.forEachChild(a,i);break;case 163:if(!e.hasSyntacticModifier(a,16476))break;case 253:case 202:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 297:case 166:case 165:r(a);break;case 271:var d=a;d.exportClause&&(e.isNamedExports(d.exportClause)?e.forEach(d.exportClause.elements,i):i(d.exportClause.name));break;case 265:var _=a.importClause;_&&(_.name&&r(_.name),_.namedBindings&&(267===_.namedBindings.kind?r(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;case 220:0!==e.getAssignmentDeclarationKind(a)&&r(a);default:e.forEachChild(a,i)}})),t;function r(e){var r=n(e);r&&t.add(r,e)}function n(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):void 0)}},r}(i),v=function(){function t(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}return t.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},t}();function h(t){var r=!0;for(var n in t)if(e.hasProperty(t,n)&&!D(n)){r=!1;break}if(r)return t;var i={};for(var n in t){if(e.hasProperty(t,n))i[D(n)?n:n.charAt(0).toLowerCase()+n.substr(1)]=t[n]}return i}function D(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function x(){return{target:1,jsx:1}}e.toEditorSettings=h,e.displayPartsToString=function(t){return t?e.map(t,(function(e){return e.text})).join(""):""},e.getDefaultCompilerOptions=x,e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var b=function(){function t(t,r){this.host=t,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=new e.Map;for(var n=0,i=t.getScriptFileNames();n=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw null===e.tracing||void 0===e.tracing||e.tracing.instant("session","cancellationThrown",{kind:"ThrottledCancellationToken"}),new e.OperationCanceledException},t}();e.ThrottledCancellationToken=F;var N=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints"],P=r(r([],N,!0),["getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],!1);function w(t){var r=function(t){switch(t.kind){case 10:case 14:case 8:if(161===t.parent.kind)return e.isObjectLiteralElement(t.parent.parent)?t.parent.parent:void 0;case 79:return!e.isObjectLiteralElement(t.parent)||204!==t.parent.parent.kind&&285!==t.parent.parent.kind||t.parent.name!==t?void 0:t.parent}return}(t);return r&&(e.isObjectLiteralExpression(r.parent)||e.isJsxAttributes(r.parent))?r:void 0}function I(t,r,n,i){var a=e.getNameFromPropertyName(t.name);if(!a)return e.emptyArray;if(!n.isUnion())return(o=n.getProperty(a))?[o]:e.emptyArray;var o,s=e.mapDefined(n.types,(function(n){return(e.isObjectLiteralExpression(t.parent)||e.isJsxAttributes(t.parent))&&r.isTypeInvalidDueToUnionDiscriminant(n,t.parent)?void 0:n.getProperty(a)}));if(i&&(0===s.length||s.length===n.types.length)&&(o=n.getProperty(a)))return[o];return 0===s.length?e.mapDefined(n.types,(function(e){return e.getProperty(a)})):s}e.createLanguageService=function(t,i,a){var o,s;void 0===i&&(i=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory())),s=void 0===a?e.LanguageServiceMode.Semantic:"boolean"==typeof a?a?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:a;var c,u,l=new S(t),d=0,_=t.getCancellationToken?new A(t.getCancellationToken()):k,p=t.getCurrentDirectory();function f(e){t.log&&t.log(e)}!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&e.setLocalizedDiagnosticMessages(t.getLocalizedDiagnosticMessages());var g=e.hostUsesCaseSensitiveFileNames(t),m=e.createGetCanonicalFileName(g),y=e.getSourceMapper({useCaseSensitiveFileNames:function(){return g},getCurrentDirectory:function(){return p},getProgram:x,fileExists:e.maybeBind(t,t.fileExists),readFile:e.maybeBind(t,t.readFile),getDocumentPositionMapper:e.maybeBind(t,t.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(t,t.getSourceFileLike),log:f});function v(e){var t=c.getSourceFile(e);if(!t){var r=new Error("Could not find source file: '".concat(e,"'."));throw r.ProgramFiles=c.getSourceFiles().map((function(e){return e.fileName})),r}return t}function D(){var r,n,a;if(e.Debug.assert(s!==e.LanguageServiceMode.Syntactic),t.getProjectVersion){var o=t.getProjectVersion();if(o){if(u===o&&!(null===(r=t.hasChangedAutomaticTypeDirectiveNames)||void 0===r?void 0:r.call(t)))return;u=o}}var l=t.getTypeRootsVersion?t.getTypeRootsVersion():0;d!==l&&(f("TypeRoots version has changed; provide new program"),c=void 0,d=l);var v,h=new b(t,m),D=h.getRootFileNames(),x=t.getCompilationSettings()||{target:1,jsx:1},S=t.hasInvalidatedResolution||e.returnFalse,T=e.maybeBind(t,t.hasChangedAutomaticTypeDirectiveNames),C=null===(n=t.getProjectReferences)||void 0===n?void 0:n.call(t),E={useCaseSensitiveFileNames:g,fileExists:P,readFile:w,readDirectory:I,trace:e.maybeBind(t,t.trace),getCurrentDirectory:function(){return p},onUnRecoverableConfigFileDiagnostic:e.noop};if(!e.isProgramUptoDate(c,D,x,(function(e,r){return t.getScriptVersion(r)}),P,S,T,N,C)){var k={getSourceFile:M,getSourceFileByPath:L,getCancellationToken:function(){return _},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return g},getNewLine:function(){return e.getNewLineCharacter(x,(function(){return e.getNewLineOrDefaultFromHost(t)}))},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return p},fileExists:P,readFile:w,getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),realpath:e.maybeBind(t,t.realpath),directoryExists:function(r){return e.directoryProbablyExists(r,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},readDirectory:I,onReleaseOldSourceFile:O,onReleaseParsedCommandLine:function(e,r,n){var i;t.getParsedCommandLine?null===(i=t.onReleaseParsedCommandLine)||void 0===i||i.call(t,e,r,n):r&&O(r.sourceFile,n)},hasInvalidatedResolution:S,hasChangedAutomaticTypeDirectiveNames:T,trace:E.trace,resolveModuleNames:e.maybeBind(t,t.resolveModuleNames),resolveTypeReferenceDirectives:e.maybeBind(t,t.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(t,t.useSourceOfProjectReferenceRedirect),getParsedCommandLine:N};null===(a=t.setCompilerHost)||void 0===a||a.call(t,k);var A=i.getKeyForCompilationSettings(x),F={rootNames:D,options:x,host:k,oldProgram:c,projectReferences:C};return c=e.createProgram(F),h=void 0,v=void 0,y.clearCache(),void c.getTypeChecker()}function N(r){var n=e.toPath(r,p,m),i=null==v?void 0:v.get(n);if(void 0!==i)return i||void 0;var a=t.getParsedCommandLine?t.getParsedCommandLine(r):function(t){var r=M(t,100);return r?(r.path=e.toPath(t,p,m),r.resolvedPath=r.path,r.originalFileName=r.fileName,e.parseJsonSourceFileConfigFileContent(r,E,e.getNormalizedAbsolutePath(e.getDirectoryPath(t),p),void 0,e.getNormalizedAbsolutePath(t,p))):void 0}(r);return(v||(v=new e.Map)).set(n,a||!1),a}function P(r){var n=e.toPath(r,p,m),i=h&&h.getEntryByPath(n);return i?!e.isString(i):!!t.fileExists&&t.fileExists(r)}function w(r){var n=e.toPath(r,p,m),i=h&&h.getEntryByPath(n);return i?e.isString(i)?void 0:e.getSnapshotText(i.scriptSnapshot):t.readFile&&t.readFile(r)}function I(r,n,i,a,o){return e.Debug.checkDefined(t.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),t.readDirectory(r,n,i,a,o)}function O(e,t){var r=i.getKeyForCompilationSettings(t);i.releaseDocumentWithKey(e.resolvedPath,r,e.scriptKind)}function M(t,r,n,i){return L(t,e.toPath(t,p,m),r,n,i)}function L(t,r,n,a,o){e.Debug.assert(void 0!==h,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");var s=h&&h.getOrCreateEntryByPath(t,r);if(s){if(!o){var u=c&&c.getSourceFileByPath(r);if(u){if(s.scriptKind===u.scriptKind)return i.updateDocumentWithKey(t,r,x,A,s.scriptSnapshot,s.version,s.scriptKind);i.releaseDocumentWithKey(u.resolvedPath,i.getKeyForCompilationSettings(c.getCompilerOptions()),u.scriptKind)}}return i.acquireDocumentWithKey(t,r,x,A,s.scriptSnapshot,s.version,s.scriptKind)}}}function x(){if(s!==e.LanguageServiceMode.Syntactic)return D(),c;e.Debug.assert(void 0===c)}function T(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some((function(t){return e.normalizePath(t)===i}))),D();var a=e.mapDefined(n,(function(e){return c.getSourceFile(e)})),o=v(t);return e.DocumentHighlights.getDocumentHighlights(c,_,o,r,a)}function C(t,r,n,i){D();var a=n&&2===n.use?c.getSourceFiles().filter((function(e){return!c.isSourceFileDefaultLibrary(e)})):c.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(c,_,a,t,r,n,i)}var E=new e.Map(e.getEntries(((o={})[18]=19,o[20]=21,o[22]=23,o[31]=29,o)));function F(r){return e.Debug.assertEqual(r.type,"install package"),t.installPackage?t.installPackage({fileName:function(t){return e.toPath(t,p,m)}(r.file),packageName:r.packageName}):Promise.reject("Host does not implement `installPackage`")}function O(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function M(t,r,n){for(var i=l.getCurrentSourceFile(t),a=[],o=O(i,r),s=o.lineStarts,c=o.firstLine,u=o.lastLine,d=n||!1,_=Number.MAX_VALUE,p=new e.Map,f=new RegExp(/\S/),g=e.isInsideJsxElement(i,s[c]),m=g?"{/*":"//",y=c;y<=u;y++){var v=i.text.substring(s[y],i.getLineEndOfPosition(s[y])),h=f.exec(v);h&&(_=Math.min(_,h.index),p.set(y.toString(),h.index),v.substr(h.index,m.length)!==m&&(d=void 0===n||n))}for(y=c;y<=u;y++)if(c===u||s[y]!==r.end){var D=p.get(y.toString());void 0!==D&&(g?a.push.apply(a,L(t,{pos:s[y]+_,end:i.getLineEndOfPosition(s[y])},d,g)):d?a.push({newText:m,span:{length:0,start:s[y]+_}}):i.text.substr(s[y]+D,m.length)===m&&a.push({newText:"",span:{length:m.length,start:s[y]+D}}))}return a}function L(t,r,n,i){for(var a,o=l.getCurrentSourceFile(t),s=[],c=o.text,u=!1,d=n||!1,_=[],p=r.pos,f=void 0!==i?i:e.isInsideJsxElement(o,p),g=f?"{/*":"/*",m=f?"*/}":"*/",y=f?"\\{\\/\\*":"\\/\\*",v=f?"\\*\\/\\}":"\\*\\/";p<=r.end;){var h=c.substr(p,g.length)===g?g.length:0,D=e.isInComment(o,p+h);if(D)f&&(D.pos--,D.end++),_.push(D.pos),3===D.kind&&_.push(D.end),u=!0,p=D.end+1;else{var x=c.substring(p,r.end).search("(".concat(y,")|(").concat(v,")"));d=void 0!==n?n:d||!e.isTextWhiteSpaceLike(c,p,-1===x?r.end:p+x),p=-1===x?r.end+1:p+x+m.length}}if(d||!u){2!==(null===(a=e.isInComment(o,r.pos))||void 0===a?void 0:a.kind)&&e.insertSorted(_,r.pos,e.compareValues),e.insertSorted(_,r.end,e.compareValues);var b=_[0];c.substr(b,g.length)!==g&&s.push({newText:g,span:{length:0,start:b}});for(var S=1;S<_.length-1;S++)c.substr(_[S]-m.length,m.length)!==m&&s.push({newText:m,span:{length:0,start:_[S]}}),c.substr(_[S],g.length)!==g&&s.push({newText:g,span:{length:0,start:_[S]}});s.length%2!=0&&s.push({newText:m,span:{length:0,start:_[_.length-1]}})}else for(var T=0,C=_;T0?E-m.length:0;h=c.substr(k,m.length)===m?m.length:0;s.push({newText:"",span:{length:g.length,start:E-h}})}return s}function R(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&R(i)}function B(t){var r=t.closingFragment,n=t.parent;return!!(65536&r.flags)||e.isJsxFragment(n)&&B(n)}function j(r,n,i,a,o,s){var c="number"==typeof n?[n,void 0]:[n.pos,n.end];return{file:r,startPosition:c[0],endPosition:c[1],program:x(),host:t,formatContext:e.formatting.getFormatContext(a,t),cancellationToken:_,preferences:i,triggerReason:o,kind:s}}E.forEach((function(e,t){return E.set(e.toString(),Number(t))}));var J={dispose:function(){if(c){var r=i.getKeyForCompilationSettings(c.getCompilerOptions());e.forEach(c.getSourceFiles(),(function(e){return i.releaseDocumentWithKey(e.resolvedPath,r,e.scriptKind)})),c=void 0}t=void 0},cleanupSemanticCache:function(){c=void 0},getSyntacticDiagnostics:function(e){return D(),c.getSyntacticDiagnostics(v(e),_).slice()},getSemanticDiagnostics:function(t){D();var n=v(t),i=c.getSemanticDiagnostics(n,_);if(!e.getEmitDeclarations(c.getCompilerOptions()))return i.slice();var a=c.getDeclarationDiagnostics(n,_);return r(r([],i,!0),a,!0)},getSuggestionDiagnostics:function(t){return D(),e.computeSuggestionDiagnostics(v(t),c,_)},getCompilerOptionsDiagnostics:function(){return D(),r(r([],c.getOptionsDiagnostics(_),!0),c.getGlobalDiagnostics(_),!0)},getSyntacticClassifications:function(t,r){return e.getSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getSemanticClassifications:function(t,r,n){return D(),"2020"===(n||"original")?e.classifier.v2020.getSemanticClassifications(c,_,v(t),r):e.getSemanticClassifications(c.getTypeChecker(),_,v(t),c.getClassifiableNames(),r)},getEncodedSyntacticClassifications:function(t,r){return e.getEncodedSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getEncodedSemanticClassifications:function(t,r,n){return D(),"original"===(n||"original")?e.getEncodedSemanticClassifications(c.getTypeChecker(),_,v(t),c.getClassifiableNames(),r):e.classifier.v2020.getEncodedSemanticClassifications(c,_,v(t),r)},getCompletionsAtPosition:function(r,i,a){void 0===a&&(a=e.emptyOptions);var o=n(n({},e.identity(a)),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});return D(),e.Completions.getCompletionsAtPosition(t,c,f,v(r),i,o,a.triggerCharacter,a.triggerKind,_)},getCompletionEntryDetails:function(r,n,i,a,o,s,u){return void 0===s&&(s=e.emptyOptions),D(),e.Completions.getCompletionEntryDetails(c,f,v(r),n,{name:i,source:o,data:u},t,a&&e.formatting.getFormatContext(a,t),s,_)},getCompletionEntrySymbol:function(r,n,i,a,o){return void 0===o&&(o=e.emptyOptions),D(),e.Completions.getCompletionEntrySymbol(c,f,v(r),n,{name:i,source:a},t,o)},getSignatureHelpItems:function(t,r,n){var i=(void 0===n?e.emptyOptions:n).triggerReason;D();var a=v(t);return e.SignatureHelp.getSignatureHelpItems(c,a,r,i,_)},getQuickInfoAtPosition:function(t,r){D();var n=v(t),i=e.getTouchingPropertyName(n,r);if(i!==n){var a=c.getTypeChecker(),o=function(t){if(e.isNewExpression(t.parent)&&t.pos===t.parent.pos)return t.parent.expression;if(e.isNamedTupleMember(t.parent)&&t.pos===t.parent.pos)return t.parent;return t}(i),s=function(t,r){var n=w(t);if(n){var i=r.getContextualType(n.parent),a=i&&I(n,r,i,!1);if(a&&1===a.length)return e.first(a)}return r.getSymbolAtLocation(t)}(o,a);if(!s||a.isUnknownSymbol(s)){var u=function(t,r,n){switch(r.kind){case 79:return!e.isLabelName(r)&&!e.isTagName(r)&&!e.isConstTypeReference(r.parent);case 205:case 160:return!e.isInComment(t,n);case 108:case 191:case 106:case 196:return!0;default:return!1}}(n,o,r)?a.getTypeAtLocation(o):void 0;return u&&{kind:"",kindModifiers:"",textSpan:e.createTextSpanFromNode(o,n),displayParts:a.runWithCancellationToken(_,(function(t){return e.typeToDisplayParts(t,u,e.getContainerNode(o))})),documentation:u.symbol?u.symbol.getDocumentationComment(a):void 0,tags:u.symbol?u.symbol.getJsDocTags(a):void 0}}var l=a.runWithCancellationToken(_,(function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,s,n,e.getContainerNode(o),o)})),d=l.symbolKind,p=l.displayParts,f=l.documentation,g=l.tags;return{kind:d,kindModifiers:e.SymbolDisplay.getSymbolModifiers(a,s),textSpan:e.createTextSpanFromNode(o,n),displayParts:p,documentation:f,tags:g}}},getDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getDefinitionAtPosition(c,v(t),r)},getDefinitionAndBoundSpan:function(t,r){return D(),e.GoToDefinition.getDefinitionAndBoundSpan(c,v(t),r)},getImplementationAtPosition:function(t,r){return D(),e.FindAllReferences.getImplementationsAtPosition(c,_,c.getSourceFiles(),v(t),r)},getTypeDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getTypeDefinitionAtPosition(c.getTypeChecker(),v(t),r)},getReferencesAtPosition:function(t,r){return D(),C(e.getTouchingPropertyName(v(t),r),r,{use:1},(function(t,r,n){return e.FindAllReferences.toReferenceEntry(t,n.getSymbolAtLocation(r))}))},findReferences:function(t,r){return D(),e.FindAllReferences.findReferencedSymbols(c,_,c.getSourceFiles(),v(t),r)},getFileReferences:function(t){var r;D();var n=null===(r=c.getSourceFile(t))||void 0===r?void 0:r.symbol;return e.FindAllReferences.Core.getReferencesForFileName(t,c,c.getSourceFiles()).map((function(t){return e.FindAllReferences.toReferenceEntry(t,n)}))},getOccurrencesAtPosition:function(t,r){return e.flatMap(T(t,r,[t]),(function(e){return e.highlightSpans.map((function(t){return n(n({fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:"writtenReference"===t.kind,isDefinition:!1},t.isInString&&{isInString:!0}),t.contextSpan&&{contextSpan:t.contextSpan})}))}))},getDocumentHighlights:T,getNameOrDottedNameSpan:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.getTouchingPropertyName(i,r);if(a!==i){switch(a.kind){case 205:case 160:case 10:case 95:case 110:case 104:case 106:case 108:case 191:case 79:break;default:return}for(var o=a;;)if(e.isRightSideOfPropertyAccess(o)||e.isRightSideOfQualifiedName(o))o=o.parent;else{if(!e.isNameOfModuleDeclaration(o))break;if(260!==o.parent.parent.kind||o.parent.parent.body!==o.parent)break;o=o.parent.parent.name}return e.createTextSpanFromBounds(o.getStart(),a.getEnd())}},getBreakpointStatementAtPosition:function(t,r){var n=l.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)},getNavigateToItems:function(t,r,n,i){void 0===i&&(i=!1),D();var a=n?[v(n)]:c.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,c.getTypeChecker(),_,t,r,i)},getRenameInfo:function(t,r,n){return D(),e.Rename.getRenameInfo(c,v(t),r,n)},getSmartSelectionRange:function(t,r){return e.SmartSelectionRange.getSmartSelectionRange(r,l.getCurrentSourceFile(t))},findRenameLocations:function(t,r,i,a,o){D();var s=v(t),c=e.getAdjustedRenameLocation(e.getTouchingPropertyName(s,r));if(e.Rename.nodeIsEligibleForRename(c)){if(e.isIdentifier(c)&&(e.isJsxOpeningElement(c.parent)||e.isJsxClosingElement(c.parent))&&e.isIntrinsicJsxName(c.escapedText)){var u=c.parent.parent;return[u.openingElement,u.closingElement].map((function(t){var r=e.createTextSpanFromNode(t.tagName,s);return n({fileName:s.fileName,textSpan:r},e.FindAllReferences.toContextSpan(r,s,t.parent))}))}return C(c,r,{findInStrings:i,findInComments:a,providePrefixAndSuffixTextForRename:o,use:2},(function(t,r,n){return e.FindAllReferences.toRenameLocation(t,r,n,o||!1)}))}},getNavigationBarItems:function(t){return e.NavigationBar.getNavigationBarItems(l.getCurrentSourceFile(t),_)},getNavigationTree:function(t){return e.NavigationBar.getNavigationTree(l.getCurrentSourceFile(t),_)},getOutliningSpans:function(t){var r=l.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,_)},getTodoComments:function(t,r){D();var n=v(t);_.throwIfCancellationRequested();var i,a=n.text,o=[];if(r.length>0&&!function(t){return e.stringContains(t,"/node_modules/")}(n.fileName))for(var s=function(){var t="("+/(?:^(?:\s|\*)*)/.source+"|"+/(?:\/\/+\s*)/.source+"|"+/(?:\/\*+\s*)/.source+")",n="(?:"+e.map(r,(function(e){return"("+(e.text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")+")")})).join("|")+")";return new RegExp(t+"("+n+/(?:.*?)/.source+")"+/(?:$|\*\/)/.source,"gim")}(),c=void 0;c=s.exec(a);){_.throwIfCancellationRequested();e.Debug.assert(c.length===r.length+3);var u=c[1],l=c.index+u.length;if(e.isInComment(n,l)){for(var d=void 0,p=0;p=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57)){var f=c[2];o.push({descriptor:d,message:f,position:l})}}}return o},getBraceMatchingAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.getTouchingToken(n,r),a=i.getStart(n)===r?E.get(i.kind.toString()):void 0,o=a&&e.findChildOfKind(i.parent,a,n);return o?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(o,n)].sort((function(e,t){return e.start-t.start})):e.emptyArray},getIndentationAtPosition:function(t,r,n){var i=e.timestamp(),a=h(n),o=l.getCurrentSourceFile(t);f("getIndentationAtPosition: getCurrentSourceFile: "+(e.timestamp()-i)),i=e.timestamp();var s=e.formatting.SmartIndenter.getIndentation(r,o,a);return f("getIndentationAtPosition: computeIndentation : "+(e.timestamp()-i)),s},getFormattingEditsForRange:function(r,n,i,a){var o=l.getCurrentSourceFile(r);return e.formatting.formatSelection(n,i,o,e.formatting.getFormatContext(h(a),t))},getFormattingEditsForDocument:function(r,n){return e.formatting.formatDocument(l.getCurrentSourceFile(r),e.formatting.getFormatContext(h(n),t))},getFormattingEditsAfterKeystroke:function(r,n,i,a){var o=l.getCurrentSourceFile(r),s=e.formatting.getFormatContext(h(a),t);if(!e.isInComment(o,n))switch(i){case"{":return e.formatting.formatOnOpeningCurly(n,o,s);case"}":return e.formatting.formatOnClosingCurly(n,o,s);case";":return e.formatting.formatOnSemicolon(n,o,s);case"\n":return e.formatting.formatOnEnter(n,o,s)}return[]},getDocCommentTemplateAtPosition:function(r,n,i){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),l.getCurrentSourceFile(r),n,i)},isValidBraceCompletionAtPosition:function(t,r,n){if(60===n)return!1;var i=l.getCurrentSourceFile(t);if(e.isInString(i,r))return!1;if(e.isInsideJsxElementOrAttribute(i,r))return 123===n;if(e.isInTemplateString(i,r))return!1;switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return!0},getJsxClosingTagAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.findPrecedingToken(r,n);if(i){var a=31===i.kind&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)&&e.isJsxElement(i.parent)?i.parent:void 0;if(a&&R(a))return{newText:"")};var o=31===i.kind&&e.isJsxOpeningFragment(i.parent)?i.parent.parent:e.isJsxText(i)&&e.isJsxFragment(i.parent)?i.parent:void 0;return o&&B(o)?{newText:""}:void 0}},getSpanOfEnclosingComment:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.formatting.getRangeOfEnclosingComment(i,r);return!a||n&&3!==a.kind?void 0:e.createTextSpanFromRange(a)},getCodeFixesAtPosition:function(r,n,i,a,o,s){void 0===s&&(s=e.emptyOptions),D();var u=v(r),l=e.createTextSpanFromBounds(n,i),d=e.formatting.getFormatContext(o,t);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),(function(r){return _.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:r,sourceFile:u,span:l,program:c,host:t,cancellationToken:_,formatContext:d,preferences:s})}))},getCombinedCodeFix:function(r,n,i,a){void 0===a&&(a=e.emptyOptions),D(),e.Debug.assert("file"===r.type);var o=v(r.fileName),s=e.formatting.getFormatContext(i,t);return e.codefix.getAllFixes({fixId:n,sourceFile:o,program:c,host:t,cancellationToken:_,formatContext:s,preferences:a})},applyCodeActionCommand:function(t,r){var n="string"==typeof t?r:t;return e.isArray(n)?Promise.all(n.map((function(e){return F(e)}))):F(n)},organizeImports:function(r,n,i){void 0===i&&(i=e.emptyOptions),D(),e.Debug.assert("file"===r.type);var a=v(r.fileName),o=e.formatting.getFormatContext(n,t);return e.OrganizeImports.organizeImports(a,o,t,c,i,r.skipDestructiveCodeActions)},getEditsForFileRename:function(r,n,i,a){return void 0===a&&(a=e.emptyOptions),e.getEditsForFileRename(x(),r,n,t,e.formatting.getFormatContext(i,t),a,y)},getEmitOutput:function(r,n,i){D();var a=v(r),o=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(c,a,!!n,_,o,i)},getNonBoundSourceFile:function(e){return l.getCurrentSourceFile(e)},getProgram:x,getAutoImportProvider:function(){var e;return null===(e=t.getPackageJsonAutoImportProvider)||void 0===e?void 0:e.call(t)},getApplicableRefactors:function(t,r,n,i,a){void 0===n&&(n=e.emptyOptions),D();var o=v(t);return e.refactor.getApplicableRefactors(j(o,r,n,e.emptyOptions,i,a))},getEditsForRefactor:function(t,r,n,i,a,o){void 0===o&&(o=e.emptyOptions),D();var s=v(t);return e.refactor.getEditsForRefactor(j(s,n,o,r),i,a)},toLineColumnOffset:function(e,t){return 0===t?{line:0,character:0}:y.toLineColumnOffset(e,t)},getSourceMapper:function(){return y},clearSourceMapperCache:function(){return y.clearCache()},prepareCallHierarchy:function(t,r){D();var n=e.CallHierarchy.resolveCallHierarchyDeclaration(c,e.getTouchingPropertyName(v(t),r));return n&&e.mapOneOrMany(n,(function(t){return e.CallHierarchy.createCallHierarchyItem(c,t)}))},provideCallHierarchyIncomingCalls:function(t,r){D();var n=v(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getIncomingCalls(c,i,_):[]},provideCallHierarchyOutgoingCalls:function(t,r){D();var n=v(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getOutgoingCalls(c,i):[]},toggleLineComment:M,toggleMultilineComment:L,commentSelection:function(e,t){var r=O(l.getCurrentSourceFile(e),t);return r.firstLine===r.lastLine&&t.pos!==t.end?L(e,t,!0):M(e,t,!0)},uncommentSelection:function(t,r){var n=l.getCurrentSourceFile(t),i=[],a=r.pos,o=r.end;a===o&&(o+=e.isInsideJsxElement(n,a)?2:1);for(var s=a;s<=o;s++){var c=e.isInComment(n,s);if(c){switch(c.kind){case 2:i.push.apply(i,M(t,{end:c.end,pos:c.pos+1},!1));break;case 3:i.push.apply(i,L(t,{end:c.end,pos:c.pos+1},!1))}s=c.end+1}}return i},provideInlayHints:function(r,n,i){void 0===i&&(i=e.emptyOptions),D();var a=v(r);return e.InlayHints.provideInlayHints(function(e,r,n){return{file:e,program:x(),host:t,span:r,preferences:n,cancellationToken:_}}(a,n,i))}};switch(s){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:N.forEach((function(e){return J[e]=function(){throw new Error("LanguageService Operation: ".concat(e," not allowed in LanguageServiceMode.PartialSemantic"))}}));break;case e.LanguageServiceMode.Syntactic:P.forEach((function(e){return J[e]=function(){throw new Error("LanguageService Operation: ".concat(e," not allowed in LanguageServiceMode.Syntactic"))}}));break;default:e.Debug.assertNever(s)}return J},e.getNameTable=function(t){return t.nameTable||function(t){var r=t.nameTable=new e.Map;t.forEachChild((function t(n){if(e.isIdentifier(n)&&!e.isTagName(n)&&n.escapedText||e.isStringOrNumericLiteralLike(n)&&function(t){return e.isDeclarationName(t)||276===t.parent.kind||function(e){return e&&e.parent&&206===e.parent.kind&&e.parent.argumentExpression===e}(t)||e.isLiteralComputedPropertyDeclarationName(t)}(n)){var i=e.getEscapedTextOfIdentifierOrLiteral(n);r.set(i,void 0===r.get(i)?n.pos:-1)}else if(e.isPrivateIdentifier(n)){i=n.escapedText;r.set(i,void 0===r.get(i)?n.pos:-1)}if(e.forEachChild(n,t),e.hasJSDocNodes(n))for(var a=0,o=n.jsDoc;ai){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i)return;n=a}if(!(8388608&n.flags))return d(n)}function o(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function s(r,n){return o(r,e.findNextToken(n,n.parent,t))}function c(e,r){return e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line?d(e):d(r)}function u(r){return d(e.findPrecedingToken(r.pos,t))}function l(r){return d(e.findNextToken(r,r.parent,t))}function d(r){if(r){var n=r.parent;switch(r.kind){case 236:return x(r.declarationList.declarations[0]);case 253:case 166:case 165:return x(r);case 163:return function t(r){if(e.isBindingPattern(r.name))return C(r.name);if(function(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasSyntacticModifier(t,12)}(r))return o(r);var n=r.parent,i=n.parameters.indexOf(r);return e.Debug.assert(-1!==i),0!==i?t(n.parameters[i-1]):d(n.body)}(r);case 255:case 168:case 167:case 171:case 172:case 170:case 212:case 213:return function(e){if(e.body)return b(e)?o(e):d(e.body)}(r);case 234:if(e.isFunctionBlock(r))return v=(y=r).statements.length?y.statements[0]:y.getLastToken(),b(y.parent)?c(y.parent,v):d(v);case 261:return S(r);case 291:return S(r.block);case 237:return o(r.expression);case 246:return o(r.getChildAt(0),r.expression);case 240:return s(r,r.expression);case 239:return d(r.statement);case 252:return o(r.getChildAt(0));case 238:return s(r,r.expression);case 249:return d(r.statement);case 245:case 244:return o(r.getChildAt(0),r.label);case 241:return(m=r).initializer?T(m):m.condition?o(m.condition):m.incrementor?o(m.incrementor):void 0;case 242:return s(r,r.expression);case 243:return T(r);case 248:return s(r,r.expression);case 288:case 289:return d(r.statements[0]);case 251:return S(r.tryBlock);case 250:case 270:return o(r,r.expression);case 264:return o(r,r.moduleReference);case 265:case 271:return o(r,r.moduleSpecifier);case 260:if(1!==e.getModuleInstanceState(r))return;case 256:case 259:case 297:case 202:return o(r);case 247:return d(r.statement);case 164:return h=n.decorators,e.createTextSpanFromBounds(e.skipTrivia(t.text,h.pos),h.end);case 200:case 201:return C(r);case 257:case 258:return;case 26:case 1:return c(e.findPrecedingToken(r.pos,t));case 27:return u(r);case 18:return function(r){switch(r.parent.kind){case 259:var n=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 256:var i=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 262:return c(r.parent.parent,r.parent.clauses[0])}return d(r.parent)}(r);case 19:return function(t){switch(t.parent.kind){case 261:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 259:case 256:return o(t);case 234:if(e.isFunctionBlock(t.parent))return o(t);case 291:return d(e.lastOrUndefined(t.parent.statements));case 262:var r=t.parent,n=e.lastOrUndefined(r.clauses);return n?d(e.lastOrUndefined(n.statements)):void 0;case 200:var i=t.parent;return d(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return o(e.lastOrUndefined(a.properties)||a)}return d(t.parent)}}(r);case 23:return function(t){if(201===t.parent.kind){var r=t.parent;return o(e.lastOrUndefined(r.elements)||r)}if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return o(e.lastOrUndefined(n.elements)||n)}return d(t.parent)}(r);case 20:return function(e){return 239===e.parent.kind||207===e.parent.kind||208===e.parent.kind?u(e):211===e.parent.kind?l(e):d(e.parent)}(r);case 21:return function(e){switch(e.parent.kind){case 212:case 255:case 213:case 168:case 167:case 171:case 172:case 170:case 240:case 239:case 241:case 243:case 207:case 208:case 211:return u(e);default:return d(e.parent)}}(r);case 58:return function(t){return e.isFunctionLike(t.parent)||294===t.parent.kind||163===t.parent.kind?u(t):d(t.parent)}(r);case 31:case 29:return function(e){return 210===e.parent.kind?l(e):d(e.parent)}(r);case 115:return function(e){return 239===e.parent.kind?s(e,e.parent.expression):d(e.parent)}(r);case 91:case 83:case 96:return l(r);case 159:return function(e){return 243===e.parent.kind?l(e):d(e.parent)}(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return E(r);if((79===r.kind||224===r.kind||294===r.kind||295===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return o(r);if(220===r.kind){var i=r,a=i.left,_=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a))return E(a);if(63===_.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return o(r);if(27===_.kind)return d(a)}if(e.isExpressionNode(r))switch(n.kind){case 239:return u(r);case 164:return d(r.parent);case 241:case 243:return o(r);case 220:if(27===r.parent.operatorToken.kind)return o(r);break;case 213:if(r.parent.body===r)return o(r)}switch(r.parent.kind){case 294:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return d(r.parent.initializer);break;case 210:if(r.parent.type===r)return l(r.parent.type);break;case 253:case 163:var p=r.parent,f=p.initializer,g=p.type;if(f===r||g===r||e.isAssignmentOperator(r.kind))return u(r);break;case 220:if(a=r.parent.left,e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a)return u(r);break;default:if(e.isFunctionLike(r.parent)&&r.parent.type===r)return u(r)}return d(r.parent)}}var m,y,v,h;function D(r){return e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r?o(e.findPrecedingToken(r.pos,t,r.parent),r):o(r)}function x(r){if(242===r.parent.parent.kind)return d(r.parent.parent);var n=r.parent;return e.isBindingPattern(r.name)?C(r.name):r.initializer||e.hasSyntacticModifier(r,1)||243===n.parent.kind?D(r):e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r?d(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function b(t){return e.hasSyntacticModifier(t,1)||256===t.parent.kind&&170!==t.kind}function S(r){switch(r.parent.kind){case 260:if(1!==e.getModuleInstanceState(r.parent))return;case 240:case 238:case 242:return c(r.parent,r.statements[0]);case 241:case 243:return c(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return d(r.statements[0])}function T(e){if(254!==e.initializer.kind)return d(e.initializer);var t=e.initializer;return t.declarations.length>0?d(t.declarations[0]):void 0}function C(t){var r=e.forEach(t.elements,(function(e){return 226!==e.kind?e:void 0}));return r?d(r):202===t.parent.kind?o(t.parent):D(t.parent)}function E(t){e.Debug.assert(201!==t.kind&&200!==t.kind);var r=203===t.kind?t.elements:t.properties,n=e.forEach(r,(function(e){return 226!==e.kind?e:void 0}));return n?d(n):o(220===t.parent.kind?t.parent:t)}}}}(c||(c={})),function(e){e.transform=function(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,e.factory,n,a,r,!0);return o.diagnostics=e.concatenate(o.diagnostics,i),o}}(c||(c={}));var c,u=function(){return this}();!function(e){function t(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}var i=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var r=t,n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null===n)return null;var i=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(i.span.start,i.span.length),i.newLength)},t.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),a=function(){function t(t){var r=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(t,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.getProperty(i,t);return r?{resolvedFileName:r,extension:e.extensionFromPath(r),isExternalLibraryImport:!1}:void 0}))}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return r.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.getProperty(i,t)}))})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||""===e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new i(t)},t.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||""===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},t.prototype.getCancellationToken=function(){var t=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(t)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=a;var c=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost?this.directoryExists=function(e){return t.shimHost.directoryExists(e)}:this.directoryExists=void 0,"realpath"in this.shimHost?this.realpath=function(e){return t.shimHost.realpath(e)}:this.realpath=void 0}return t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t.prototype.readFile=function(e){return this.shimHost.readFile(e)},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t}();function l(e,t,r,n){return d(e,t,!0,r,n)}function d(r,n,i,a,o){try{var s=function(t,r,n,i){var a;i&&(t.log(r),a=e.timestamp());var o=n();if(i){var s=e.timestamp();if(t.log("".concat(r," completed in ").concat(s-a," msec")),e.isString(o)){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),t.log(" result.length=".concat(c.length,", result='").concat(JSON.stringify(c),"'"))}}return o}(r,n,a,o);return i?JSON.stringify({result:s}):s}catch(i){return i instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(t(r,i),i.description=n,JSON.stringify({error:i}))}}e.CoreServicesShimHostAdapter=c;var _=function(){function e(e){this.factory=e,e.registerShim(this)}return e.prototype.dispose=function(e){this.factory.unregisterShim(this)},e}();function p(t,r){return t.map((function(t){return function(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.diagnosticCategoryName(t),code:t.code,reportsUnnecessary:t.reportsUnnecessary,reportsDeprecated:t.reportsDeprecated}}(t,r)}))}e.realizeDiagnostics=p;var f=function(t){function r(e,r,n){var i=t.call(this,e)||this;return i.host=r,i.languageService=n,i.logPerformance=!1,i.logger=i.host,i}return s(r,t),r.prototype.forwardJSONCall=function(e,t){return l(this.logger,e,t,this.logPerformance)},r.prototype.dispose=function(e){this.logger.log("dispose()"),this.languageService.dispose(),this.languageService=null,u&&u.CollectGarbage&&(u.CollectGarbage(),this.logger.log("CollectGarbage()")),this.logger=null,t.prototype.dispose.call(this,e)},r.prototype.refresh=function(e){this.forwardJSONCall("refresh(".concat(e,")"),(function(){return null}))},r.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall("cleanupSemanticCache()",(function(){return e.languageService.cleanupSemanticCache(),null}))},r.prototype.realizeDiagnostics=function(t){return p(t,e.getNewLineOrDefaultFromHost(this.host))},r.prototype.getSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getSyntacticClassifications('".concat(t,"', ").concat(r,", ").concat(n,")"),(function(){return i.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getSemanticClassifications('".concat(t,"', ").concat(r,", ").concat(n,")"),(function(){return i.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getEncodedSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(t,"', ").concat(r,", ").concat(n,")"),(function(){return g(i.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getEncodedSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(t,"', ").concat(r,", ").concat(n,")"),(function(){return g(i.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSyntacticDiagnostics('".concat(e,"')"),(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSemanticDiagnostics('".concat(e,"')"),(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSuggestionDiagnostics('".concat(e,"')"),(function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))}))},r.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))},r.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getQuickInfoAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))},r.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall("getNameOrDottedNameSpan('".concat(e,"', ").concat(t,", ").concat(r,")"),(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))},r.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))},r.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall("getSignatureHelpItems('".concat(e,"', ").concat(t,")"),(function(){return n.languageService.getSignatureHelpItems(e,t,r)}))},r.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getDefinitionAtPosition(e,t)}))},r.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getDefinitionAndBoundSpan(e,t)}))},r.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))},r.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getImplementationAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getImplementationAtPosition(e,t)}))},r.prototype.getRenameInfo=function(e,t,r){var n=this;return this.forwardJSONCall("getRenameInfo('".concat(e,"', ").concat(t,")"),(function(){return n.languageService.getRenameInfo(e,t,r)}))},r.prototype.getSmartSelectionRange=function(e,t){var r=this;return this.forwardJSONCall("getSmartSelectionRange('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getSmartSelectionRange(e,t)}))},r.prototype.findRenameLocations=function(e,t,r,n,i){var a=this;return this.forwardJSONCall("findRenameLocations('".concat(e,"', ").concat(t,", ").concat(r,", ").concat(n,", ").concat(i,")"),(function(){return a.languageService.findRenameLocations(e,t,r,n,i)}))},r.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBraceMatchingAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))},r.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('".concat(e,"', ").concat(t,", ").concat(r,")"),(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))},r.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall("getSpanOfEnclosingComment('".concat(e,"', ").concat(t,")"),(function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)}))},r.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getIndentationAtPosition('".concat(e,"', ").concat(t,")"),(function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)}))},r.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getReferencesAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getReferencesAtPosition(e,t)}))},r.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall("findReferences('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.findReferences(e,t)}))},r.prototype.getFileReferences=function(e){var t=this;return this.forwardJSONCall("getFileReferences('".concat(e,")"),(function(){return t.languageService.getFileReferences(e)}))},r.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getOccurrencesAtPosition('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))},r.prototype.getDocumentHighlights=function(t,r,n){var i=this;return this.forwardJSONCall("getDocumentHighlights('".concat(t,"', ").concat(r,")"),(function(){var a=i.languageService.getDocumentHighlights(t,r,JSON.parse(n)),o=e.toFileNameLowerCase(e.normalizeSlashes(t));return e.filter(a,(function(t){return e.toFileNameLowerCase(e.normalizeSlashes(t.fileName))===o}))}))},r.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getCompletionsAtPosition('".concat(e,"', ").concat(t,", ").concat(r,")"),(function(){return n.languageService.getCompletionsAtPosition(e,t,r)}))},r.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a,o){var s=this;return this.forwardJSONCall("getCompletionEntryDetails('".concat(e,"', ").concat(t,", '").concat(r,"')"),(function(){var c=void 0===n?void 0:JSON.parse(n);return s.languageService.getCompletionEntryDetails(e,t,r,c,i,a,o)}))},r.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsForRange('".concat(e,"', ").concat(t,", ").concat(r,")"),(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)}))},r.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall("getFormattingEditsForDocument('".concat(e,"')"),(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))},r.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('".concat(e,"', ").concat(t,", '").concat(r,"')"),(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)}))},r.prototype.getDocCommentTemplateAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('".concat(e,"', ").concat(t,")"),(function(){return n.languageService.getDocCommentTemplateAtPosition(e,t,r)}))},r.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall("getNavigateToItems('".concat(e,"', ").concat(t,", ").concat(r,")"),(function(){return n.languageService.getNavigateToItems(e,t,r)}))},r.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall("getNavigationBarItems('".concat(e,"')"),(function(){return t.languageService.getNavigationBarItems(e)}))},r.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall("getNavigationTree('".concat(e,"')"),(function(){return t.languageService.getNavigationTree(e)}))},r.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall("getOutliningSpans('".concat(e,"')"),(function(){return t.languageService.getOutliningSpans(e)}))},r.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall("getTodoComments('".concat(e,"')"),(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))},r.prototype.prepareCallHierarchy=function(e,t){var r=this;return this.forwardJSONCall("prepareCallHierarchy('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.prepareCallHierarchy(e,t)}))},r.prototype.provideCallHierarchyIncomingCalls=function(e,t){var r=this;return this.forwardJSONCall("provideCallHierarchyIncomingCalls('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.provideCallHierarchyIncomingCalls(e,t)}))},r.prototype.provideCallHierarchyOutgoingCalls=function(e,t){var r=this;return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('".concat(e,"', ").concat(t,")"),(function(){return r.languageService.provideCallHierarchyOutgoingCalls(e,t)}))},r.prototype.provideInlayHints=function(e,t,r){var n=this;return this.forwardJSONCall("provideInlayHints('".concat(e,"', '").concat(JSON.stringify(t),"', ").concat(JSON.stringify(r),")"),(function(){return n.languageService.provideInlayHints(e,t,r)}))},r.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall("getEmitOutput('".concat(e,"')"),(function(){var r=t.languageService.getEmitOutput(e),i=r.diagnostics,a=o(r,["diagnostics"]);return n(n({},a),{diagnostics:t.realizeDiagnostics(i)})}))},r.prototype.getEmitOutputObject=function(e){var t=this;return d(this.logger,"getEmitOutput('".concat(e,"')"),!1,(function(){return t.languageService.getEmitOutput(e)}),this.logPerformance)},r.prototype.toggleLineComment=function(e,t){var r=this;return this.forwardJSONCall("toggleLineComment('".concat(e,"', '").concat(JSON.stringify(t),"')"),(function(){return r.languageService.toggleLineComment(e,t)}))},r.prototype.toggleMultilineComment=function(e,t){var r=this;return this.forwardJSONCall("toggleMultilineComment('".concat(e,"', '").concat(JSON.stringify(t),"')"),(function(){return r.languageService.toggleMultilineComment(e,t)}))},r.prototype.commentSelection=function(e,t){var r=this;return this.forwardJSONCall("commentSelection('".concat(e,"', '").concat(JSON.stringify(t),"')"),(function(){return r.languageService.commentSelection(e,t)}))},r.prototype.uncommentSelection=function(e,t){var r=this;return this.forwardJSONCall("uncommentSelection('".concat(e,"', '").concat(JSON.stringify(t),"')"),(function(){return r.languageService.uncommentSelection(e,t)}))},r}(_);function g(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var m=function(t){function r(r,n){var i=t.call(this,r)||this;return i.logger=n,i.logPerformance=!1,i.classifier=e.createClassifier(),i}return s(r,t),r.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;return void 0===r&&(r=!1),l(this.logger,"getEncodedLexicalClassifications",(function(){return g(n.classifier.getEncodedLexicalClassifications(e,t,r))}),this.logPerformance)},r.prototype.getClassificationsForLine=function(e,t,r){void 0===r&&(r=!1);for(var n=this.classifier.getClassificationsForLine(e,t,r),i="",a=0,o=n.entries;a=1&&arguments.length<=3?e.factory.createVariableDeclaration(t,void 0,r,n):e.Debug.fail("Argument count mismatch")}),t),e.updateVariableDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return 5===arguments.length?e.factory.updateVariableDeclaration(t,r,n,i,a):4===arguments.length?e.factory.updateVariableDeclaration(t,r,t.exclamationToken,n,i):e.Debug.fail("Argument count mismatch")}),t),e.createImportClause=e.Debug.deprecate((function(t,r,n){return void 0===n&&(n=!1),e.factory.createImportClause(n,t,r)}),t),e.updateImportClause=e.Debug.deprecate((function(t,r,n,i){return e.factory.updateImportClause(t,i,r,n)}),t),e.createExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return void 0===a&&(a=!1),e.factory.createExportDeclaration(t,r,a,n,i)}),t),e.updateExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a,o){return e.factory.updateExportDeclaration(t,r,n,o,i,a,t.assertClause)}),t),e.createJSDocParamTag=e.Debug.deprecate((function(t,r,n,i){return e.factory.createJSDocParameterTag(void 0,t,r,n,!1,i?e.factory.createNodeArray([e.factory.createJSDocText(i)]):void 0)}),t),e.createComma=e.Debug.deprecate((function(t,r){return e.factory.createComma(t,r)}),t),e.createLessThan=e.Debug.deprecate((function(t,r){return e.factory.createLessThan(t,r)}),t),e.createAssignment=e.Debug.deprecate((function(t,r){return e.factory.createAssignment(t,r)}),t),e.createStrictEquality=e.Debug.deprecate((function(t,r){return e.factory.createStrictEquality(t,r)}),t),e.createStrictInequality=e.Debug.deprecate((function(t,r){return e.factory.createStrictInequality(t,r)}),t),e.createAdd=e.Debug.deprecate((function(t,r){return e.factory.createAdd(t,r)}),t),e.createSubtract=e.Debug.deprecate((function(t,r){return e.factory.createSubtract(t,r)}),t),e.createLogicalAnd=e.Debug.deprecate((function(t,r){return e.factory.createLogicalAnd(t,r)}),t),e.createLogicalOr=e.Debug.deprecate((function(t,r){return e.factory.createLogicalOr(t,r)}),t),e.createPostfixIncrement=e.Debug.deprecate((function(t){return e.factory.createPostfixIncrement(t)}),t),e.createLogicalNot=e.Debug.deprecate((function(t){return e.factory.createLogicalNot(t)}),t),e.createNode=e.Debug.deprecate((function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=0),e.setTextRangePosEnd(303===t?e.parseBaseNodeFactory.createBaseSourceFileNode(t):79===t?e.parseBaseNodeFactory.createBaseIdentifierNode(t):80===t?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(t):e.isNodeKind(t)?e.parseBaseNodeFactory.createBaseNode(t):e.parseBaseNodeFactory.createBaseTokenNode(t),r,n)}),{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory` method instead."}),e.getMutableClone=e.Debug.deprecate((function(t){var r=e.factory.cloneNode(t);return e.setTextRange(r,t),e.setParent(r,t.parent),r}),{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`."}),e.isTypeAssertion=e.Debug.deprecate((function(e){return 210===e.kind}),{since:"4.0",warnAfter:"4.1",message:"Use `isTypeAssertionExpression` instead."}),e.isIdentifierOrPrivateIdentifier=e.Debug.deprecate((function(t){return e.isMemberName(t)}),{since:"4.2",warnAfter:"4.3",message:"Use `isMemberName` instead."})}(c||(c={}))}(vm);var bm,Sm,Tm,Cm={},Em={},km={},Am={},Fm={},Nm={};bm=Nm,Object.defineProperty(bm,"__esModule",{value:!0}),bm.AST_TOKEN_TYPES=bm.AST_NODE_TYPES=void 0,(Sm=bm.AST_NODE_TYPES||(bm.AST_NODE_TYPES={})).ArrayExpression="ArrayExpression",Sm.ArrayPattern="ArrayPattern",Sm.ArrowFunctionExpression="ArrowFunctionExpression",Sm.AssignmentExpression="AssignmentExpression",Sm.AssignmentPattern="AssignmentPattern",Sm.AwaitExpression="AwaitExpression",Sm.BinaryExpression="BinaryExpression",Sm.BlockStatement="BlockStatement",Sm.BreakStatement="BreakStatement",Sm.CallExpression="CallExpression",Sm.CatchClause="CatchClause",Sm.ChainExpression="ChainExpression",Sm.ClassBody="ClassBody",Sm.ClassDeclaration="ClassDeclaration",Sm.ClassExpression="ClassExpression",Sm.ConditionalExpression="ConditionalExpression",Sm.ContinueStatement="ContinueStatement",Sm.DebuggerStatement="DebuggerStatement",Sm.Decorator="Decorator",Sm.DoWhileStatement="DoWhileStatement",Sm.EmptyStatement="EmptyStatement",Sm.ExportAllDeclaration="ExportAllDeclaration",Sm.ExportDefaultDeclaration="ExportDefaultDeclaration",Sm.ExportNamedDeclaration="ExportNamedDeclaration",Sm.ExportSpecifier="ExportSpecifier",Sm.ExpressionStatement="ExpressionStatement",Sm.ForInStatement="ForInStatement",Sm.ForOfStatement="ForOfStatement",Sm.ForStatement="ForStatement",Sm.FunctionDeclaration="FunctionDeclaration",Sm.FunctionExpression="FunctionExpression",Sm.Identifier="Identifier",Sm.IfStatement="IfStatement",Sm.ImportAttribute="ImportAttribute",Sm.ImportDeclaration="ImportDeclaration",Sm.ImportDefaultSpecifier="ImportDefaultSpecifier",Sm.ImportExpression="ImportExpression",Sm.ImportNamespaceSpecifier="ImportNamespaceSpecifier",Sm.ImportSpecifier="ImportSpecifier",Sm.JSXAttribute="JSXAttribute",Sm.JSXClosingElement="JSXClosingElement",Sm.JSXClosingFragment="JSXClosingFragment",Sm.JSXElement="JSXElement",Sm.JSXEmptyExpression="JSXEmptyExpression",Sm.JSXExpressionContainer="JSXExpressionContainer",Sm.JSXFragment="JSXFragment",Sm.JSXIdentifier="JSXIdentifier",Sm.JSXMemberExpression="JSXMemberExpression",Sm.JSXNamespacedName="JSXNamespacedName",Sm.JSXOpeningElement="JSXOpeningElement",Sm.JSXOpeningFragment="JSXOpeningFragment",Sm.JSXSpreadAttribute="JSXSpreadAttribute",Sm.JSXSpreadChild="JSXSpreadChild",Sm.JSXText="JSXText",Sm.LabeledStatement="LabeledStatement",Sm.Literal="Literal",Sm.LogicalExpression="LogicalExpression",Sm.MemberExpression="MemberExpression",Sm.MetaProperty="MetaProperty",Sm.MethodDefinition="MethodDefinition",Sm.NewExpression="NewExpression",Sm.ObjectExpression="ObjectExpression",Sm.ObjectPattern="ObjectPattern",Sm.PrivateIdentifier="PrivateIdentifier",Sm.Program="Program",Sm.Property="Property",Sm.PropertyDefinition="PropertyDefinition",Sm.RestElement="RestElement",Sm.ReturnStatement="ReturnStatement",Sm.SequenceExpression="SequenceExpression",Sm.SpreadElement="SpreadElement",Sm.StaticBlock="StaticBlock",Sm.Super="Super",Sm.SwitchCase="SwitchCase",Sm.SwitchStatement="SwitchStatement",Sm.TaggedTemplateExpression="TaggedTemplateExpression",Sm.TemplateElement="TemplateElement",Sm.TemplateLiteral="TemplateLiteral",Sm.ThisExpression="ThisExpression",Sm.ThrowStatement="ThrowStatement",Sm.TryStatement="TryStatement",Sm.UnaryExpression="UnaryExpression",Sm.UpdateExpression="UpdateExpression",Sm.VariableDeclaration="VariableDeclaration",Sm.VariableDeclarator="VariableDeclarator",Sm.WhileStatement="WhileStatement",Sm.WithStatement="WithStatement",Sm.YieldExpression="YieldExpression",Sm.TSAbstractKeyword="TSAbstractKeyword",Sm.TSAbstractMethodDefinition="TSAbstractMethodDefinition",Sm.TSAbstractPropertyDefinition="TSAbstractPropertyDefinition",Sm.TSAnyKeyword="TSAnyKeyword",Sm.TSArrayType="TSArrayType",Sm.TSAsExpression="TSAsExpression",Sm.TSAsyncKeyword="TSAsyncKeyword",Sm.TSBigIntKeyword="TSBigIntKeyword",Sm.TSBooleanKeyword="TSBooleanKeyword",Sm.TSCallSignatureDeclaration="TSCallSignatureDeclaration",Sm.TSClassImplements="TSClassImplements",Sm.TSConditionalType="TSConditionalType",Sm.TSConstructorType="TSConstructorType",Sm.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",Sm.TSDeclareFunction="TSDeclareFunction",Sm.TSDeclareKeyword="TSDeclareKeyword",Sm.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",Sm.TSEnumDeclaration="TSEnumDeclaration",Sm.TSEnumMember="TSEnumMember",Sm.TSExportAssignment="TSExportAssignment",Sm.TSExportKeyword="TSExportKeyword",Sm.TSExternalModuleReference="TSExternalModuleReference",Sm.TSFunctionType="TSFunctionType",Sm.TSImportEqualsDeclaration="TSImportEqualsDeclaration",Sm.TSImportType="TSImportType",Sm.TSIndexedAccessType="TSIndexedAccessType",Sm.TSIndexSignature="TSIndexSignature",Sm.TSInferType="TSInferType",Sm.TSInterfaceBody="TSInterfaceBody",Sm.TSInterfaceDeclaration="TSInterfaceDeclaration",Sm.TSInterfaceHeritage="TSInterfaceHeritage",Sm.TSIntersectionType="TSIntersectionType",Sm.TSIntrinsicKeyword="TSIntrinsicKeyword",Sm.TSLiteralType="TSLiteralType",Sm.TSMappedType="TSMappedType",Sm.TSMethodSignature="TSMethodSignature",Sm.TSModuleBlock="TSModuleBlock",Sm.TSModuleDeclaration="TSModuleDeclaration",Sm.TSNamedTupleMember="TSNamedTupleMember",Sm.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",Sm.TSNeverKeyword="TSNeverKeyword",Sm.TSNonNullExpression="TSNonNullExpression",Sm.TSNullKeyword="TSNullKeyword",Sm.TSNumberKeyword="TSNumberKeyword",Sm.TSObjectKeyword="TSObjectKeyword",Sm.TSOptionalType="TSOptionalType",Sm.TSParameterProperty="TSParameterProperty",Sm.TSPrivateKeyword="TSPrivateKeyword",Sm.TSPropertySignature="TSPropertySignature",Sm.TSProtectedKeyword="TSProtectedKeyword",Sm.TSPublicKeyword="TSPublicKeyword",Sm.TSQualifiedName="TSQualifiedName",Sm.TSReadonlyKeyword="TSReadonlyKeyword",Sm.TSRestType="TSRestType",Sm.TSStaticKeyword="TSStaticKeyword",Sm.TSStringKeyword="TSStringKeyword",Sm.TSSymbolKeyword="TSSymbolKeyword",Sm.TSTemplateLiteralType="TSTemplateLiteralType",Sm.TSThisType="TSThisType",Sm.TSTupleType="TSTupleType",Sm.TSTypeAliasDeclaration="TSTypeAliasDeclaration",Sm.TSTypeAnnotation="TSTypeAnnotation",Sm.TSTypeAssertion="TSTypeAssertion",Sm.TSTypeLiteral="TSTypeLiteral",Sm.TSTypeOperator="TSTypeOperator",Sm.TSTypeParameter="TSTypeParameter",Sm.TSTypeParameterDeclaration="TSTypeParameterDeclaration",Sm.TSTypeParameterInstantiation="TSTypeParameterInstantiation",Sm.TSTypePredicate="TSTypePredicate",Sm.TSTypeQuery="TSTypeQuery",Sm.TSTypeReference="TSTypeReference",Sm.TSUndefinedKeyword="TSUndefinedKeyword",Sm.TSUnionType="TSUnionType",Sm.TSUnknownKeyword="TSUnknownKeyword",Sm.TSVoidKeyword="TSVoidKeyword",(Tm=bm.AST_TOKEN_TYPES||(bm.AST_TOKEN_TYPES={})).Boolean="Boolean",Tm.Identifier="Identifier",Tm.JSXIdentifier="JSXIdentifier",Tm.JSXText="JSXText",Tm.Keyword="Keyword",Tm.Null="Null",Tm.Numeric="Numeric",Tm.Punctuator="Punctuator",Tm.RegularExpression="RegularExpression",Tm.String="String",Tm.Template="Template",Tm.Block="Block",Tm.Line="Line";var Pm={};Object.defineProperty(Pm,"__esModule",{value:!0});var wm={};Object.defineProperty(wm,"__esModule",{value:!0});var Im={},Om=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),Mm=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Lm=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Om(t,e,r);return Mm(t,e),t};Object.defineProperty(Im,"__esModule",{value:!0}),Im.TSESTree=void 0,Im.TSESTree=Lm(Nm),function(t){var r=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.AST_TOKEN_TYPES=t.AST_NODE_TYPES=void 0;var i=Nm;Object.defineProperty(t,"AST_NODE_TYPES",{enumerable:!0,get:function(){return i.AST_NODE_TYPES}});var a=Nm;Object.defineProperty(t,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return a.AST_TOKEN_TYPES}}),n(Pm,t),n(wm,t),n(Im,t)}(Fm);var Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0}),function(t){var r=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.TSESTree=t.AST_TOKEN_TYPES=t.AST_NODE_TYPES=void 0;var i=Fm;Object.defineProperty(t,"AST_NODE_TYPES",{enumerable:!0,get:function(){return i.AST_NODE_TYPES}}),Object.defineProperty(t,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return i.AST_TOKEN_TYPES}}),Object.defineProperty(t,"TSESTree",{enumerable:!0,get:function(){return i.TSESTree}}),n(Rm,t),n(Bm,t)}(Am);var jm={};Object.defineProperty(jm,"__esModule",{value:!0}),jm.xhtmlEntities=void 0,jm.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"};var Jm=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),Km=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),zm=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Jm(t,e,r);return Km(t,e),t};Object.defineProperty(km,"__esModule",{value:!0}),km.firstDefined=km.nodeHasTokens=km.createError=km.TSError=km.convertTokens=km.convertToken=km.getTokenType=km.isChildUnwrappableOptionalChain=km.isChainExpression=km.isOptional=km.isComputedProperty=km.unescapeStringLiteralText=km.hasJSXAncestor=km.findFirstMatchingAncestor=km.findNextToken=km.getTSNodeAccessibility=km.getDeclarationKind=km.isJSXToken=km.isToken=km.getRange=km.canContainDirective=km.getLocFor=km.getLineAndCharacterFor=km.getBinaryExpressionType=km.isJSDocComment=km.isComment=km.isComma=km.getLastModifier=km.hasModifier=km.isESTreeClassMember=km.getTextForTokenKind=km.isLogicalOperator=km.isAssignmentOperator=void 0;const Um=zm(vm.exports),Vm=Am,qm=jm,Wm=Um.SyntaxKind,Hm=[Wm.BarBarToken,Wm.AmpersandAmpersandToken,Wm.QuestionQuestionToken];function Gm(e){return e.kind>=Wm.FirstAssignment&&e.kind<=Wm.LastAssignment}function Ym(e){return Hm.includes(e.kind)}function Xm(e){return e.kind===Wm.SingleLineCommentTrivia||e.kind===Wm.MultiLineCommentTrivia}function Qm(e){return e.kind===Wm.JSDocComment}function $m(e,t){const r=t.getLineAndCharacterOfPosition(e);return{line:r.line+1,column:r.character}}function Zm(e,t,r){return{start:$m(e,r),end:$m(t,r)}}function ey(e){return e.kind>=Wm.FirstToken&&e.kind<=Wm.LastToken}function ty(e){return e.kind>=Wm.JsxElement&&e.kind<=Wm.JsxAttribute}function ry(e,t){for(;e;){if(t(e))return e;e=e.parent}}function ny(e){return!!ry(e,ty)}function iy(e){return e.type===Vm.AST_NODE_TYPES.ChainExpression}function ay(e){if("originalKeywordKind"in e&&e.originalKeywordKind)return e.originalKeywordKind===Wm.NullKeyword?Vm.AST_TOKEN_TYPES.Null:e.originalKeywordKind>=Wm.FirstFutureReservedWord&&e.originalKeywordKind<=Wm.LastKeyword?Vm.AST_TOKEN_TYPES.Identifier:Vm.AST_TOKEN_TYPES.Keyword;if(e.kind>=Wm.FirstKeyword&&e.kind<=Wm.LastFutureReservedWord)return e.kind===Wm.FalseKeyword||e.kind===Wm.TrueKeyword?Vm.AST_TOKEN_TYPES.Boolean:Vm.AST_TOKEN_TYPES.Keyword;if(e.kind>=Wm.FirstPunctuation&&e.kind<=Wm.LastPunctuation)return Vm.AST_TOKEN_TYPES.Punctuator;if(e.kind>=Wm.NoSubstitutionTemplateLiteral&&e.kind<=Wm.TemplateTail)return Vm.AST_TOKEN_TYPES.Template;switch(e.kind){case Wm.NumericLiteral:return Vm.AST_TOKEN_TYPES.Numeric;case Wm.JsxText:return Vm.AST_TOKEN_TYPES.JSXText;case Wm.StringLiteral:return!e.parent||e.parent.kind!==Wm.JsxAttribute&&e.parent.kind!==Wm.JsxElement?Vm.AST_TOKEN_TYPES.String:Vm.AST_TOKEN_TYPES.JSXText;case Wm.RegularExpressionLiteral:return Vm.AST_TOKEN_TYPES.RegularExpression;case Wm.Identifier:case Wm.ConstructorKeyword:case Wm.GetKeyword:case Wm.SetKeyword:}if(e.parent&&e.kind===Wm.Identifier){if(ty(e.parent))return Vm.AST_TOKEN_TYPES.JSXIdentifier;if(e.parent.kind===Wm.PropertyAccessExpression&&ny(e))return Vm.AST_TOKEN_TYPES.JSXIdentifier}return Vm.AST_TOKEN_TYPES.Identifier}function oy(e,t){const r=e.kind===Wm.JsxText?e.getFullStart():e.getStart(t),n=e.getEnd(),i=t.text.slice(r,n),a=ay(e);return a===Vm.AST_TOKEN_TYPES.RegularExpression?{type:a,value:i,range:[r,n],loc:Zm(r,n,t),regex:{pattern:i.slice(1,i.lastIndexOf("/")),flags:i.slice(i.lastIndexOf("/")+1)}}:{type:a,value:i,range:[r,n],loc:Zm(r,n,t)}}km.isAssignmentOperator=Gm,km.isLogicalOperator=Ym,km.getTextForTokenKind=function(e){return Um.tokenToString(e)},km.isESTreeClassMember=function(e){return e.kind!==Wm.SemicolonClassElement},km.hasModifier=function(e,t){return!!t.modifiers&&!!t.modifiers.length&&t.modifiers.some((t=>t.kind===e))},km.getLastModifier=function(e){return!!e.modifiers&&!!e.modifiers.length&&e.modifiers[e.modifiers.length-1]||null},km.isComma=function(e){return e.kind===Wm.CommaToken},km.isComment=Xm,km.isJSDocComment=Qm,km.getBinaryExpressionType=function(e){return Gm(e)?Vm.AST_NODE_TYPES.AssignmentExpression:Ym(e)?Vm.AST_NODE_TYPES.LogicalExpression:Vm.AST_NODE_TYPES.BinaryExpression},km.getLineAndCharacterFor=$m,km.getLocFor=Zm,km.canContainDirective=function(e){if(e.kind===Um.SyntaxKind.Block)switch(e.parent.kind){case Um.SyntaxKind.Constructor:case Um.SyntaxKind.GetAccessor:case Um.SyntaxKind.SetAccessor:case Um.SyntaxKind.ArrowFunction:case Um.SyntaxKind.FunctionExpression:case Um.SyntaxKind.FunctionDeclaration:case Um.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0},km.getRange=function(e,t){return[e.getStart(t),e.getEnd()]},km.isToken=ey,km.isJSXToken=ty,km.getDeclarationKind=function(e){return e.flags&Um.NodeFlags.Let?"let":e.flags&Um.NodeFlags.Const?"const":"var"},km.getTSNodeAccessibility=function(e){const t=e.modifiers;if(!t)return null;for(let e=0;e(n.pos<=e.pos&&n.end>e.end||n.pos===e.end)&&cy(n,r)?t(n):void 0))}(t)},km.findFirstMatchingAncestor=ry,km.hasJSXAncestor=ny,km.unescapeStringLiteralText=function(e){return e.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,(e=>{const t=e.slice(1,-1);if("#"===t[0]){const r="x"===t[1]?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return r>1114111?e:String.fromCodePoint(r)}return qm.xhtmlEntities[t]||e}))},km.isComputedProperty=function(e){return e.kind===Wm.ComputedPropertyName},km.isOptional=function(e){return!!e.questionToken&&e.questionToken.kind===Wm.QuestionToken},km.isChainExpression=iy,km.isChildUnwrappableOptionalChain=function(e,t){return iy(t)&&e.expression.kind!==Um.SyntaxKind.ParenthesizedExpression},km.getTokenType=ay,km.convertToken=oy,km.convertTokens=function(e){const t=[];return function r(n){if(!Xm(n)&&!Qm(n))if(ey(n)&&n.kind!==Wm.EndOfFileToken){const r=oy(n,e);r&&t.push(r)}else n.getChildren(e).forEach(r)}(e),t};class sy extends Error{constructor(e,t,r,n,i){super(e),this.fileName=t,this.index=r,this.lineNumber=n,this.column=i,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}}function cy(e,t){return e.kind===Wm.EndOfFileToken?!!e.jsDoc:0!==e.getWidth(t)}function uy(e,t){if(void 0!==e)for(let r=0;r{const t=this.convertChild(e);if(r){if((null==t?void 0:t.expression)&&hy.isExpressionStatement(e)&&hy.isStringLiteral(e.expression)){const e=t.expression.raw;return t.directive=e.slice(1,-1),t}r=!1}return t})).filter((e=>e))}convertTypeArgumentsToTypeParameters(e,t){const r=(0,Dy.findNextToken)(e,this.ast,this.ast);return this.createNode(t,{type:xy.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[e.pos-1,r.end],params:e.map((e=>this.convertType(e)))})}convertTSTypeParametersToTypeParametersDeclaration(e){const t=(0,Dy.findNextToken)(e,this.ast,this.ast);return{type:xy.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[e.pos-1,t.end],loc:(0,Dy.getLocFor)(e.pos-1,t.end,this.ast),params:e.map((e=>this.convertType(e)))}}convertParameters(e){return e&&e.length?e.map((e=>{var t;const r=this.convertChild(e);return(null===(t=e.decorators)||void 0===t?void 0:t.length)&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),r})):[]}convertChainExpression(e,t){const{child:r,isOptional:n}=e.type===xy.AST_NODE_TYPES.MemberExpression?{child:e.object,isOptional:e.optional}:e.type===xy.AST_NODE_TYPES.CallExpression?{child:e.callee,isOptional:e.optional}:{child:e.expression,isOptional:!1},i=(0,Dy.isChildUnwrappableOptionalChain)(t,r);if(!i&&!n)return e;if(i&&(0,Dy.isChainExpression)(r)){const t=r.expression;e.type===xy.AST_NODE_TYPES.MemberExpression?e.object=t:e.type===xy.AST_NODE_TYPES.CallExpression?e.callee=t:e.expression=t}return this.createNode(t,{type:xy.AST_NODE_TYPES.ChainExpression,expression:e})}deeplyCopy(e){if(e.kind===hy.SyntaxKind.JSDocFunctionType)throw(0,Dy.createError)(this.ast,e.pos,"JSDoc types can only be used inside documentation comments.");const t="TS".concat(Sy[e.kind]);if(this.options.errorOnUnknownASTType&&!xy.AST_NODE_TYPES[t])throw new Error('Unknown AST_NODE_TYPE: "'.concat(t,'"'));const r=this.createNode(e,{type:t});return"type"in e&&(r.typeAnnotation=e.type&&"kind"in e.type&&hy.isTypeNode(e.type)?this.convertTypeAnnotation(e.type,e):null),"typeArguments"in e&&(r.typeParameters=e.typeArguments&&"pos"in e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null),"typeParameters"in e&&(r.typeParameters=e.typeParameters&&"pos"in e.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters):null),"decorators"in e&&e.decorators&&e.decorators.length&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),Object.entries(e).filter((e=>{let[t]=e;return!/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators|transformFlags)$/.test(t)})).forEach((e=>{let[t,n]=e;Array.isArray(n)?r[t]=n.map((e=>this.convertChild(e))):n&&"object"==typeof n&&n.kind?r[t]=this.convertChild(n):r[t]=n})),r}convertJSXIdentifier(e){const t=this.createNode(e,{type:xy.AST_NODE_TYPES.JSXIdentifier,name:e.getText()});return this.registerTSNodeInNodeMap(e,t),t}convertJSXNamespaceOrIdentifier(e){const t=e.getText(),r=t.indexOf(":");if(r>0){const n=(0,Dy.getRange)(e,this.ast),i=this.createNode(e,{type:xy.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(e,{type:xy.AST_NODE_TYPES.JSXIdentifier,name:t.slice(0,r),range:[n[0],n[0]+r]}),name:this.createNode(e,{type:xy.AST_NODE_TYPES.JSXIdentifier,name:t.slice(r+1),range:[n[0]+r+1,n[1]]}),range:n});return this.registerTSNodeInNodeMap(e,i),i}return this.convertJSXIdentifier(e)}convertJSXTagName(e,t){let r;switch(e.kind){case Sy.PropertyAccessExpression:if(e.name.kind===Sy.PrivateIdentifier)throw new Error("Non-private identifier expected.");r=this.createNode(e,{type:xy.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(e.expression,t),property:this.convertJSXIdentifier(e.name)});break;case Sy.ThisKeyword:case Sy.Identifier:default:return this.convertJSXNamespaceOrIdentifier(e)}return this.registerTSNodeInNodeMap(e,r),r}convertMethodSignature(e){const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSMethodSignature,computed:(0,Dy.isComputedProperty)(e.name),key:this.convertChild(e.name),params:this.convertParameters(e.parameters),kind:(()=>{switch(e.kind){case Sy.GetAccessor:return"get";case Sy.SetAccessor:return"set";case Sy.MethodSignature:return"method"}})()});(0,Dy.isOptional)(e)&&(t.optional=!0),e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),(0,Dy.hasModifier)(Sy.ReadonlyKeyword,e)&&(t.readonly=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters));const r=(0,Dy.getTSNodeAccessibility)(e);return r&&(t.accessibility=r),(0,Dy.hasModifier)(Sy.ExportKeyword,e)&&(t.export=!0),(0,Dy.hasModifier)(Sy.StaticKeyword,e)&&(t.static=!0),t}convertAssertClasue(e){return void 0===e?[]:e.elements.map((e=>this.convertChild(e)))}applyModifiersToResult(e,t){if(!t||!t.length)return;const r=[];for(let n=0;ne.range[1]&&(e.range[1]=t[1],e.loc.end=(0,Dy.getLineAndCharacterFor)(e.range[1],this.ast))}assertModuleSpecifier(e){if(e.moduleSpecifier&&e.moduleSpecifier.kind!==Sy.StringLiteral)throw(0,Dy.createError)(this.ast,e.moduleSpecifier.pos,"Module specifier must be a string literal.")}convertNode(e,t){var r,n,i,a,o,s,c,u,l,d;switch(e.kind){case Sy.SourceFile:return this.createNode(e,{type:xy.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(e.statements,e),sourceType:e.externalModuleIndicator?"module":"script",range:[e.getStart(this.ast),e.endOfFileToken.end]});case Sy.Block:return this.createNode(e,{type:xy.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(e.statements,e)});case Sy.Identifier:return this.createNode(e,{type:xy.AST_NODE_TYPES.Identifier,name:e.text});case Sy.PrivateIdentifier:return this.createNode(e,{type:xy.AST_NODE_TYPES.PrivateIdentifier,name:e.text.slice(1)});case Sy.WithStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.WithStatement,object:this.convertChild(e.expression),body:this.convertChild(e.statement)});case Sy.ReturnStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(e.expression)});case Sy.LabeledStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(e.label),body:this.convertChild(e.statement)});case Sy.ContinueStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(e.label)});case Sy.BreakStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.BreakStatement,label:this.convertChild(e.label)});case Sy.IfStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.IfStatement,test:this.convertChild(e.expression),consequent:this.convertChild(e.thenStatement),alternate:this.convertChild(e.elseStatement)});case Sy.SwitchStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(e.expression),cases:e.caseBlock.clauses.map((e=>this.convertChild(e)))});case Sy.CaseClause:case Sy.DefaultClause:return this.createNode(e,{type:xy.AST_NODE_TYPES.SwitchCase,test:e.kind===Sy.CaseClause?this.convertChild(e.expression):null,consequent:e.statements.map((e=>this.convertChild(e)))});case Sy.ThrowStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(e.expression)});case Sy.TryStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.TryStatement,block:this.convertChild(e.tryBlock),handler:this.convertChild(e.catchClause),finalizer:this.convertChild(e.finallyBlock)});case Sy.CatchClause:return this.createNode(e,{type:xy.AST_NODE_TYPES.CatchClause,param:e.variableDeclaration?this.convertBindingNameWithTypeAnnotation(e.variableDeclaration.name,e.variableDeclaration.type):null,body:this.convertChild(e.block)});case Sy.WhileStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.WhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case Sy.DoStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case Sy.ForStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ForStatement,init:this.convertChild(e.initializer),test:this.convertChild(e.condition),update:this.convertChild(e.incrementor),body:this.convertChild(e.statement)});case Sy.ForInStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement)});case Sy.ForOfStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement),await:Boolean(e.awaitModifier&&e.awaitModifier.kind===Sy.AwaitKeyword)});case Sy.FunctionDeclaration:{const t=(0,Dy.hasModifier)(Sy.DeclareKeyword,e),r=this.createNode(e,{type:t||!e.body?xy.AST_NODE_TYPES.TSDeclareFunction:xy.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(e.name),generator:!!e.asteriskToken,expression:!1,async:(0,Dy.hasModifier)(Sy.AsyncKeyword,e),params:this.convertParameters(e.parameters),body:this.convertChild(e.body)||void 0});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),t&&(r.declare=!0),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,r)}case Sy.VariableDeclaration:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(e.name,e.type,e),init:this.convertChild(e.initializer)});return e.exclamationToken&&(t.definite=!0),t}case Sy.VariableStatement:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarationList.declarations.map((e=>this.convertChild(e))),kind:(0,Dy.getDeclarationKind)(e.declarationList)});return e.decorators&&(t.decorators=e.decorators.map((e=>this.convertChild(e)))),(0,Dy.hasModifier)(Sy.DeclareKeyword,e)&&(t.declare=!0),this.fixExports(e,t)}case Sy.VariableDeclarationList:return this.createNode(e,{type:xy.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarations.map((e=>this.convertChild(e))),kind:(0,Dy.getDeclarationKind)(e)});case Sy.ExpressionStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(e.expression)});case Sy.ThisKeyword:return this.createNode(e,{type:xy.AST_NODE_TYPES.ThisExpression});case Sy.ArrayLiteralExpression:return this.allowPattern?this.createNode(e,{type:xy.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:xy.AST_NODE_TYPES.ArrayExpression,elements:e.elements.map((e=>this.convertChild(e)))});case Sy.ObjectLiteralExpression:return this.allowPattern?this.createNode(e,{type:xy.AST_NODE_TYPES.ObjectPattern,properties:e.properties.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:xy.AST_NODE_TYPES.ObjectExpression,properties:e.properties.map((e=>this.convertChild(e)))});case Sy.PropertyAssignment:return this.createNode(e,{type:xy.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.converter(e.initializer,e,this.inTypeMode,this.allowPattern),computed:(0,Dy.isComputedProperty)(e.name),method:!1,shorthand:!1,kind:"init"});case Sy.ShorthandPropertyAssignment:return e.objectAssignmentInitializer?this.createNode(e,{type:xy.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.createNode(e,{type:xy.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.name),right:this.convertChild(e.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(e,{type:xy.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.convertChild(e.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case Sy.ComputedPropertyName:return this.convertChild(e.expression);case Sy.PropertyDeclaration:{const t=(0,Dy.hasModifier)(Sy.AbstractKeyword,e),r=this.createNode(e,{type:t?xy.AST_NODE_TYPES.TSAbstractPropertyDefinition:xy.AST_NODE_TYPES.PropertyDefinition,key:this.convertChild(e.name),value:t?null:this.convertChild(e.initializer),computed:(0,Dy.isComputedProperty)(e.name),static:(0,Dy.hasModifier)(Sy.StaticKeyword,e),readonly:(0,Dy.hasModifier)(Sy.ReadonlyKeyword,e)||void 0,declare:(0,Dy.hasModifier)(Sy.DeclareKeyword,e),override:(0,Dy.hasModifier)(Sy.OverrideKeyword,e)});e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e)),e.decorators&&(r.decorators=e.decorators.map((e=>this.convertChild(e))));const n=(0,Dy.getTSNodeAccessibility)(e);return n&&(r.accessibility=n),e.name.kind!==Sy.Identifier&&e.name.kind!==Sy.ComputedPropertyName&&e.name.kind!==Sy.PrivateIdentifier||!e.questionToken||(r.optional=!0),e.exclamationToken&&(r.definite=!0),r.key.type===xy.AST_NODE_TYPES.Literal&&e.questionToken&&(r.optional=!0),r}case Sy.GetAccessor:case Sy.SetAccessor:if(e.parent.kind===Sy.InterfaceDeclaration||e.parent.kind===Sy.TypeLiteral)return this.convertMethodSignature(e);case Sy.MethodDeclaration:{const r=this.createNode(e,{type:e.body?xy.AST_NODE_TYPES.FunctionExpression:xy.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!e.asteriskToken,expression:!1,async:(0,Dy.hasModifier)(Sy.AsyncKeyword,e),body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end],params:[]});let n;if(e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(r,r.typeParameters.range)),t.kind===Sy.ObjectLiteralExpression)r.params=e.parameters.map((e=>this.convertChild(e))),n=this.createNode(e,{type:xy.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:r,computed:(0,Dy.isComputedProperty)(e.name),method:e.kind===Sy.MethodDeclaration,shorthand:!1,kind:"init"});else{r.params=this.convertParameters(e.parameters);const t=(0,Dy.hasModifier)(Sy.AbstractKeyword,e)?xy.AST_NODE_TYPES.TSAbstractMethodDefinition:xy.AST_NODE_TYPES.MethodDefinition;n=this.createNode(e,{type:t,key:this.convertChild(e.name),value:r,computed:(0,Dy.isComputedProperty)(e.name),static:(0,Dy.hasModifier)(Sy.StaticKeyword,e),kind:"method",override:(0,Dy.hasModifier)(Sy.OverrideKeyword,e)}),e.decorators&&(n.decorators=e.decorators.map((e=>this.convertChild(e))));const i=(0,Dy.getTSNodeAccessibility)(e);i&&(n.accessibility=i)}return e.questionToken&&(n.optional=!0),e.kind===Sy.GetAccessor?n.kind="get":e.kind===Sy.SetAccessor?n.kind="set":n.static||e.name.kind!==Sy.StringLiteral||"constructor"!==e.name.text||n.type===xy.AST_NODE_TYPES.Property||(n.kind="constructor"),n}case Sy.Constructor:{const t=(0,Dy.getLastModifier)(e),r=t&&(0,Dy.findNextToken)(t,e,this.ast)||e.getFirstToken(),n=this.createNode(e,{type:e.body?xy.AST_NODE_TYPES.FunctionExpression:xy.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(e.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end]});e.typeParameters&&(n.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(n,n.typeParameters.range)),e.type&&(n.returnType=this.convertTypeAnnotation(e.type,e));const i=this.createNode(e,{type:xy.AST_NODE_TYPES.Identifier,name:"constructor",range:[r.getStart(this.ast),r.end]}),a=(0,Dy.hasModifier)(Sy.StaticKeyword,e),o=this.createNode(e,{type:(0,Dy.hasModifier)(Sy.AbstractKeyword,e)?xy.AST_NODE_TYPES.TSAbstractMethodDefinition:xy.AST_NODE_TYPES.MethodDefinition,key:i,value:n,computed:!1,static:a,kind:a?"method":"constructor",override:!1}),s=(0,Dy.getTSNodeAccessibility)(e);return s&&(o.accessibility=s),o}case Sy.FunctionExpression:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(e.name),generator:!!e.asteriskToken,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:(0,Dy.hasModifier)(Sy.AsyncKeyword,e),expression:!1});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case Sy.SuperKeyword:return this.createNode(e,{type:xy.AST_NODE_TYPES.Super});case Sy.ArrayBindingPattern:return this.createNode(e,{type:xy.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))});case Sy.OmittedExpression:return null;case Sy.ObjectBindingPattern:return this.createNode(e,{type:xy.AST_NODE_TYPES.ObjectPattern,properties:e.elements.map((e=>this.convertPattern(e)))});case Sy.BindingElement:if(t.kind===Sy.ArrayBindingPattern){const r=this.convertChild(e.name,t);return e.initializer?this.createNode(e,{type:xy.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}):e.dotDotDotToken?this.createNode(e,{type:xy.AST_NODE_TYPES.RestElement,argument:r}):r}{let t;return t=e.dotDotDotToken?this.createNode(e,{type:xy.AST_NODE_TYPES.RestElement,argument:this.convertChild(null!==(r=e.propertyName)&&void 0!==r?r:e.name)}):this.createNode(e,{type:xy.AST_NODE_TYPES.Property,key:this.convertChild(null!==(n=e.propertyName)&&void 0!==n?n:e.name),value:this.convertChild(e.name),computed:Boolean(e.propertyName&&e.propertyName.kind===Sy.ComputedPropertyName),method:!1,shorthand:!e.propertyName,kind:"init"}),e.initializer&&(t.value=this.createNode(e,{type:xy.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(e.name),right:this.convertChild(e.initializer),range:[e.name.getStart(this.ast),e.initializer.end]})),t}case Sy.ArrowFunction:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:(0,Dy.hasModifier)(Sy.AsyncKeyword,e),expression:e.body.kind!==Sy.Block});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case Sy.YieldExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.YieldExpression,delegate:!!e.asteriskToken,argument:this.convertChild(e.expression)});case Sy.AwaitExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(e.expression)});case Sy.NoSubstitutionTemplateLiteral:return this.createNode(e,{type:xy.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(e,{type:xy.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-1),cooked:e.text},tail:!0})],expressions:[]});case Sy.TemplateExpression:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(e.head)],expressions:[]});return e.templateSpans.forEach((e=>{t.expressions.push(this.convertChild(e.expression)),t.quasis.push(this.convertChild(e.literal))})),t}case Sy.TaggedTemplateExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,tag:this.convertChild(e.tag),quasi:this.convertChild(e.template)});case Sy.TemplateHead:case Sy.TemplateMiddle:case Sy.TemplateTail:{const t=e.kind===Sy.TemplateTail;return this.createNode(e,{type:xy.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-(t?1:2)),cooked:e.text},tail:t})}case Sy.SpreadAssignment:case Sy.SpreadElement:return this.allowPattern?this.createNode(e,{type:xy.AST_NODE_TYPES.RestElement,argument:this.convertPattern(e.expression)}):this.createNode(e,{type:xy.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(e.expression)});case Sy.Parameter:{let r,n;return e.dotDotDotToken?r=n=this.createNode(e,{type:xy.AST_NODE_TYPES.RestElement,argument:this.convertChild(e.name)}):e.initializer?(r=this.convertChild(e.name),n=this.createNode(e,{type:xy.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}),e.modifiers&&(n.range[0]=r.range[0],n.loc=(0,Dy.getLocFor)(n.range[0],n.range[1],this.ast))):r=n=this.convertChild(e.name,t),e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e),this.fixParentLocation(r,r.typeAnnotation.range)),e.questionToken&&(e.questionToken.end>r.range[1]&&(r.range[1]=e.questionToken.end,r.loc.end=(0,Dy.getLineAndCharacterFor)(r.range[1],this.ast)),r.optional=!0),e.modifiers?this.createNode(e,{type:xy.AST_NODE_TYPES.TSParameterProperty,accessibility:null!==(i=(0,Dy.getTSNodeAccessibility)(e))&&void 0!==i?i:void 0,readonly:(0,Dy.hasModifier)(Sy.ReadonlyKeyword,e)||void 0,static:(0,Dy.hasModifier)(Sy.StaticKeyword,e)||void 0,export:(0,Dy.hasModifier)(Sy.ExportKeyword,e)||void 0,override:(0,Dy.hasModifier)(Sy.OverrideKeyword,e)||void 0,parameter:n}):n}case Sy.ClassDeclaration:case Sy.ClassExpression:{const t=null!==(a=e.heritageClauses)&&void 0!==a?a:[],r=e.kind===Sy.ClassDeclaration?xy.AST_NODE_TYPES.ClassDeclaration:xy.AST_NODE_TYPES.ClassExpression,n=t.find((e=>e.token===Sy.ExtendsKeyword)),i=t.find((e=>e.token===Sy.ImplementsKeyword)),s=this.createNode(e,{type:r,id:this.convertChild(e.name),body:this.createNode(e,{type:xy.AST_NODE_TYPES.ClassBody,body:[],range:[e.members.pos-1,e.end]}),superClass:(null==n?void 0:n.types[0])?this.convertChild(n.types[0].expression):null});if(n){if(n.types.length>1)throw(0,Dy.createError)(this.ast,n.types[1].pos,"Classes can only extend a single class.");(null===(o=n.types[0])||void 0===o?void 0:o.typeArguments)&&(s.superTypeParameters=this.convertTypeArgumentsToTypeParameters(n.types[0].typeArguments,n.types[0]))}e.typeParameters&&(s.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),i&&(s.implements=i.types.map((e=>this.convertChild(e)))),(0,Dy.hasModifier)(Sy.AbstractKeyword,e)&&(s.abstract=!0),(0,Dy.hasModifier)(Sy.DeclareKeyword,e)&&(s.declare=!0),e.decorators&&(s.decorators=e.decorators.map((e=>this.convertChild(e))));const c=e.members.filter(Dy.isESTreeClassMember);return c.length&&(s.body.body=c.map((e=>this.convertChild(e)))),this.fixExports(e,s)}case Sy.ModuleBlock:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(e.statements,e)});case Sy.ImportDeclaration:{this.assertModuleSpecifier(e);const t=this.createNode(e,{type:xy.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:[],importKind:"value",assertions:this.convertAssertClasue(e.assertClause)});if(e.importClause&&(e.importClause.isTypeOnly&&(t.importKind="type"),e.importClause.name&&t.specifiers.push(this.convertChild(e.importClause)),e.importClause.namedBindings))switch(e.importClause.namedBindings.kind){case Sy.NamespaceImport:t.specifiers.push(this.convertChild(e.importClause.namedBindings));break;case Sy.NamedImports:t.specifiers=t.specifiers.concat(e.importClause.namedBindings.elements.map((e=>this.convertChild(e))))}return t}case Sy.NamespaceImport:return this.createNode(e,{type:xy.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(e.name)});case Sy.ImportSpecifier:return this.createNode(e,{type:xy.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(e.name),imported:this.convertChild(null!==(s=e.propertyName)&&void 0!==s?s:e.name),importKind:e.isTypeOnly?"type":"value"});case Sy.ImportClause:{const t=this.convertChild(e.name);return this.createNode(e,{type:xy.AST_NODE_TYPES.ImportDefaultSpecifier,local:t,range:t.range})}case Sy.ExportDeclaration:return this.assertModuleSpecifier(e),(null===(c=e.exportClause)||void 0===c?void 0:c.kind)===Sy.NamedExports?this.createNode(e,{type:xy.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:e.exportClause.elements.map((e=>this.convertChild(e))),exportKind:e.isTypeOnly?"type":"value",declaration:null,assertions:this.convertAssertClasue(e.assertClause)}):this.createNode(e,{type:xy.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(e.moduleSpecifier),exportKind:e.isTypeOnly?"type":"value",exported:e.exportClause&&e.exportClause.kind===Sy.NamespaceExport?this.convertChild(e.exportClause.name):null,assertions:this.convertAssertClasue(e.assertClause)});case Sy.ExportSpecifier:return this.createNode(e,{type:xy.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild(null!==(u=e.propertyName)&&void 0!==u?u:e.name),exported:this.convertChild(e.name),exportKind:e.isTypeOnly?"type":"value"});case Sy.ExportAssignment:return e.isExportEquals?this.createNode(e,{type:xy.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(e.expression)}):this.createNode(e,{type:xy.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(e.expression),exportKind:"value"});case Sy.PrefixUnaryExpression:case Sy.PostfixUnaryExpression:{const t=(0,Dy.getTextForTokenKind)(e.operator);return"++"===t||"--"===t?this.createNode(e,{type:xy.AST_NODE_TYPES.UpdateExpression,operator:t,prefix:e.kind===Sy.PrefixUnaryExpression,argument:this.convertChild(e.operand)}):this.createNode(e,{type:xy.AST_NODE_TYPES.UnaryExpression,operator:t,prefix:e.kind===Sy.PrefixUnaryExpression,argument:this.convertChild(e.operand)})}case Sy.DeleteExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(e.expression)});case Sy.VoidExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(e.expression)});case Sy.TypeOfExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(e.expression)});case Sy.TypeOperator:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeOperator,operator:(0,Dy.getTextForTokenKind)(e.operator),typeAnnotation:this.convertChild(e.type)});case Sy.BinaryExpression:if((0,Dy.isComma)(e.operatorToken)){const t=this.createNode(e,{type:xy.AST_NODE_TYPES.SequenceExpression,expressions:[]}),r=this.convertChild(e.left);return r.type===xy.AST_NODE_TYPES.SequenceExpression&&e.left.kind!==Sy.ParenthesizedExpression?t.expressions=t.expressions.concat(r.expressions):t.expressions.push(r),t.expressions.push(this.convertChild(e.right)),t}{const t=(0,Dy.getBinaryExpressionType)(e.operatorToken);return this.allowPattern&&t===xy.AST_NODE_TYPES.AssignmentExpression?this.createNode(e,{type:xy.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.left,e),right:this.convertChild(e.right)}):this.createNode(e,{type:t,operator:(0,Dy.getTextForTokenKind)(e.operatorToken.kind),left:this.converter(e.left,e,this.inTypeMode,t===xy.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(e.right)})}case Sy.PropertyAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.name),n=!1,i=this.createNode(e,{type:xy.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case Sy.ElementAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.argumentExpression),n=!0,i=this.createNode(e,{type:xy.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case Sy.CallExpression:{if(e.expression.kind===Sy.ImportKeyword){if(1!==e.arguments.length&&2!==e.arguments.length)throw(0,Dy.createError)(this.ast,e.arguments.pos,"Dynamic import requires exactly one or two arguments.");return this.createNode(e,{type:xy.AST_NODE_TYPES.ImportExpression,source:this.convertChild(e.arguments[0]),attributes:e.arguments[1]?this.convertChild(e.arguments[1]):null})}const t=this.convertChild(e.expression),r=e.arguments.map((e=>this.convertChild(e))),n=this.createNode(e,{type:xy.AST_NODE_TYPES.CallExpression,callee:t,arguments:r,optional:void 0!==e.questionDotToken});return e.typeArguments&&(n.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),this.convertChainExpression(n,e)}case Sy.NewExpression:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.NewExpression,callee:this.convertChild(e.expression),arguments:e.arguments?e.arguments.map((e=>this.convertChild(e))):[]});return e.typeArguments&&(t.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),t}case Sy.ConditionalExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(e.condition),consequent:this.convertChild(e.whenTrue),alternate:this.convertChild(e.whenFalse)});case Sy.MetaProperty:return this.createNode(e,{type:xy.AST_NODE_TYPES.MetaProperty,meta:this.createNode(e.getFirstToken(),{type:xy.AST_NODE_TYPES.Identifier,name:(0,Dy.getTextForTokenKind)(e.keywordToken)}),property:this.convertChild(e.name)});case Sy.Decorator:return this.createNode(e,{type:xy.AST_NODE_TYPES.Decorator,expression:this.convertChild(e.expression)});case Sy.StringLiteral:return this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,value:t.kind===Sy.JsxAttribute?(0,Dy.unescapeStringLiteralText)(e.text):e.text,raw:e.getText()});case Sy.NumericLiteral:return this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,value:Number(e.text),raw:e.getText()});case Sy.BigIntLiteral:{const t=(0,Dy.getRange)(e,this.ast),r=this.ast.text.slice(t[0],t[1]),n=r.slice(0,-1).replace(/_/g,""),i="undefined"!=typeof BigInt?BigInt(n):null;return this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,raw:r,value:i,bigint:null===i?n:String(i),range:t})}case Sy.RegularExpressionLiteral:{const t=e.text.slice(1,e.text.lastIndexOf("/")),r=e.text.slice(e.text.lastIndexOf("/")+1);let n=null;try{n=new RegExp(t,r)}catch(e){n=null}return this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,value:n,raw:e.text,regex:{pattern:t,flags:r}})}case Sy.TrueKeyword:return this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case Sy.FalseKeyword:return this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case Sy.NullKeyword:return!by.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(e,{type:xy.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:xy.AST_NODE_TYPES.Literal,value:null,raw:"null"});case Sy.EmptyStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.EmptyStatement});case Sy.DebuggerStatement:return this.createNode(e,{type:xy.AST_NODE_TYPES.DebuggerStatement});case Sy.JsxElement:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(e.openingElement),closingElement:this.convertChild(e.closingElement),children:e.children.map((e=>this.convertChild(e)))});case Sy.JsxFragment:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(e.openingFragment),closingFragment:this.convertChild(e.closingFragment),children:e.children.map((e=>this.convertChild(e)))});case Sy.JsxSelfClosingElement:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(e,{type:xy.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!0,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e))),range:(0,Dy.getRange)(e,this.ast)}),closingElement:null,children:[]});case Sy.JsxOpeningElement:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!1,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e)))});case Sy.JsxClosingElement:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(e.tagName,e)});case Sy.JsxOpeningFragment:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXOpeningFragment});case Sy.JsxClosingFragment:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXClosingFragment});case Sy.JsxExpression:{const t=e.expression?this.convertChild(e.expression):this.createNode(e,{type:xy.AST_NODE_TYPES.JSXEmptyExpression,range:[e.getStart(this.ast)+1,e.getEnd()-1]});return e.dotDotDotToken?this.createNode(e,{type:xy.AST_NODE_TYPES.JSXSpreadChild,expression:t}):this.createNode(e,{type:xy.AST_NODE_TYPES.JSXExpressionContainer,expression:t})}case Sy.JsxAttribute:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(e.name),value:this.convertChild(e.initializer)});case Sy.JsxText:{const t=e.getFullStart(),r=e.getEnd(),n=this.ast.text.slice(t,r);return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXText,value:(0,Dy.unescapeStringLiteralText)(n),raw:n,range:[t,r]})}case Sy.JsxSpreadAttribute:return this.createNode(e,{type:xy.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(e.expression)});case Sy.QualifiedName:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(e.left),right:this.convertChild(e.right)});case Sy.TypeReference:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(e.typeName),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0});case Sy.TypeParameter:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(e.name),constraint:e.constraint?this.convertType(e.constraint):void 0,default:e.default?this.convertType(e.default):void 0});case Sy.ThisType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSThisType});case Sy.AnyKeyword:case Sy.BigIntKeyword:case Sy.BooleanKeyword:case Sy.NeverKeyword:case Sy.NumberKeyword:case Sy.ObjectKeyword:case Sy.StringKeyword:case Sy.SymbolKeyword:case Sy.UnknownKeyword:case Sy.VoidKeyword:case Sy.UndefinedKeyword:case Sy.IntrinsicKeyword:return this.createNode(e,{type:xy.AST_NODE_TYPES["TS".concat(Sy[e.kind])]});case Sy.NonNullExpression:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(e.expression)});return this.convertChainExpression(t,e)}case Sy.TypeLiteral:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeLiteral,members:e.members.map((e=>this.convertChild(e)))});case Sy.ArrayType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(e.elementType)});case Sy.IndexedAccessType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(e.objectType),indexType:this.convertType(e.indexType)});case Sy.ConditionalType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(e.checkType),extendsType:this.convertType(e.extendsType),trueType:this.convertType(e.trueType),falseType:this.convertType(e.falseType)});case Sy.TypeQuery:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(e.exprName)});case Sy.MappedType:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(e.typeParameter),nameType:null!==(l=this.convertType(e.nameType))&&void 0!==l?l:null});return e.readonlyToken&&(e.readonlyToken.kind===Sy.ReadonlyKeyword?t.readonly=!0:t.readonly=(0,Dy.getTextForTokenKind)(e.readonlyToken.kind)),e.questionToken&&(e.questionToken.kind===Sy.QuestionToken?t.optional=!0:t.optional=(0,Dy.getTextForTokenKind)(e.questionToken.kind)),e.type&&(t.typeAnnotation=this.convertType(e.type)),t}case Sy.ParenthesizedExpression:return this.convertChild(e.expression,t);case Sy.TypeAliasDeclaration:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(e.name),typeAnnotation:this.convertType(e.type)});return(0,Dy.hasModifier)(Sy.DeclareKeyword,e)&&(t.declare=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,t)}case Sy.MethodSignature:return this.convertMethodSignature(e);case Sy.PropertySignature:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSPropertySignature,optional:(0,Dy.isOptional)(e)||void 0,computed:(0,Dy.isComputedProperty)(e.name),key:this.convertChild(e.name),typeAnnotation:e.type?this.convertTypeAnnotation(e.type,e):void 0,initializer:this.convertChild(e.initializer)||void 0,readonly:(0,Dy.hasModifier)(Sy.ReadonlyKeyword,e)||void 0,static:(0,Dy.hasModifier)(Sy.StaticKeyword,e)||void 0,export:(0,Dy.hasModifier)(Sy.ExportKeyword,e)||void 0}),r=(0,Dy.getTSNodeAccessibility)(e);return r&&(t.accessibility=r),t}case Sy.IndexSignature:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSIndexSignature,parameters:e.parameters.map((e=>this.convertChild(e)))});e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e)),(0,Dy.hasModifier)(Sy.ReadonlyKeyword,e)&&(t.readonly=!0);const r=(0,Dy.getTSNodeAccessibility)(e);return r&&(t.accessibility=r),(0,Dy.hasModifier)(Sy.ExportKeyword,e)&&(t.export=!0),(0,Dy.hasModifier)(Sy.StaticKeyword,e)&&(t.static=!0),t}case Sy.ConstructorType:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(e.parameters),abstract:(0,Dy.hasModifier)(Sy.AbstractKeyword,e)});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case Sy.FunctionType:case Sy.ConstructSignature:case Sy.CallSignature:{const t=e.kind===Sy.ConstructSignature?xy.AST_NODE_TYPES.TSConstructSignatureDeclaration:e.kind===Sy.CallSignature?xy.AST_NODE_TYPES.TSCallSignatureDeclaration:xy.AST_NODE_TYPES.TSFunctionType,r=this.createNode(e,{type:t,params:this.convertParameters(e.parameters)});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),r}case Sy.ExpressionWithTypeArguments:{const r=this.createNode(e,{type:t&&t.kind===Sy.InterfaceDeclaration?xy.AST_NODE_TYPES.TSInterfaceHeritage:xy.AST_NODE_TYPES.TSClassImplements,expression:this.convertChild(e.expression)});return e.typeArguments&&(r.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),r}case Sy.InterfaceDeclaration:{const t=null!==(d=e.heritageClauses)&&void 0!==d?d:[],r=this.createNode(e,{type:xy.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(e,{type:xy.AST_NODE_TYPES.TSInterfaceBody,body:e.members.map((e=>this.convertChild(e))),range:[e.members.pos-1,e.end]}),id:this.convertChild(e.name)});if(e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t.length>0){const n=[],i=[];for(const r of t)if(r.token===Sy.ExtendsKeyword)for(const t of r.types)n.push(this.convertChild(t,e));else for(const t of r.types)i.push(this.convertChild(t,e));n.length&&(r.extends=n),i.length&&(r.implements=i)}return(0,Dy.hasModifier)(Sy.AbstractKeyword,e)&&(r.abstract=!0),(0,Dy.hasModifier)(Sy.DeclareKeyword,e)&&(r.declare=!0),this.fixExports(e,r)}case Sy.TypePredicate:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypePredicate,asserts:void 0!==e.assertsModifier,parameterName:this.convertChild(e.parameterName),typeAnnotation:null});return e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e),t.typeAnnotation.loc=t.typeAnnotation.typeAnnotation.loc,t.typeAnnotation.range=t.typeAnnotation.typeAnnotation.range),t}case Sy.ImportType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSImportType,isTypeOf:!!e.isTypeOf,parameter:this.convertChild(e.argument),qualifier:this.convertChild(e.qualifier),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null});case Sy.EnumDeclaration:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(e.name),members:e.members.map((e=>this.convertChild(e)))});return this.applyModifiersToResult(t,e.modifiers),this.fixExports(e,t)}case Sy.EnumMember:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(e.name)});return e.initializer&&(t.initializer=this.convertChild(e.initializer)),e.name.kind===hy.SyntaxKind.ComputedPropertyName&&(t.computed=!0),t}case Sy.ModuleDeclaration:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSModuleDeclaration,id:this.convertChild(e.name)});return e.body&&(t.body=this.convertChild(e.body)),this.applyModifiersToResult(t,e.modifiers),e.flags&hy.NodeFlags.GlobalAugmentation&&(t.global=!0),this.fixExports(e,t)}case Sy.ParenthesizedType:return this.convertType(e.type);case Sy.UnionType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSUnionType,types:e.types.map((e=>this.convertType(e)))});case Sy.IntersectionType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSIntersectionType,types:e.types.map((e=>this.convertType(e)))});case Sy.AsExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertType(e.type)});case Sy.InferType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(e.typeParameter)});case Sy.LiteralType:return by.typescriptVersionIsAtLeast["4.0"]&&e.literal.kind===Sy.NullKeyword?this.createNode(e.literal,{type:xy.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:xy.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(e.literal)});case Sy.TypeAssertionExpression:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(e.type),expression:this.convertChild(e.expression)});case Sy.ImportEqualsDeclaration:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(e.name),moduleReference:this.convertChild(e.moduleReference),importKind:e.isTypeOnly?"type":"value",isExport:(0,Dy.hasModifier)(Sy.ExportKeyword,e)});case Sy.ExternalModuleReference:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(e.expression)});case Sy.NamespaceExportDeclaration:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(e.name)});case Sy.AbstractKeyword:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSAbstractKeyword});case Sy.TupleType:{const t="elementTypes"in e?e.elementTypes.map((e=>this.convertType(e))):e.elements.map((e=>this.convertType(e)));return this.createNode(e,{type:xy.AST_NODE_TYPES.TSTupleType,elementTypes:t})}case Sy.NamedTupleMember:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(e.type,e),label:this.convertChild(e.name,e),optional:null!=e.questionToken});return e.dotDotDotToken?(t.range[0]=t.label.range[0],t.loc.start=t.label.loc.start,this.createNode(e,{type:xy.AST_NODE_TYPES.TSRestType,typeAnnotation:t})):t}case Sy.OptionalType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(e.type)});case Sy.RestType:return this.createNode(e,{type:xy.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(e.type)});case Sy.TemplateLiteralType:{const t=this.createNode(e,{type:xy.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(e.head)],types:[]});return e.templateSpans.forEach((e=>{t.types.push(this.convertChild(e.type)),t.quasis.push(this.convertChild(e.literal))})),t}case Sy.ClassStaticBlockDeclaration:return this.createNode(e,{type:xy.AST_NODE_TYPES.StaticBlock,body:this.convertBodyExpressions(e.body.statements,e)});case Sy.AssertEntry:return this.createNode(e,{type:xy.AST_NODE_TYPES.ImportAttribute,key:this.convertChild(e.name),value:this.convertChild(e.value)});default:return this.deeplyCopy(e)}}};var Ty={},Cy={},Ey={},ky=function(e,t){return ky=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},ky(e,t)};var Ay=function(){return Ay=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ny(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return o}function Py(e){return this instanceof Py?(this.v=e,this):new Py(e)}var wy=Object.freeze({__proto__:null,__extends:function(e,t){function r(){this.constructor=e}ky(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},get __assign(){return Ay},__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o},__param:function(e,t){return function(r,n){t(r,n,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))},__generator:function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof Py?Promise.resolve(r.value.v).then(c,u):l(a[0][2],r)}catch(e){l(a[0][3],e)}var r}function c(e){s("next",e)}function u(e){s("throw",e)}function l(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:Py(e[n](t)),done:"return"===n}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=Fy(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}}),Iy={},Oy={},My={},Ly={};Object.defineProperty(Ly,"__esModule",{value:!0}),Ly.isExpressionStatement=Ly.isExpression=Ly.isExportSpecifier=Ly.isExportDeclaration=Ly.isExportAssignment=Ly.isEnumMember=Ly.isEnumDeclaration=Ly.isEntityNameExpression=Ly.isEntityName=Ly.isEmptyStatement=Ly.isElementAccessExpression=Ly.isDoStatement=Ly.isDeleteExpression=Ly.isDefaultClause=Ly.isDecorator=Ly.isDebuggerStatement=Ly.isComputedPropertyName=Ly.isContinueStatement=Ly.isConstructSignatureDeclaration=Ly.isConstructorTypeNode=Ly.isConstructorDeclaration=Ly.isConditionalTypeNode=Ly.isConditionalExpression=Ly.isCommaListExpression=Ly.isClassLikeDeclaration=Ly.isClassExpression=Ly.isClassDeclaration=Ly.isCatchClause=Ly.isCaseOrDefaultClause=Ly.isCaseClause=Ly.isCaseBlock=Ly.isCallSignatureDeclaration=Ly.isCallLikeExpression=Ly.isCallExpression=Ly.isBreakStatement=Ly.isBreakOrContinueStatement=Ly.isBooleanLiteral=Ly.isBlockLike=Ly.isBlock=Ly.isBindingPattern=Ly.isBindingElement=Ly.isBinaryExpression=Ly.isAwaitExpression=Ly.isAssertionExpression=Ly.isAsExpression=Ly.isArrowFunction=Ly.isArrayTypeNode=Ly.isArrayLiteralExpression=Ly.isArrayBindingPattern=Ly.isAccessorDeclaration=void 0,Ly.isNamespaceImport=Ly.isNamespaceDeclaration=Ly.isNamedImports=Ly.isNamedExports=Ly.isModuleDeclaration=Ly.isModuleBlock=Ly.isMethodSignature=Ly.isMethodDeclaration=Ly.isMetaProperty=Ly.isMappedTypeNode=Ly.isLiteralTypeNode=Ly.isLiteralExpression=Ly.isLabeledStatement=Ly.isJsxText=Ly.isJsxSpreadAttribute=Ly.isJsxSelfClosingElement=Ly.isJsxOpeningLikeElement=Ly.isJsxOpeningFragment=Ly.isJsxOpeningElement=Ly.isJsxFragment=Ly.isJsxExpression=Ly.isJsxElement=Ly.isJsxClosingFragment=Ly.isJsxClosingElement=Ly.isJsxAttributes=Ly.isJsxAttributeLike=Ly.isJsxAttribute=Ly.isJsDoc=Ly.isIterationStatement=Ly.isIntersectionTypeNode=Ly.isInterfaceDeclaration=Ly.isInferTypeNode=Ly.isIndexSignatureDeclaration=Ly.isIndexedAccessTypeNode=Ly.isImportSpecifier=Ly.isImportEqualsDeclaration=Ly.isImportDeclaration=Ly.isImportClause=Ly.isIfStatement=Ly.isIdentifier=Ly.isGetAccessorDeclaration=Ly.isFunctionTypeNode=Ly.isFunctionExpression=Ly.isFunctionDeclaration=Ly.isForStatement=Ly.isForOfStatement=Ly.isForInOrOfStatement=Ly.isForInStatement=Ly.isExternalModuleReference=Ly.isExpressionWithTypeArguments=void 0,Ly.isVariableStatement=Ly.isVariableDeclaration=Ly.isUnionTypeNode=Ly.isTypeQueryNode=Ly.isTypeReferenceNode=Ly.isTypePredicateNode=Ly.isTypeParameterDeclaration=Ly.isTypeOperatorNode=Ly.isTypeOfExpression=Ly.isTypeLiteralNode=Ly.isTypeAssertion=Ly.isTypeAliasDeclaration=Ly.isTupleTypeNode=Ly.isTryStatement=Ly.isThrowStatement=Ly.isTextualLiteral=Ly.isTemplateLiteral=Ly.isTemplateExpression=Ly.isTaggedTemplateExpression=Ly.isSyntaxList=Ly.isSwitchStatement=Ly.isStringLiteral=Ly.isSpreadElement=Ly.isSpreadAssignment=Ly.isSourceFile=Ly.isSignatureDeclaration=Ly.isShorthandPropertyAssignment=Ly.isSetAccessorDeclaration=Ly.isReturnStatement=Ly.isRegularExpressionLiteral=Ly.isQualifiedName=Ly.isPropertySignature=Ly.isPropertyDeclaration=Ly.isPropertyAssignment=Ly.isPropertyAccessExpression=Ly.isPrefixUnaryExpression=Ly.isPostfixUnaryExpression=Ly.isParenthesizedTypeNode=Ly.isParenthesizedExpression=Ly.isParameterDeclaration=Ly.isOmittedExpression=Ly.isObjectLiteralExpression=Ly.isObjectBindingPattern=Ly.isNumericOrStringLikeLiteral=Ly.isNumericLiteral=Ly.isNullLiteral=Ly.isNoSubstitutionTemplateLiteral=Ly.isNonNullExpression=Ly.isNewExpression=Ly.isNamespaceExportDeclaration=void 0,Ly.isWithStatement=Ly.isWhileStatement=Ly.isVoidExpression=Ly.isVariableDeclarationList=void 0;const Ry=vm.exports;function By(e){return e.kind===Ry.SyntaxKind.ModuleDeclaration}function jy(e){return e.kind===Ry.SyntaxKind.PropertyAccessExpression}function Jy(e){return e.kind===Ry.SyntaxKind.QualifiedName}Ly.isAccessorDeclaration=function(e){return e.kind===Ry.SyntaxKind.GetAccessor||e.kind===Ry.SyntaxKind.SetAccessor},Ly.isArrayBindingPattern=function(e){return e.kind===Ry.SyntaxKind.ArrayBindingPattern},Ly.isArrayLiteralExpression=function(e){return e.kind===Ry.SyntaxKind.ArrayLiteralExpression},Ly.isArrayTypeNode=function(e){return e.kind===Ry.SyntaxKind.ArrayType},Ly.isArrowFunction=function(e){return e.kind===Ry.SyntaxKind.ArrowFunction},Ly.isAsExpression=function(e){return e.kind===Ry.SyntaxKind.AsExpression},Ly.isAssertionExpression=function(e){return e.kind===Ry.SyntaxKind.AsExpression||e.kind===Ry.SyntaxKind.TypeAssertionExpression},Ly.isAwaitExpression=function(e){return e.kind===Ry.SyntaxKind.AwaitExpression},Ly.isBinaryExpression=function(e){return e.kind===Ry.SyntaxKind.BinaryExpression},Ly.isBindingElement=function(e){return e.kind===Ry.SyntaxKind.BindingElement},Ly.isBindingPattern=function(e){return e.kind===Ry.SyntaxKind.ArrayBindingPattern||e.kind===Ry.SyntaxKind.ObjectBindingPattern},Ly.isBlock=function(e){return e.kind===Ry.SyntaxKind.Block},Ly.isBlockLike=function(e){return void 0!==e.statements},Ly.isBooleanLiteral=function(e){return e.kind===Ry.SyntaxKind.TrueKeyword||e.kind===Ry.SyntaxKind.FalseKeyword},Ly.isBreakOrContinueStatement=function(e){return e.kind===Ry.SyntaxKind.BreakStatement||e.kind===Ry.SyntaxKind.ContinueStatement},Ly.isBreakStatement=function(e){return e.kind===Ry.SyntaxKind.BreakStatement},Ly.isCallExpression=function(e){return e.kind===Ry.SyntaxKind.CallExpression},Ly.isCallLikeExpression=function(e){switch(e.kind){case Ry.SyntaxKind.CallExpression:case Ry.SyntaxKind.Decorator:case Ry.SyntaxKind.JsxOpeningElement:case Ry.SyntaxKind.JsxSelfClosingElement:case Ry.SyntaxKind.NewExpression:case Ry.SyntaxKind.TaggedTemplateExpression:return!0;default:return!1}},Ly.isCallSignatureDeclaration=function(e){return e.kind===Ry.SyntaxKind.CallSignature},Ly.isCaseBlock=function(e){return e.kind===Ry.SyntaxKind.CaseBlock},Ly.isCaseClause=function(e){return e.kind===Ry.SyntaxKind.CaseClause},Ly.isCaseOrDefaultClause=function(e){return e.kind===Ry.SyntaxKind.CaseClause||e.kind===Ry.SyntaxKind.DefaultClause},Ly.isCatchClause=function(e){return e.kind===Ry.SyntaxKind.CatchClause},Ly.isClassDeclaration=function(e){return e.kind===Ry.SyntaxKind.ClassDeclaration},Ly.isClassExpression=function(e){return e.kind===Ry.SyntaxKind.ClassExpression},Ly.isClassLikeDeclaration=function(e){return e.kind===Ry.SyntaxKind.ClassDeclaration||e.kind===Ry.SyntaxKind.ClassExpression},Ly.isCommaListExpression=function(e){return e.kind===Ry.SyntaxKind.CommaListExpression},Ly.isConditionalExpression=function(e){return e.kind===Ry.SyntaxKind.ConditionalExpression},Ly.isConditionalTypeNode=function(e){return e.kind===Ry.SyntaxKind.ConditionalType},Ly.isConstructorDeclaration=function(e){return e.kind===Ry.SyntaxKind.Constructor},Ly.isConstructorTypeNode=function(e){return e.kind===Ry.SyntaxKind.ConstructorType},Ly.isConstructSignatureDeclaration=function(e){return e.kind===Ry.SyntaxKind.ConstructSignature},Ly.isContinueStatement=function(e){return e.kind===Ry.SyntaxKind.ContinueStatement},Ly.isComputedPropertyName=function(e){return e.kind===Ry.SyntaxKind.ComputedPropertyName},Ly.isDebuggerStatement=function(e){return e.kind===Ry.SyntaxKind.DebuggerStatement},Ly.isDecorator=function(e){return e.kind===Ry.SyntaxKind.Decorator},Ly.isDefaultClause=function(e){return e.kind===Ry.SyntaxKind.DefaultClause},Ly.isDeleteExpression=function(e){return e.kind===Ry.SyntaxKind.DeleteExpression},Ly.isDoStatement=function(e){return e.kind===Ry.SyntaxKind.DoStatement},Ly.isElementAccessExpression=function(e){return e.kind===Ry.SyntaxKind.ElementAccessExpression},Ly.isEmptyStatement=function(e){return e.kind===Ry.SyntaxKind.EmptyStatement},Ly.isEntityName=function(e){return e.kind===Ry.SyntaxKind.Identifier||Jy(e)},Ly.isEntityNameExpression=function e(t){return t.kind===Ry.SyntaxKind.Identifier||jy(t)&&e(t.expression)},Ly.isEnumDeclaration=function(e){return e.kind===Ry.SyntaxKind.EnumDeclaration},Ly.isEnumMember=function(e){return e.kind===Ry.SyntaxKind.EnumMember},Ly.isExportAssignment=function(e){return e.kind===Ry.SyntaxKind.ExportAssignment},Ly.isExportDeclaration=function(e){return e.kind===Ry.SyntaxKind.ExportDeclaration},Ly.isExportSpecifier=function(e){return e.kind===Ry.SyntaxKind.ExportSpecifier},Ly.isExpression=function(e){switch(e.kind){case Ry.SyntaxKind.ArrayLiteralExpression:case Ry.SyntaxKind.ArrowFunction:case Ry.SyntaxKind.AsExpression:case Ry.SyntaxKind.AwaitExpression:case Ry.SyntaxKind.BinaryExpression:case Ry.SyntaxKind.CallExpression:case Ry.SyntaxKind.ClassExpression:case Ry.SyntaxKind.CommaListExpression:case Ry.SyntaxKind.ConditionalExpression:case Ry.SyntaxKind.DeleteExpression:case Ry.SyntaxKind.ElementAccessExpression:case Ry.SyntaxKind.FalseKeyword:case Ry.SyntaxKind.FunctionExpression:case Ry.SyntaxKind.Identifier:case Ry.SyntaxKind.JsxElement:case Ry.SyntaxKind.JsxFragment:case Ry.SyntaxKind.JsxExpression:case Ry.SyntaxKind.JsxOpeningElement:case Ry.SyntaxKind.JsxOpeningFragment:case Ry.SyntaxKind.JsxSelfClosingElement:case Ry.SyntaxKind.MetaProperty:case Ry.SyntaxKind.NewExpression:case Ry.SyntaxKind.NonNullExpression:case Ry.SyntaxKind.NoSubstitutionTemplateLiteral:case Ry.SyntaxKind.NullKeyword:case Ry.SyntaxKind.NumericLiteral:case Ry.SyntaxKind.ObjectLiteralExpression:case Ry.SyntaxKind.OmittedExpression:case Ry.SyntaxKind.ParenthesizedExpression:case Ry.SyntaxKind.PostfixUnaryExpression:case Ry.SyntaxKind.PrefixUnaryExpression:case Ry.SyntaxKind.PropertyAccessExpression:case Ry.SyntaxKind.RegularExpressionLiteral:case Ry.SyntaxKind.SpreadElement:case Ry.SyntaxKind.StringLiteral:case Ry.SyntaxKind.SuperKeyword:case Ry.SyntaxKind.TaggedTemplateExpression:case Ry.SyntaxKind.TemplateExpression:case Ry.SyntaxKind.ThisKeyword:case Ry.SyntaxKind.TrueKeyword:case Ry.SyntaxKind.TypeAssertionExpression:case Ry.SyntaxKind.TypeOfExpression:case Ry.SyntaxKind.VoidExpression:case Ry.SyntaxKind.YieldExpression:return!0;default:return!1}},Ly.isExpressionStatement=function(e){return e.kind===Ry.SyntaxKind.ExpressionStatement},Ly.isExpressionWithTypeArguments=function(e){return e.kind===Ry.SyntaxKind.ExpressionWithTypeArguments},Ly.isExternalModuleReference=function(e){return e.kind===Ry.SyntaxKind.ExternalModuleReference},Ly.isForInStatement=function(e){return e.kind===Ry.SyntaxKind.ForInStatement},Ly.isForInOrOfStatement=function(e){return e.kind===Ry.SyntaxKind.ForOfStatement||e.kind===Ry.SyntaxKind.ForInStatement},Ly.isForOfStatement=function(e){return e.kind===Ry.SyntaxKind.ForOfStatement},Ly.isForStatement=function(e){return e.kind===Ry.SyntaxKind.ForStatement},Ly.isFunctionDeclaration=function(e){return e.kind===Ry.SyntaxKind.FunctionDeclaration},Ly.isFunctionExpression=function(e){return e.kind===Ry.SyntaxKind.FunctionExpression},Ly.isFunctionTypeNode=function(e){return e.kind===Ry.SyntaxKind.FunctionType},Ly.isGetAccessorDeclaration=function(e){return e.kind===Ry.SyntaxKind.GetAccessor},Ly.isIdentifier=function(e){return e.kind===Ry.SyntaxKind.Identifier},Ly.isIfStatement=function(e){return e.kind===Ry.SyntaxKind.IfStatement},Ly.isImportClause=function(e){return e.kind===Ry.SyntaxKind.ImportClause},Ly.isImportDeclaration=function(e){return e.kind===Ry.SyntaxKind.ImportDeclaration},Ly.isImportEqualsDeclaration=function(e){return e.kind===Ry.SyntaxKind.ImportEqualsDeclaration},Ly.isImportSpecifier=function(e){return e.kind===Ry.SyntaxKind.ImportSpecifier},Ly.isIndexedAccessTypeNode=function(e){return e.kind===Ry.SyntaxKind.IndexedAccessType},Ly.isIndexSignatureDeclaration=function(e){return e.kind===Ry.SyntaxKind.IndexSignature},Ly.isInferTypeNode=function(e){return e.kind===Ry.SyntaxKind.InferType},Ly.isInterfaceDeclaration=function(e){return e.kind===Ry.SyntaxKind.InterfaceDeclaration},Ly.isIntersectionTypeNode=function(e){return e.kind===Ry.SyntaxKind.IntersectionType},Ly.isIterationStatement=function(e){switch(e.kind){case Ry.SyntaxKind.ForStatement:case Ry.SyntaxKind.ForOfStatement:case Ry.SyntaxKind.ForInStatement:case Ry.SyntaxKind.WhileStatement:case Ry.SyntaxKind.DoStatement:return!0;default:return!1}},Ly.isJsDoc=function(e){return e.kind===Ry.SyntaxKind.JSDocComment},Ly.isJsxAttribute=function(e){return e.kind===Ry.SyntaxKind.JsxAttribute},Ly.isJsxAttributeLike=function(e){return e.kind===Ry.SyntaxKind.JsxAttribute||e.kind===Ry.SyntaxKind.JsxSpreadAttribute},Ly.isJsxAttributes=function(e){return e.kind===Ry.SyntaxKind.JsxAttributes},Ly.isJsxClosingElement=function(e){return e.kind===Ry.SyntaxKind.JsxClosingElement},Ly.isJsxClosingFragment=function(e){return e.kind===Ry.SyntaxKind.JsxClosingFragment},Ly.isJsxElement=function(e){return e.kind===Ry.SyntaxKind.JsxElement},Ly.isJsxExpression=function(e){return e.kind===Ry.SyntaxKind.JsxExpression},Ly.isJsxFragment=function(e){return e.kind===Ry.SyntaxKind.JsxFragment},Ly.isJsxOpeningElement=function(e){return e.kind===Ry.SyntaxKind.JsxOpeningElement},Ly.isJsxOpeningFragment=function(e){return e.kind===Ry.SyntaxKind.JsxOpeningFragment},Ly.isJsxOpeningLikeElement=function(e){return e.kind===Ry.SyntaxKind.JsxOpeningElement||e.kind===Ry.SyntaxKind.JsxSelfClosingElement},Ly.isJsxSelfClosingElement=function(e){return e.kind===Ry.SyntaxKind.JsxSelfClosingElement},Ly.isJsxSpreadAttribute=function(e){return e.kind===Ry.SyntaxKind.JsxSpreadAttribute},Ly.isJsxText=function(e){return e.kind===Ry.SyntaxKind.JsxText},Ly.isLabeledStatement=function(e){return e.kind===Ry.SyntaxKind.LabeledStatement},Ly.isLiteralExpression=function(e){return e.kind>=Ry.SyntaxKind.FirstLiteralToken&&e.kind<=Ry.SyntaxKind.LastLiteralToken},Ly.isLiteralTypeNode=function(e){return e.kind===Ry.SyntaxKind.LiteralType},Ly.isMappedTypeNode=function(e){return e.kind===Ry.SyntaxKind.MappedType},Ly.isMetaProperty=function(e){return e.kind===Ry.SyntaxKind.MetaProperty},Ly.isMethodDeclaration=function(e){return e.kind===Ry.SyntaxKind.MethodDeclaration},Ly.isMethodSignature=function(e){return e.kind===Ry.SyntaxKind.MethodSignature},Ly.isModuleBlock=function(e){return e.kind===Ry.SyntaxKind.ModuleBlock},Ly.isModuleDeclaration=By,Ly.isNamedExports=function(e){return e.kind===Ry.SyntaxKind.NamedExports},Ly.isNamedImports=function(e){return e.kind===Ry.SyntaxKind.NamedImports},Ly.isNamespaceDeclaration=function e(t){return By(t)&&t.name.kind===Ry.SyntaxKind.Identifier&&void 0!==t.body&&(t.body.kind===Ry.SyntaxKind.ModuleBlock||e(t.body))},Ly.isNamespaceImport=function(e){return e.kind===Ry.SyntaxKind.NamespaceImport},Ly.isNamespaceExportDeclaration=function(e){return e.kind===Ry.SyntaxKind.NamespaceExportDeclaration},Ly.isNewExpression=function(e){return e.kind===Ry.SyntaxKind.NewExpression},Ly.isNonNullExpression=function(e){return e.kind===Ry.SyntaxKind.NonNullExpression},Ly.isNoSubstitutionTemplateLiteral=function(e){return e.kind===Ry.SyntaxKind.NoSubstitutionTemplateLiteral},Ly.isNullLiteral=function(e){return e.kind===Ry.SyntaxKind.NullKeyword},Ly.isNumericLiteral=function(e){return e.kind===Ry.SyntaxKind.NumericLiteral},Ly.isNumericOrStringLikeLiteral=function(e){switch(e.kind){case Ry.SyntaxKind.StringLiteral:case Ry.SyntaxKind.NumericLiteral:case Ry.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}},Ly.isObjectBindingPattern=function(e){return e.kind===Ry.SyntaxKind.ObjectBindingPattern},Ly.isObjectLiteralExpression=function(e){return e.kind===Ry.SyntaxKind.ObjectLiteralExpression},Ly.isOmittedExpression=function(e){return e.kind===Ry.SyntaxKind.OmittedExpression},Ly.isParameterDeclaration=function(e){return e.kind===Ry.SyntaxKind.Parameter},Ly.isParenthesizedExpression=function(e){return e.kind===Ry.SyntaxKind.ParenthesizedExpression},Ly.isParenthesizedTypeNode=function(e){return e.kind===Ry.SyntaxKind.ParenthesizedType},Ly.isPostfixUnaryExpression=function(e){return e.kind===Ry.SyntaxKind.PostfixUnaryExpression},Ly.isPrefixUnaryExpression=function(e){return e.kind===Ry.SyntaxKind.PrefixUnaryExpression},Ly.isPropertyAccessExpression=jy,Ly.isPropertyAssignment=function(e){return e.kind===Ry.SyntaxKind.PropertyAssignment},Ly.isPropertyDeclaration=function(e){return e.kind===Ry.SyntaxKind.PropertyDeclaration},Ly.isPropertySignature=function(e){return e.kind===Ry.SyntaxKind.PropertySignature},Ly.isQualifiedName=Jy,Ly.isRegularExpressionLiteral=function(e){return e.kind===Ry.SyntaxKind.RegularExpressionLiteral},Ly.isReturnStatement=function(e){return e.kind===Ry.SyntaxKind.ReturnStatement},Ly.isSetAccessorDeclaration=function(e){return e.kind===Ry.SyntaxKind.SetAccessor},Ly.isShorthandPropertyAssignment=function(e){return e.kind===Ry.SyntaxKind.ShorthandPropertyAssignment},Ly.isSignatureDeclaration=function(e){return void 0!==e.parameters},Ly.isSourceFile=function(e){return e.kind===Ry.SyntaxKind.SourceFile},Ly.isSpreadAssignment=function(e){return e.kind===Ry.SyntaxKind.SpreadAssignment},Ly.isSpreadElement=function(e){return e.kind===Ry.SyntaxKind.SpreadElement},Ly.isStringLiteral=function(e){return e.kind===Ry.SyntaxKind.StringLiteral},Ly.isSwitchStatement=function(e){return e.kind===Ry.SyntaxKind.SwitchStatement},Ly.isSyntaxList=function(e){return e.kind===Ry.SyntaxKind.SyntaxList},Ly.isTaggedTemplateExpression=function(e){return e.kind===Ry.SyntaxKind.TaggedTemplateExpression},Ly.isTemplateExpression=function(e){return e.kind===Ry.SyntaxKind.TemplateExpression},Ly.isTemplateLiteral=function(e){return e.kind===Ry.SyntaxKind.TemplateExpression||e.kind===Ry.SyntaxKind.NoSubstitutionTemplateLiteral},Ly.isTextualLiteral=function(e){return e.kind===Ry.SyntaxKind.StringLiteral||e.kind===Ry.SyntaxKind.NoSubstitutionTemplateLiteral},Ly.isThrowStatement=function(e){return e.kind===Ry.SyntaxKind.ThrowStatement},Ly.isTryStatement=function(e){return e.kind===Ry.SyntaxKind.TryStatement},Ly.isTupleTypeNode=function(e){return e.kind===Ry.SyntaxKind.TupleType},Ly.isTypeAliasDeclaration=function(e){return e.kind===Ry.SyntaxKind.TypeAliasDeclaration},Ly.isTypeAssertion=function(e){return e.kind===Ry.SyntaxKind.TypeAssertionExpression},Ly.isTypeLiteralNode=function(e){return e.kind===Ry.SyntaxKind.TypeLiteral},Ly.isTypeOfExpression=function(e){return e.kind===Ry.SyntaxKind.TypeOfExpression},Ly.isTypeOperatorNode=function(e){return e.kind===Ry.SyntaxKind.TypeOperator},Ly.isTypeParameterDeclaration=function(e){return e.kind===Ry.SyntaxKind.TypeParameter},Ly.isTypePredicateNode=function(e){return e.kind===Ry.SyntaxKind.TypePredicate},Ly.isTypeReferenceNode=function(e){return e.kind===Ry.SyntaxKind.TypeReference},Ly.isTypeQueryNode=function(e){return e.kind===Ry.SyntaxKind.TypeQuery},Ly.isUnionTypeNode=function(e){return e.kind===Ry.SyntaxKind.UnionType},Ly.isVariableDeclaration=function(e){return e.kind===Ry.SyntaxKind.VariableDeclaration},Ly.isVariableStatement=function(e){return e.kind===Ry.SyntaxKind.VariableStatement},Ly.isVariableDeclarationList=function(e){return e.kind===Ry.SyntaxKind.VariableDeclarationList},Ly.isVoidExpression=function(e){return e.kind===Ry.SyntaxKind.VoidExpression},Ly.isWhileStatement=function(e){return e.kind===Ry.SyntaxKind.WhileStatement},Ly.isWithStatement=function(e){return e.kind===Ry.SyntaxKind.WithStatement},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isImportTypeNode=void 0;wy.__exportStar(Ly,e);const t=vm.exports;e.isImportTypeNode=function(e){return e.kind===t.SyntaxKind.ImportType}}(My),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSyntheticExpression=e.isRestTypeNode=e.isOptionalTypeNode=void 0;wy.__exportStar(My,e);const t=vm.exports;e.isOptionalTypeNode=function(e){return e.kind===t.SyntaxKind.OptionalType},e.isRestTypeNode=function(e){return e.kind===t.SyntaxKind.RestType},e.isSyntheticExpression=function(e){return e.kind===t.SyntaxKind.SyntheticExpression}}(Oy),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBigIntLiteral=void 0;wy.__exportStar(Oy,e);const t=vm.exports;e.isBigIntLiteral=function(e){return e.kind===t.SyntaxKind.BigIntLiteral}}(Iy),function(e){Object.defineProperty(e,"__esModule",{value:!0});wy.__exportStar(Iy,e)}(Ey);var Ky={},zy={},Uy={},Vy={},qy={};Object.defineProperty(qy,"__esModule",{value:!0}),qy.isUniqueESSymbolType=qy.isUnionType=qy.isUnionOrIntersectionType=qy.isTypeVariable=qy.isTypeReference=qy.isTypeParameter=qy.isSubstitutionType=qy.isObjectType=qy.isLiteralType=qy.isIntersectionType=qy.isInterfaceType=qy.isInstantiableType=qy.isIndexedAccessype=qy.isIndexedAccessType=qy.isGenericType=qy.isEnumType=qy.isConditionalType=void 0;const Wy=vm.exports;qy.isConditionalType=function(e){return 0!=(e.flags&Wy.TypeFlags.Conditional)},qy.isEnumType=function(e){return 0!=(e.flags&Wy.TypeFlags.Enum)},qy.isGenericType=function(e){return 0!=(e.flags&Wy.TypeFlags.Object)&&0!=(e.objectFlags&Wy.ObjectFlags.ClassOrInterface)&&0!=(e.objectFlags&Wy.ObjectFlags.Reference)},qy.isIndexedAccessType=function(e){return 0!=(e.flags&Wy.TypeFlags.IndexedAccess)},qy.isIndexedAccessype=function(e){return 0!=(e.flags&Wy.TypeFlags.Index)},qy.isInstantiableType=function(e){return 0!=(e.flags&Wy.TypeFlags.Instantiable)},qy.isInterfaceType=function(e){return 0!=(e.flags&Wy.TypeFlags.Object)&&0!=(e.objectFlags&Wy.ObjectFlags.ClassOrInterface)},qy.isIntersectionType=function(e){return 0!=(e.flags&Wy.TypeFlags.Intersection)},qy.isLiteralType=function(e){return 0!=(e.flags&(Wy.TypeFlags.StringOrNumberLiteral|Wy.TypeFlags.BigIntLiteral))},qy.isObjectType=function(e){return 0!=(e.flags&Wy.TypeFlags.Object)},qy.isSubstitutionType=function(e){return 0!=(e.flags&Wy.TypeFlags.Substitution)},qy.isTypeParameter=function(e){return 0!=(e.flags&Wy.TypeFlags.TypeParameter)},qy.isTypeReference=function(e){return 0!=(e.flags&Wy.TypeFlags.Object)&&0!=(e.objectFlags&Wy.ObjectFlags.Reference)},qy.isTypeVariable=function(e){return 0!=(e.flags&Wy.TypeFlags.TypeVariable)},qy.isUnionOrIntersectionType=function(e){return 0!=(e.flags&Wy.TypeFlags.UnionOrIntersection)},qy.isUnionType=function(e){return 0!=(e.flags&Wy.TypeFlags.Union)},qy.isUniqueESSymbolType=function(e){return 0!=(e.flags&Wy.TypeFlags.UniqueESSymbol)},function(e){Object.defineProperty(e,"__esModule",{value:!0});wy.__exportStar(qy,e)}(Vy),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isTupleTypeReference=e.isTupleType=void 0;wy.__exportStar(Vy,e);const t=vm.exports,r=Vy;function n(e){return 0!==(e.flags&t.TypeFlags.Object&&e.objectFlags&t.ObjectFlags.Tuple)}e.isTupleType=n,e.isTupleTypeReference=function(e){return r.isTypeReference(e)&&n(e.target)}}(Uy),function(e){Object.defineProperty(e,"__esModule",{value:!0});wy.__exportStar(Uy,e)}(zy),function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=wy;t.__exportStar(Iy,e),t.__exportStar(zy,e)}(Ky);var Hy={},Gy={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});wy.__exportStar(zy,e)}(Gy),Object.defineProperty(Hy,"__esModule",{value:!0}),Hy.getBaseClassMemberOfClassElement=Hy.getIteratorYieldResultFromIteratorResult=Hy.getInstanceTypeOfClassLikeDeclaration=Hy.getConstructorTypeOfClassLikeDeclaration=Hy.getSymbolOfClassLikeDeclaration=Hy.getPropertyNameFromType=Hy.symbolHasReadonlyDeclaration=Hy.isPropertyReadonlyInType=Hy.getWellKnownSymbolPropertyOfType=Hy.getPropertyOfType=Hy.isBooleanLiteralType=Hy.isFalsyType=Hy.isThenableType=Hy.someTypePart=Hy.intersectionTypeParts=Hy.unionTypeParts=Hy.getCallSignaturesOfType=Hy.isTypeAssignableToString=Hy.isTypeAssignableToNumber=Hy.isOptionalChainingUndefinedMarkerType=Hy.removeOptionalChainingUndefinedMarkerType=Hy.removeOptionalityFromType=Hy.isEmptyObjectType=void 0;const Yy=vm.exports,Xy=Gy,Qy=Cy,$y=Ey;function Zy(e,t){if(!ev(t,Yy.TypeFlags.Undefined))return t;const r=ev(t,Yy.TypeFlags.Null);return t=e.getNonNullableType(t),r?e.getNullableType(t,Yy.TypeFlags.Null):t}function ev(e,t){for(const r of nv(e))if(Qy.isTypeFlagSet(r,t))return!0;return!1}function tv(e,t){return Qy.isTypeFlagSet(t,Yy.TypeFlags.Undefined)&&e.getNullableType(t.getNonNullableType(),Yy.TypeFlags.Undefined)!==t}function rv(e,t,r){let n;return r|=Yy.TypeFlags.Any,function t(i){if(Xy.isTypeParameter(i)&&void 0!==i.symbol&&void 0!==i.symbol.declarations){if(void 0===n)n=new Set([i]);else{if(n.has(i))return!1;n.add(i)}const r=i.symbol.declarations[0];return void 0===r.constraint||t(e.getTypeFromTypeNode(r.constraint))}return Xy.isUnionType(i)?i.types.every(t):Xy.isIntersectionType(i)?i.types.some(t):Qy.isTypeFlagSet(i,r)}(t)}function nv(e){return Xy.isUnionType(e)?e.types:[e]}function iv(e,t,r){return t(e)?e.types.some(r):r(e)}function av(e,t,r){let n=e.getApparentType(e.getTypeOfSymbolAtLocation(t,r));if(t.valueDeclaration.dotDotDotToken&&(n=n.getNumberIndexType(),void 0===n))return!1;for(const e of nv(n))if(0!==e.getCallSignatures().length)return!0;return!1}function ov(e,t){return Qy.isTypeFlagSet(e,Yy.TypeFlags.BooleanLiteral)&&e.intrinsicName===(t?"true":"false")}function sv(e,t){return t.startsWith("__")?e.getProperties().find((e=>e.escapedName===t)):e.getProperty(t)}function cv(e,t,r){const n=t&&e.getTypeOfSymbolAtLocation(t,t.valueDeclaration).getProperty(r),i=n&&e.getTypeOfSymbolAtLocation(n,n.valueDeclaration);return i&&Xy.isUniqueESSymbolType(i)?i.escapedName:"__@"+r}function uv(e,t,r){let n=!1,i=!1;for(const a of nv(e))if(void 0===sv(a,t)){const e=(Qy.isNumericPropertyName(t)?r.getIndexInfoOfType(a,Yy.IndexKind.Number):void 0)||r.getIndexInfoOfType(a,Yy.IndexKind.String);if(void 0!==e&&e.isReadonly){if(n)return!0;i=!0}}else{if(i||lv(a,t,r))return!0;n=!0}return!1}function lv(e,t,r){return iv(e,Xy.isIntersectionType,(e=>{const n=sv(e,t);if(void 0===n)return!1;if(n.flags&Yy.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(t)&&Xy.isTupleTypeReference(e))return e.target.readonly;switch(function(e,t,r){if(!Xy.isObjectType(e)||!Qy.isObjectFlagSet(e,Yy.ObjectFlags.Mapped))return;const n=e.symbol.declarations[0];return void 0===n.readonlyToken||/^__@[^@]+$/.test(t)?uv(e.modifiersType,t,r):n.readonlyToken.kind!==Yy.SyntaxKind.MinusToken}(e,t,r)){case!0:return!0;case!1:return!1}}return Qy.isSymbolFlagSet(n,Yy.SymbolFlags.ValueModule)||dv(n,r)}))}function dv(e,t){return(e.flags&Yy.SymbolFlags.Accessor)===Yy.SymbolFlags.GetAccessor||void 0!==e.declarations&&e.declarations.some((e=>Qy.isModifierFlagSet(e,Yy.ModifierFlags.Readonly)||$y.isVariableDeclaration(e)&&Qy.isNodeFlagSet(e.parent,Yy.NodeFlags.Const)||$y.isCallExpression(e)&&Qy.isReadonlyAssignmentDeclaration(e,t)||$y.isEnumMember(e)||($y.isPropertyAssignment(e)||$y.isShorthandPropertyAssignment(e))&&Qy.isInConstContext(e.parent)))}function _v(e){return Qy.isNodeFlagSet(e.parent,Yy.NodeFlags.GlobalAugmentation)||$y.isSourceFile(e.parent)&&!Yy.isExternalModule(e.parent)}function pv(e,t){var r;return t.getSymbolAtLocation(null!==(r=e.name)&&void 0!==r?r:Qy.getChildOfKind(e,Yy.SyntaxKind.ClassKeyword))}Hy.isEmptyObjectType=function e(t){if(Xy.isObjectType(t)&&t.objectFlags&Yy.ObjectFlags.Anonymous&&0===t.getProperties().length&&0===t.getCallSignatures().length&&0===t.getConstructSignatures().length&&void 0===t.getStringIndexType()&&void 0===t.getNumberIndexType()){const r=t.getBaseTypes();return void 0===r||r.every(e)}return!1},Hy.removeOptionalityFromType=Zy,Hy.removeOptionalChainingUndefinedMarkerType=function(e,t){if(!Xy.isUnionType(t))return tv(e,t)?t.getNonNullableType():t;let r=0,n=!1;for(const i of t.types)tv(e,i)?n=!0:r|=i.flags;return n?e.getNullableType(t.getNonNullableType(),r):t},Hy.isOptionalChainingUndefinedMarkerType=tv,Hy.isTypeAssignableToNumber=function(e,t){return rv(e,t,Yy.TypeFlags.NumberLike)},Hy.isTypeAssignableToString=function(e,t){return rv(e,t,Yy.TypeFlags.StringLike)},Hy.getCallSignaturesOfType=function e(t){if(Xy.isUnionType(t)){const r=[];for(const n of t.types)r.push(...e(n));return r}if(Xy.isIntersectionType(t)){let r;for(const n of t.types){const t=e(n);if(0!==t.length){if(void 0!==r)return[];r=t}}return void 0===r?[]:r}return t.getCallSignatures()},Hy.unionTypeParts=nv,Hy.intersectionTypeParts=function(e){return Xy.isIntersectionType(e)?e.types:[e]},Hy.someTypePart=iv,Hy.isThenableType=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.getTypeAtLocation(t);for(const n of nv(e.getApparentType(r))){const r=n.getProperty("then");if(void 0===r)continue;const i=e.getTypeOfSymbolAtLocation(r,t);for(const r of nv(i))for(const n of r.getCallSignatures())if(0!==n.parameters.length&&av(e,n.parameters[0],t))return!0}return!1},Hy.isFalsyType=function(e){return!!(e.flags&(Yy.TypeFlags.Undefined|Yy.TypeFlags.Null|Yy.TypeFlags.Void))||(Xy.isLiteralType(e)?!e.value:ov(e,!1))},Hy.isBooleanLiteralType=ov,Hy.getPropertyOfType=sv,Hy.getWellKnownSymbolPropertyOfType=function(e,t,r){const n="__@"+t;for(const i of e.getProperties()){if(!i.name.startsWith(n))continue;const e=r.getApparentType(r.getTypeAtLocation(i.valueDeclaration.name.expression)).symbol;if(i.escapedName===cv(r,e,t))return i}},Hy.isPropertyReadonlyInType=uv,Hy.symbolHasReadonlyDeclaration=dv,Hy.getPropertyNameFromType=function(e){if(e.flags&(Yy.TypeFlags.StringLiteral|Yy.TypeFlags.NumberLiteral)){const t=String(e.value);return{displayName:t,symbolName:Yy.escapeLeadingUnderscores(t)}}if(Xy.isUniqueESSymbolType(e))return{displayName:"[".concat(e.symbol?"".concat((t=e.symbol,Qy.isSymbolFlagSet(t,Yy.SymbolFlags.Property)&&void 0!==t.valueDeclaration&&$y.isInterfaceDeclaration(t.valueDeclaration.parent)&&"SymbolConstructor"===t.valueDeclaration.parent.name.text&&_v(t.valueDeclaration.parent)?"Symbol.":"")).concat(e.symbol.name):e.escapedName.replace(/^__@|@\d+$/g,""),"]"),symbolName:e.escapedName};var t},Hy.getSymbolOfClassLikeDeclaration=pv,Hy.getConstructorTypeOfClassLikeDeclaration=function(e,t){return e.kind===Yy.SyntaxKind.ClassExpression?t.getTypeAtLocation(e):t.getTypeOfSymbolAtLocation(pv(e,t),e)},Hy.getInstanceTypeOfClassLikeDeclaration=function(e,t){return e.kind===Yy.SyntaxKind.ClassDeclaration?t.getTypeAtLocation(e):t.getDeclaredTypeOfSymbol(pv(e,t))},Hy.getIteratorYieldResultFromIteratorResult=function(e,t,r){return Xy.isUnionType(e)&&e.types.find((e=>{const n=e.getProperty("done");return void 0!==n&&ov(Zy(r,r.getTypeOfSymbolAtLocation(n,t)),!1)}))||e},Hy.getBaseClassMemberOfClassElement=function(e,t){if(!$y.isClassLikeDeclaration(e.parent))return;const r=Qy.getBaseOfClassLikeExpression(e.parent);if(void 0===r)return;const n=Qy.getSingleLateBoundPropertyNameOfPropertyName(e.name,t);if(void 0===n)return;return sv(t.getTypeAtLocation(Qy.hasModifier(e.modifiers,Yy.SyntaxKind.StaticKeyword)?r.expression:r),n.symbolName)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isValidIdentifier=e.getLineBreakStyle=e.getLineRanges=e.forEachComment=e.forEachTokenWithTrivia=e.forEachToken=e.isFunctionWithBody=e.hasOwnThisReference=e.isBlockScopeBoundary=e.isFunctionScopeBoundary=e.isTypeScopeBoundary=e.isScopeBoundary=e.ScopeBoundarySelector=e.ScopeBoundary=e.isInSingleStatementContext=e.isBlockScopedDeclarationStatement=e.isBlockScopedVariableDeclaration=e.isBlockScopedVariableDeclarationList=e.getVariableDeclarationKind=e.VariableDeclarationKind=e.forEachDeclaredVariable=e.forEachDestructuringIdentifier=e.getPropertyName=e.getWrappedNodeAtPosition=e.getAstNodeAtPosition=e.commentText=e.isPositionInComment=e.getCommentAtPosition=e.getTokenAtPosition=e.getNextToken=e.getPreviousToken=e.getNextStatement=e.getPreviousStatement=e.isModifierFlagSet=e.isObjectFlagSet=e.isSymbolFlagSet=e.isTypeFlagSet=e.isNodeFlagSet=e.hasAccessModifier=e.isParameterProperty=e.hasModifier=e.getModifier=e.isThisParameter=e.isKeywordKind=e.isJsDocKind=e.isTypeNodeKind=e.isAssignmentKind=e.isNodeKind=e.isTokenKind=e.getChildOfKind=void 0,e.getBaseOfClassLikeExpression=e.hasExhaustiveCaseClauses=e.formatPseudoBigInt=e.unwrapParentheses=e.getSingleLateBoundPropertyNameOfPropertyName=e.getLateBoundPropertyNamesOfPropertyName=e.getLateBoundPropertyNames=e.getPropertyNameOfWellKnownSymbol=e.isWellKnownSymbolLiterally=e.isBindableObjectDefinePropertyCall=e.isReadonlyAssignmentDeclaration=e.isInConstContext=e.isConstAssertion=e.getTsCheckDirective=e.getCheckJsDirective=e.isAmbientModule=e.isCompilerOptionEnabled=e.isStrictCompilerOptionEnabled=e.getIIFE=e.isAmbientModuleBlock=e.isStatementInAmbientContext=e.findImportLikeNodes=e.findImports=e.ImportKind=e.parseJsDocOfNode=e.getJsDoc=e.canHaveJsDoc=e.isReassignmentTarget=e.getAccessKind=e.AccessKind=e.isExpressionValueUsed=e.getDeclarationOfBindingElement=e.hasSideEffects=e.SideEffectOptions=e.isSameLine=e.isNumericPropertyName=e.isValidJsxIdentifier=e.isValidNumericLiteral=e.isValidPropertyName=e.isValidPropertyAccess=void 0;const t=vm.exports,r=Ey,n=Ky,i=Hy;function a(e){return e>=t.SyntaxKind.FirstToken&&e<=t.SyntaxKind.LastToken}function o(e){return e>=t.SyntaxKind.FirstNode}function s(e){return e>=t.SyntaxKind.FirstAssignment&&e<=t.SyntaxKind.LastAssignment}function c(e){if(void 0===e)return!1;for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=e.end))return a(e.kind)?e:_(e,t,null!=r?r:e.getSourceFile(),!0===n)}function _(e,r,n,i){if(!i&&a((e=g(e,r)).kind))return e;e:for(;;){for(const o of e.getChildren(n))if(o.end>r&&(i||o.kind!==t.SyntaxKind.JSDocComment)){if(a(o.kind))return o;e=o;continue e}return}}function p(e,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;const i=d(n,r,e);if(void 0===i||i.kind===t.SyntaxKind.JsxText||r>=i.end-(t.tokenToString(i.kind)||"").length)return;const a=0===i.pos?(t.getShebang(e.text)||"").length:i.pos;return 0!==a&&t.forEachTrailingCommentRange(e.text,a,f,r)||t.forEachLeadingCommentRange(e.text,a,f,r)}function f(e,t,r,n,i){return i>=e&&ir||e.end<=r)){for(;o(e.kind);){const n=t.forEachChild(e,(e=>e.pos<=r&&e.end>r?e:void 0));if(void 0===n)break;e=n}return e}}function m(e){if(e.kind===t.SyntaxKind.ComputedPropertyName){const i=$(e.expression);if(r.isPrefixUnaryExpression(i)){let e=!1;switch(i.operator){case t.SyntaxKind.MinusToken:e=!0;case t.SyntaxKind.PlusToken:return r.isNumericLiteral(i.operand)?"".concat(e?"-":"").concat(i.operand.text):n.isBigIntLiteral(i.operand)?"".concat(e?"-":"").concat(i.operand.text.slice(0,-1)):void 0;default:return}}return n.isBigIntLiteral(i)?i.text.slice(0,-1):r.isNumericOrStringLikeLiteral(i)?i.text:void 0}return e.kind===t.SyntaxKind.PrivateIdentifier?void 0:e.text}function y(e,r){for(const n of e.elements){if(n.kind!==t.SyntaxKind.BindingElement)continue;let e;if(e=n.name.kind===t.SyntaxKind.Identifier?r(n):y(n.name,r),e)return e}}var v,h,D;function x(e){return 0!=(e.flags&t.NodeFlags.BlockScoped)}function b(e){switch(e.kind){case t.SyntaxKind.InterfaceDeclaration:case t.SyntaxKind.TypeAliasDeclaration:case t.SyntaxKind.MappedType:return 4;case t.SyntaxKind.ConditionalType:return 8;default:return 0}}function S(e){switch(e.kind){case t.SyntaxKind.FunctionExpression:case t.SyntaxKind.ArrowFunction:case t.SyntaxKind.Constructor:case t.SyntaxKind.ModuleDeclaration:case t.SyntaxKind.ClassDeclaration:case t.SyntaxKind.ClassExpression:case t.SyntaxKind.EnumDeclaration:case t.SyntaxKind.MethodDeclaration:case t.SyntaxKind.FunctionDeclaration:case t.SyntaxKind.GetAccessor:case t.SyntaxKind.SetAccessor:case t.SyntaxKind.MethodSignature:case t.SyntaxKind.CallSignature:case t.SyntaxKind.ConstructSignature:case t.SyntaxKind.ConstructorType:case t.SyntaxKind.FunctionType:return 1;case t.SyntaxKind.SourceFile:return t.isExternalModule(e)?1:0;default:return 0}}function T(e){switch(e.kind){case t.SyntaxKind.Block:const r=e.parent;return r.kind===t.SyntaxKind.CatchClause||r.kind!==t.SyntaxKind.SourceFile&&S(r)?0:2;case t.SyntaxKind.ForStatement:case t.SyntaxKind.ForInStatement:case t.SyntaxKind.ForOfStatement:case t.SyntaxKind.CaseBlock:case t.SyntaxKind.CatchClause:case t.SyntaxKind.WithStatement:return 2;default:return 0}}function C(e,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.getSourceFile();const i=[];for(;;){if(a(e.kind))r(e);else if(e.kind!==t.SyntaxKind.JSDocComment){const t=e.getChildren(n);if(1===t.length){e=t[0];continue}for(let e=t.length-1;e>=0;--e)i.push(t[e])}if(0===i.length)break;e=i.pop()}}function E(e){switch(e.kind){case t.SyntaxKind.CloseBraceToken:return e.parent.kind!==t.SyntaxKind.JsxExpression||!k(e.parent.parent);case t.SyntaxKind.GreaterThanToken:switch(e.parent.kind){case t.SyntaxKind.JsxOpeningElement:return e.end!==e.parent.end;case t.SyntaxKind.JsxOpeningFragment:return!1;case t.SyntaxKind.JsxSelfClosingElement:return e.end!==e.parent.end||!k(e.parent.parent);case t.SyntaxKind.JsxClosingElement:case t.SyntaxKind.JsxClosingFragment:return!k(e.parent.parent.parent)}}return!0}function k(e){return e.kind===t.SyntaxKind.JsxElement||e.kind===t.SyntaxKind.JsxFragment}let A;function F(e,r){return void 0===A?A=t.createScanner(r,!1,void 0,e):(A.setScriptTarget(r),A.setText(e)),A.scan(),A}function N(e){return e>=65536?2:1}function P(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.ScriptTarget.Latest;if(0===e.length)return!1;let n=e.codePointAt(0);if(!t.isIdentifierStart(n,r))return!1;for(let i=N(n);ii===t.SyntaxKind.MultiLineCommentTrivia&&"*"===n.text[e+2]?{pos:e}:void 0));if(void 0===a)return[];const o=a.pos,s=n.text.slice(o,r),c=t.createSourceFile("jsdoc.ts","".concat(s,"var a;"),n.languageVersion),u=j(c.statements[0],c);for(const t of u)l(t,e);return u;function l(e,r){return e.pos+=o,e.end+=o,e.parent=r,t.forEachChild(e,(t=>l(t,e)),(t=>{t.pos+=o,t.end+=o;for(const r of t)l(r,e)}))}}function K(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return new z(e,t,r).find()}e.getChildOfKind=function(e,t,r){for(const n of e.getChildren(r))if(n.kind===t)return n},e.isTokenKind=a,e.isNodeKind=o,e.isAssignmentKind=s,e.isTypeNodeKind=function(e){return e>=t.SyntaxKind.FirstTypeNode&&e<=t.SyntaxKind.LastTypeNode},e.isJsDocKind=function(e){return e>=t.SyntaxKind.FirstJSDocNode&&e<=t.SyntaxKind.LastJSDocNode},e.isKeywordKind=function(e){return e>=t.SyntaxKind.FirstKeyword&&e<=t.SyntaxKind.LastKeyword},e.isThisParameter=function(e){return e.name.kind===t.SyntaxKind.Identifier&&e.name.originalKeywordKind===t.SyntaxKind.ThisKeyword},e.getModifier=function(e,t){if(void 0!==e.modifiers)for(const r of e.modifiers)if(r.kind===t)return r},e.hasModifier=c,e.isParameterProperty=function(e){return c(e.modifiers,t.SyntaxKind.PublicKeyword,t.SyntaxKind.ProtectedKeyword,t.SyntaxKind.PrivateKeyword,t.SyntaxKind.ReadonlyKeyword)},e.hasAccessModifier=function(e){return l(e,t.ModifierFlags.AccessibilityModifier)},e.isNodeFlagSet=u,e.isTypeFlagSet=u,e.isSymbolFlagSet=u,e.isObjectFlagSet=function(e,t){return 0!=(e.objectFlags&t)},e.isModifierFlagSet=l,e.getPreviousStatement=function(e){const t=e.parent;if(r.isBlockLike(t)){const r=t.statements.indexOf(e);if(r>0)return t.statements[r-1]}},e.getNextStatement=function(e){const t=e.parent;if(r.isBlockLike(t)){const r=t.statements.indexOf(e);if(rt||e.node.end<=t))e:for(;;){for(const r of e.children){if(r.node.pos>t)return e;if(r.node.end>t){e=r;continue e}}return e}},e.getPropertyName=m,e.forEachDestructuringIdentifier=y,e.forEachDeclaredVariable=function(e,r){for(const n of e.declarations){let e;if(e=n.name.kind===t.SyntaxKind.Identifier?r(n):y(n.name,r),e)return e}},(v=e.VariableDeclarationKind||(e.VariableDeclarationKind={}))[v.Var=0]="Var",v[v.Let=1]="Let",v[v.Const=2]="Const",e.getVariableDeclarationKind=function(e){return e.flags&t.NodeFlags.Let?1:e.flags&t.NodeFlags.Const?2:0},e.isBlockScopedVariableDeclarationList=x,e.isBlockScopedVariableDeclaration=function(e){const r=e.parent;return r.kind===t.SyntaxKind.CatchClause||x(r)},e.isBlockScopedDeclarationStatement=function(e){switch(e.kind){case t.SyntaxKind.VariableStatement:return x(e.declarationList);case t.SyntaxKind.ClassDeclaration:case t.SyntaxKind.EnumDeclaration:case t.SyntaxKind.InterfaceDeclaration:case t.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}},e.isInSingleStatementContext=function(e){switch(e.parent.kind){case t.SyntaxKind.ForStatement:case t.SyntaxKind.ForInStatement:case t.SyntaxKind.ForOfStatement:case t.SyntaxKind.WhileStatement:case t.SyntaxKind.DoStatement:case t.SyntaxKind.IfStatement:case t.SyntaxKind.WithStatement:case t.SyntaxKind.LabeledStatement:return!0;default:return!1}},(h=e.ScopeBoundary||(e.ScopeBoundary={}))[h.None=0]="None",h[h.Function=1]="Function",h[h.Block=2]="Block",h[h.Type=4]="Type",h[h.ConditionalType=8]="ConditionalType",(D=e.ScopeBoundarySelector||(e.ScopeBoundarySelector={}))[D.Function=1]="Function",D[D.Block=3]="Block",D[D.Type=7]="Type",D[D.InferType=8]="InferType",e.isScopeBoundary=function(e){return S(e)||T(e)||b(e)},e.isTypeScopeBoundary=b,e.isFunctionScopeBoundary=S,e.isBlockScopeBoundary=T,e.hasOwnThisReference=function(e){switch(e.kind){case t.SyntaxKind.ClassDeclaration:case t.SyntaxKind.ClassExpression:case t.SyntaxKind.FunctionExpression:return!0;case t.SyntaxKind.FunctionDeclaration:return void 0!==e.body;case t.SyntaxKind.MethodDeclaration:case t.SyntaxKind.GetAccessor:case t.SyntaxKind.SetAccessor:return e.parent.kind===t.SyntaxKind.ObjectLiteralExpression;default:return!1}},e.isFunctionWithBody=function(e){switch(e.kind){case t.SyntaxKind.GetAccessor:case t.SyntaxKind.SetAccessor:case t.SyntaxKind.FunctionDeclaration:case t.SyntaxKind.MethodDeclaration:case t.SyntaxKind.Constructor:return void 0!==e.body;case t.SyntaxKind.FunctionExpression:case t.SyntaxKind.ArrowFunction:return!0;default:return!1}},e.forEachToken=C,e.forEachTokenWithTrivia=function(e,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.getSourceFile();const i=n.text,a=t.createScanner(n.languageVersion,!1,n.languageVariant,i);return C(e,(e=>{const o=e.kind===t.SyntaxKind.JsxText||e.pos===e.end?e.pos:e.getStart(n);if(o!==e.pos){a.setTextPos(e.pos);let t=a.scan(),n=a.getTokenPos();for(;n2&&void 0!==arguments[2]?arguments[2]:e.getSourceFile();const i=n.text,a=n.languageVariant!==t.LanguageVariant.JSX;return C(e,(e=>{if(e.pos!==e.end)return e.kind!==t.SyntaxKind.JsxText&&t.forEachLeadingCommentRange(i,0===e.pos?(t.getShebang(i)||"").length:e.pos,o),a||E(e)?t.forEachTrailingCommentRange(i,e.end,o):void 0}),n);function o(e,t,n){r(i,{pos:e,end:t,kind:n})}},e.getLineRanges=function(e){const r=e.getLineStarts(),n=[],i=r.length,a=e.text;let o=0;for(let e=1;eo&&t.isLineBreak(a.charCodeAt(s-1));--s);n.push({pos:o,end:i,contentLength:s-o}),o=i}return n.push({pos:o,end:e.end,contentLength:e.end-o}),n},e.getLineBreakStyle=function(e){const t=e.getLineStarts();return 1===t.length||t[1]<2||"\r"!==e.text[t[1]-2]?"\n":"\r\n"},e.isValidIdentifier=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.ScriptTarget.Latest;const n=F(e,r);return n.isIdentifier()&&n.getTextPos()===e.length&&0===n.getTokenPos()},e.isValidPropertyAccess=P,e.isValidPropertyName=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.ScriptTarget.Latest;if(P(e,r))return!0;const n=F(e,r);return n.getTextPos()===e.length&&n.getToken()===t.SyntaxKind.NumericLiteral&&n.getTokenValue()===e},e.isValidNumericLiteral=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.ScriptTarget.Latest;const n=F(e,r);return n.getToken()===t.SyntaxKind.NumericLiteral&&n.getTextPos()===e.length&&0===n.getTokenPos()},e.isValidJsxIdentifier=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.ScriptTarget.Latest;if(0===e.length)return!1;let n=!1,i=e.codePointAt(0);if(!t.isIdentifierStart(i,r))return!1;for(let a=N(i);a2&&void 0!==arguments[2]?arguments[2]:e.getSourceFile();if(B(e)&&e.kind!==t.SyntaxKind.EndOfFileToken){const t=j(e,n);if(0!==t.length||!r)return t}return J(e,e.getStart(n),n,r)},(M=e.ImportKind||(e.ImportKind={}))[M.ImportDeclaration=1]="ImportDeclaration",M[M.ImportEquals=2]="ImportEquals",M[M.ExportFrom=4]="ExportFrom",M[M.DynamicImport=8]="DynamicImport",M[M.Require=16]="Require",M[M.ImportType=32]="ImportType",M[M.All=63]="All",M[M.AllImports=59]="AllImports",M[M.AllStaticImports=3]="AllStaticImports",M[M.AllImportExpressions=24]="AllImportExpressions",M[M.AllRequireLike=18]="AllRequireLike",M[M.AllNestedImports=56]="AllNestedImports",M[M.AllTopLevelImports=7]="AllTopLevelImports",e.findImports=function(e,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const a=[];for(const a of K(e,n,i))switch(a.kind){case t.SyntaxKind.ImportDeclaration:o(a.moduleSpecifier);break;case t.SyntaxKind.ImportEqualsDeclaration:o(a.moduleReference.expression);break;case t.SyntaxKind.ExportDeclaration:o(a.moduleSpecifier);break;case t.SyntaxKind.CallExpression:o(a.arguments[0]);break;case t.SyntaxKind.ImportType:r.isLiteralTypeNode(a.argument)&&o(a.argument.literal);break;default:throw new Error("unexpected node")}return a;function o(e){r.isTextualLiteral(e)&&a.push(e)}},e.findImportLikeNodes=K;class z{constructor(e,t,r){this._sourceFile=e,this._options=t,this._ignoreFileName=r,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),7&this._options&&this._findImports(this._sourceFile.statements),56&this._options&&this._findNestedImports(),this._result}_findImports(e){for(const n of e)r.isImportDeclaration(n)?1&this._options&&this._result.push(n):r.isImportEqualsDeclaration(n)?2&this._options&&n.moduleReference.kind===t.SyntaxKind.ExternalModuleReference&&this._result.push(n):r.isExportDeclaration(n)?void 0!==n.moduleSpecifier&&4&this._options&&this._result.push(n):r.isModuleDeclaration(n)&&this._findImportsInModule(n)}_findImportsInModule(e){if(void 0!==e.body)return e.body.kind===t.SyntaxKind.ModuleDeclaration?this._findImportsInModule(e.body):void this._findImports(e.body.statements)}_findNestedImports(){const e=this._ignoreFileName||0!=(this._sourceFile.flags&t.NodeFlags.JavaScriptFile);let r,n;if(16==(56&this._options)){if(!e)return;r=/\brequire\s*[1&&this._result.push(r.parent)}}else r.kind===t.SyntaxKind.Identifier&&r.end-"require".length===e.index&&r.parent.kind===t.SyntaxKind.CallExpression&&r.parent.expression===r&&1===r.parent.arguments.length&&this._result.push(r.parent)}}}function U(e){for(;e.kind===t.SyntaxKind.ModuleBlock;){do{e=e.parent}while(e.flags&t.NodeFlags.NestedNamespace);if(c(e.modifiers,t.SyntaxKind.DeclareKeyword))return!0;e=e.parent}return!1}function V(e,t){return(e.strict?!1!==e[t]:!0===e[t])&&("strictPropertyInitialization"!==t||V(e,"strictNullChecks"))}function q(e){let r;return t.forEachLeadingCommentRange(e,(t.getShebang(e)||"").length,((n,i,a)=>{if(a===t.SyntaxKind.SingleLineCommentTrivia){const t=e.slice(n,i),a=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(t);null!==a&&(r={pos:n,end:i,enabled:void 0===a[1]})}})),r}function W(e){return r.isTypeReferenceNode(e.type)&&e.type.typeName.kind===t.SyntaxKind.Identifier&&"const"===e.type.typeName.escapedText}function H(e){return 3===e.arguments.length&&r.isEntityNameExpression(e.arguments[0])&&r.isNumericOrStringLikeLiteral(e.arguments[1])&&r.isPropertyAccessExpression(e.expression)&&"defineProperty"===e.expression.name.escapedText&&r.isIdentifier(e.expression.expression)&&"Object"===e.expression.expression.escapedText}function G(e){return t.isPropertyAccessExpression(e)&&t.isIdentifier(e.expression)&&"Symbol"===e.expression.escapedText}function Y(e){return{displayName:"[Symbol.".concat(e.name.text,"]"),symbolName:"__@"+e.name.text}}e.isStatementInAmbientContext=function(e){for(;e.flags&t.NodeFlags.NestedNamespace;)e=e.parent;return c(e.modifiers,t.SyntaxKind.DeclareKeyword)||U(e.parent)},e.isAmbientModuleBlock=U,e.getIIFE=function(e){let n=e.parent;for(;n.kind===t.SyntaxKind.ParenthesizedExpression;)n=n.parent;return r.isCallExpression(n)&&e.end<=n.expression.end?n:void 0},e.isStrictCompilerOptionEnabled=V,e.isCompilerOptionEnabled=function e(r,n){switch(n){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return!0===r[n]&&e(r,"declaration");case"declaration":return r.declaration||e(r,"composite");case"incremental":return void 0===r.incremental?e(r,"composite"):r.incremental;case"skipDefaultLibCheck":return r.skipDefaultLibCheck||e(r,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return!0===r.suppressImplicitAnyIndexErrors&&e(r,"noImplicitAny");case"allowSyntheticDefaultImports":return void 0!==r.allowSyntheticDefaultImports?r.allowSyntheticDefaultImports:e(r,"esModuleInterop")||r.module===t.ModuleKind.System;case"noUncheckedIndexedAccess":return!0===r.noUncheckedIndexedAccess&&e(r,"strictNullChecks");case"allowJs":return void 0===r.allowJs?e(r,"checkJs"):r.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return V(r,n)}return!0===r[n]},e.isAmbientModule=function(e){return e.name.kind===t.SyntaxKind.StringLiteral||0!=(e.flags&t.NodeFlags.GlobalAugmentation)},e.getCheckJsDirective=function(e){return q(e)},e.getTsCheckDirective=q,e.isConstAssertion=W,e.isInConstContext=function(e){let r=e;for(;;){const e=r.parent;e:switch(e.kind){case t.SyntaxKind.TypeAssertionExpression:case t.SyntaxKind.AsExpression:return W(e);case t.SyntaxKind.PrefixUnaryExpression:if(r.kind!==t.SyntaxKind.NumericLiteral)return!1;switch(e.operator){case t.SyntaxKind.PlusToken:case t.SyntaxKind.MinusToken:r=e;break e;default:return!1}case t.SyntaxKind.PropertyAssignment:if(e.initializer!==r)return!1;r=e.parent;break;case t.SyntaxKind.ShorthandPropertyAssignment:r=e.parent;break;case t.SyntaxKind.ParenthesizedExpression:case t.SyntaxKind.ArrayLiteralExpression:case t.SyntaxKind.ObjectLiteralExpression:case t.SyntaxKind.TemplateExpression:r=e;break;default:return!1}}},e.isReadonlyAssignmentDeclaration=function(e,t){if(!H(e))return!1;const n=t.getTypeAtLocation(e.arguments[2]);if(void 0===n.getProperty("value"))return void 0===n.getProperty("set");const a=n.getProperty("writable");if(void 0===a)return!1;const o=void 0!==a.valueDeclaration&&r.isPropertyAssignment(a.valueDeclaration)?t.getTypeAtLocation(a.valueDeclaration.initializer):t.getTypeOfSymbolAtLocation(a,e.arguments[2]);return i.isBooleanLiteralType(o,!1)},e.isBindableObjectDefinePropertyCall=H,e.isWellKnownSymbolLiterally=G,e.getPropertyNameOfWellKnownSymbol=Y;const X=(e=>{let[t,r]=e;return t<"4"||"4"===t&&r<"3"})(t.versionMajorMinor.split("."));function Q(e,t){const r={known:!0,names:[]};if(e=$(e),X&&G(e))r.names.push(Y(e));else{const n=t.getTypeAtLocation(e);for(const e of i.unionTypeParts(t.getBaseConstraintOfType(n)||n)){const t=i.getPropertyNameFromType(e);t?r.names.push(t):r.known=!1}}return r}function $(e){for(;e.kind===t.SyntaxKind.ParenthesizedExpression;)e=e.expression;return e}function Z(e){return"".concat(e.negative?"-":"").concat(e.base10Value,"n")}function ee(r){return e.isTypeFlagSet(r,t.TypeFlags.Null)?"null":e.isTypeFlagSet(r,t.TypeFlags.Undefined)?"undefined":e.isTypeFlagSet(r,t.TypeFlags.NumberLiteral)?"".concat(e.isTypeFlagSet(r,t.TypeFlags.EnumLiteral)?"enum:":"").concat(r.value):e.isTypeFlagSet(r,t.TypeFlags.StringLiteral)?"".concat(e.isTypeFlagSet(r,t.TypeFlags.EnumLiteral)?"enum:":"","string:").concat(r.value):e.isTypeFlagSet(r,t.TypeFlags.BigIntLiteral)?Z(r.value):n.isUniqueESSymbolType(r)?r.escapedName:i.isBooleanLiteralType(r,!0)?"true":i.isBooleanLiteralType(r,!1)?"false":void 0}function te(e){var r;if((null===(r=e.heritageClauses)||void 0===r?void 0:r[0].token)===t.SyntaxKind.ExtendsKeyword)return e.heritageClauses[0].types[0]}e.getLateBoundPropertyNames=Q,e.getLateBoundPropertyNamesOfPropertyName=function(e,r){const n=m(e);return void 0!==n?{known:!0,names:[{displayName:n,symbolName:t.escapeLeadingUnderscores(n)}]}:e.kind===t.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:e.text,symbolName:r.getSymbolAtLocation(e).escapedName}]}:Q(e.expression,r)},e.getSingleLateBoundPropertyNameOfPropertyName=function(e,r){const n=m(e);if(void 0!==n)return{displayName:n,symbolName:t.escapeLeadingUnderscores(n)};if(e.kind===t.SyntaxKind.PrivateIdentifier)return{displayName:e.text,symbolName:r.getSymbolAtLocation(e).escapedName};const{expression:a}=e;return X&&G(a)?Y(a):i.getPropertyNameFromType(r.getTypeAtLocation(a))},e.unwrapParentheses=$,e.formatPseudoBigInt=Z,e.hasExhaustiveCaseClauses=function(n,a){const o=n.caseBlock.clauses.filter(r.isCaseClause);if(0===o.length)return!1;const s=i.unionTypeParts(a.getTypeAtLocation(n.expression));if(s.length>o.length)return!1;const c=new Set(s.map(ee));if(c.has(void 0))return!1;const u=new Set;for(const r of o){const n=a.getTypeAtLocation(r.expression);if(e.isTypeFlagSet(n,t.TypeFlags.Never))continue;const i=ee(n);if(c.has(i))u.add(i);else if("null"!==i&&"undefined"!==i)return!1}return c.size===u.size},e.getBaseOfClassLikeExpression=te}(Cy);var fv=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),gv=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),mv=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&fv(t,e,r);return gv(t,e),t};Object.defineProperty(Ty,"__esModule",{value:!0}),Ty.convertComments=void 0;const yv=mv(vm.exports),vv=Cy,hv=km,Dv=Am;Ty.convertComments=function(e,t){const r=[];return(0,vv.forEachComment)(e,((n,i)=>{const a=i.kind==yv.SyntaxKind.SingleLineCommentTrivia?Dv.AST_TOKEN_TYPES.Line:Dv.AST_TOKEN_TYPES.Block,o=[i.pos,i.end],s=(0,hv.getLocFor)(o[0],o[1],e),c=o[0]+2,u=i.kind===yv.SyntaxKind.SingleLineCommentTrivia?o[1]-c:o[1]-c-2;r.push({type:a,value:t.substr(c,u),range:o,loc:s})}),e),r};var xv={},bv={},Sv={},Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});const Cv={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},Ev=Object.keys(Cv);for(const e of Ev)Object.freeze(Cv[e]);Object.freeze(Cv);const kv=new Set(["parent","leadingComments","trailingComments"]);function Av(e){return!kv.has(e)&&"_"!==e[0]}Tv.KEYS=Cv,Tv.getKeys=function(e){return Object.keys(e).filter(Av)},Tv.unionWith=function(e){const t=Object.assign({},Cv);for(const r of Object.keys(e))if(Object.prototype.hasOwnProperty.call(t,r)){const n=new Set(e[r]);for(const e of t[r])n.add(e);t[r]=Object.freeze(Array.from(n))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)},Object.defineProperty(Sv,"__esModule",{value:!0}),Sv.getKeys=void 0;const Fv=Tv.getKeys;Sv.getKeys=Fv;var Nv={},Pv=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),wv=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Iv=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Pv(t,e,r);return wv(t,e),t};Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.visitorKeys=void 0;const Ov=Iv(Tv).unionWith({ImportAttribute:["key","value"],ImportExpression:["source"],ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:["typeParameters","params","returnType","body"],AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["decorators","typeAnnotation"],MethodDefinition:["decorators","key","value"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],PropertyDefinition:["decorators","key","typeAnnotation","value"],RestElement:["decorators","argument","typeAnnotation"],TaggedTemplateExpression:["tag","typeParameters","quasi"],StaticBlock:["body"],JSXOpeningElement:["name","typeParameters","attributes"],JSXClosingFragment:[],JSXOpeningFragment:[],JSXSpreadChild:["expression"],Decorator:["expression"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:["expression","typeAnnotation"],TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:["typeParameters","params","returnType"],TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:["typeParameters","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","params","returnType"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:["typeParameters","params","returnType"],TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]});Nv.visitorKeys=Ov,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.visitorKeys=e.getKeys=void 0;var t=Sv;Object.defineProperty(e,"getKeys",{enumerable:!0,get:function(){return t.getKeys}});var r=Nv;Object.defineProperty(e,"visitorKeys",{enumerable:!0,get:function(){return r.visitorKeys}})}(bv),Object.defineProperty(xv,"__esModule",{value:!0}),xv.simpleTraverse=void 0;const Mv=bv;class Lv{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.allVisitorKeys=Mv.visitorKeys,this.selectors=e,this.setParentPointers=t}traverse(e,t){if(null===(r=e)||"object"!=typeof r||"string"!=typeof r.type)return;var r;this.setParentPointers&&(e.parent=t),"enter"in this.selectors?this.selectors.enter(e,t):e.type in this.selectors&&this.selectors[e.type](e,t);const n=function(e,t){const r=e[t.type];return null!=r?r:[]}(this.allVisitorKeys,e);if(!(n.length<1))for(const t of n){const r=e[t];if(Array.isArray(r))for(const t of r)this.traverse(t,e);else this.traverse(r,e)}}}xv.simpleTraverse=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];new Lv(t,r).traverse(e,void 0)},Object.defineProperty(Cm,"__esModule",{value:!0}),Cm.astConverter=void 0;const Rv=Em,Bv=Ty,jv=km,Jv=xv;Cm.astConverter=function(e,t,r){const{parseDiagnostics:n}=e;if(n.length)throw(0,Rv.convertError)(n[0]);const i=new Rv.Converter(e,{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,shouldPreserveNodeMaps:r}),a=i.convertProgram();return t.range&&t.loc||(0,Jv.simpleTraverse)(a,{enter:e=>{t.range||delete e.range,t.loc||delete e.loc}}),t.tokens&&(a.tokens=(0,jv.convertTokens)(e)),t.comment&&(a.comments=(0,Bv.convertComments)(e,t.code)),{estree:a,astMaps:i.getASTMaps()}};var Kv={},zv={},Uv=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),Vv=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),qv=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Uv(t,e,r);return Vv(t,e),t},Wv=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zv,"__esModule",{value:!0}),zv.getModuleResolver=zv.getAstFromProgram=zv.getScriptKind=zv.getCanonicalFileName=zv.ensureAbsolutePath=zv.createDefaultCompilerOptionsFromExtra=zv.canonicalDirname=zv.CORE_COMPILER_OPTIONS=void 0;const Hv=Wv(ym),Gv=qv(vm.exports),Yv={noEmit:!0,noUnusedLocals:!0,noUnusedParameters:!0};zv.CORE_COMPILER_OPTIONS=Yv;const Xv=Object.assign(Object.assign({},Yv),{allowNonTsExtensions:!0,allowJs:!0,checkJs:!0});zv.createDefaultCompilerOptionsFromExtra=function(e){return e.debugLevel.has("typescript")?Object.assign(Object.assign({},Xv),{extendedDiagnostics:!0}):Xv};const Qv=void 0===Gv.sys||Gv.sys.useCaseSensitiveFileNames?e=>e:e=>e.toLowerCase();function $v(e){return e?e.endsWith(".d.ts")?".d.ts":Hv.default.extname(e):null}zv.getCanonicalFileName=function(e){let t=Hv.default.normalize(e);return t.endsWith(Hv.default.sep)&&(t=t.substr(0,t.length-1)),Qv(t)},zv.ensureAbsolutePath=function(e,t){return Hv.default.isAbsolute(e)?e:Hv.default.join(t.tsconfigRootDir||es.cwd(),e)},zv.canonicalDirname=function(e){return Hv.default.dirname(e)},zv.getScriptKind=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.filePath;const r=Hv.default.extname(t).toLowerCase();switch(r){case".ts":return Gv.ScriptKind.TS;case".tsx":return Gv.ScriptKind.TSX;case".js":return Gv.ScriptKind.JS;case".jsx":return Gv.ScriptKind.JSX;case".json":return Gv.ScriptKind.JSON;default:return e.jsx?Gv.ScriptKind.TSX:Gv.ScriptKind.TS}},zv.getAstFromProgram=function(e,t){const r=e.getSourceFile(t.filePath);if($v(t.filePath)===$v(null==r?void 0:r.fileName))return r&&{ast:r,program:e}},zv.getModuleResolver=function(e){let t;try{t=require(e)}catch(e){throw new Error(["Could not find the provided parserOptions.moduleResolver.","Hint: use an absolute path if you are not in control over where the ESLint instance runs."].join("\n"))}return t};var Zv=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),eh=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),th=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Zv(t,e,r);return eh(t,e),t},rh=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Kv,"__esModule",{value:!0}),Kv.createDefaultProgram=void 0;const nh=rh(Hl.exports),ih=rh(ym),ah=th(vm.exports),oh=zv,sh=(0,nh.default)("typescript-eslint:typescript-estree:createDefaultProgram");Kv.createDefaultProgram=function(e,t){if(sh("Getting default program for: %s",t.filePath||"unnamed file"),!t.projects||1!==t.projects.length)return;const r=t.projects[0],n=ah.getParsedCommandLineOfConfigFile(r,(0,oh.createDefaultCompilerOptionsFromExtra)(t),Object.assign(Object.assign({},ah.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!n)return;const i=ah.createCompilerHost(n.options,!0);t.moduleResolver&&(i.resolveModuleNames=(0,oh.getModuleResolver)(t.moduleResolver).resolveModuleNames);const a=i.readFile;i.readFile=r=>ih.default.normalize(r)===ih.default.normalize(t.filePath)?e:a(r);const o=ah.createProgram([t.filePath],n.options,i),s=o.getSourceFile(t.filePath);return s&&{ast:s,program:o}};var ch={},uh=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),lh=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),dh=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&uh(t,e,r);return lh(t,e),t},_h=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ch,"__esModule",{value:!0}),ch.createIsolatedProgram=void 0;const ph=_h(Hl.exports),fh=dh(vm.exports),gh=zv,mh=(0,ph.default)("typescript-eslint:typescript-estree:createIsolatedProgram");ch.createIsolatedProgram=function(e,t){mh("Getting isolated program in %s mode for: %s",t.jsx?"TSX":"TS",t.filePath);const r={fileExists:()=>!0,getCanonicalFileName:()=>t.filePath,getCurrentDirectory:()=>"",getDirectories:()=>[],getDefaultLibFileName:()=>"lib.d.ts",getNewLine:()=>"\n",getSourceFile:r=>fh.createSourceFile(r,e,fh.ScriptTarget.Latest,!0,(0,gh.getScriptKind)(t,r)),readFile(){},useCaseSensitiveFileNames:()=>!0,writeFile:()=>null},n=fh.createProgram([t.filePath],Object.assign({noResolve:!0,target:fh.ScriptTarget.Latest,jsx:t.jsx?fh.JsxEmit.Preserve:void 0},(0,gh.createDefaultCompilerOptionsFromExtra)(t)),r),i=n.getSourceFile(t.filePath);if(!i)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:i,program:n}};var yh={},vh={},hh=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),Dh=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),xh=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&hh(t,e,r);return Dh(t,e),t},bh=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(vh,"__esModule",{value:!0}),vh.getProgramsForProjects=vh.createWatchProgram=vh.clearWatchCaches=void 0;const Sh=bh(Hl.exports),Th=bh(hm),Ch=bh(rm),Eh=xh(vm.exports),kh=zv,Ah=(0,Sh.default)("typescript-eslint:typescript-estree:createWatchProgram"),Fh=new Map,Nh=new Map,Ph=new Map,wh=new Map,Ih=new Map,Oh=new Map;function Mh(e){return(t,r)=>{const n=(0,kh.getCanonicalFileName)(t),i=(()=>{let t=e.get(n);return t||(t=new Set,e.set(n,t)),t})();return i.add(r),{close:()=>{i.delete(r)}}}}vh.clearWatchCaches=function(){Fh.clear(),Nh.clear(),Ph.clear(),Oh.clear(),wh.clear(),Ih.clear()};const Lh={code:"",filePath:""};function Rh(e){throw new Error(Eh.flattenDiagnosticMessageText(e.messageText,Eh.sys.newLine))}function Bh(e){var t;return(null===(t=Eh.sys)||void 0===t?void 0:t.createHash)?Eh.sys.createHash(e):e}function jh(e,t,r){const n=r.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(t.getSourceFiles().map((e=>(0,kh.getCanonicalFileName)(e.fileName)))):new Set(t.getRootFileNames().map((e=>(0,kh.getCanonicalFileName)(e))));return wh.set(e,n),n}vh.getProgramsForProjects=function(e,t,r){const n=(0,kh.getCanonicalFileName)(t),i=[];Lh.code=e,Lh.filePath=n;const a=Nh.get(n),o=Bh(e);Oh.get(n)!==o&&a&&a.size>0&&a.forEach((e=>e(n,Eh.FileWatcherEventKind.Changed)));for(const[e,t]of Fh.entries()){let i=wh.get(e),a=null;if(i||(a=t.getProgram().getProgram(),i=jh(e,a,r)),i.has(n))return Ah("Found existing program for file. %s",n),a=null!=a?a:t.getProgram().getProgram(),a.getTypeChecker(),[a]}Ah("File did not belong to any existing programs, moving to create/update. %s",n);for(const e of r.projects){const t=Fh.get(e);if(t){const a=zh(t,n,e);if(!a)continue;a.getTypeChecker();if(jh(e,a,r).has(n))return Ah("Found updated program for file. %s",n),[a];i.push(a);continue}const a=Kh(e,r);Fh.set(e,a);const o=a.getProgram().getProgram();o.getTypeChecker();if(jh(e,o,r).has(n))return Ah("Found program for file. %s",n),[o];i.push(o)}return i};const Jh=Ch.default.satisfies(Eh.version,">=3.9.0-beta",{includePrerelease:!0});function Kh(e,t){Ah("Creating watch program for %s.",e);const r=Eh.createWatchCompilerHost(e,(0,kh.createDefaultCompilerOptionsFromExtra)(t),Eh.sys,Eh.createAbstractBuilder,Rh,(()=>{}));t.moduleResolver&&(r.resolveModuleNames=(0,kh.getModuleResolver)(t.moduleResolver).resolveModuleNames);const n=r.readFile;r.readFile=(e,t)=>{const r=(0,kh.getCanonicalFileName)(e),i=r===Lh.filePath?Lh.code:n(r,t);return void 0!==i&&Oh.set(r,Bh(i)),i},r.onUnRecoverableConfigFileDiagnostic=Rh,r.afterProgramCreate=e=>{const t=e.getConfigFileParsingDiagnostics().filter((e=>e.category===Eh.DiagnosticCategory.Error&&18003!==e.code));t.length>0&&Rh(t[0])},r.watchFile=Mh(Nh),r.watchDirectory=Mh(Ph);const i=r.onCachedDirectoryStructureHostCreate;let a;r.onCachedDirectoryStructureHostCreate=e=>{const r=e.readDirectory;e.readDirectory=(e,n,i,a,o)=>r(e,n?n.concat(t.extraFileExtensions):void 0,i,a,o),i(e)},r.extraFileExtensions=t.extraFileExtensions.map((e=>({extension:e,isMixedContent:!0,scriptKind:Eh.ScriptKind.Deferred}))),r.trace=Ah,r.useSourceOfProjectReferenceRedirect=()=>t.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,Jh?(r.setTimeout=void 0,r.clearTimeout=void 0):(Ah("Running without timeout fix"),r.setTimeout=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),i=2;i{a=void 0});const o=Eh.createWatchProgram(r);if(!Jh){const e=o.getProgram;o.getProgram=()=>(a&&a(),a=void 0,e.call(o))}return o}function zh(e,t,r){let n=e.getProgram().getProgram();if("true"===es.env.TSESTREE_NO_INVALIDATION)return n;(function(e){const t=Th.default.statSync(e).mtimeMs,r=Ih.get(e);return Ih.set(e,t),void 0!==r&&Math.abs(r-t)>Number.EPSILON})(r)&&(Ah("tsconfig has changed - triggering program update. %s",r),Nh.get(r).forEach((e=>e(r,Eh.FileWatcherEventKind.Changed))),wh.delete(r));let i=n.getSourceFile(t);if(i)return n;Ah("File was not found in program - triggering folder update. %s",t);const a=(0,kh.canonicalDirname)(t);let o=null,s=a,c=!1;for(;o!==s;){o=s;const e=Ph.get(o);e&&(e.forEach((e=>{a!==o&&e(a,Eh.FileWatcherEventKind.Changed),e(o,Eh.FileWatcherEventKind.Changed)})),c=!0),s=(0,kh.canonicalDirname)(o)}if(!c)return Ah("No callback found for file, not part of this program. %s",t),null;if(wh.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i)return n;Ah("File was still not found in program after directory update - checking file deletions. %s",t);const u=n.getRootFileNames().find((e=>!Th.default.existsSync(e)));if(!u)return null;const l=Nh.get((0,kh.getCanonicalFileName)(u));return l?(Ah("Marking file as deleted. %s",u),l.forEach((e=>e(u,Eh.FileWatcherEventKind.Deleted))),wh.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i?n:(Ah("File was still not found in program after deletion check, assuming it is not part of this program. %s",t),null)):(Ah("Could not find watch callbacks for root file. %s",u),n)}vh.createWatchProgram=Kh;var Uh=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(yh,"__esModule",{value:!0}),yh.createProjectProgram=void 0;const Vh=Uh(Hl.exports),qh=Uh(ym),Wh=vh,Hh=km,Gh=zv,Yh=(0,Vh.default)("typescript-eslint:typescript-estree:createProjectProgram"),Xh=[".ts",".tsx",".js",".jsx"];yh.createProjectProgram=function(e,t,r){Yh("Creating project program for: %s",r.filePath);const n=(0,Hh.firstDefined)((0,Wh.getProgramsForProjects)(e,r.filePath,r),(e=>(0,Gh.getAstFromProgram)(e,r)));if(!n&&!t){const e=['"parserOptions.project" has been set for @typescript-eslint/parser.',"The file does not match your project config: ".concat(qh.default.relative(r.tsconfigRootDir||es.cwd(),r.filePath),".")];let t=!1;const n=r.extraFileExtensions||[];n.forEach((t=>{t.startsWith(".")||e.push('Found unexpected extension "'.concat(t,'" specified with the "extraFileExtensions" option. Did you mean ".').concat(t,'"?')),Xh.includes(t)&&e.push('You unnecessarily included the extension "'.concat(t,'" with the "extraFileExtensions" option. This extension is already handled by the parser by default.'))}));const i=qh.default.extname(r.filePath);if(!Xh.includes(i)){const r="The extension for the file (".concat(i,") is non-standard");n.length>0?n.includes(i)||(e.push("".concat(r,'. It should be added to your existing "parserOptions.extraFileExtensions".')),t=!0):(e.push("".concat(r,'. You should add "parserOptions.extraFileExtensions" to your config.')),t=!0)}throw t||e.push("The file must be included in at least one of the projects provided."),new Error(e.join("\n"))}return n};var Qh={},$h=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),Zh=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),eD=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&$h(t,e,r);return Zh(t,e),t},tD=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qh,"__esModule",{value:!0}),Qh.createSourceFile=void 0;const rD=tD(Hl.exports),nD=eD(vm.exports),iD=zv,aD=(0,rD.default)("typescript-eslint:typescript-estree:createSourceFile");Qh.createSourceFile=function(e,t){return aD("Getting AST without type information in %s mode for: %s",t.jsx?"TSX":"TS",t.filePath),nD.createSourceFile(t.filePath,e,nD.ScriptTarget.Latest,!0,(0,iD.getScriptKind)(t))};var oD={};Object.defineProperty(oD,"__esModule",{value:!0}),oD.getFirstSemanticOrSyntacticError=void 0;const sD=vm.exports;function cD(e){return e.filter((e=>{switch(e.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function uD(e){return Object.assign(Object.assign({},e),{message:(0,sD.flattenDiagnosticMessageText)(e.messageText,sD.sys.newLine)})}oD.getFirstSemanticOrSyntacticError=function(e,t){try{const r=cD(e.getSyntacticDiagnostics(t));if(r.length)return uD(r[0]);const n=cD(e.getSemanticDiagnostics(t));return n.length?uD(n[0]):void 0}catch(e){return void console.warn('Warning From TSC: "'.concat(e.message))}};var lD={},dD=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),_D=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),pD=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&dD(t,e,r);return _D(t,e),t},fD=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(lD,"__esModule",{value:!0}),lD.createProgramFromConfigFile=lD.useProvidedPrograms=void 0;const gD=fD(Hl.exports),mD=pD(hm),yD=pD(ym),vD=pD(vm.exports),hD=zv,DD=(0,gD.default)("typescript-eslint:typescript-estree:useProvidedProgram");function xD(e){return vD.formatDiagnostics(e,{getCanonicalFileName:e=>e,getCurrentDirectory:es.cwd,getNewLine:()=>"\n"})}lD.useProvidedPrograms=function(e,t){let r;DD("Retrieving ast for %s from provided program instance(s)",t.filePath);for(const n of e)if(r=(0,hD.getAstFromProgram)(n,t),r)break;if(!r){const e=yD.relative(t.tsconfigRootDir||es.cwd(),t.filePath),r=['"parserOptions.programs" has been provided for @typescript-eslint/parser.',"The file was not found in any of the provided program instance(s): ".concat(e)];throw new Error(r.join("\n"))}return r.program.getTypeChecker(),r},lD.createProgramFromConfigFile=function(e,t){if(void 0===vD.sys)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");const r=vD.getParsedCommandLineOfConfigFile(e,hD.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:e=>{throw new Error(xD([e]))},fileExists:mD.existsSync,getCurrentDirectory:()=>t&&yD.resolve(t)||es.cwd(),readDirectory:vD.sys.readDirectory,readFile:e=>mD.readFileSync(e,"utf-8"),useCaseSensitiveFileNames:vD.sys.useCaseSensitiveFileNames});if(r.errors.length)throw new Error(xD(r.errors));const n=vD.createCompilerHost(r.options,!0);return vD.createProgram(r.fileNames,r.options,n)};var bD=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),SD=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),TD=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&bD(t,e,r);return SD(t,e),t},CD=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Wl,"__esModule",{value:!0}),Wl.clearParseAndGenerateServicesCalls=Wl.clearProgramCache=Wl.parseWithNodeMaps=Wl.parseAndGenerateServices=Wl.parse=void 0;const ED=CD(Hl.exports),kD={},AD=CD((function(e,t){if("string"!=typeof e||""===e)return!1;if(ep(e))return!0;var r=rp;return t&&!1===t.strict&&(r=np),r(e)})),FD=CD(rm),ND=ym,PD=TD(vm.exports),wD=Cm,ID=Em,OD=Kv,MD=ch,LD=yh,RD=Qh,BD=oD,jD=zv,JD=lD,KD=(0,ED.default)("typescript-eslint:typescript-estree:parser"),zD=">=3.3.1 <4.6.0",UD=PD.version,VD=FD.default.satisfies(UD,[zD].concat(["4.5.0-beta","4.5.1-rc"]).join(" || "));let qD,WD=!1;const HD=new Map;function GD(e){return"string"!=typeof e?String(e):e}function YD(){let{jsx:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e?"estree.tsx":"estree.ts"}function XD(){qD={code:"",comment:!1,comments:[],createDefaultProgram:!1,debugLevel:new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:!1,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:!1,extraFileExtensions:[],filePath:YD(),jsx:!1,loc:!1,log:console.log,preserveNodeMaps:!0,programs:null,projects:[],range:!1,strict:!1,tokens:null,tsconfigRootDir:es.cwd(),singleRun:!1,moduleResolver:""}}function QD(e,t){const r=[];if("string"==typeof e)r.push(e);else if(Array.isArray(e))for(const t of e)"string"==typeof t&&r.push(t);if(0===r.length)return[];const n=r.filter((e=>!(0,AD.default)(e))),i=r.filter((e=>(0,AD.default)(e))),a=new Set(n.concat((0,kD.sync)([...i,...t],{cwd:qD.tsconfigRootDir})).map((e=>function(e,t){return(0,jD.getCanonicalFileName)((0,jD.ensureAbsolutePath)(e,t))}(e,qD))));return KD("parserOptions.project (excluding ignored) matched projects: %s",a),Array.from(a)}function $D(e){var t;if(!0===e.debugLevel?qD.debugLevel=new Set(["typescript-eslint"]):Array.isArray(e.debugLevel)&&(qD.debugLevel=new Set(e.debugLevel)),qD.debugLevel.size>0){const e=[];qD.debugLevel.has("typescript-eslint")&&e.push("typescript-eslint:*"),(qD.debugLevel.has("eslint")||ED.default.enabled("eslint:*,-eslint:code-path"))&&e.push("eslint:*,-eslint:code-path"),ED.default.enable(e.join(","))}if(qD.range="boolean"==typeof e.range&&e.range,qD.loc="boolean"==typeof e.loc&&e.loc,"boolean"==typeof e.tokens&&e.tokens&&(qD.tokens=[]),"boolean"==typeof e.comment&&e.comment&&(qD.comment=!0,qD.comments=[]),"boolean"==typeof e.jsx&&e.jsx&&(qD.jsx=!0),"string"==typeof e.filePath&&""!==e.filePath?qD.filePath=e.filePath:qD.filePath=YD(qD),"boolean"==typeof e.errorOnUnknownASTType&&e.errorOnUnknownASTType&&(qD.errorOnUnknownASTType=!0),"function"==typeof e.loggerFn?qD.log=e.loggerFn:!1===e.loggerFn&&(qD.log=()=>{}),"string"==typeof e.tsconfigRootDir&&(qD.tsconfigRootDir=e.tsconfigRootDir),qD.filePath=(0,jD.ensureAbsolutePath)(qD.filePath,qD),Array.isArray(e.programs)){if(!e.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");qD.programs=e.programs,KD("parserOptions.programs was provided, so parserOptions.project will be ignored.")}if(!qD.programs){const r=(null!==(t=e.projectFolderIgnoreList)&&void 0!==t?t:["**/node_modules/**"]).reduce(((e,t)=>("string"==typeof t&&e.push(t),e)),[]).map((e=>e.startsWith("!")?e:"!".concat(e)));qD.projects=[]||QD(e.project,r)}Array.isArray(e.extraFileExtensions)&&e.extraFileExtensions.every((e=>"string"==typeof e))&&(qD.extraFileExtensions=e.extraFileExtensions),"boolean"==typeof e.preserveNodeMaps&&(qD.preserveNodeMaps=e.preserveNodeMaps),qD.createDefaultProgram="boolean"==typeof e.createDefaultProgram&&e.createDefaultProgram,qD.EXPERIMENTAL_useSourceOfProjectReferenceRedirect="boolean"==typeof e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect&&e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,"string"==typeof e.moduleResolver&&(qD.moduleResolver=e.moduleResolver)}function ZD(){var e;if(!VD&&!WD){if(void 0!==es&&(null===(e=es.stdout)||void 0===e?void 0:e.isTTY)){const e="=============",t=[e,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.","SUPPORTED TYPESCRIPT VERSIONS: ".concat(zD),"YOUR TYPESCRIPT VERSION: ".concat(UD),"Please only submit bug reports when using the officially supported version.",e];qD.log(t.join("\n\n"))}WD=!0}}function ex(e){"false"!==es.env.TSESTREE_SINGLE_RUN?"true"!==es.env.TSESTREE_SINGLE_RUN&&(!(null==e?void 0:e.allowAutomaticSingleRunInference)||"true"!==es.env.CI&&!es.argv[1].endsWith((0,ND.normalize)("node_modules/.bin/eslint")))?qD.singleRun=!1:qD.singleRun=!0:qD.singleRun=!1}function tx(e,t,r){if(XD(),null==t?void 0:t.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');e=GD(e),qD.code=e,void 0!==t&&$D(t),ZD(),ex(t);const n=(0,RD.createSourceFile)(e,qD),{estree:i,astMaps:a}=(0,wD.astConverter)(n,qD,r);return{ast:i,esTreeNodeToTSNodeMap:a.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:a.tsNodeToESTreeNodeMap}}Wl.clearProgramCache=function(){HD.clear()},Wl.parse=function(e,t){const{ast:r}=tx(e,t,!1);return r},Wl.parseWithNodeMaps=function(e,t){return tx(e,t,!0)};let rx={};Wl.clearParseAndGenerateServicesCalls=function(){rx={}},Wl.parseAndGenerateServices=function(e,t){var r;XD(),e=GD(e),qD.code=e,void 0!==t&&($D(t),"boolean"==typeof t.errorOnTypeScriptSyntacticAndSemanticIssues&&t.errorOnTypeScriptSyntacticAndSemanticIssues&&(qD.errorOnTypeScriptSyntacticAndSemanticIssues=!0)),ZD(),ex(t),qD.singleRun&&!qD.programs&&(null===(r=qD.projects)||void 0===r?void 0:r.length)>0&&(qD.programs={*[Symbol.iterator](){for(const e of qD.projects){const t=HD.get(e);if(t)yield t;else{KD("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",e);const t=(0,JD.createProgramFromConfigFile)(e);HD.set(e,t),yield t}}}});const n=null!=qD.programs||qD.projects&&qD.projects.length>0;let i,a;if(qD.singleRun&&t.filePath&&(rx[t.filePath]=(rx[t.filePath]||0)+1),qD.singleRun&&t.filePath&&rx[t.filePath]>1){const t=(0,MD.createIsolatedProgram)(e,qD);i=t.ast,a=t.program}else{const t=function(e,t,r,n){return t&&(0,JD.useProvidedPrograms)(t,qD)||r&&(0,LD.createProjectProgram)(e,n,qD)||r&&n&&(0,OD.createDefaultProgram)(e,qD)||(0,MD.createIsolatedProgram)(e,qD)}(e,qD.programs,n,qD.createDefaultProgram);i=t.ast,a=t.program}const o="boolean"!=typeof qD.preserveNodeMaps||qD.preserveNodeMaps,{estree:s,astMaps:c}=(0,wD.astConverter)(i,qD,o);if(a&&qD.errorOnTypeScriptSyntacticAndSemanticIssues){const e=(0,BD.getFirstSemanticOrSyntacticError)(a,i);if(e)throw(0,ID.convertError)(e)}return{ast:s,services:{hasFullTypeInformation:n,program:a,esTreeNodeToTSNodeMap:c.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:c.tsNodeToESTreeNodeMap}}};var nx="5.4.0";!function(t){var r=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.visitorKeys=t.createProgram=t.clearCaches=t.simpleTraverse=t.clearProgramCache=t.parseWithNodeMaps=t.parseAndGenerateServices=t.parse=void 0;var i=Wl;Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return i.parse}}),Object.defineProperty(t,"parseAndGenerateServices",{enumerable:!0,get:function(){return i.parseAndGenerateServices}}),Object.defineProperty(t,"parseWithNodeMaps",{enumerable:!0,get:function(){return i.parseWithNodeMaps}}),Object.defineProperty(t,"clearProgramCache",{enumerable:!0,get:function(){return i.clearProgramCache}});var a=xv;Object.defineProperty(t,"simpleTraverse",{enumerable:!0,get:function(){return a.simpleTraverse}}),n(Am,t);var o=vh;Object.defineProperty(t,"clearCaches",{enumerable:!0,get:function(){return o.clearWatchCaches}});var s=lD;Object.defineProperty(t,"createProgram",{enumerable:!0,get:function(){return s.createProgramFromConfigFile}});var c=bv;Object.defineProperty(t,"visitorKeys",{enumerable:!0,get:function(){return c.visitorKeys}}),t.version=nx}(ql);const ix=r,ax=i,ox=Ec,sx=Vl,cx={loc:!0,range:!0,comment:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};function ux(e){const{message:t,lineNumber:r,column:n}=e;return"number"!=typeof r?e:ix(t,{start:{line:r,column:n+1}})}function lx(e){return new RegExp(["(?:^[^\"'`]*)"].join(""),"m").test(e)}var dx={parsers:{typescript:Cc((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=ox(e),i=lx(e),{parseWithNodeMaps:a}=ql,{result:o,error:s}=ax((()=>a(n,Object.assign(Object.assign({},cx),{},{jsx:i}))),(()=>a(n,Object.assign(Object.assign({},cx),{},{jsx:!i}))));if(!o)throw ux(s);return r.originalText=e,r.tsParseResult=o,sx(o.ast,r)}))}};export{dx as default}; diff --git a/node_modules/prettier/esm/parser-yaml.mjs b/node_modules/prettier/esm/parser-yaml.mjs new file mode 100755 index 0000000..547f150 --- /dev/null +++ b/node_modules/prettier/esm/parser-yaml.mjs @@ -0,0 +1 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t=function(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n};var n={isPragma:function(e){return/^\s*@(?:prettier|format)\s*$/.test(e)},hasPragma:function(e){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n".concat(e)}};var r={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}},o={},i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}function u(e){return this instanceof u?(this.v=e,this):new u(e)}var l,f,h,p=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return s},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof u?Promise.resolve(n.value.v).then(c,l):f(i[0][2],n)}catch(e){f(i[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function f(e,t){e(t),i.shift(),i.length&&a(i[0][0],i[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:u(e[r](t)),done:"return"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=a(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),d={},g={};l=g,f="\n",h=function(){function e(e){this.string=e;for(var t=[0],n=0;nthis.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}(),l.__esModule=!0,l.default=h;var m=function(e){return e&&e.Math==Math&&e},y=m("object"==typeof globalThis&&globalThis)||m("object"==typeof window&&window)||m("object"==typeof self&&self)||m("object"==typeof e&&e)||function(){return this}()||Function("return this")(),v={},w=function(e){try{return!!e()}catch(e){return!0}},_=!w((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),E=Function.prototype.call,b=E.bind?E.bind(E):function(){return E.apply(E,arguments)},S={},A={}.propertyIsEnumerable,M=Object.getOwnPropertyDescriptor,O=M&&!A.call({1:2},1);S.f=O?function(e){var t=M(this,e);return!!t&&t.enumerable}:A;var L,N,T=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},C=Function.prototype,P=C.bind,x=C.call,R=P&&P.bind(x),I=P?function(e){return e&&R(x,e)}:function(e){return e&&function(){return x.apply(e,arguments)}},k=I,B=k({}.toString),Y=k("".slice),D=function(e){return Y(B(e),8,-1)},F=I,U=w,j=D,W=y.Object,K=F("".split),V=U((function(){return!W("z").propertyIsEnumerable(0)}))?function(e){return"String"==j(e)?K(e,""):W(e)}:W,Q=y.TypeError,q=function(e){if(null==e)throw Q("Can't call method on "+e);return e},J=V,$=q,G=function(e){return J($(e))},H=function(e){return"function"==typeof e},z=H,Z=function(e){return"object"==typeof e?null!==e:z(e)},X=y,ee=H,te=function(e){return ee(e)?e:void 0},ne=function(e,t){return arguments.length<2?te(X[e]):X[e]&&X[e][t]},re=I({}.isPrototypeOf),oe=ne("navigator","userAgent")||"",ie=y,se=oe,ae=ie.process,ce=ie.Deno,ue=ae&&ae.versions||ce&&ce.version,le=ue&&ue.v8;le&&(N=(L=le.split("."))[0]>0&&L[0]<4?1:+(L[0]+L[1])),!N&&se&&(!(L=se.match(/Edge\/(\d+)/))||L[1]>=74)&&(L=se.match(/Chrome\/(\d+)/))&&(N=+L[1]);var fe=N,he=fe,pe=w,de=!!Object.getOwnPropertySymbols&&!pe((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&he&&he<41})),ge=de&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,me=ne,ye=H,ve=re,we=ge,_e=y.Object,Ee=we?function(e){return"symbol"==typeof e}:function(e){var t=me("Symbol");return ye(t)&&ve(t.prototype,_e(e))},be=y.String,Se=H,Ae=function(e){try{return be(e)}catch(e){return"Object"}},Me=y.TypeError,Oe=function(e){if(Se(e))return e;throw Me(Ae(e)+" is not a function")},Le=Oe,Ne=b,Te=H,Ce=Z,Pe=y.TypeError,xe={exports:{}},Re=y,Ie=Object.defineProperty,ke=function(e,t){try{Ie(Re,e,{value:t,configurable:!0,writable:!0})}catch(n){Re[e]=t}return t},Be=ke,Ye=y["__core-js_shared__"]||Be("__core-js_shared__",{}),De=Ye;(xe.exports=function(e,t){return De[e]||(De[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var Fe=q,Ue=y.Object,je=function(e){return Ue(Fe(e))},We=je,Ke=I({}.hasOwnProperty),Ve=Object.hasOwn||function(e,t){return Ke(We(e),t)},Qe=I,qe=0,Je=Math.random(),$e=Qe(1..toString),Ge=function(e){return"Symbol("+(void 0===e?"":e)+")_"+$e(++qe+Je,36)},He=y,ze=xe.exports,Ze=Ve,Xe=Ge,et=de,tt=ge,nt=ze("wks"),rt=He.Symbol,ot=rt&&rt.for,it=tt?rt:rt&&rt.withoutSetter||Xe,st=function(e){if(!Ze(nt,e)||!et&&"string"!=typeof nt[e]){var t="Symbol."+e;et&&Ze(rt,e)?nt[e]=rt[e]:nt[e]=tt&&ot?ot(t):it(t)}return nt[e]},at=b,ct=Z,ut=Ee,lt=function(e,t){var n=e[t];return null==n?void 0:Le(n)},ft=function(e,t){var n,r;if("string"===t&&Te(n=e.toString)&&!Ce(r=Ne(n,e)))return r;if(Te(n=e.valueOf)&&!Ce(r=Ne(n,e)))return r;if("string"!==t&&Te(n=e.toString)&&!Ce(r=Ne(n,e)))return r;throw Pe("Can't convert object to primitive value")},ht=st,pt=y.TypeError,dt=ht("toPrimitive"),gt=function(e,t){if(!ct(e)||ut(e))return e;var n,r=lt(e,dt);if(r){if(void 0===t&&(t="default"),n=at(r,e,t),!ct(n)||ut(n))return n;throw pt("Can't convert object to primitive value")}return void 0===t&&(t="number"),ft(e,t)},mt=Ee,yt=function(e){var t=gt(e,"string");return mt(t)?t:t+""},vt=Z,wt=y.document,_t=vt(wt)&&vt(wt.createElement),Et=function(e){return _t?wt.createElement(e):{}},bt=!_&&!w((function(){return 7!=Object.defineProperty(Et("div"),"a",{get:function(){return 7}}).a})),St=_,At=b,Mt=S,Ot=T,Lt=G,Nt=yt,Tt=Ve,Ct=bt,Pt=Object.getOwnPropertyDescriptor;v.f=St?Pt:function(e,t){if(e=Lt(e),t=Nt(t),Ct)try{return Pt(e,t)}catch(e){}if(Tt(e,t))return Ot(!At(Mt.f,e,t),e[t])};var xt={},Rt=y,It=Z,kt=Rt.String,Bt=Rt.TypeError,Yt=function(e){if(It(e))return e;throw Bt(kt(e)+" is not an object")},Dt=_,Ft=bt,Ut=Yt,jt=yt,Wt=y.TypeError,Kt=Object.defineProperty;xt.f=Dt?Kt:function(e,t,n){if(Ut(e),t=jt(t),Ut(n),Ft)try{return Kt(e,t,n)}catch(e){}if("get"in n||"set"in n)throw Wt("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var Vt=xt,Qt=T,qt=_?function(e,t,n){return Vt.f(e,t,Qt(1,n))}:function(e,t,n){return e[t]=n,e},Jt={exports:{}},$t=H,Gt=Ye,Ht=I(Function.toString);$t(Gt.inspectSource)||(Gt.inspectSource=function(e){return Ht(e)});var zt,Zt,Xt,en=Gt.inspectSource,tn=H,nn=en,rn=y.WeakMap,on=tn(rn)&&/native code/.test(nn(rn)),sn=xe.exports,an=Ge,cn=sn("keys"),un={},ln=on,fn=y,hn=I,pn=Z,dn=qt,gn=Ve,mn=Ye,yn=function(e){return cn[e]||(cn[e]=an(e))},vn=un,wn=fn.TypeError,_n=fn.WeakMap;if(ln||mn.state){var En=mn.state||(mn.state=new _n),bn=hn(En.get),Sn=hn(En.has),An=hn(En.set);zt=function(e,t){if(Sn(En,e))throw new wn("Object already initialized");return t.facade=e,An(En,e,t),t},Zt=function(e){return bn(En,e)||{}},Xt=function(e){return Sn(En,e)}}else{var Mn=yn("state");vn[Mn]=!0,zt=function(e,t){if(gn(e,Mn))throw new wn("Object already initialized");return t.facade=e,dn(e,Mn,t),t},Zt=function(e){return gn(e,Mn)?e[Mn]:{}},Xt=function(e){return gn(e,Mn)}}var On={set:zt,get:Zt,has:Xt,enforce:function(e){return Xt(e)?Zt(e):zt(e,{})},getterFor:function(e){return function(t){var n;if(!pn(t)||(n=Zt(t)).type!==e)throw wn("Incompatible receiver, "+e+" required");return n}}},Ln=_,Nn=Ve,Tn=Function.prototype,Cn=Ln&&Object.getOwnPropertyDescriptor,Pn=Nn(Tn,"name"),xn=Pn&&"something"===function(){}.name,Rn=Pn&&(!Ln||Ln&&Cn(Tn,"name").configurable),In=y,kn=H,Bn=Ve,Yn=qt,Dn=ke,Fn=en,Un={EXISTS:Pn,PROPER:xn,CONFIGURABLE:Rn}.CONFIGURABLE,jn=On.get,Wn=On.enforce,Kn=String(String).split("String");(Jt.exports=function(e,t,n,r){var o,i=!!r&&!!r.unsafe,s=!!r&&!!r.enumerable,a=!!r&&!!r.noTargetGet,c=r&&void 0!==r.name?r.name:t;kn(n)&&("Symbol("===String(c).slice(0,7)&&(c="["+String(c).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Bn(n,"name")||Un&&n.name!==c)&&Yn(n,"name",c),(o=Wn(n)).source||(o.source=Kn.join("string"==typeof c?c:""))),e!==In?(i?!a&&e[t]&&(s=!0):delete e[t],s?e[t]=n:Yn(e,t,n)):s?e[t]=n:Dn(t,n)})(Function.prototype,"toString",(function(){return kn(this)&&jn(this).source||Fn(this)}));var Vn={},Qn=Math.ceil,qn=Math.floor,Jn=function(e){var t=+e;return t!=t||0===t?0:(t>0?qn:Qn)(t)},$n=Jn,Gn=Math.max,Hn=Math.min,zn=Jn,Zn=Math.min,Xn=function(e){return e>0?Zn(zn(e),9007199254740991):0},er=function(e){return Xn(e.length)},tr=G,nr=function(e,t){var n=$n(e);return n<0?Gn(n+t,0):Hn(n,t)},rr=er,or=function(e){return function(t,n,r){var o,i=tr(t),s=rr(i),a=nr(r,s);if(e&&n!=n){for(;s>a;)if((o=i[a++])!=o)return!0}else for(;s>a;a++)if((e||a in i)&&i[a]===n)return e||a||0;return!e&&-1}},ir={includes:or(!0),indexOf:or(!1)},sr=Ve,ar=G,cr=ir.indexOf,ur=un,lr=I([].push),fr=function(e,t){var n,r=ar(e),o=0,i=[];for(n in r)!sr(ur,n)&&sr(r,n)&&lr(i,n);for(;t.length>o;)sr(r,n=t[o++])&&(~cr(i,n)||lr(i,n));return i},hr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Vn.f=Object.getOwnPropertyNames||function(e){return fr(e,hr)};var pr={};pr.f=Object.getOwnPropertySymbols;var dr=ne,gr=Vn,mr=pr,yr=Yt,vr=I([].concat),wr=dr("Reflect","ownKeys")||function(e){var t=gr.f(yr(e)),n=mr.f;return n?vr(t,n(e)):t},_r=Ve,Er=wr,br=v,Sr=xt,Ar=w,Mr=H,Or=/#|\.prototype\./,Lr=function(e,t){var n=Tr[Nr(e)];return n==Pr||n!=Cr&&(Mr(t)?Ar(t):!!t)},Nr=Lr.normalize=function(e){return String(e).replace(Or,".").toLowerCase()},Tr=Lr.data={},Cr=Lr.NATIVE="N",Pr=Lr.POLYFILL="P",xr=Lr,Rr=y,Ir=v.f,kr=qt,Br=Jt.exports,Yr=ke,Dr=function(e,t){for(var n=Er(t),r=Sr.f,o=br.f,i=0;i0;)e[r]=e[--r];r!==i++&&(e[r]=n)}return e},to=function(e,t,n,r){for(var o=t.length,i=n.length,s=0,a=0;s3)){if(_o)return!0;if(bo)return bo<603;var e,t,n,r,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)So.push({k:t+r,v:n})}for(So.sort((function(e,t){return t.v-e.v})),r=0;rgo(n)?1:-1}}(e)),n=o.length,r=0;r1&&"document"!==t.type&&"documentHead"!==t.type){var o=t.position.end,i=e[o.line-1].trailingAttachableNode;(!i||o.column>=i.position.end.column)&&(e[o.line-1].trailingAttachableNode=t)}if("root"!==t.type&&"document"!==t.type&&"documentHead"!==t.type&&"documentBody"!==t.type)for(var s=t.position,a=(n=s.start,0),c=[(o=s.end).line].concat(n.line===o.line?[]:n.line);a=l.position.end.column)&&(e[u-1].trailingNode=t)}"children"in t&&t.children.forEach((function(t){ko(e,t)}))}}function Bo(e,t){if(e.position.start.offsett.position.end.offset)switch(e.type){case"flowMapping":case"flowSequence":return 0===e.children.length||t.position.start.line>e.children[e.children.length-1].position.end.line}if(t.position.end.offsete.position.start.column;case"mappingKey":case"mappingValue":return t.position.start.column>e._parent.position.start.column&&(0===e.children.length||1===e.children.length&&"blockFolded"!==e.children[0].type&&"blockLiteral"!==e.children[0].type)&&("mappingValue"===e.type||Yo(e));default:return!1}}function Yo(e){return e.position.start!==e.position.end&&(0===e.children.length||e.position.start.offset!==e.children[0].position.start.offset)}Co.attachComments=function(e){Ro.defineParents(e);var t=function(e){for(var t=Array.from(new Array(e.position.end.line),(function(){return{}})),n=0,r=e.comments;n1&&e.position.start.line>n[0].position.end.line;)n.shift();!function(e,t,n){var r=e.position.start.line,o=t[r-1].trailingAttachableNode;if(o){if(o.trailingComment)throw new Error("Unexpected multiple trailing comment at "+Io.getPointText(e.position.start));return Ro.defineParents(e,o),void(o.trailingComment=e)}for(var i=r;i>=n.position.start.line;i--){var s=t[i-1].trailingNode,a=void 0;if(s)a=s;else{if(i===r||!t[i-1].comment)continue;a=t[i-1].comment._parent}if("sequence"!==a.type&&"mapping"!==a.type||(a=a.children[0]),"mappingItem"===a.type){var c=a.children,u=c[0],l=c[1];a=Yo(u)?u:l}for(;;){if(Bo(a,e))return Ro.defineParents(e,a),void a.endComments.push(e);if(!a._parent)break;a=a._parent}break}for(i=r+1;i<=n.position.end.line;i++){var f=t[i-1].leadingAttachableNode;if(f)return Ro.defineParents(e,f),void f.leadingComments.push(e)}var h=n.children[1];Ro.defineParents(e,h),h.endComments.push(e)}(e,t,n[0])}))};var Do={},Fo={};Fo.__esModule=!0,Fo.createNode=function(e,t){return{type:e,position:t}},Do.__esModule=!0;var Uo=p,jo=Fo;Do.createRoot=function(e,t,n){return Uo.__assign(Uo.__assign({},jo.createNode("root",e)),{children:t,comments:n})};var Wo={};Wo.__esModule=!0,Wo.removeCstBlankLine=function e(t){switch(t.type){case"DOCUMENT":for(var n=t.contents.length-1;n>=0;n--)"BLANK_LINE"===t.contents[n].type?t.contents.splice(n,1):e(t.contents[n]);for(n=t.directives.length-1;n>=0;n--)"BLANK_LINE"===t.directives[n].type&&t.directives.splice(n,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(n=t.items.length-1;n>=0;n--){var r=t.items[n];"char"in r||("BLANK_LINE"===r.type?t.items.splice(n,1):e(r))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":t.node&&e(t.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(t.type))}};var Ko={},Vo={},Qo={},qo={},Jo={};Jo.__esModule=!0,Jo.createLeadingCommentAttachable=function(){return{leadingComments:[]}};var $o={};$o.__esModule=!0,$o.createTrailingCommentAttachable=function(e){return void 0===e&&(e=null),{trailingComment:e}},qo.__esModule=!0;var Go=p,Ho=Jo,zo=$o;qo.createCommentAttachable=function(){return Go.__assign(Go.__assign({},Ho.createLeadingCommentAttachable()),zo.createTrailingCommentAttachable())},Qo.__esModule=!0;var Zo=p,Xo=qo,ei=Fo;Qo.createAlias=function(e,t,n){return Zo.__assign(Zo.__assign(Zo.__assign(Zo.__assign({},ei.createNode("alias",e)),Xo.createCommentAttachable()),t),{value:n})},Vo.__esModule=!0;var ti=Qo;Vo.transformAlias=function(e,t){var n=e.cstNode;return ti.createAlias(t.transformRange({origStart:n.valueRange.origStart-1,origEnd:n.valueRange.origEnd}),t.transformContent(e),n.rawValue)};var ni={},ri={__esModule:!0},oi=p;ri.createBlockFolded=function(e){return oi.__assign(oi.__assign({},e),{type:"blockFolded"})};var ii={},si={__esModule:!0},ai=p,ci=Jo,ui=Fo;si.createBlockValue=function(e,t,n,r,o,i){return ai.__assign(ai.__assign(ai.__assign(ai.__assign({},ui.createNode("blockValue",e)),ci.createLeadingCommentAttachable()),t),{chomping:n,indent:r,value:o,indicatorComment:i})};var li={},fi={};!function(e){var t;e.__esModule=!0,(t=e.PropLeadingCharacter||(e.PropLeadingCharacter={})).Tag="!",t.Anchor="&",t.Comment="#"}(fi);var hi={__esModule:!0},pi=p,di=Fo;hi.createAnchor=function(e,t){return pi.__assign(pi.__assign({},di.createNode("anchor",e)),{value:t})};var gi={__esModule:!0},mi=p,yi=Fo;gi.createComment=function(e,t){return mi.__assign(mi.__assign({},yi.createNode("comment",e)),{value:t})};var vi={};vi.__esModule=!0,vi.createContent=function(e,t,n){return{anchor:t,tag:e,middleComments:n}};var wi={__esModule:!0},_i=p,Ei=Fo;wi.createTag=function(e,t){return _i.__assign(_i.__assign({},Ei.createNode("tag",e)),{value:t})},li.__esModule=!0;var bi=fi,Si=hi,Ai=gi,Mi=vi,Oi=wi;li.transformContent=function(e,t,n){void 0===n&&(n=function(){return!1});for(var r=e.cstNode,o=[],i=null,s=null,a=null,c=0,u=r.props;c=0;c--){var u=e.contents[c];if("COMMENT"===u.type){var l=t.transformNode(u);n&&n.line===l.position.start.line?s.unshift(l):a?r.unshift(l):l.position.start.offset>=e.valueRange.origEnd?i.unshift(l):r.unshift(l)}else a=!0}if(i.length>1)throw new Error("Unexpected multiple document trailing comments at "+ds.getPointText(i[1].position.start));if(s.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+ds.getPointText(s[1].position.start));return{comments:r,endComments:o,documentTrailingComment:hs.getLast(i)||null,documentHeadTrailingComment:hs.getLast(s)||null}}(o,t,n),s=i.comments,a=i.endComments,c=i.documentTrailingComment,u=i.documentHeadTrailingComment,l=t.transformNode(e.contents),f=function(e,t,n){var r=ps.getMatchIndex(n.text.slice(e.valueRange.origEnd),/^\.\.\./),o=-1===r?e.valueRange.origEnd:Math.max(0,e.valueRange.origEnd-1);"\r"===n.text[o-1]&&o--;var i=n.transformRange({origStart:null!==t?t.position.start.offset:o,origEnd:o}),s=-1===r?i.end:n.transformOffset(e.valueRange.origEnd+3);return{position:i,documentEndPoint:s}}(o,l,t),h=f.position,p=f.documentEndPoint;return(r=t.comments).push.apply(r,ls.__spreadArrays(s,a)),{documentBody:fs.createDocumentBody(h,l,a),documentEndPoint:p,documentTrailingComment:c,documentHeadTrailingComment:u}};var gs={},ms={__esModule:!0},ys=p,vs=os,ws=Fo,_s=$o;ms.createDocumentHead=function(e,t,n,r){return ys.__assign(ys.__assign(ys.__assign(ys.__assign({},ws.createNode("documentHead",e)),vs.createEndCommentAttachable(n)),_s.createTrailingCommentAttachable(r)),{children:t})},gs.__esModule=!0;var Es=p,bs=ms,Ss=us;gs.transformDocumentHead=function(e,t){var n,r=e.cstNode,o=function(e,t){for(var n=[],r=[],o=[],i=!1,s=e.directives.length-1;s>=0;s--){var a=t.transformNode(e.directives[s]);"comment"===a.type?i?r.unshift(a):o.unshift(a):(i=!0,n.unshift(a))}return{directives:n,comments:r,endComments:o}}(r,t),i=o.directives,s=o.comments,a=o.endComments,c=function(e,t,n){var r=Ss.getMatchIndex(n.text.slice(0,e.valueRange.origStart),/---\s*$/);r>0&&!/[\r\n]/.test(n.text[r-1])&&(r=-1);var o=-1===r?{origStart:e.valueRange.origStart,origEnd:e.valueRange.origStart}:{origStart:r,origEnd:r+3};0!==t.length&&(o.origStart=t[0].position.start.offset);return{position:n.transformRange(o),endMarkerPoint:-1===r?null:n.transformOffset(r)}}(r,i,t),u=c.position,l=c.endMarkerPoint;return(n=t.comments).push.apply(n,Es.__spreadArrays(s,a)),{createDocumentHeadWithTrailingComment:function(e){return e&&t.comments.push(e),bs.createDocumentHead(u,i,a,e)},documentHeadEndMarkerPoint:l}},Hi.__esModule=!0;var As=zi,Ms=ts,Os=ns,Ls=gs;Hi.transformDocument=function(e,t){var n=Ls.transformDocumentHead(e,t),r=n.createDocumentHeadWithTrailingComment,o=n.documentHeadEndMarkerPoint,i=Os.transformDocumentBody(e,t,o),s=i.documentBody,a=i.documentEndPoint,c=i.documentTrailingComment,u=r(i.documentHeadTrailingComment);return c&&t.comments.push(c),As.createDocument(Ms.createPosition(u.position.start,a),u,s,c)};var Ns={},Ts={},Cs={__esModule:!0},Ps=p,xs=qo,Rs=os,Is=Fo;Cs.createFlowCollection=function(e,t,n){return Ps.__assign(Ps.__assign(Ps.__assign(Ps.__assign(Ps.__assign({},Is.createNode("flowCollection",e)),xs.createCommentAttachable()),Rs.createEndCommentAttachable()),t),{children:n})},Ts.__esModule=!0;var ks=p,Bs=Cs;Ts.createFlowMapping=function(e,t,n){return ks.__assign(ks.__assign({},Bs.createFlowCollection(e,t,n)),{type:"flowMapping"})};var Ys={__esModule:!0},Ds=p,Fs=Jo,Us=Fo;Ys.createFlowMappingItem=function(e,t,n){return Ds.__assign(Ds.__assign(Ds.__assign({},Us.createNode("flowMappingItem",e)),Fs.createLeadingCommentAttachable()),{children:[t,n]})};var js={};js.__esModule=!0,js.extractComments=function(e,t){for(var n=[],r=0,o=e;r=0;r--)if(n.test(e[r]))return r;return-1},qa.__esModule=!0;var Za=Ja,Xa=za;qa.transformPlain=function(e,t){var n=e.cstNode;return Za.createPlain(t.transformRange({origStart:n.valueRange.origStart,origEnd:Xa.findLastCharIndex(t.text,n.valueRange.origEnd-1,/\S/)+1}),t.transformContent(e),n.strValue)};var ec={},tc={__esModule:!0},nc=p;tc.createQuoteDouble=function(e){return nc.__assign(nc.__assign({},e),{type:"quoteDouble"})};var rc={},oc={__esModule:!0},ic=p,sc=qo,ac=Fo;oc.createQuoteValue=function(e,t,n){return ic.__assign(ic.__assign(ic.__assign(ic.__assign({},ac.createNode("quoteValue",e)),t),sc.createCommentAttachable()),{value:n})},rc.__esModule=!0;var cc=oc;rc.transformAstQuoteValue=function(e,t){var n=e.cstNode;return cc.createQuoteValue(t.transformRange(n.valueRange),t.transformContent(e),n.strValue)},ec.__esModule=!0;var uc=tc,lc=rc;ec.transformQuoteDouble=function(e,t){return uc.createQuoteDouble(lc.transformAstQuoteValue(e,t))};var fc={},hc={__esModule:!0},pc=p;hc.createQuoteSingle=function(e){return pc.__assign(pc.__assign({},e),{type:"quoteSingle"})},fc.__esModule=!0;var dc=hc,gc=rc;fc.transformQuoteSingle=function(e,t){return dc.createQuoteSingle(gc.transformAstQuoteValue(e,t))};var mc={},yc={__esModule:!0},vc=p,wc=os,_c=Jo,Ec=Fo;yc.createSequence=function(e,t,n){return vc.__assign(vc.__assign(vc.__assign(vc.__assign(vc.__assign({},Ec.createNode("sequence",e)),_c.createLeadingCommentAttachable()),wc.createEndCommentAttachable()),t),{children:n})};var bc={__esModule:!0},Sc=p,Ac=qo,Mc=os,Oc=Fo;bc.createSequenceItem=function(e,t){return Sc.__assign(Sc.__assign(Sc.__assign(Sc.__assign({},Oc.createNode("sequenceItem",e)),Ac.createCommentAttachable()),Mc.createEndCommentAttachable()),{children:t?[t]:[]})},mc.__esModule=!0;var Lc=ts,Nc=yc,Tc=bc,Cc=js,Pc=Qi,xc=cs;mc.transformSeq=function(e,t){var n=Cc.extractComments(e.cstNode.items,t).map((function(n,r){Pc.extractPropComments(n,t);var o=t.transformNode(e.items[r]);return Tc.createSequenceItem(Lc.createPosition(t.transformOffset(n.valueRange.origStart),null===o?t.transformOffset(n.valueRange.origStart+1):o.position.end),o)}));return Nc.createSequence(Lc.createPosition(n[0].position.start,xc.getLast(n).position.end),t.transformContent(e),n)},Ko.__esModule=!0;var Rc=Vo,Ic=ni,kc=Ri,Bc=Di,Yc=Ui,Dc=Hi,Fc=Ns,Uc=pa,jc=Ta,Wc=qa,Kc=ec,Vc=fc,Qc=mc;Ko.transformNode=function(e,t){if(null===e||void 0===e.type&&null===e.value)return null;switch(e.type){case"ALIAS":return Rc.transformAlias(e,t);case"BLOCK_FOLDED":return Ic.transformBlockFolded(e,t);case"BLOCK_LITERAL":return kc.transformBlockLiteral(e,t);case"COMMENT":return Bc.transformComment(e,t);case"DIRECTIVE":return Yc.transformDirective(e,t);case"DOCUMENT":return Dc.transformDocument(e,t);case"FLOW_MAP":return Fc.transformFlowMap(e,t);case"FLOW_SEQ":return Uc.transformFlowSeq(e,t);case"MAP":return jc.transformMap(e,t);case"PLAIN":return Wc.transformPlain(e,t);case"QUOTE_DOUBLE":return Kc.transformQuoteDouble(e,t);case"QUOTE_SINGLE":return Vc.transformQuoteSingle(e,t);case"SEQ":return Qc.transformSeq(e,t);default:throw new Error("Unexpected node type "+e.type)}};var qc={},Jc={};Jc.__esModule=!0,Jc.createError=function(e,t,n){var r=new SyntaxError(e);return r.name="YAMLSyntaxError",r.source=t,r.position=n,r},qc.__esModule=!0;var $c=Jc;qc.transformError=function(e,t){var n=e.source.range||e.source.valueRange;return $c.createError(e.message,t.text,t.transformRange(n))};var Gc={},Hc={};Hc.__esModule=!0,Hc.createPoint=function(e,t,n){return{offset:e,line:t,column:n}},Gc.__esModule=!0;var zc=Hc;Gc.transformOffset=function(e,t){e<0?e=0:e>t.text.length&&(e=t.text.length);var n=t.locator.locationForIndex(e);return zc.createPoint(e,n.line+1,n.column+1)};var Zc={__esModule:!0},Xc=ts;Zc.transformRange=function(e,t){return Xc.createPosition(t.transformOffset(e.origStart),t.transformOffset(e.origEnd))};var eu={__esModule:!0};function tu(e,t){if(e&&"object"==typeof e&&true!==t(e))for(var n=0,r=Object.keys(e);ne.offset}ru.updatePositions=function e(t){if(null!==t&&"children"in t){var n=t.children;if(n.forEach(e),"document"===t.type){var r=t.children,o=r[0],i=r[1];o.position.start.offset===o.position.end.offset?o.position.start=o.position.end=i.position.start:i.position.start.offset===i.position.end.offset&&(i.position.start=i.position.end=o.position.end)}var s=iu.createUpdater(t.position,au,cu,fu),a=iu.createUpdater(t.position,uu,lu,hu);"endComments"in t&&0!==t.endComments.length&&(s(t.endComments[0].position.start),a(su.getLast(t.endComments).position.end));var c=n.filter((function(e){return null!==e}));if(0!==c.length){var u=c[0],l=su.getLast(c);s(u.position.start),a(l.position.end),"leadingComments"in u&&0!==u.leadingComments.length&&s(u.leadingComments[0].position.start),"tag"in u&&u.tag&&s(u.tag.position.start),"anchor"in u&&u.anchor&&s(u.anchor.position.start),"trailingComment"in l&&l.trailingComment&&a(l.trailingComment.position.end)}}};var pu={},du={},gu={},mu={};const yu={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},vu={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};function wu(e){const t=[0];let n=e.indexOf("\n");for(;-1!==n;)n+=1,t.push(n),n=e.indexOf("\n",n);return t}function _u(e){let t,n;return"string"==typeof e?(t=wu(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=wu(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function Eu(e,t){if("number"!=typeof e||e<0)return null;const{lineStarts:n,src:r}=_u(t);if(!n||!r||e>r.length)return null;for(let t=0;t=1)||e>n.length)return null;const o=n[e-1];let i=n[e];for(;i&&i>o&&"\n"===r[i-1];)--i;return r.slice(o,i)}class Su{static copy(e){return new Su(e.start,e.end)}constructor(e,t){this.start=e,this.end=t||e}isEmpty(){return"number"!=typeof this.start||!this.end||this.end<=this.start}setOrigRange(e,t){const{start:n,end:r}=this;if(0===e.length||r<=e[0])return this.origStart=n,this.origEnd=r,t;let o=t;for(;on);)++o;this.origStart=n+o;const i=o;for(;o=r);)++o;return this.origEnd=r+o,i}}class Au{static addStringTerminator(e,t,n){if("\n"===n[n.length-1])return n;const r=Au.endOfWhiteSpace(e,t);return r>=e.length||"\n"===e[r]?n+"\n":n}static atDocumentBoundary(e,t,n){const r=e[t];if(!r)return!0;const o=e[t-1];if(o&&"\n"!==o)return!1;if(n){if(r!==n)return!1}else if(r!==yu.DIRECTIVES_END&&r!==yu.DOCUMENT_END)return!1;const i=e[t+1],s=e[t+2];if(i!==r||s!==r)return!1;const a=e[t+3];return!a||"\n"===a||"\t"===a||" "===a}static endOfIdentifier(e,t){let n=e[t];const r="<"===n,o=r?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];for(;n&&-1===o.indexOf(n);)n=e[t+=1];return r&&">"===n&&(t+=1),t}static endOfIndent(e,t){let n=e[t];for(;" "===n;)n=e[t+=1];return t}static endOfLine(e,t){let n=e[t];for(;n&&"\n"!==n;)n=e[t+=1];return t}static endOfWhiteSpace(e,t){let n=e[t];for(;"\t"===n||" "===n;)n=e[t+=1];return t}static startOfLine(e,t){let n=e[t-1];if("\n"===n)return t;for(;n&&"\n"!==n;)n=e[t-=1];return t+1}static endOfBlockIndent(e,t,n){const r=Au.endOfIndent(e,n);if(r>n+t)return r;{const t=Au.endOfWhiteSpace(e,r),n=e[t];if(!n||"\n"===n)return t}return null}static atBlank(e,t,n){const r=e[t];return"\n"===r||"\t"===r||" "===r||n&&!r}static nextNodeIsIndented(e,t,n){return!(!e||t<0)&&(t>0||n&&"-"===e)}static normalizeOffset(e,t){const n=e[t];return n?"\n"!==n&&"\n"===e[t-1]?t-1:Au.endOfWhiteSpace(e,t):t}static foldNewline(e,t,n){let r=0,o=!1,i="",s=e[t+1];for(;" "===s||"\t"===s||"\n"===s;){switch(s){case"\n":r=0,t+=1,i+="\n";break;case"\t":r<=n&&(o=!0),t=Au.endOfWhiteSpace(e,t+2)-1;break;case" ":r+=1,t+=1}s=e[t+1]}return i||(i=" "),s&&r<=n&&(o=!0),{fold:i,offset:t,error:o}}constructor(e,t,n){Object.defineProperty(this,"context",{value:n||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}getPropValue(e,t,n){if(!this.context)return null;const{src:r}=this.context,o=this.props[e];return o&&r[o.start]===t?r.slice(o.start+(n?1:0),o.end):null}get anchor(){for(let e=0;e0?e.join("\n"):null}commentHasRequiredWhitespace(e){const{src:t}=this.context;if(this.header&&e===this.header.end)return!1;if(!this.valueRange)return!1;const{end:n}=this.valueRange;return e!==n||Au.atBlank(t,n-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let t=0;tn.setOrigRange(e,t))),t}toString(){const{context:{src:e},range:t,value:n}=this;if(null!=n)return n;const r=e.slice(t.start,t.end);return Au.addStringTerminator(e,t.end,r)}}class Mu extends Error{constructor(e,t,n){if(!(n&&t instanceof Au))throw new Error("Invalid arguments for new ".concat(e));super(),this.name=e,this.message=n,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if("number"==typeof this.offset){this.range=new Su(this.offset,this.offset+1);const t=e&&Eu(this.offset,e);if(t){const e={line:t.line,col:t.col+1};this.linePos={start:t,end:e}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:t,col:n}=this.linePos.start;this.message+=" at line ".concat(t,", column ").concat(n);const r=e&&function(e,t){let{start:n,end:r}=e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:80,i=bu(n.line,t);if(!i)return null;let{col:s}=n;if(i.length>o)if(s<=o-10)i=i.substr(0,o-1)+"\u2026";else{const e=Math.round(o/2);i.length>s+e&&(i=i.substr(0,s+e-1)+"\u2026"),s-=i.length-o,i="\u2026"+i.substr(1-o)}let a=1,c="";r&&(r.line===n.line&&s+(r.col-n.col)<=o+1?a=r.col-n.col:(a=Math.min(i.length+1,o)-s,c="\u2026"));const u=s>1?" ".repeat(s-1):"",l="^".repeat(a);return"".concat(i,"\n").concat(u).concat(l).concat(c)}(this.linePos,e);r&&(this.message+=":\n\n".concat(r,"\n"))}delete this.source}}class Ou extends Mu{constructor(e,t){super("YAMLSemanticError",e,t)}}class Lu extends Au{static endOfLine(e,t,n){let r=e[t],o=t;for(;r&&"\n"!==r&&(!n||"["!==r&&"]"!==r&&"{"!==r&&"}"!==r&&","!==r);){const t=e[o+1];if(":"===r&&(!t||"\n"===t||"\t"===t||" "===t||n&&","===t))break;if((" "===r||"\t"===r)&&"#"===t)break;o+=1,r=t}return o}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{src:n}=this.context;let r=n[t-1];for(;ei?n.slice(i,r+1):e)}else o+=e}const i=n[e];switch(i){case"\t":return{errors:[new Ou(this,"Plain value cannot start with a tab character")],str:o};case"@":case"`":{const e="Plain value cannot start with reserved character ".concat(i);return{errors:[new Ou(this,e)],str:o}}default:return o}}parseBlockValue(e){const{indent:t,inFlow:n,src:r}=this.context;let o=e,i=e;for(let e=r[o];"\n"===e&&!Au.atDocumentBoundary(r,o+1);e=r[o]){const e=Au.endOfBlockIndent(r,t,o+1);if(null===e||"#"===r[e])break;"\n"===r[e]?o=e:(i=Lu.endOfLine(r,e,n),o=i)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=i,i}parse(e,t){this.context=e;const{inFlow:n,src:r}=e;let o=t;const i=r[o];return i&&"#"!==i&&"\n"!==i&&(o=Lu.endOfLine(r,t,n)),this.valueRange=new Su(t,o),o=Au.endOfWhiteSpace(r,o),o=this.parseComment(o),this.hasComment&&!this.valueRange.isEmpty()||(o=this.parseBlockValue(o)),o}}mu.Char=yu,mu.Node=Au,mu.PlainValue=Lu,mu.Range=Su,mu.Type=vu,mu.YAMLError=Mu,mu.YAMLReferenceError=class extends Mu{constructor(e,t){super("YAMLReferenceError",e,t)}},mu.YAMLSemanticError=Ou,mu.YAMLSyntaxError=class extends Mu{constructor(e,t){super("YAMLSyntaxError",e,t)}},mu.YAMLWarning=class extends Mu{constructor(e,t){super("YAMLWarning",e,t)}},mu._defineProperty=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},mu.defaultTagPrefix="tag:yaml.org,2002:",mu.defaultTags={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};var Nu=mu;class Tu extends Nu.Node{constructor(){super(Nu.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e,t){return this.context=e,this.range=new Nu.Range(t,t+1),t+1}}class Cu extends Nu.Node{constructor(e,t){super(e,t),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{atLineStart:o,lineStart:i}=e;o||this.type!==Nu.Type.SEQ_ITEM||(this.error=new Nu.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));const s=o?t-i:e.indent;let a=Nu.Node.endOfWhiteSpace(r,t+1),c=r[a];const u="#"===c,l=[];let f=null;for(;"\n"===c||"#"===c;){if("#"===c){const e=Nu.Node.endOfLine(r,a+1);l.push(new Nu.Range(a,e)),a=e}else{o=!0,i=a+1;"\n"===r[Nu.Node.endOfWhiteSpace(r,i)]&&0===l.length&&(f=new Tu,i=f.parse({src:r},i)),a=Nu.Node.endOfIndent(r,i)}c=r[a]}if(Nu.Node.nextNodeIsIndented(c,a-(i+s),this.type!==Nu.Type.SEQ_ITEM)?this.node=n({atLineStart:o,inCollection:!1,indent:s,lineStart:i,parent:this},a):c&&i>t+1&&(a=i-1),this.node){if(f){const t=e.parent.items||e.parent.contents;t&&t.push(f)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(u){const e=l[0];this.props.push(e),a=e.end}else a=Nu.Node.endOfLine(r,t+1);const h=this.node?this.node.valueRange.end:a;return this.valueRange=new Nu.Range(t,h),a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.node?this.node.setOrigRanges(e,t):t}toString(){const{context:{src:e},node:t,range:n,value:r}=this;if(null!=r)return r;const o=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return Nu.Node.addStringTerminator(e,n.end,o)}}class Pu extends Nu.Node{constructor(){super(Nu.Type.COMMENT)}parse(e,t){this.context=e;const n=this.parseComment(t);return this.range=new Nu.Range(t,n),n}}function xu(e){let t=e;for(;t instanceof Cu;)t=t.node;if(!(t instanceof Ru))return null;const n=t.items.length;let r=-1;for(let e=n-1;e>=0;--e){const n=t.items[e];if(n.type===Nu.Type.COMMENT){const{indent:t,lineStart:o}=n.context;if(t>0&&n.range.start>=o+t)break;r=e}else{if(n.type!==Nu.Type.BLANK_LINE)break;r=e}}if(-1===r)return null;const o=t.items.splice(r,n-r),i=o[0].range.start;for(;t.range.end=i,t.valueRange&&t.valueRange.end>i&&(t.valueRange.end=i),t!==e;)t=t.context.parent;return o}class Ru extends Nu.Node{static nextContentHasIndent(e,t,n){const r=Nu.Node.endOfLine(e,t)+1,o=e[t=Nu.Node.endOfWhiteSpace(e,r)];return!!o&&(t>=r+n||("#"===o||"\n"===o)&&Ru.nextContentHasIndent(e,t,n))}constructor(e){super(e.type===Nu.Type.SEQ_ITEM?Nu.Type.SEQ:Nu.Type.MAP);for(let t=e.props.length-1;t>=0;--t)if(e.props[t].start0}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let o=Nu.Node.startOfLine(r,t);const i=this.items[0];i.context.parent=this,this.valueRange=Nu.Range.copy(i.valueRange);const s=i.range.start-i.context.lineStart;let a=t;a=Nu.Node.normalizeOffset(r,a);let c=r[a],u=Nu.Node.endOfWhiteSpace(r,o)===a,l=!1;for(;c;){for(;"\n"===c||"#"===c;){if(u&&"\n"===c&&!l){const e=new Tu;if(a=e.parse({src:r},a),this.valueRange.end=a,a>=r.length){c=null;break}this.items.push(e),a-=1}else if("#"===c){if(a=r.length){c=null;break}}if(o=a+1,a=Nu.Node.endOfIndent(r,o),Nu.Node.atBlank(r,a)){const e=Nu.Node.endOfWhiteSpace(r,a),t=r[e];t&&"\n"!==t&&"#"!==t||(a=e)}c=r[a],u=!0}if(!c)break;if(a!==o+s&&(u||":"!==c)){if(at&&(a=o);break}if(!this.error){const e="All collection items must start at the same column";this.error=new Nu.YAMLSyntaxError(this,e)}}if(i.type===Nu.Type.SEQ_ITEM){if("-"!==c){o>t&&(a=o);break}}else if("-"===c&&!this.error){const e=r[a+1];if(!e||"\n"===e||"\t"===e||" "===e){const e="A collection cannot be both a mapping and a sequence";this.error=new Nu.YAMLSyntaxError(this,e)}}const e=n({atLineStart:u,inCollection:!0,indent:s,lineStart:o,parent:this},a);if(!e)return a;if(this.items.push(e),this.valueRange.end=e.valueRange.end,a=Nu.Node.normalizeOffset(r,e.range.end),c=r[a],u=!1,l=e.includesTrailingLines,c){let e=a-1,t=r[e];for(;" "===t||"\t"===t;)t=r[--e];"\n"===t&&(o=e+1,u=!0)}const f=xu(e);f&&Array.prototype.push.apply(this.items,f)}return a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.items.forEach((n=>{t=n.setOrigRanges(e,t)})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;let o=e.slice(n.start,t[0].range.start)+String(t[0]);for(let e=1;e0&&(this.contents=this.directives,this.directives=[]),o}return t[o]?(this.directivesEndMarker=new Nu.Range(o,o+3),o+3):(r?this.error=new Nu.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o)}parseContents(e){const{parseNode:t,src:n}=this.context;this.contents||(this.contents=[]);let r=e;for(;"-"===n[r-1];)r-=1;let o=Nu.Node.endOfWhiteSpace(n,e),i=r===e;for(this.valueRange=new Nu.Range(o);!Nu.Node.atDocumentBoundary(n,o,Nu.Char.DOCUMENT_END);){switch(n[o]){case"\n":if(i){const e=new Tu;o=e.parse({src:n},o),o{t=n.setOrigRanges(e,t)})),this.directivesEndMarker&&(t=this.directivesEndMarker.setOrigRange(e,t)),this.contents.forEach((n=>{t=n.setOrigRanges(e,t)})),this.documentEndMarker&&(t=this.documentEndMarker.setOrigRange(e,t)),t}toString(){const{contents:e,directives:t,value:n}=this;if(null!=n)return n;let r=t.join("");return e.length>0&&((t.length>0||e[0].type===Nu.Type.COMMENT)&&(r+="---\n"),r+=e.join("")),"\n"!==r[r.length-1]&&(r+="\n"),r}}class Bu extends Nu.Node{parse(e,t){this.context=e;const{src:n}=e;let r=Nu.Node.endOfIdentifier(n,t+1);return this.valueRange=new Nu.Range(t+1,r),r=Nu.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}const Yu="CLIP",Du="KEEP",Fu="STRIP";class Uu extends Nu.Node{constructor(e,t){super(e,t),this.blockIndent=null,this.chomping=Yu,this.header=null}get includesTrailingLines(){return this.chomping===Du}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{indent:n,src:r}=this.context;if(this.valueRange.isEmpty())return"";let o=null,i=r[t-1];for(;"\n"===i||"\t"===i||" "===i;){if(t-=1,t<=e){if(this.chomping===Du)break;return""}"\n"===i&&(o=t),i=r[t-1]}let s=t+1;o&&(this.chomping===Du?(s=o,t=this.valueRange.end):t=o);const a=n+this.blockIndent,c=this.type===Nu.Type.BLOCK_FOLDED;let u=!0,l="",f="",h=!1;for(let n=e;ns&&(s=c);o="\n"===n[e]?e:i=Nu.Node.endOfLine(n,e)}return this.chomping!==Du&&(o=n[i]?i+1:i),this.valueRange=new Nu.Range(e+1,o),o}parse(e,t){this.context=e;const{src:n}=e;let r=this.parseBlockHeader(t);return r=Nu.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r=this.parseBlockValue(r),r}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.header?this.header.setOrigRange(e,t):t}}class ju extends Nu.Node{constructor(e,t){super(e,t),this.items=null}prevNodeIsJsonLike(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.items.length;const t=this.items[e-1];return!!t&&(t.jsonLike||t.type===Nu.Type.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{indent:o,lineStart:i}=e,s=r[t];this.items=[{char:s,offset:t}];let a=Nu.Node.endOfWhiteSpace(r,t+1);for(s=r[a];s&&"]"!==s&&"}"!==s;){switch(s){case"\n":i=a+1;if("\n"===r[Nu.Node.endOfWhiteSpace(r,i)]){const e=new Tu;i=e.parse({src:r},i),this.items.push(e)}if(a=Nu.Node.endOfIndent(r,i),a<=i+o&&(s=r[a],a{if(n instanceof Nu.Node)t=n.setOrigRanges(e,t);else if(0===e.length)n.origOffset=n.offset;else{let r=t;for(;rn.offset);)++r;n.origOffset=n.offset+r,t=r}})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;const o=t.filter((e=>e instanceof Nu.Node));let i="",s=n.start;return o.forEach((t=>{const n=e.slice(s,t.range.start);s=t.range.end,i+=n+String(t),"\n"===i[i.length-1]&&"\n"!==e[s-1]&&"\n"===e[s]&&(s+=1)})),i+=e.slice(s,n.end),Nu.Node.addStringTerminator(e,n.end,i)}}class Wu extends Nu.Node{static endOfQuote(e,t){let n=e[t];for(;n&&'"'!==n;)n=e[t+="\\"===n?2:1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;'"'!==o[n-1]&&e.push(new Nu.YAMLSyntaxError(this,'Missing closing "quote'));let i="";for(let s=t+1;se?o.slice(e,s+1):t)}else i+=t}return e.length>0?{errors:e,str:i}:i}parseCharCode(e,t,n){const{src:r}=this.context,o=r.substr(e,t),i=o.length===t&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;return isNaN(i)?(n.push(new Nu.YAMLSyntaxError(this,"Invalid escape sequence ".concat(r.substr(e-2,t+2)))),r.substr(e-2,t+2)):String.fromCodePoint(i)}parse(e,t){this.context=e;const{src:n}=e;let r=Wu.endOfQuote(n,t+1);return this.valueRange=new Nu.Range(t,r),r=Nu.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class Ku extends Nu.Node{static endOfQuote(e,t){let n=e[t];for(;n;)if("'"===n){if("'"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;"'"!==o[n-1]&&e.push(new Nu.YAMLSyntaxError(this,"Missing closing 'quote"));let i="";for(let s=t+1;se?o.slice(e,s+1):t)}else i+=t}return e.length>0?{errors:e,str:i}:i}parse(e,t){this.context=e;const{src:n}=e;let r=Ku.endOfQuote(n,t+1);return this.valueRange=new Nu.Range(t,r),r=Nu.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class Vu{static parseType(e,t,n){switch(e[t]){case"*":return Nu.Type.ALIAS;case">":return Nu.Type.BLOCK_FOLDED;case"|":return Nu.Type.BLOCK_LITERAL;case"{":return Nu.Type.FLOW_MAP;case"[":return Nu.Type.FLOW_SEQ;case"?":return!n&&Nu.Node.atBlank(e,t+1,!0)?Nu.Type.MAP_KEY:Nu.Type.PLAIN;case":":return!n&&Nu.Node.atBlank(e,t+1,!0)?Nu.Type.MAP_VALUE:Nu.Type.PLAIN;case"-":return!n&&Nu.Node.atBlank(e,t+1,!0)?Nu.Type.SEQ_ITEM:Nu.Type.PLAIN;case'"':return Nu.Type.QUOTE_DOUBLE;case"'":return Nu.Type.QUOTE_SINGLE;default:return Nu.Type.PLAIN}}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{atLineStart:t,inCollection:n,inFlow:r,indent:o,lineStart:i,parent:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Nu._defineProperty(this,"parseNode",((e,t)=>{if(Nu.Node.atDocumentBoundary(this.src,t))return null;const n=new Vu(this,e),{props:r,type:o,valueStart:i}=n.parseProps(t),s=function(e,t){switch(e){case Nu.Type.ALIAS:return new Bu(e,t);case Nu.Type.BLOCK_FOLDED:case Nu.Type.BLOCK_LITERAL:return new Uu(e,t);case Nu.Type.FLOW_MAP:case Nu.Type.FLOW_SEQ:return new ju(e,t);case Nu.Type.MAP_KEY:case Nu.Type.MAP_VALUE:case Nu.Type.SEQ_ITEM:return new Cu(e,t);case Nu.Type.COMMENT:case Nu.Type.PLAIN:return new Nu.PlainValue(e,t);case Nu.Type.QUOTE_DOUBLE:return new Wu(e,t);case Nu.Type.QUOTE_SINGLE:return new Ku(e,t);default:return null}}(o,r);let a=s.parse(n,i);if(s.range=new Nu.Range(t,a),a<=t&&(s.error=new Error("Node#parse consumed no characters"),s.error.parseEnd=a,s.error.source=s,s.range.end=t+1),n.nodeStartsCollection(s)){s.error||n.atLineStart||n.parent.type!==Nu.Type.DOCUMENT||(s.error=new Nu.YAMLSyntaxError(s,"Block collection must not have preceding content here (e.g. directives-end indicator)"));const e=new Ru(s);return a=e.parse(new Vu(n),a),e.range=new Nu.Range(t,a),e}return s})),this.atLineStart=null!=t?t:e.atLineStart||!1,this.inCollection=null!=n?n:e.inCollection||!1,this.inFlow=null!=r?r:e.inFlow||!1,this.indent=null!=o?o:e.indent,this.lineStart=null!=i?i:e.lineStart,this.parent=null!=s?s:e.parent||{},this.root=e.root,this.src=e.src}nodeStartsCollection(e){const{inCollection:t,inFlow:n,src:r}=this;if(t||n)return!1;if(e instanceof Cu)return!0;let o=e.range.end;return"\n"!==r[o]&&"\n"!==r[o-1]&&(o=Nu.Node.endOfWhiteSpace(r,o),":"===r[o])}parseProps(e){const{inFlow:t,parent:n,src:r}=this,o=[];let i=!1,s=r[e=this.atLineStart?Nu.Node.endOfIndent(r,e):Nu.Node.endOfWhiteSpace(r,e)];for(;s===Nu.Char.ANCHOR||s===Nu.Char.COMMENT||s===Nu.Char.TAG||"\n"===s;){if("\n"===s){let t,o=e;do{t=o+1,o=Nu.Node.endOfIndent(r,t)}while("\n"===r[o]);const s=o-(t+this.indent),a=n.type===Nu.Type.SEQ_ITEM&&n.context.atLineStart;if("#"!==r[o]&&!Nu.Node.nextNodeIsIndented(r[o],s,!a))break;this.atLineStart=!0,this.lineStart=t,i=!1,e=o}else if(s===Nu.Char.COMMENT){const t=Nu.Node.endOfLine(r,e+1);o.push(new Nu.Range(e,t)),e=t}else{let t=Nu.Node.endOfIdentifier(r,e+1);s===Nu.Char.TAG&&","===r[t]&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(r.slice(e+1,t+13))&&(t=Nu.Node.endOfIdentifier(r,t+5)),o.push(new Nu.Range(e,t)),i=!0,e=Nu.Node.endOfWhiteSpace(r,t)}s=r[e]}i&&":"===s&&Nu.Node.atBlank(r,e+1,!0)&&(e-=1);return{props:o,type:Vu.parseType(r,e,t),valueStart:e}}}gu.parse=function(e){const t=[];-1!==e.indexOf("\r")&&(e=e.replace(/\r\n?/g,((e,n)=>(e.length>1&&t.push(n),"\n"))));const n=[];let r=0;do{const t=new ku,o=new Vu({src:e});r=t.parse(o,r),n.push(t)}while(r{if(0===t.length)return!1;for(let e=1;en.join("...\n"),n};var Qu={},qu={},Ju=mu;function $u(e,t,n){return n?-1===n.indexOf("\n")?"".concat(e," #").concat(n):"".concat(e,"\n")+n.replace(/^/gm,"".concat(t||"","#")):e}class Gu{}function Hu(e,t,n){if(Array.isArray(e))return e.map(((e,t)=>Hu(e,String(t),n)));if(e&&"function"==typeof e.toJSON){const r=n&&n.anchors&&n.anchors.get(e);r&&(n.onCreate=e=>{r.res=e,delete n.onCreate});const o=e.toJSON(t,n);return r&&n.onCreate&&n.onCreate(o),o}return n&&n.keep||"bigint"!=typeof e?e:Number(e)}class zu extends Gu{constructor(e){super(),this.value=e}toJSON(e,t){return t&&t.keep?this.value:Hu(this.value,e,t)}toString(){return String(this.value)}}function Zu(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e];if(Number.isInteger(n)&&n>=0){const e=[];e[n]=r,r=e}else{const e={};Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),r=e}}return e.createNode(r,!1)}const Xu=e=>null==e||"object"==typeof e&&e[Symbol.iterator]().next().done;class el extends Gu{constructor(e){super(),Ju._defineProperty(this,"items",[]),this.schema=e}addIn(e,t){if(Xu(e))this.add(t);else{const[n,...r]=e,o=this.get(n,!0);if(o instanceof el)o.addIn(r,t);else{if(void 0!==o||!this.schema)throw new Error("Expected YAML collection at ".concat(n,". Remaining path: ").concat(r));this.set(n,Zu(this.schema,r,t))}}}deleteIn(e){let[t,...n]=e;if(0===n.length)return this.delete(t);const r=this.get(t,!0);if(r instanceof el)return r.deleteIn(n);throw new Error("Expected YAML collection at ".concat(t,". Remaining path: ").concat(n))}getIn(e,t){let[n,...r]=e;const o=this.get(n,!0);return 0===r.length?!t&&o instanceof zu?o.value:o:o instanceof el?o.getIn(r,t):void 0}hasAllNullValues(){return this.items.every((e=>{if(!e||"PAIR"!==e.type)return!1;const t=e.value;return null==t||t instanceof zu&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}hasIn(e){let[t,...n]=e;if(0===n.length)return this.has(t);const r=this.get(t,!0);return r instanceof el&&r.hasIn(n)}setIn(e,t){let[n,...r]=e;if(0===r.length)this.set(n,t);else{const e=this.get(n,!0);if(e instanceof el)e.setIn(r,t);else{if(void 0!==e||!this.schema)throw new Error("Expected YAML collection at ".concat(n,". Remaining path: ").concat(r));this.set(n,Zu(this.schema,r,t))}}}toJSON(){return null}toString(e,t,n,r){let{blockItem:o,flowChars:i,isMap:s,itemIndent:a}=t;const{indent:c,indentStep:u,stringify:l}=e,f=this.type===Ju.Type.FLOW_MAP||this.type===Ju.Type.FLOW_SEQ||e.inFlow;f&&(a+=u);const h=s&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:h,indent:a,inFlow:f,type:null});let p=!1,d=!1;const g=this.items.reduce(((t,n,r)=>{let o;n&&(!p&&n.spaceBefore&&t.push({type:"comment",str:""}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((e=>{t.push({type:"comment",str:"#".concat(e)})})),n.comment&&(o=n.comment),f&&(!p&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(d=!0)),p=!1;let i=l(n,e,(()=>o=null),(()=>p=!0));return f&&!d&&i.includes("\n")&&(d=!0),f&&re.str));if(d||n.reduce(((e,t)=>e+t.length+2),2)>el.maxFlowStringSingleLineLength){m=e;for(const e of n)m+=e?"\n".concat(u).concat(c).concat(e):"\n";m+="\n".concat(c).concat(t)}else m="".concat(e," ").concat(n.join(" ")," ").concat(t)}else{const e=g.map(o);m=e.shift();for(const t of e)m+=t?"\n".concat(c).concat(t):"\n"}return this.comment?(m+="\n"+this.comment.replace(/^/gm,"".concat(c,"#")),n&&n()):p&&r&&r(),m}}function tl(e){let t=e instanceof zu?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}Ju._defineProperty(el,"maxFlowStringSingleLineLength",60);class nl extends el{add(e){this.items.push(e)}delete(e){const t=tl(e);if("number"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=tl(e);if("number"!=typeof n)return;const r=this.items[n];return!t&&r instanceof zu?r.value:r}has(e){const t=tl(e);return"number"==typeof t&&t"comment"===e.type?e.str:"- ".concat(e.str),flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(e.indent||"")+" "},t,n):JSON.stringify(this)}}class rl extends Gu{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super(),this.key=e,this.value=t,this.type=rl.Type.PAIR}get commentBefore(){return this.key instanceof Gu?this.key.commentBefore:void 0}set commentBefore(e){if(null==this.key&&(this.key=new zu(null)),!(this.key instanceof Gu)){throw new Error("Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.")}this.key.commentBefore=e}addToJSMap(e,t){const n=Hu(this.key,"",e);if(t instanceof Map){const r=Hu(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{const r=((e,t,n)=>null===t?"":"object"!=typeof t?String(t):e instanceof Gu&&n&&n.doc?e.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t))(this.key,n,e),o=Hu(this.value,r,e);r in t?Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[r]=o}return t}toJSON(e,t){const n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}toString(e,t,n){if(!e||!e.doc)return JSON.stringify(this);const{indent:r,indentSeq:o,simpleKeys:i}=e.doc.options;let{key:s,value:a}=this,c=s instanceof Gu&&s.comment;if(i){if(c)throw new Error("With simple keys, key nodes cannot have comments");if(s instanceof el){throw new Error("With simple keys, collection cannot be used as a key value")}}let u=!i&&(!s||c||(s instanceof Gu?s instanceof el||s.type===Ju.Type.BLOCK_FOLDED||s.type===Ju.Type.BLOCK_LITERAL:"object"==typeof s));const{doc:l,indent:f,indentStep:h,stringify:p}=e;e=Object.assign({},e,{implicitKey:!u,indent:f+h});let d=!1,g=p(s,e,(()=>c=null),(()=>d=!0));if(g=$u(g,e.indent,c),!u&&g.length>1024){if(i)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");u=!0}if(e.allNullValues&&!i)return this.comment?(g=$u(g,e.indent,this.comment),t&&t()):d&&!c&&n&&n(),e.inFlow&&!u?g:"? ".concat(g);g=u?"? ".concat(g,"\n").concat(f,":"):"".concat(g,":"),this.comment&&(g=$u(g,e.indent,this.comment),t&&t());let m="",y=null;if(a instanceof Gu){if(a.spaceBefore&&(m="\n"),a.commentBefore){const t=a.commentBefore.replace(/^/gm,"".concat(e.indent,"#"));m+="\n".concat(t)}y=a.comment}else a&&"object"==typeof a&&(a=l.schema.createNode(a,!0));e.implicitKey=!1,!u&&!this.comment&&a instanceof zu&&(e.indentAtStart=g.length+1),d=!1,!o&&r>=2&&!e.inFlow&&!u&&a instanceof nl&&a.type!==Ju.Type.FLOW_SEQ&&!a.tag&&!l.anchors.getName(a)&&(e.indent=e.indent.substr(2));const v=p(a,e,(()=>y=null),(()=>d=!0));let w=" ";if(m||this.comment)w="".concat(m,"\n").concat(e.indent);else if(!u&&a instanceof el){("["===v[0]||"{"===v[0])&&!v.includes("\n")||(w="\n".concat(e.indent))}else"\n"===v[0]&&(w="");return d&&!y&&n&&n(),$u(g+w+v,e.indent,y)}}Ju._defineProperty(rl,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const ol=(e,t)=>{if(e instanceof il){const n=t.get(e.source);return n.count*n.aliasCount}if(e instanceof el){let n=0;for(const r of e.items){const e=ol(r,t);e>n&&(n=e)}return n}if(e instanceof rl){const n=ol(e.key,t),r=ol(e.value,t);return Math.max(n,r)}return 1};class il extends Gu{static stringify(e,t){let{range:n,source:r}=e,{anchors:o,doc:i,implicitKey:s,inStringifyKey:a}=t,c=Object.keys(o).find((e=>o[e]===r));if(!c&&a&&(c=i.anchors.getName(r)||i.anchors.newName()),c)return"*".concat(c).concat(s?" ":"");const u=i.anchors.getName(r)?"Alias node must be after source node":"Source node not found for alias node";throw new Error("".concat(u," [").concat(n,"]"))}constructor(e){super(),this.source=e,this.type=Ju.Type.ALIAS}set tag(e){throw new Error("Alias nodes cannot have tags")}toJSON(e,t){if(!t)return Hu(this.source,e,t);const{anchors:n,maxAliasCount:r}=t,o=n.get(this.source);if(!o||void 0===o.res){const e="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new Ju.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}if(r>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=ol(this.source,n)),o.count*o.aliasCount>r)){const e="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new Ju.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}return o.res}toString(e){return il.stringify(this,e)}}function sl(e,t){const n=t instanceof zu?t.value:t;for(const r of e)if(r instanceof rl){if(r.key===t||r.key===n)return r;if(r.key&&r.key.value===n)return r}}Ju._defineProperty(il,"default",!0);class al extends el{add(e,t){e?e instanceof rl||(e=new rl(e.key||e,e.value)):e=new rl(e);const n=sl(this.items,e.key),r=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error("Key ".concat(e.key," already set"));n.value=e.value}else if(r){const t=this.items.findIndex((t=>r(e,t)<0));-1===t?this.items.push(e):this.items.splice(t,0,e)}else this.items.push(e)}delete(e){const t=sl(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=sl(this.items,e),r=n&&n.value;return!t&&r instanceof zu?r.value:r}has(e){return!!sl(this.items,e)}set(e,t){this.add(new rl(e,t),!0)}toJSON(e,t,n){const r=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(r);for(const e of this.items)e.addToJSMap(t,r);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!(e instanceof rl))throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(e)," instead"));return super.toString(e,{blockItem:e=>e.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:e.indent||""},t,n)}}class cl extends rl{constructor(e){if(e instanceof rl){let t=e.value;t instanceof nl||(t=new nl,t.items.push(e.value),t.range=e.value.range),super(e.key,t),this.range=e.range}else super(new zu("<<"),new nl);this.type=rl.Type.MERGE_PAIR}addToJSMap(e,t){for(const{source:n}of this.value.items){if(!(n instanceof al))throw new Error("Merge sources must be maps");const r=n.toJSON(null,e,Map);for(const[e,n]of r)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0})}return t}toString(e,t){const n=this.value;if(n.items.length>1)return super.toString(e,t);this.value=n.items[0];const r=super.toString(e,t);return this.value=n,r}}const ul={defaultType:Ju.Type.BLOCK_LITERAL,lineWidth:76},ll={defaultType:Ju.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function fl(e,t,n){for(const{format:n,test:r,resolve:o}of t)if(r){const t=e.match(r);if(t){let e=o.apply(null,t);return e instanceof zu||(e=new zu(e)),n&&(e.format=n),e}}return n&&(e=n(e)),new zu(e)}const hl=(e,t)=>{let n=e[t+1];for(;" "===n||"\t"===n;){do{n=e[t+=1]}while(n&&"\n"!==n);n=e[t+1]}return t};function pl(e,t,n,r){let{indentAtStart:o,lineWidth:i=80,minContentWidth:s=20,onFold:a,onOverflow:c}=r;if(!i||i<0)return e;const u=Math.max(1+s,1+i-t.length);if(e.length<=u)return e;const l=[],f={};let h,p,d=i-t.length;"number"==typeof o&&(o>i-Math.max(2,s)?l.push(0):d=i-o);let g,m=!1,y=-1,v=-1,w=-1;for("block"===n&&(y=hl(e,y),-1!==y&&(d=y+u));g=e[y+=1];){if("quoted"===n&&"\\"===g){switch(v=y,e[y+1]){case"x":y+=3;break;case"u":y+=5;break;case"U":y+=9;break;default:y+=1}w=y}if("\n"===g)"block"===n&&(y=hl(e,y)),d=y+u,h=void 0;else{if(" "===g&&p&&" "!==p&&"\n"!==p&&"\t"!==p){const t=e[y+1];t&&" "!==t&&"\n"!==t&&"\t"!==t&&(h=y)}if(y>=d)if(h)l.push(h),d=h+u,h=void 0;else if("quoted"===n){for(;" "===p||"\t"===p;)p=g,g=e[y+=1],m=!0;const t=y>w+1?y-2:v-1;if(f[t])return e;l.push(t),f[t]=!0,d=t+u,h=void 0}else m=!0}p=g}if(m&&c&&c(),0===l.length)return e;a&&a();let _=e.slice(0,l[0]);for(let r=0;r{let{indentAtStart:t}=e;return t?Object.assign({indentAtStart:t},ll.fold):ll.fold},gl=e=>/^(%|---|\.\.\.)/m.test(e);function ml(e,t){const{implicitKey:n}=t,{jsonEncoding:r,minMultiLineLength:o}=ll.doubleQuoted,i=JSON.stringify(e);if(r)return i;const s=t.indent||(gl(e)?" ":"");let a="",c=0;for(let e=0,t=i[e];t;t=i[++e])if(" "===t&&"\\"===i[e+1]&&"n"===i[e+2]&&(a+=i.slice(c,e)+"\\ ",e+=1,c=e,t="\\"),"\\"===t)switch(i[e+1]){case"u":{a+=i.slice(c,e);const t=i.substr(e+2,4);switch(t){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:"00"===t.substr(0,2)?a+="\\x"+t.substr(2):a+=i.substr(e,6)}e+=5,c=e+1}break;case"n":if(n||'"'===i[e+2]||i.lengthr)return!0;if(n=t+1,o-n<=r)return!1}return!0}(s,ll.fold.lineWidth,a.length));let l=u?"|":">";if(!s)return l+"\n";let f="",h="";if(s=s.replace(/[\n\t ]*$/,(e=>{const t=e.indexOf("\n");return-1===t?l+="-":s!==e&&t===e.length-1||(l+="+",r&&r()),h=e.replace(/\n$/,""),""})).replace(/^[\n ]*/,(e=>{-1!==e.indexOf(" ")&&(l+=c);const t=e.match(/ +$/);return t?(f=e.slice(0,-t[0].length),t[0]):(f=e,"")})),h&&(h=h.replace(/\n+(?!\n|$)/g,"$&".concat(a))),f&&(f=f.replace(/\n+/g,"$&".concat(a))),o&&(l+=" #"+o.replace(/ ?[\r\n]+/g," "),n&&n()),!s)return"".concat(l).concat(c,"\n").concat(a).concat(h);if(u)return s=s.replace(/\n+/g,"$&".concat(a)),"".concat(l,"\n").concat(a).concat(f).concat(s).concat(h);s=s.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,"$&".concat(a));const p=pl("".concat(f).concat(s).concat(h),a,"block",ll.fold);return"".concat(l,"\n").concat(a).concat(p)}function wl(e,t){let n,r,o;switch(t.type){case Ju.Type.FLOW_MAP:n="}",r="flow map";break;case Ju.Type.FLOW_SEQ:n="]",r="flow sequence";break;default:return void e.push(new Ju.YAMLSemanticError(t,"Not a flow collection!?"))}for(let e=t.items.length-1;e>=0;--e){const n=t.items[e];if(!n||n.type!==Ju.Type.COMMENT){o=n;break}}if(o&&o.char!==n){const i="Expected ".concat(r," to end with ").concat(n);let s;"number"==typeof o.offset?(s=new Ju.YAMLSemanticError(t,i),s.offset=o.offset+1):(s=new Ju.YAMLSemanticError(o,i),o.range&&o.range.end&&(s.offset=o.range.end-o.range.start)),e.push(s)}}function _l(e,t){const n=t.context.src[t.range.start-1];if("\n"!==n&&"\t"!==n&&" "!==n){const n="Comments must be separated from other tokens by white space characters";e.push(new Ju.YAMLSemanticError(t,n))}}function El(e,t){const n=String(t),r=n.substr(0,8)+"..."+n.substr(-8);return new Ju.YAMLSemanticError(e,'The "'.concat(r,'" key is too long'))}function bl(e,t){for(const{afterKey:n,before:r,comment:o}of t){let t=e.items[r];t?(n&&t.value&&(t=t.value),void 0===o?!n&&t.commentBefore||(t.spaceBefore=!0):t.commentBefore?t.commentBefore+="\n"+o:t.commentBefore=o):void 0!==o&&(e.comment?e.comment+="\n"+o:e.comment=o)}}function Sl(e,t){const n=t.strValue;return n?"string"==typeof n?n:(n.errors.forEach((n=>{n.source||(n.source=t),e.errors.push(n)})),n.str):""}function Al(e,t){const{tag:n,type:r}=t;let o=!1;if(n){const{handle:r,suffix:i,verbatim:s}=n;if(s){if("!"!==s&&"!!"!==s)return s;const n="Verbatim tags aren't resolved, so ".concat(s," is invalid.");e.errors.push(new Ju.YAMLSemanticError(t,n))}else if("!"!==r||i)try{return function(e,t){const{handle:n,suffix:r}=t.tag;let o=e.tagPrefixes.find((e=>e.handle===n));if(!o){const r=e.getDefaults().tagPrefixes;if(r&&(o=r.find((e=>e.handle===n))),!o)throw new Ju.YAMLSemanticError(t,"The ".concat(n," tag handle is non-default and was not declared."))}if(!r)throw new Ju.YAMLSemanticError(t,"The ".concat(n," tag has no suffix."));if("!"===n&&"1.0"===(e.version||e.options.version)){if("^"===r[0])return e.warnings.push(new Ju.YAMLWarning(t,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){const e=r.match(/^([a-z0-9-]+)\/(.*)/i);return e?"tag:".concat(e[1],".yaml.org,2002:").concat(e[2]):"tag:".concat(r)}}return o.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else o=!0}switch(r){case Ju.Type.BLOCK_FOLDED:case Ju.Type.BLOCK_LITERAL:case Ju.Type.QUOTE_DOUBLE:case Ju.Type.QUOTE_SINGLE:return Ju.defaultTags.STR;case Ju.Type.FLOW_MAP:case Ju.Type.MAP:return Ju.defaultTags.MAP;case Ju.Type.FLOW_SEQ:case Ju.Type.SEQ:return Ju.defaultTags.SEQ;case Ju.Type.PLAIN:return o?Ju.defaultTags.STR:null;default:return null}}function Ml(e,t,n){const{tags:r}=e.schema,o=[];for(const i of r)if(i.tag===n){if(!i.test){const n=i.resolve(e,t);return n instanceof el?n:new zu(n)}o.push(i)}const i=Sl(e,t);return"string"==typeof i&&o.length>0?fl(i,o,r.scalarFallback):null}function Ol(e,t,n){try{const r=Ml(e,t,n);if(r)return n&&t.tag&&(r.tag=n),r}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{const r=function(e){let{type:t}=e;switch(t){case Ju.Type.FLOW_MAP:case Ju.Type.MAP:return Ju.defaultTags.MAP;case Ju.Type.FLOW_SEQ:case Ju.Type.SEQ:return Ju.defaultTags.SEQ;default:return Ju.defaultTags.STR}}(t);if(!r)throw new Error("The tag ".concat(n," is unavailable"));const o="The tag ".concat(n," is unavailable, falling back to ").concat(r);e.warnings.push(new Ju.YAMLWarning(t,o));const i=Ml(e,t,r);return i.tag=n,i}catch(n){const r=new Ju.YAMLReferenceError(t,n.message);return r.stack=n.stack,e.errors.push(r),null}}function Ll(e,t){const n={before:[],after:[]};let r=!1,o=!1;const i=(e=>{if(!e)return!1;const{type:t}=e;return t===Ju.Type.MAP_KEY||t===Ju.Type.MAP_VALUE||t===Ju.Type.SEQ_ITEM})(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:s,end:a}of i)switch(t.context.src[s]){case Ju.Char.COMMENT:{if(!t.commentHasRequiredWhitespace(s)){const n="Comments must be separated from other tokens by white space characters";e.push(new Ju.YAMLSemanticError(t,n))}const{header:r,valueRange:o}=t;(o&&(s>o.start||r&&s>r.start)?n.after:n.before).push(t.context.src.slice(s+1,a));break}case Ju.Char.ANCHOR:if(r){const n="A node can have at most one anchor";e.push(new Ju.YAMLSemanticError(t,n))}r=!0;break;case Ju.Char.TAG:if(o){const n="A node can have at most one tag";e.push(new Ju.YAMLSemanticError(t,n))}o=!0}return{comments:n,hasAnchor:r,hasTag:o}}function Nl(e,t){if(!t)return null;t.error&&e.errors.push(t.error);const{comments:n,hasAnchor:r,hasTag:o}=Ll(e.errors,t);if(r){const{anchors:n}=e,r=t.anchor,o=n.getNode(r);o&&(n.map[n.newName(r)]=o),n.map[r]=t}if(t.type===Ju.Type.ALIAS&&(r||o)){const n="An alias node must not specify any properties";e.errors.push(new Ju.YAMLSemanticError(t,n))}const i=function(e,t){const{anchors:n,errors:r,schema:o}=e;if(t.type===Ju.Type.ALIAS){const e=t.rawValue,o=n.getNode(e);if(!o){const n="Aliased anchor not found: ".concat(e);return r.push(new Ju.YAMLReferenceError(t,n)),null}const i=new il(o);return n._cstAliases.push(i),i}const i=Al(e,t);if(i)return Ol(e,t,i);if(t.type!==Ju.Type.PLAIN){const e="Failed to resolve ".concat(t.type," node here");return r.push(new Ju.YAMLSyntaxError(t,e)),null}try{return fl(Sl(e,t),o.tags,o.tags.scalarFallback)}catch(e){return e.source||(e.source=t),r.push(e),null}}(e,t);if(i){i.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(i.cstNode=t),e.options.keepNodeTypes&&(i.type=t.type);const r=n.before.join("\n");r&&(i.commentBefore=i.commentBefore?"".concat(i.commentBefore,"\n").concat(r):r);const o=n.after.join("\n");o&&(i.comment=i.comment?"".concat(i.comment,"\n").concat(o):o)}return t.resolved=i}function Tl(e,t){if(!(e=>{let{context:{lineStart:t,node:n,src:r},props:o}=e;if(0===o.length)return!1;const{start:i}=o[0];if(n&&i>n.valueRange.start)return!1;if(r[i]!==Ju.Char.COMMENT)return!1;for(let e=t;e0){n=new Ju.PlainValue(Ju.Type.PLAIN,[]),n.context={parent:a,src:a.context.src};const e=a.range.start+1;if(n.range={start:e,end:e},n.valueRange={start:e,end:e},"number"==typeof a.range.origStart){const e=a.range.origStart+1;n.range.origStart=n.range.origEnd=e,n.valueRange.origStart=n.valueRange.origEnd=e}}const s=new rl(o,Nl(e,n));Tl(a,s),r.push(s),o&&"number"==typeof i&&a.range.start>i+1024&&e.errors.push(El(t,o)),o=void 0,i=null}break;default:void 0!==o&&r.push(new rl(o)),o=Nl(e,a),i=a.range.start,a.error&&e.errors.push(a.error);e:for(let n=s+1;;++n){const r=t.items[n];switch(r&&r.type){case Ju.Type.BLANK_LINE:case Ju.Type.COMMENT:continue e;case Ju.Type.MAP_VALUE:break e;default:{const t="Implicit map keys need to be followed by map values";e.errors.push(new Ju.YAMLSemanticError(a,t));break e}}}if(a.valueRangeContainsNewline){const t="Implicit map keys need to be on a single line";e.errors.push(new Ju.YAMLSemanticError(a,t))}}}void 0!==o&&r.push(new rl(o));return{comments:n,items:r}}(e,t),o=new al;o.items=r,bl(o,n);let i=!1;for(let n=0;n{if(e instanceof il){const{type:t}=e.source;return t!==Ju.Type.MAP&&t!==Ju.Type.FLOW_MAP&&(i="Merge nodes aliases can only point to maps")}return i="Merge nodes can only have Alias nodes as values"})),i&&e.errors.push(new Ju.YAMLSemanticError(t,i))}else for(let i=n+1;is+1024&&e.errors.push(El(t,o));const{src:r}=c.context;for(let t=s;te instanceof rl&&e.key instanceof el))){const n="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new Ju.YAMLWarning(t,n))}return t.resolved=o,o},qu.resolveString=Sl,qu.strOptions=ll,qu.stringifyNumber=function(e){let{format:t,minFractionDigits:n,tag:r,value:o}=e;if("bigint"==typeof o)return String(o);if(!isFinite(o))return isNaN(o)?".nan":o<0?"-.inf":".inf";let i=JSON.stringify(o);if(!t&&n&&(!r||"tag:yaml.org,2002:float"===r)&&/^\d/.test(i)){let e=i.indexOf(".");e<0&&(e=i.length,i+=".");let t=n-(i.length-e-1);for(;t-- >0;)i+="0"}return i},qu.stringifyString=function(e,t,n,r){const{defaultType:o}=ll,{implicitKey:i,inFlow:s}=t;let{type:a,value:c}=e;"string"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));const u=o=>{switch(o){case Ju.Type.BLOCK_FOLDED:case Ju.Type.BLOCK_LITERAL:return vl(e,t,n,r);case Ju.Type.QUOTE_DOUBLE:return ml(c,t);case Ju.Type.QUOTE_SINGLE:return yl(c,t);case Ju.Type.PLAIN:return function(e,t,n,r){const{comment:o,type:i,value:s}=e,{actualString:a,implicitKey:c,indent:u,inFlow:l}=t;if(c&&/[\n[\]{},]/.test(s)||l&&/[[\]{},]/.test(s))return ml(s,t);if(!s||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return c||l||-1===s.indexOf("\n")?-1!==s.indexOf('"')&&-1===s.indexOf("'")?yl(s,t):ml(s,t):vl(e,t,n,r);if(!c&&!l&&i!==Ju.Type.PLAIN&&-1!==s.indexOf("\n"))return vl(e,t,n,r);if(""===u&&gl(s))return t.forceBlockIndent=!0,vl(e,t,n,r);const f=s.replace(/\n+/g,"$&\n".concat(u));if(a){const{tags:e}=t.doc.schema;if("string"!=typeof fl(f,e,e.scalarFallback).value)return ml(s,t)}const h=c?f:pl(f,u,"flow",dl(t));return!o||l||-1===h.indexOf("\n")&&-1===o.indexOf("\n")?h:(n&&n(),function(e,t,n){if(!n)return e;const r=n.replace(/[\s\S]^/gm,"$&".concat(t,"#"));return"#".concat(r,"\n").concat(t).concat(e)}(h,u,o))}(e,t,n,r);default:return null}};a!==Ju.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)?a=Ju.Type.QUOTE_DOUBLE:!i&&!s||a!==Ju.Type.BLOCK_FOLDED&&a!==Ju.Type.BLOCK_LITERAL||(a=Ju.Type.QUOTE_DOUBLE);let l=u(a);if(null===l&&(l=u(o),null===l))throw new Error("Unsupported default string type ".concat(o));return l},qu.toJSON=Hu;var Cl={},Pl=void 0!==Pl?Pl:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},xl=[],Rl=[],Il="undefined"!=typeof Uint8Array?Uint8Array:Array,kl=!1;function Bl(){kl=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=e.length;t>18&63]+xl[o>>12&63]+xl[o>>6&63]+xl[63&o]);return i.join("")}function Dl(e){var t;kl||Bl();for(var n=e.length,r=n%3,o="",i=[],s=16383,a=0,c=n-r;ac?c:a+s));return 1===r?(t=e[n-1],o+=xl[t>>2],o+=xl[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=xl[t>>10],o+=xl[t>>4&63],o+=xl[t<<2&63],o+="="),i.push(o),i.join("")}function Fl(e,t,n,r,o){var i,s,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,p=e[t+f];for(f+=h,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+e[t+f],f+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===i)i=1-u;else{if(i===c)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),i-=u}return(p?-1:1)*s*Math.pow(2,i-r)}function Ul(e,t,n,r,o,i){var s,a,c,u=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*c-1)*Math.pow(2,o),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,o),s=0));o>=8;e[n+p]=255&a,p+=d,a/=256,o-=8);for(s=s<0;e[n+p]=255&s,p+=d,s/=256,u-=8);e[n+p-d]|=128*g}var jl={}.toString,Wl=Array.isArray||function(e){return"[object Array]"==jl.call(e)};function Kl(){return Ql.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Vl(e,t){if(Kl()=Kl())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Kl().toString(16)+" bytes");return 0|e}function zl(e){return!(null==e||!e._isBuffer)}function Zl(e,t){if(zl(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Mf(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Of(e).length;default:if(r)return Mf(e).length;t=(""+t).toLowerCase(),r=!0}}function Xl(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return df(this,t,n);case"utf8":case"utf-8":return ff(this,t,n);case"ascii":return hf(this,t,n);case"latin1":case"binary":return pf(this,t,n);case"base64":return lf(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gf(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function ef(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function tf(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Ql.from(t,r)),zl(t))return 0===t.length?-1:nf(e,t,n,r,o);if("number"==typeof t)return t&=255,Ql.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):nf(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function nf(e,t,n,r,o){var i,s=1,a=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var l=-1;for(i=n;ia&&(n=a-c),i=n;i>=0;i--){for(var f=!0,h=0;ho&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function lf(e,t,n){return 0===t&&n===e.length?Dl(e):Dl(e.slice(t,n))}function ff(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(i=e[o+1]))&&(c=(31&u)<<6|63&i)>127&&(l=c);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(c=(15&u)<<12|(63&i)<<6|63&s)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:i=e[o+1],s=e[o+2],a=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&a)&&(c=(15&u)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Ql.prototype.compare=function(e,t,n,r,o){if(!zl(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(i,s),c=this.slice(r,o),u=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return rf(this,e,t,n);case"utf8":case"utf-8":return of(this,e,t,n);case"ascii":return sf(this,e,t,n);case"latin1":case"binary":return af(this,e,t,n);case"base64":return cf(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return uf(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Ql.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function hf(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function yf(e,t,n,r,o,i){if(!zl(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function vf(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function wf(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function _f(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Ef(e,t,n,r,o){return o||_f(e,0,n,4),Ul(e,t,n,r,23,4),n+4}function bf(e,t,n,r,o){return o||_f(e,0,n,8),Ul(e,t,n,r,52,8),n+8}Ql.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},Ql.prototype.readUInt8=function(e,t){return t||mf(e,1,this.length),this[e]},Ql.prototype.readUInt16LE=function(e,t){return t||mf(e,2,this.length),this[e]|this[e+1]<<8},Ql.prototype.readUInt16BE=function(e,t){return t||mf(e,2,this.length),this[e]<<8|this[e+1]},Ql.prototype.readUInt32LE=function(e,t){return t||mf(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ql.prototype.readUInt32BE=function(e,t){return t||mf(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ql.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||mf(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},Ql.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||mf(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Ql.prototype.readInt8=function(e,t){return t||mf(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ql.prototype.readInt16LE=function(e,t){t||mf(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Ql.prototype.readInt16BE=function(e,t){t||mf(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Ql.prototype.readInt32LE=function(e,t){return t||mf(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ql.prototype.readInt32BE=function(e,t){return t||mf(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ql.prototype.readFloatLE=function(e,t){return t||mf(e,4,this.length),Fl(this,e,!0,23,4)},Ql.prototype.readFloatBE=function(e,t){return t||mf(e,4,this.length),Fl(this,e,!1,23,4)},Ql.prototype.readDoubleLE=function(e,t){return t||mf(e,8,this.length),Fl(this,e,!0,52,8)},Ql.prototype.readDoubleBE=function(e,t){return t||mf(e,8,this.length),Fl(this,e,!1,52,8)},Ql.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||yf(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Ql.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,1,255,0),Ql.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Ql.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,2,65535,0),Ql.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):vf(this,e,t,!0),t+2},Ql.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,2,65535,0),Ql.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):vf(this,e,t,!1),t+2},Ql.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,4,4294967295,0),Ql.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):wf(this,e,t,!0),t+4},Ql.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,4,4294967295,0),Ql.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):wf(this,e,t,!1),t+4},Ql.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);yf(this,e,t,n,o-1,-o)}var i=0,s=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+n},Ql.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);yf(this,e,t,n,o-1,-o)}var i=n-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n},Ql.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,1,127,-128),Ql.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ql.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,2,32767,-32768),Ql.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):vf(this,e,t,!0),t+2},Ql.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,2,32767,-32768),Ql.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):vf(this,e,t,!1),t+2},Ql.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,4,2147483647,-2147483648),Ql.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):wf(this,e,t,!0),t+4},Ql.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||yf(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Ql.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):wf(this,e,t,!1),t+4},Ql.prototype.writeFloatLE=function(e,t,n){return Ef(this,e,t,!0,n)},Ql.prototype.writeFloatBE=function(e,t,n){return Ef(this,e,t,!1,n)},Ql.prototype.writeDoubleLE=function(e,t,n){return bf(this,e,t,!0,n)},Ql.prototype.writeDoubleBE=function(e,t,n){return bf(this,e,t,!1,n)},Ql.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Ql.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Of(e){return function(e){var t,n,r,o,i,s;kl||Bl();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[a-2]?2:"="===e[a-1]?1:0,s=new Il(3*a/4-i),r=i>0?a-4:a;var c=0;for(t=0,n=0;t>16&255,s[c++]=o>>8&255,s[c++]=255&o;return 2===i?(o=Rl[e.charCodeAt(t)]<<2|Rl[e.charCodeAt(t+1)]>>4,s[c++]=255&o):1===i&&(o=Rl[e.charCodeAt(t)]<<10|Rl[e.charCodeAt(t+1)]<<4|Rl[e.charCodeAt(t+2)]>>2,s[c++]=o>>8&255,s[c++]=255&o),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Sf,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Lf(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Nf(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Tf(){throw new Error("setTimeout has not been defined")}function Cf(){throw new Error("clearTimeout has not been defined")}var Pf=Tf,xf=Cf;function Rf(e){if(Pf===setTimeout)return setTimeout(e,0);if((Pf===Tf||!Pf)&&setTimeout)return Pf=setTimeout,setTimeout(e,0);try{return Pf(e,0)}catch(t){try{return Pf.call(null,e,0)}catch(t){return Pf.call(this,e,0)}}}"function"==typeof Pl.setTimeout&&(Pf=setTimeout),"function"==typeof Pl.clearTimeout&&(xf=clearTimeout);var If,kf=[],Bf=!1,Yf=-1;function Df(){Bf&&If&&(Bf=!1,If.length?kf=If.concat(kf):Yf=-1,kf.length&&Ff())}function Ff(){if(!Bf){var e=Rf(Df);Bf=!0;for(var t=kf.length;t;){for(If=kf,kf=[];++Yf1)for(var n=1;ne instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(e,t)=>{const n=th.resolveString(e,t);return Ql.from(n,"base64")},options:th.binaryOptions,stringify:(e,t,n,r)=>{let o,{comment:i,type:s,value:a}=e;if(o=a instanceof Ql?a.toString("base64"):Ql.from(a.buffer).toString("base64"),s||(s=th.binaryOptions.defaultType),s===eh.Type.QUOTE_DOUBLE)a=o;else{const{lineWidth:e}=th.binaryOptions,t=Math.ceil(o.length/e),n=new Array(t);for(let r=0,i=0;r1){const e="Each pair must have its own sequence indicator";throw new eh.YAMLSemanticError(t,e)}const e=r.items[0]||new th.Pair;r.commentBefore&&(e.commentBefore=e.commentBefore?"".concat(r.commentBefore,"\n").concat(e.commentBefore):r.commentBefore),r.comment&&(e.comment=e.comment?"".concat(r.comment,"\n").concat(e.comment):r.comment),r=e}n.items[e]=r instanceof th.Pair?r:new th.Pair(r)}}return n}function oh(e,t,n){const r=new th.YAMLSeq(e);r.tag="tag:yaml.org,2002:pairs";for(const o of t){let t,i;if(Array.isArray(o)){if(2!==o.length)throw new TypeError("Expected [key, value] tuple: ".concat(o));t=o[0],i=o[1]}else if(o&&o instanceof Object){const e=Object.keys(o);if(1!==e.length)throw new TypeError("Expected { key: value } tuple: ".concat(o));t=e[0],i=o[t]}else t=o;const s=e.createPair(t,i,n);r.items.push(s)}return r}const ih={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:rh,createNode:oh};class sh extends th.YAMLSeq{constructor(){super(),eh._defineProperty(this,"add",th.YAMLMap.prototype.add.bind(this)),eh._defineProperty(this,"delete",th.YAMLMap.prototype.delete.bind(this)),eh._defineProperty(this,"get",th.YAMLMap.prototype.get.bind(this)),eh._defineProperty(this,"has",th.YAMLMap.prototype.has.bind(this)),eh._defineProperty(this,"set",th.YAMLMap.prototype.set.bind(this)),this.tag=sh.tag}toJSON(e,t){const n=new Map;t&&t.onCreate&&t.onCreate(n);for(const e of this.items){let r,o;if(e instanceof th.Pair?(r=th.toJSON(e.key,"",t),o=th.toJSON(e.value,r,t)):r=th.toJSON(e,"",t),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,o)}return n}}eh._defineProperty(sh,"tag","tag:yaml.org,2002:omap");const ah={identify:e=>e instanceof Map,nodeClass:sh,default:!1,tag:"tag:yaml.org,2002:omap",resolve:function(e,t){const n=rh(e,t),r=[];for(const{key:e}of n.items)if(e instanceof th.Scalar){if(r.includes(e.value)){const e="Ordered maps must not include duplicate keys";throw new eh.YAMLSemanticError(t,e)}r.push(e.value)}return Object.assign(new sh,n)},createNode:function(e,t,n){const r=oh(e,t,n),o=new sh;return o.items=r.items,o}};class ch extends th.YAMLMap{constructor(){super(),this.tag=ch.tag}add(e){const t=e instanceof th.Pair?e:new th.Pair(e);th.findPair(this.items,t.key)||this.items.push(t)}get(e,t){const n=th.findPair(this.items,e);return!t&&n instanceof th.Pair?n.key instanceof th.Scalar?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(typeof t));const n=th.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new th.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,t,n);throw new Error("Set items must all have null values")}}eh._defineProperty(ch,"tag","tag:yaml.org,2002:set");const uh={identify:e=>e instanceof Set,nodeClass:ch,default:!1,tag:"tag:yaml.org,2002:set",resolve:function(e,t){const n=th.resolveMap(e,t);if(!n.hasAllNullValues())throw new eh.YAMLSemanticError(t,"Set items must all have null values");return Object.assign(new ch,n)},createNode:function(e,t,n){const r=new ch;for(const o of t)r.items.push(e.createPair(o,null,n));return r}},lh=(e,t)=>{const n=t.split(":").reduce(((e,t)=>60*e+Number(t)),0);return"-"===e?-n:n},fh=e=>{let{value:t}=e;if(isNaN(t)||!isFinite(t))return th.stringifyNumber(t);let n="";t<0&&(n="-",t=Math.abs(t));const r=[t%60];return t<60?r.unshift(0):(t=Math.round((t-r[0])/60),r.unshift(t%60),t>=60&&(t=Math.round((t-r[0])/60),r.unshift(t))),n+r.map((e=>e<10?"0"+String(e):String(e))).join(":").replace(/000000\d*$/,"")},hh={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>lh(t,n.replace(/_/g,"")),stringify:fh},ph={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(e,t,n)=>lh(t,n.replace(/_/g,"")),stringify:fh},dh={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(e,t,n,r,o,i,s,a,c)=>{a&&(a=(a+"00").substr(1,3));let u=Date.UTC(t,n-1,r,o||0,i||0,s||0,a||0);if(c&&"Z"!==c){let e=lh(c[0],c.slice(1));Math.abs(e)<30&&(e*=60),u-=6e4*e}return new Date(u)},stringify:e=>{let{value:t}=e;return t.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function gh(e){const t=void 0!==Zf&&Zf.env||{};return e?"undefined"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:"undefined"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function mh(e,t){if(gh(!1)){const n=void 0!==Zf&&Zf.emitWarning;n?n(e,t):console.warn(t?"".concat(t,": ").concat(e):e)}}const yh={};Xf.binary=nh,Xf.floatTime=ph,Xf.intTime=hh,Xf.omap=ah,Xf.pairs=ih,Xf.set=uh,Xf.timestamp=dh,Xf.warn=mh,Xf.warnFileDeprecation=function(e){if(gh(!0)){const t=e.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");mh("The endpoint 'yaml/".concat(t,"' will be removed in a future release."),"DeprecationWarning")}},Xf.warnOptionDeprecation=function(e,t){if(!yh[e]&&gh(!0)){yh[e]=!0;let n="The option '".concat(e,"' will be removed in a future release");n+=t?", use '".concat(t,"' instead."):".",mh(n,"DeprecationWarning")}};var vh=mu,wh=qu,_h=Xf;const Eh={createNode:function(e,t,n){const r=new wh.YAMLMap(e);if(t instanceof Map)for(const[o,i]of t)r.items.push(e.createPair(o,i,n));else if(t&&"object"==typeof t)for(const o of Object.keys(t))r.items.push(e.createPair(o,t[o],n));return"function"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r},default:!0,nodeClass:wh.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:wh.resolveMap};const bh={createNode:function(e,t,n){const r=new wh.YAMLSeq(e);if(t&&t[Symbol.iterator])for(const o of t){const t=e.createNode(o,n.wrapScalars,null,n);r.items.push(t)}return r},default:!0,nodeClass:wh.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:wh.resolveSeq},Sh={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:wh.resolveString,stringify:(e,t,n,r)=>(t=Object.assign({actualString:!0},t),wh.stringifyString(e,t,n,r)),options:wh.strOptions},Ah=[Eh,bh,Sh],Mh=e=>"bigint"==typeof e||Number.isInteger(e),Oh=(e,t,n)=>wh.intOptions.asBigInt?BigInt(e):parseInt(t,n);function Lh(e,t,n){const{value:r}=e;return Mh(r)&&r>=0?n+r.toString(t):wh.stringifyNumber(e)}const Nh={identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new wh.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:wh.nullOptions,stringify:()=>wh.nullOptions.nullStr},Th={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>"t"===e[0]||"T"===e[0],options:wh.boolOptions,stringify:e=>{let{value:t}=e;return t?wh.boolOptions.trueStr:wh.boolOptions.falseStr}},Ch={identify:e=>Mh(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(e,t)=>Oh(e,t,8),options:wh.intOptions,stringify:e=>Lh(e,8,"0o")},Ph={identify:Mh,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:e=>Oh(e,e,10),options:wh.intOptions,stringify:wh.stringifyNumber},xh={identify:e=>Mh(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>Oh(e,t,16),options:wh.intOptions,stringify:e=>Lh(e,16,"0x")},Rh={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:wh.stringifyNumber},Ih={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:e=>{let{value:t}=e;return Number(t).toExponential()}},kh={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(e,t,n){const r=t||n,o=new wh.Scalar(parseFloat(e));return r&&"0"===r[r.length-1]&&(o.minFractionDigits=r.length),o},stringify:wh.stringifyNumber},Bh=Ah.concat([Nh,Th,Ch,Ph,xh,Rh,Ih,kh]),Yh=e=>"bigint"==typeof e||Number.isInteger(e),Dh=e=>{let{value:t}=e;return JSON.stringify(t)},Fh=[Eh,bh,{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:wh.resolveString,stringify:Dh},{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new wh.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Dh},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:e=>"true"===e,stringify:Dh},{identify:Yh,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>wh.intOptions.asBigInt?BigInt(e):parseInt(e,10),stringify:e=>{let{value:t}=e;return Yh(t)?t.toString():JSON.stringify(t)}},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Dh}];Fh.scalarFallback=e=>{throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(e)))};const Uh=e=>{let{value:t}=e;return t?wh.boolOptions.trueStr:wh.boolOptions.falseStr},jh=e=>"bigint"==typeof e||Number.isInteger(e);function Wh(e,t,n){let r=t.replace(/_/g,"");if(wh.intOptions.asBigInt){switch(n){case 2:r="0b".concat(r);break;case 8:r="0o".concat(r);break;case 16:r="0x".concat(r)}const t=BigInt(r);return"-"===e?BigInt(-1)*t:t}const o=parseInt(r,n);return"-"===e?-1*o:o}function Kh(e,t,n){const{value:r}=e;if(jh(r)){const e=r.toString(t);return r<0?"-"+n+e.substr(1):n+e}return wh.stringifyNumber(e)}const Vh=Ah.concat([{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new wh.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:wh.nullOptions,stringify:()=>wh.nullOptions.nullStr},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:wh.boolOptions,stringify:Uh},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:wh.boolOptions,stringify:Uh},{identify:jh,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>Wh(t,n,2),stringify:e=>Kh(e,2,"0b")},{identify:jh,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>Wh(t,n,8),stringify:e=>Kh(e,8,"0")},{identify:jh,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>Wh(t,n,10),stringify:wh.stringifyNumber},{identify:jh,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>Wh(t,n,16),stringify:e=>Kh(e,16,"0x")},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:wh.stringifyNumber},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify:e=>{let{value:t}=e;return Number(t).toExponential()}},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(e,t){const n=new wh.Scalar(parseFloat(e.replace(/_/g,"")));if(t){const e=t.replace(/_/g,"");"0"===e[e.length-1]&&(n.minFractionDigits=e.length)}return n},stringify:wh.stringifyNumber}],_h.binary,_h.omap,_h.pairs,_h.set,_h.intTime,_h.floatTime,_h.timestamp),Qh={core:Bh,failsafe:Ah,json:Fh,yaml11:Vh},qh={binary:_h.binary,bool:Th,float:kh,floatExp:Ih,floatNaN:Rh,floatTime:_h.floatTime,int:Ph,intHex:xh,intOct:Ch,intTime:_h.intTime,map:Eh,null:Nh,omap:_h.omap,pairs:_h.pairs,seq:bh,set:_h.set,timestamp:_h.timestamp};function Jh(e,t,n){if(e instanceof wh.Node)return e;const{defaultPrefix:r,onTagObj:o,prevObjects:i,schema:s,wrapScalars:a}=n;t&&t.startsWith("!!")&&(t=r+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),r=e.find((e=>!e.format))||e[0];if(!r)throw new Error("Tag ".concat(t," not found"));return r}return n.find((t=>(t.identify&&t.identify(e)||t.class&&e instanceof t.class)&&!t.format))}(e,t,s.tags);if(!c){if("function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e)return a?new wh.Scalar(e):e;c=e instanceof Map?Eh:e[Symbol.iterator]?bh:Eh}o&&(o(c),delete n.onTagObj);const u={value:void 0,node:void 0};if(e&&"object"==typeof e&&i){const t=i.get(e);if(t){const e=new wh.Alias(t);return n.aliasNodes.push(e),e}u.value=e,i.set(e,u)}return u.node=c.createNode?c.createNode(n.schema,e,n):a?new wh.Scalar(e):e,t&&u.node instanceof wh.Node&&(u.node.tag=t),u.node}const $h=(e,t)=>e.keyt.key?1:0;class Gh{constructor(e){let{customTags:t,merge:n,schema:r,sortMapEntries:o,tags:i}=e;this.merge=!!n,this.name=r,this.sortMapEntries=!0===o?$h:o||null,!t&&i&&_h.warnOptionDeprecation("tags","customTags"),this.tags=function(e,t,n,r){let o=e[r.replace(/\W/g,"")];if(!o){const t=Object.keys(e).map((e=>JSON.stringify(e))).join(", ");throw new Error('Unknown schema "'.concat(r,'"; use one of ').concat(t))}if(Array.isArray(n))for(const e of n)o=o.concat(e);else"function"==typeof n&&(o=n(o.slice()));for(let e=0;eJSON.stringify(e))).join(", ");throw new Error('Unknown custom tag "'.concat(n,'"; use one of ').concat(e))}o[e]=r}}return o}(Qh,qh,t||i,r)}createNode(e,t,n,r){const o={defaultPrefix:Gh.defaultPrefix,schema:this,wrapScalars:t};return Jh(e,n,r?Object.assign(r,o):o)}createPair(e,t,n){n||(n={wrapScalars:!0});const r=this.createNode(e,n.wrapScalars,null,n),o=this.createNode(t,n.wrapScalars,null,n);return new wh.Pair(r,o)}}vh._defineProperty(Gh,"defaultPrefix",vh.defaultTagPrefix),vh._defineProperty(Gh,"defaultTags",vh.defaultTags),Cl.Schema=Gh;var Hh=mu,zh=qu,Zh=Cl;const Xh={get binary(){return zh.binaryOptions},set binary(e){Object.assign(zh.binaryOptions,e)},get bool(){return zh.boolOptions},set bool(e){Object.assign(zh.boolOptions,e)},get int(){return zh.intOptions},set int(e){Object.assign(zh.intOptions,e)},get null(){return zh.nullOptions},set null(e){Object.assign(zh.nullOptions,e)},get str(){return zh.strOptions},set str(e){Object.assign(zh.strOptions,e)}},ep={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:Hh.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Hh.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Hh.defaultTagPrefix}]}};function tp(e,t){if("1.0"===(e.version||e.options.version)){const e=t.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(e)return"!"+e[1];const n=t.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return n?"!".concat(n[1],"/").concat(n[2]):"!".concat(t.replace(/^tag:/,""))}let n=e.tagPrefixes.find((e=>0===t.indexOf(e.prefix)));if(!n){const r=e.getDefaults().tagPrefixes;n=r&&r.find((e=>0===t.indexOf(e.prefix)))}if(!n)return"!"===t[0]?t:"!<".concat(t,">");const r=t.substr(n.prefix.length).replace(/[!,[\]{}]/g,(e=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[e])));return n.handle+r}function np(e,t,n,r){const{anchors:o,schema:i}=t.doc;let s;if(!(e instanceof zh.Node)){const t={aliasNodes:[],onTagObj:e=>s=e,prevObjects:new Map};e=i.createNode(e,!0,null,t);for(const e of t.aliasNodes){e.source=e.source.node;let t=o.getName(e.source);t||(t=o.newName(),o.map[t]=e.source)}}if(e instanceof zh.Pair)return e.toString(t,n,r);s||(s=function(e,t){if(t instanceof zh.Alias)return zh.Alias;if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))||n[0]}let n,r;if(t instanceof zh.Scalar){r=t.value;const o=e.filter((e=>e.identify&&e.identify(r)||e.class&&r instanceof e.class));n=o.find((e=>e.format===t.format))||o.find((e=>!e.format))}else r=t,n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass));if(!n){const e=r&&r.constructor?r.constructor.name:typeof r;throw new Error("Tag not resolved for ".concat(e," value"))}return n}(i.tags,e));const a=function(e,t,n){let{anchors:r,doc:o}=n;const i=[],s=o.anchors.getName(e);return s&&(r[s]=e,i.push("&".concat(s))),e.tag?i.push(tp(o,e.tag)):t.default||i.push(tp(o,t.tag)),i.join(" ")}(e,s,t);a.length>0&&(t.indentAtStart=(t.indentAtStart||0)+a.length+1);const c="function"==typeof s.stringify?s.stringify(e,t,n,r):e instanceof zh.Scalar?zh.stringifyString(e,t,n,r):e.toString(t,n,r);return a?e instanceof zh.Scalar||"{"===c[0]||"["===c[0]?"".concat(a," ").concat(c):"".concat(a,"\n").concat(t.indent).concat(c):c}class rp{static validAnchorNode(e){return e instanceof zh.Scalar||e instanceof zh.YAMLSeq||e instanceof zh.YAMLMap}constructor(e){Hh._defineProperty(this,"map",Object.create(null)),this.prefix=e}createAlias(e,t){return this.setAnchor(e,t),new zh.Alias(e)}createMergePair(){const e=new zh.Merge;for(var t=arguments.length,n=new Array(t),r=0;r{if(e instanceof zh.Alias){if(e.source instanceof zh.YAMLMap)return e}else if(e instanceof zh.YAMLMap)return this.createAlias(e);throw new Error("Merge sources must be Map nodes or their Aliases")})),e}getName(e){const{map:t}=this;return Object.keys(t).find((n=>t[n]===e))}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){e||(e=this.prefix);const t=Object.keys(this.map);for(let n=1;;++n){const r="".concat(e).concat(n);if(!t.includes(r))return r}}resolveNodes(){const{map:e,_cstAliases:t}=this;Object.keys(e).forEach((t=>{e[t]=e[t].resolved})),t.forEach((e=>{e.source=e.source.resolved})),delete this._cstAliases}setAnchor(e,t){if(null!=e&&!rp.validAnchorNode(e))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(t&&/[\x00-\x19\s,[\]{}]/.test(t))throw new Error("Anchor names must not contain whitespace or control characters");const{map:n}=this,r=e&&Object.keys(n).find((t=>n[t]===e));if(r){if(!t)return r;r!==t&&(delete n[r],n[t]=e)}else{if(!t){if(!e)return null;t=this.newName()}n[t]=e}return t}}const op=(e,t)=>{if(e&&"object"==typeof e){const{tag:n}=e;e instanceof zh.Collection?(n&&(t[n]=!0),e.items.forEach((e=>op(e,t)))):e instanceof zh.Pair?(op(e.key,t),op(e.value,t)):e instanceof zh.Scalar&&n&&(t[n]=!0)}return t};function ip(e,t){let{tagPrefixes:n}=e;const[r,o]=t.parameters;if(!r||!o){const e="Insufficient parameters given for %TAG directive";throw new Hh.YAMLSemanticError(t,e)}if(n.some((e=>e.handle===r))){const e="The %TAG directive must only be given at most once per handle in the same document.";throw new Hh.YAMLSemanticError(t,e)}return{handle:r,prefix:o}}function sp(e,t){let[n]=t.parameters;if("YAML:1.0"===t.name&&(n="1.0"),!n){const e="Insufficient parameters given for %YAML directive";throw new Hh.YAMLSemanticError(t,e)}if(!ep[n]){const r=e.version||e.options.version,o="Document will be parsed as YAML ".concat(r," rather than YAML ").concat(n);e.warnings.push(new Hh.YAMLWarning(t,o))}return n}function ap(e){if(e instanceof zh.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}class cp{constructor(e){this.anchors=new rp(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e){return ap(this.contents),this.contents.add(e)}addIn(e,t){ap(this.contents),this.contents.addIn(e,t)}delete(e){return ap(this.contents),this.contents.delete(e)}deleteIn(e){return zh.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):(ap(this.contents),this.contents.deleteIn(e))}getDefaults(){return cp.defaults[this.version]||cp.defaults[this.options.version]||{}}get(e,t){return this.contents instanceof zh.Collection?this.contents.get(e,t):void 0}getIn(e,t){return zh.isEmptyPath(e)?!t&&this.contents instanceof zh.Scalar?this.contents.value:this.contents:this.contents instanceof zh.Collection?this.contents.getIn(e,t):void 0}has(e){return this.contents instanceof zh.Collection&&this.contents.has(e)}hasIn(e){return zh.isEmptyPath(e)?void 0!==this.contents:this.contents instanceof zh.Collection&&this.contents.hasIn(e)}set(e,t){ap(this.contents),this.contents.set(e,t)}setIn(e,t){zh.isEmptyPath(e)?this.contents=t:(ap(this.contents),this.contents.setIn(e,t))}setSchema(e,t){if(!e&&!t&&this.schema)return;"number"==typeof e&&(e=e.toFixed(1)),"1.0"===e||"1.1"===e||"1.2"===e?(this.version?this.version=e:this.options.version=e,delete this.options.schema):e&&"string"==typeof e&&(this.options.schema=e),Array.isArray(t)&&(this.options.customTags=t);const n=Object.assign({},this.getDefaults(),this.options);this.schema=new Zh.Schema(n)}parse(e,t){this.options.keepCstNodes&&(this.cstNode=e),this.options.keepNodeTypes&&(this.type="DOCUMENT");const{directives:n=[],contents:r=[],directivesEndMarker:o,error:i,valueRange:s}=e;if(i&&(i.source||(i.source=this),this.errors.push(i)),function(e,t,n){const r=[];let o=!1;for(const n of t){const{comment:t,name:i}=n;switch(i){case"TAG":try{e.tagPrefixes.push(ip(e,n))}catch(t){e.errors.push(t)}o=!0;break;case"YAML":case"YAML:1.0":if(e.version){const t="The %YAML directive must only be given at most once per document.";e.errors.push(new Hh.YAMLSemanticError(n,t))}try{e.version=sp(e,n)}catch(t){e.errors.push(t)}o=!0;break;default:if(i){const t="YAML only supports %TAG and %YAML directives, and not %".concat(i);e.warnings.push(new Hh.YAMLWarning(n,t))}}t&&r.push(t)}if(n&&!o&&"1.1"===(e.version||n.version||e.options.version)){const t=e=>{let{handle:t,prefix:n}=e;return{handle:t,prefix:n}};e.tagPrefixes=n.tagPrefixes.map(t),e.version=n.version}e.commentBefore=r.join("\n")||null}(this,n,t),o&&(this.directivesEndMarker=!0),this.range=s?[s.start,s.end]:null,this.setSchema(),this.anchors._cstAliases=[],function(e,t){const n={before:[],after:[]};let r,o=!1;for(const i of t)if(i.valueRange){if(void 0!==r){const t="Document contains trailing content not separated by a ... or --- line";e.errors.push(new Hh.YAMLSyntaxError(i,t));break}const t=zh.resolveNode(e,i);o&&(t.spaceBefore=!0,o=!1),r=t}else null!==i.comment?(void 0===r?n.before:n.after).push(i.comment):i.type===Hh.Type.BLANK_LINE&&(o=!0,void 0===r&&n.before.length>0&&!e.commentBefore&&(e.commentBefore=n.before.join("\n"),n.before=[]));if(e.contents=r||null,r){const t=n.before.join("\n");if(t){const e=r instanceof zh.Collection&&r.items[0]?r.items[0]:r;e.commentBefore=e.commentBefore?"".concat(t,"\n").concat(e.commentBefore):t}e.comment=n.after.join("\n")||null}else e.comment=n.before.concat(n.after).join("\n")||null}(this,r),this.anchors.resolveNodes(),this.options.prettyErrors){for(const e of this.errors)e instanceof Hh.YAMLError&&e.makePretty();for(const e of this.warnings)e instanceof Hh.YAMLError&&e.makePretty()}return this}listNonDefaultTags(){return(e=>Object.keys(op(e,{})))(this.contents).filter((e=>0!==e.indexOf(Zh.Schema.defaultPrefix)))}setTagPrefix(e,t){if("!"!==e[0]||"!"!==e[e.length-1])throw new Error("Handle must start and end with !");if(t){const n=this.tagPrefixes.find((t=>t.handle===e));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((t=>t.handle!==e))}toJSON(e,t){const{keepBlobsInJSON:n,mapAsMap:r,maxAliasCount:o}=this.options,i=n&&("string"!=typeof e||!(this.contents instanceof zh.Scalar)),s={doc:this,indentStep:" ",keep:i,mapAsMap:i&&!!r,maxAliasCount:o,stringify:np},a=Object.keys(this.anchors.map);a.length>0&&(s.anchors=new Map(a.map((e=>[this.anchors.map[e],{alias:[],aliasCount:0,count:1}]))));const c=zh.toJSON(this.contents,e,s);if("function"==typeof t&&s.anchors)for(const{count:e,res:n}of s.anchors.values())t(n,e);return c}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const t=JSON.stringify(e);throw new Error('"indent" option must be a positive integer, not '.concat(t))}this.setSchema();const t=[];let n=!1;if(this.version){let e="%YAML 1.2";"yaml-1.1"===this.schema.name&&("1.0"===this.version?e="%YAML:1.0":"1.1"===this.version&&(e="%YAML 1.1")),t.push(e),n=!0}const r=this.listNonDefaultTags();this.tagPrefixes.forEach((e=>{let{handle:o,prefix:i}=e;r.some((e=>0===e.indexOf(i)))&&(t.push("%TAG ".concat(o," ").concat(i)),n=!0)})),(n||this.directivesEndMarker)&&t.push("---"),this.commentBefore&&(!n&&this.directivesEndMarker||t.unshift(""),t.unshift(this.commentBefore.replace(/^/gm,"#")));const o={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(e),stringify:np};let i=!1,s=null;if(this.contents){this.contents instanceof zh.Node&&(this.contents.spaceBefore&&(n||this.directivesEndMarker)&&t.push(""),this.contents.commentBefore&&t.push(this.contents.commentBefore.replace(/^/gm,"#")),o.forceBlockIndent=!!this.comment,s=this.contents.comment);const e=s?null:()=>i=!0,r=np(this.contents,o,(()=>s=null),e);t.push(zh.addComment(r,"",s))}else void 0!==this.contents&&t.push(np(this.contents,o));return this.comment&&(i&&!s||""===t[t.length-1]||t.push(""),t.push(this.comment.replace(/^/gm,"#"))),t.join("\n")+"\n"}}Hh._defineProperty(cp,"defaults",ep),Qu.Document=cp,Qu.defaultOptions={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},Qu.scalarOptions=Xh;var up=gu,lp=Qu,fp=Cl,hp=mu,pp=Xf;class dp extends lp.Document{constructor(e){super(Object.assign({},lp.defaultOptions,e))}}function gp(e,t){const n=up.parse(e),r=new dp(t).parse(n[0]);if(n.length>1){const e="Source contains multiple documents; please use YAML.parseAllDocuments()";r.errors.unshift(new hp.YAMLSemanticError(n[1],e))}return r}const mp={createNode:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;void 0===n&&"string"==typeof t&&(n=t,t=!0);const r=Object.assign({},lp.Document.defaults[lp.defaultOptions.version],lp.defaultOptions),o=new fp.Schema(r);return o.createNode(e,t,n)},defaultOptions:lp.defaultOptions,Document:dp,parse:function(e,t){const n=gp(e,t);if(n.warnings.forEach((e=>pp.warn(e))),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){const n=[];let r;for(const o of up.parse(e)){const e=new dp(t);e.parse(o,r),n.push(e),r=e}return n},parseCST:up.parse,parseDocument:gp,scalarOptions:lp.scalarOptions,stringify:function(e,t){const n=new dp(t);return n.contents=e,String(n)}};du.YAML=mp;var yp=du.YAML,vp={},wp={},_p=qu,Ep=mu;wp.findPair=_p.findPair,wp.parseMap=_p.resolveMap,wp.parseSeq=_p.resolveSeq,wp.stringifyNumber=_p.stringifyNumber,wp.stringifyString=_p.stringifyString,wp.toJSON=_p.toJSON,wp.Type=Ep.Type,wp.YAMLError=Ep.YAMLError,wp.YAMLReferenceError=Ep.YAMLReferenceError,wp.YAMLSemanticError=Ep.YAMLSemanticError,wp.YAMLSyntaxError=Ep.YAMLSyntaxError,wp.YAMLWarning=Ep.YAMLWarning;const bp=wp;vp.findPair=bp.findPair,vp.toJSON=bp.toJSON,vp.parseMap=bp.parseMap,vp.parseSeq=bp.parseSeq,vp.stringifyNumber=bp.stringifyNumber,vp.stringifyString=bp.stringifyString,vp.Type=bp.Type,vp.YAMLError=bp.YAMLError,vp.YAMLReferenceError=bp.YAMLReferenceError,vp.YAMLSemanticError=bp.YAMLSemanticError,vp.YAMLSyntaxError=bp.YAMLSyntaxError,vp.YAMLWarning=bp.YAMLWarning,pu.__esModule=!0;var Sp=yp;pu.Document=Sp.Document;var Ap=yp;pu.parseCST=Ap.parseCST;var Mp=vp;pu.YAMLError=Mp.YAMLError,pu.YAMLSyntaxError=Mp.YAMLSyntaxError,pu.YAMLSemanticError=Mp.YAMLSemanticError,d.__esModule=!0;var Op=g,Lp=Co,Np=Do,Tp=Wo,Cp=Ko,Pp=li,xp=qc,Rp=Gc,Ip=Zc,kp=eu,Bp=nu,Yp=ru,Dp=pu;d.parse=function(e){var t=Dp.parseCST(e);kp.addOrigRange(t);for(var n=t.map((function(e){return new Dp.Document({merge:!1,keepCstNodes:!0}).parse(e)})),r=[],o={text:e,locator:new Op.default(e),comments:r,transformOffset:function(e){return Rp.transformOffset(e,o)},transformRange:function(e){return Ip.transformRange(e,o)},transformNode:function(e){return Cp.transformNode(e,o)},transformContent:function(e){return Pp.transformContent(e,o)}},i=0,s=n;ie.length?n:e})),c.value=e.join(p)}else c.value=e.join(n.slice(s,s+c.count));s+=c.count,c.added||(a+=c.count)}}var f=t[u-1];return u>1&&"string"==typeof f.value&&(f.added||f.removed)&&e.equals("",f.value)&&(t[u-2].value+=f.value,t.pop()),t}function r(e){return{newPos:e.newPos,components:e.components.slice(0)}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t,t.prototype={diff:function(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.callback;"function"==typeof o&&(i=o,o={}),this.options=o;var u=this;function s(e){return i?(setTimeout((function(){i(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,c=e.length,l=1,p=a+c,f=[{newPos:-1,components:[]}],d=this.extractCommon(f[0],t,e,0);if(f[0].newPos+1>=a&&d+1>=c)return s([{value:this.join(t),count:t.length}]);function h(){for(var o=-1*l;o<=l;o+=2){var i=void 0,p=f[o-1],d=f[o+1],h=(d?d.newPos:0)-o;p&&(f[o-1]=void 0);var g=p&&p.newPos+1=a&&h+1>=c)return s(n(u,i.components,t,e,u.useLongestToken));f[o]=i}else f[o]=void 0}l++}if(i)!function e(){setTimeout((function(){if(l>p)return i();h()||e()}),0)}();else for(;l<=p;){var g=h();if(g)return g}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var o=t.length,i=n.length,u=e.newPos,s=u-r,a=0;u+10&&j[0]<4?1:+(j[0]+j[1])),!_&&ge&&(!(j=ge.match(/Edge\/(\d+)/))||j[1]>=74)&&(j=ge.match(/Chrome\/(\d+)/))&&(_=+j[1]);var Ce=_,be=Ce,ve=T,Ae=!!Object.getOwnPropertySymbols&&!ve((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&be&&be<41})),Fe=Ae&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,xe=pe,Se=ie,we=fe,Te=Fe,Be=S.Object,Ne=Te?function(e){return"symbol"==typeof e}:function(e){var t=xe("Symbol");return Se(t)&&we(t.prototype,Be(e))},ke=S.String,Pe=function(e){try{return ke(e)}catch(e){return"Object"}},Oe=ie,Ie=Pe,Le=S.TypeError,je=function(e){if(Oe(e))return e;throw Le(Ie(e)+" is not a function")},_e=je,Me=function(e,t){var n=e[t];return null==n?void 0:_e(n)},Re=k,Ve=ie,$e=se,We=S.TypeError,qe={exports:{}},Ue=S,Ge=Object.defineProperty,ze=function(e,t){try{Ge(Ue,e,{value:t,configurable:!0,writable:!0})}catch(n){Ue[e]=t}return t},He=ze,Je=S["__core-js_shared__"]||He("__core-js_shared__",{}),Xe=Je;(qe.exports=function(e,t){return Xe[e]||(Xe[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"});var Ye=te,Ke=S.Object,Qe=function(e){return Ke(Ye(e))},Ze=Qe,et=q({}.hasOwnProperty),tt=Object.hasOwn||function(e,t){return et(Ze(e),t)},nt=q,rt=0,ot=Math.random(),it=nt(1..toString),ut=function(e){return"Symbol("+(void 0===e?"":e)+")_"+it(++rt+ot,36)},st=S,at=qe.exports,ct=tt,lt=ut,pt=Ae,ft=Fe,dt=at("wks"),ht=st.Symbol,gt=ht&&ht.for,mt=ft?ht:ht&&ht.withoutSetter||lt,yt=function(e){if(!ct(dt,e)||!pt&&"string"!=typeof dt[e]){var t="Symbol."+e;pt&&ct(ht,e)?dt[e]=ht[e]:dt[e]=ft&>?gt(t):mt(t)}return dt[e]},Dt=k,Et=se,Ct=Ne,bt=Me,vt=function(e,t){var n,r;if("string"===t&&Ve(n=e.toString)&&!$e(r=Re(n,e)))return r;if(Ve(n=e.valueOf)&&!$e(r=Re(n,e)))return r;if("string"!==t&&Ve(n=e.toString)&&!$e(r=Re(n,e)))return r;throw We("Can't convert object to primitive value")},At=yt,Ft=S.TypeError,xt=At("toPrimitive"),St=function(e,t){if(!Et(e)||Ct(e))return e;var n,r=bt(e,xt);if(r){if(void 0===t&&(t="default"),n=Dt(r,e,t),!Et(n)||Ct(n))return n;throw Ft("Can't convert object to primitive value")}return void 0===t&&(t="number"),vt(e,t)},wt=Ne,Tt=function(e){var t=St(e,"string");return wt(t)?t:t+""},Bt=se,Nt=S.document,kt=Bt(Nt)&&Bt(Nt.createElement),Pt=function(e){return kt?Nt.createElement(e):{}},Ot=Pt,It=!B&&!T((function(){return 7!=Object.defineProperty(Ot("div"),"a",{get:function(){return 7}}).a})),Lt=B,jt=k,_t=P,Mt=M,Rt=oe,Vt=Tt,$t=tt,Wt=It,qt=Object.getOwnPropertyDescriptor;w.f=Lt?qt:function(e,t){if(e=Rt(e),t=Vt(t),Wt)try{return qt(e,t)}catch(e){}if($t(e,t))return Mt(!jt(_t.f,e,t),e[t])};var Ut={},Gt=S,zt=se,Ht=Gt.String,Jt=Gt.TypeError,Xt=function(e){if(zt(e))return e;throw Jt(Ht(e)+" is not an object")},Yt=B,Kt=It,Qt=Xt,Zt=Tt,en=S.TypeError,tn=Object.defineProperty;Ut.f=Yt?tn:function(e,t,n){if(Qt(e),t=Zt(t),Qt(n),Kt)try{return tn(e,t,n)}catch(e){}if("get"in n||"set"in n)throw en("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var nn=Ut,rn=M,on=B?function(e,t,n){return nn.f(e,t,rn(1,n))}:function(e,t,n){return e[t]=n,e},un={exports:{}},sn=ie,an=Je,cn=q(Function.toString);sn(an.inspectSource)||(an.inspectSource=function(e){return cn(e)});var ln,pn,fn,dn=an.inspectSource,hn=ie,gn=dn,mn=S.WeakMap,yn=hn(mn)&&/native code/.test(gn(mn)),Dn=qe.exports,En=ut,Cn=Dn("keys"),bn=function(e){return Cn[e]||(Cn[e]=En(e))},vn={},An=yn,Fn=S,xn=q,Sn=se,wn=on,Tn=tt,Bn=Je,Nn=bn,kn=vn,Pn=Fn.TypeError,On=Fn.WeakMap;if(An||Bn.state){var In=Bn.state||(Bn.state=new On),Ln=xn(In.get),jn=xn(In.has),_n=xn(In.set);ln=function(e,t){if(jn(In,e))throw new Pn("Object already initialized");return t.facade=e,_n(In,e,t),t},pn=function(e){return Ln(In,e)||{}},fn=function(e){return jn(In,e)}}else{var Mn=Nn("state");kn[Mn]=!0,ln=function(e,t){if(Tn(e,Mn))throw new Pn("Object already initialized");return t.facade=e,wn(e,Mn,t),t},pn=function(e){return Tn(e,Mn)?e[Mn]:{}},fn=function(e){return Tn(e,Mn)}}var Rn={set:ln,get:pn,has:fn,enforce:function(e){return fn(e)?pn(e):ln(e,{})},getterFor:function(e){return function(t){var n;if(!Sn(t)||(n=pn(t)).type!==e)throw Pn("Incompatible receiver, "+e+" required");return n}}},Vn=B,$n=tt,Wn=Function.prototype,qn=Vn&&Object.getOwnPropertyDescriptor,Un=$n(Wn,"name"),Gn=Un&&"something"===function(){}.name,zn=Un&&(!Vn||Vn&&qn(Wn,"name").configurable),Hn=S,Jn=ie,Xn=tt,Yn=on,Kn=ze,Qn=dn,Zn={EXISTS:Un,PROPER:Gn,CONFIGURABLE:zn}.CONFIGURABLE,er=Rn.get,tr=Rn.enforce,nr=String(String).split("String");(un.exports=function(e,t,n,r){var o,i=!!r&&!!r.unsafe,u=!!r&&!!r.enumerable,s=!!r&&!!r.noTargetGet,a=r&&void 0!==r.name?r.name:t;Jn(n)&&("Symbol("===String(a).slice(0,7)&&(a="["+String(a).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Xn(n,"name")||Zn&&n.name!==a)&&Yn(n,"name",a),(o=tr(n)).source||(o.source=nr.join("string"==typeof a?a:""))),e!==Hn?(i?!s&&e[t]&&(u=!0):delete e[t],u?e[t]=n:Yn(e,t,n)):u?e[t]=n:Kn(t,n)})(Function.prototype,"toString",(function(){return Jn(this)&&er(this).source||Qn(this)}));var rr={},or=Math.ceil,ir=Math.floor,ur=function(e){var t=+e;return t!=t||0===t?0:(t>0?ir:or)(t)},sr=ur,ar=Math.max,cr=Math.min,lr=ur,pr=Math.min,fr=function(e){return e>0?pr(lr(e),9007199254740991):0},dr=function(e){return fr(e.length)},hr=oe,gr=function(e,t){var n=sr(e);return n<0?ar(n+t,0):cr(n,t)},mr=dr,yr=function(e){return function(t,n,r){var o,i=hr(t),u=mr(i),s=gr(r,u);if(e&&n!=n){for(;u>s;)if((o=i[s++])!=o)return!0}else for(;u>s;s++)if((e||s in i)&&i[s]===n)return e||s||0;return!e&&-1}},Dr={includes:yr(!0),indexOf:yr(!1)},Er=tt,Cr=oe,br=Dr.indexOf,vr=vn,Ar=q([].push),Fr=function(e,t){var n,r=Cr(e),o=0,i=[];for(n in r)!Er(vr,n)&&Er(r,n)&&Ar(i,n);for(;t.length>o;)Er(r,n=t[o++])&&(~br(i,n)||Ar(i,n));return i},xr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Sr=Fr,wr=xr.concat("length","prototype");rr.f=Object.getOwnPropertyNames||function(e){return Sr(e,wr)};var Tr={};Tr.f=Object.getOwnPropertySymbols;var Br=pe,Nr=rr,kr=Tr,Pr=Xt,Or=q([].concat),Ir=Br("Reflect","ownKeys")||function(e){var t=Nr.f(Pr(e)),n=kr.f;return n?Or(t,n(e)):t},Lr=tt,jr=Ir,_r=w,Mr=Ut,Rr=T,Vr=ie,$r=/#|\.prototype\./,Wr=function(e,t){var n=Ur[qr(e)];return n==zr||n!=Gr&&(Vr(t)?Rr(t):!!t)},qr=Wr.normalize=function(e){return String(e).replace($r,".").toLowerCase()},Ur=Wr.data={},Gr=Wr.NATIVE="N",zr=Wr.POLYFILL="P",Hr=Wr,Jr=S,Xr=w.f,Yr=on,Kr=un.exports,Qr=ze,Zr=function(e,t){for(var n=jr(t),r=Mr.f,o=_r.f,i=0;i0;)e[r]=e[--r];r!==i++&&(e[r]=n)}return e},Do=function(e,t,n,r){for(var o=t.length,i=n.length,u=0,s=0;u3)){if(jo)return!0;if(Mo)return Mo<603;var e,t,n,r,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)Ro.push({k:t+r,v:n})}for(Ro.sort((function(e,t){return t.v-e.v})),r=0;rko(n)?1:-1}}(e)),n=o.length,r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\r\n|[\n\v\f\r\x85]/),r=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],o=[],i=0;function u(){var e={};for(o.push(e);i2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof t&&(t=(0,ui.parsePatch)(t)),Array.isArray(t)){if(t.length>1)throw new Error("applyPatch only works with a single input.");t=t[0]}var r,o,i=e.split(/\r\n|[\n\v\f\r\x85]/),u=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=t.hunks,a=n.compareLine||function(e,t,n,r){return t===r},c=0,l=n.fuzzFactor||0,p=0,f=0;function d(e,t){for(var n=0;n0?r[0]:" ",u=r.length>0?r.substr(1):r;if(" "===o||"-"===o){if(!a(t+1,i[t],o,u)&&++c>l)return!1;t++}}return!0}for(var h=0;h0?x[0]:" ",w=x.length>0?x.substr(1):x,T=v.linedelimiters[F];if(" "===S)A++;else if("-"===S)i.splice(A,1),u.splice(A,1);else if("+"===S)i.splice(A,0,w),u.splice(A,0,T),A++;else if("\\"===S){var B=v.lines[F-1]?v.lines[F-1][0]:null;"+"===B?r=!0:"-"===B&&(o=!0)}}}if(r)for(;!i[i.length-1];)i.pop(),u.pop();else o&&(i.push(""),u.push("\n"));for(var N=0;Ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a(g.lines.slice(-u.context)):[],l-=f.length,p-=f.length)}(i=f).push.apply(i,fi(o.map((function(e){return(t.added?"+":"-")+e})))),t.added?h+=o.length:d+=o.length}else{if(l)if(o.length<=2*u.context&&e=s.length-2&&o.length<=u.context){var C=/\n$/.test(n),b=/\n$/.test(r),v=0==o.length&&f.length>E.oldLines;!C&&v&&n.length>0&&f.splice(E.oldLines,0,"\\ No newline at end of file"),(C||v)&&b||f.push("\\ No newline at end of file")}c.push(E),l=0,p=0,f=[]}d+=o.length,h+=o.length}},m=0;me.length)return!1;for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n/g,">")).replace(/"/g,""")}function qi(e){return{type:"concat",parts:e}}function Ui(e){return{type:"indent",contents:e}}function Gi(e,t){return{type:"align",contents:t,n:e}}function zi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{type:"group",id:t.id,contents:e,break:Boolean(t.shouldBreak),expandedStates:t.expandedStates}}Object.defineProperty($i,"__esModule",{value:!0}),$i.convertChangesToXML=function(e){for(var t=[],n=0;n"):r.removed&&t.push(""),t.push(Wi(r.value)),r.added?t.push(""):r.removed&&t.push("")}return t.join("")},function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"Diff",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"diffChars",{enumerable:!0,get:function(){return n.diffChars}}),Object.defineProperty(e,"diffWords",{enumerable:!0,get:function(){return r.diffWords}}),Object.defineProperty(e,"diffWordsWithSpace",{enumerable:!0,get:function(){return r.diffWordsWithSpace}}),Object.defineProperty(e,"diffLines",{enumerable:!0,get:function(){return i.diffLines}}),Object.defineProperty(e,"diffTrimmedLines",{enumerable:!0,get:function(){return i.diffTrimmedLines}}),Object.defineProperty(e,"diffSentences",{enumerable:!0,get:function(){return s.diffSentences}}),Object.defineProperty(e,"diffCss",{enumerable:!0,get:function(){return c.diffCss}}),Object.defineProperty(e,"diffJson",{enumerable:!0,get:function(){return l.diffJson}}),Object.defineProperty(e,"canonicalize",{enumerable:!0,get:function(){return l.canonicalize}}),Object.defineProperty(e,"diffArrays",{enumerable:!0,get:function(){return p.diffArrays}}),Object.defineProperty(e,"applyPatch",{enumerable:!0,get:function(){return f.applyPatch}}),Object.defineProperty(e,"applyPatches",{enumerable:!0,get:function(){return f.applyPatches}}),Object.defineProperty(e,"parsePatch",{enumerable:!0,get:function(){return d.parsePatch}}),Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return h.merge}}),Object.defineProperty(e,"structuredPatch",{enumerable:!0,get:function(){return m.structuredPatch}}),Object.defineProperty(e,"createTwoFilesPatch",{enumerable:!0,get:function(){return m.createTwoFilesPatch}}),Object.defineProperty(e,"createPatch",{enumerable:!0,get:function(){return m.createPatch}}),Object.defineProperty(e,"convertChangesToDMP",{enumerable:!0,get:function(){return y.convertChangesToDMP}}),Object.defineProperty(e,"convertChangesToXML",{enumerable:!0,get:function(){return D.convertChangesToXML}});var t=function(e){return e&&e.__esModule?e:{default:e}}(o),n=u,r=a,i=g,s=E,c=v,l=zo,p=Zo,f=ni,d=ri,h=ci,m=li,y=Vi,D=$i}(r);const Hi={type:"break-parent"},Ji={type:"line",hard:!0},Xi={type:"line",hard:!0,literal:!0},Yi=qi([Ji,Hi]),Ki=qi([Xi,Hi]);var Qi={concat:qi,join:function(e,t){const n=[];for(let r=0;r2&&void 0!==arguments[2]?arguments[2]:{};return{type:"if-break",breakContents:e,flatContents:t,groupId:n.groupId}},trim:{type:"trim"},indent:Ui,indentIfBreak:function(e,t){return{type:"indent-if-break",contents:e,groupId:t.groupId,negate:t.negate}},align:Gi,addAlignmentToDoc:function(e,t,n){let r=e;if(t>0){for(let e=0;e0&&void 0!==arguments[0]?arguments[0]:{};const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")};var tu={exports:{}};const nu=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));tu.exports=nu,tu.exports.default=nu;const ru=e=>"string"==typeof e?e.replace(eu(),""):e,ou=tu.exports,iu=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},uu=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=ru(e)).length)return 0;e=e.replace(iu()," ");let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=ou(r)?2:1))}return t};Zi.exports=uu,Zi.exports.default=uu;var su=e=>e[e.length-1];function au(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function cu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var lu=H,pu=Array.isArray||function(e){return"Array"==lu(e)},fu=je,du=q(q.bind),hu=function(e,t){return fu(e),void 0===t?e:du?du(e,t):function(){return e.apply(t,arguments)}},gu=pu,mu=dr,yu=hu,Du=S.TypeError,Eu=function(e,t,n,r,o,i,u,s){for(var a,c,l=o,p=0,f=!!u&&yu(u,s);p0&&gu(a))c=mu(a),l=Eu(e,t,a,c,l,i-1)-1;else{if(l>=9007199254740991)throw Du("Exceed the acceptable array length");e[l]=a}l++}p++}return l},Cu=Eu,bu=q,vu=T,Au=ie,Fu=lo,xu=dn,Su=function(){},wu=[],Tu=pe("Reflect","construct"),Bu=/^\s*(?:class|function)\b/,Nu=bu(Bu.exec),ku=!Bu.exec(Su),Pu=function(e){if(!Au(e))return!1;try{return Tu(Su,wu,e),!0}catch(e){return!1}},Ou=!Tu||vu((function(){var e;return Pu(Pu.call)||!Pu(Object)||!Pu((function(){e=!0}))||e}))?function(e){if(!Au(e))return!1;switch(Fu(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return ku||!!Nu(Bu,xu(e))}:Pu,Iu=S,Lu=pu,ju=Ou,_u=se,Mu=yt("species"),Ru=Iu.Array,Vu=function(e){var t;return Lu(e)&&(t=e.constructor,(ju(t)&&(t===Ru||Lu(t.prototype))||_u(t)&&null===(t=t[Mu]))&&(t=void 0)),void 0===t?Ru:t},$u=function(e,t){return new(Vu(e))(0===t?0:t)},Wu=Cu,qu=je,Uu=Qe,Gu=dr,zu=$u;to({target:"Array",proto:!0},{flatMap:function(e){var t,n=Uu(this),r=Gu(n);return qu(e),(t=zu(n,0)).length=Wu(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Hu={},Ju=Hu,Xu=yt("iterator"),Yu=Array.prototype,Ku=lo,Qu=Me,Zu=Hu,es=yt("iterator"),ts=function(e){if(null!=e)return Qu(e,es)||Qu(e,"@@iterator")||Zu[Ku(e)]},ns=k,rs=je,os=Xt,is=Pe,us=ts,ss=S.TypeError,as=k,cs=Xt,ls=Me,ps=hu,fs=k,ds=Xt,hs=Pe,gs=function(e){return void 0!==e&&(Ju.Array===e||Yu[Xu]===e)},ms=dr,ys=fe,Ds=function(e,t){var n=arguments.length<2?us(e):t;if(rs(n))return os(ns(n,e));throw ss(is(e)+" is not iterable")},Es=ts,Cs=function(e,t,n){var r,o;cs(e);try{if(!(r=ls(e,"return"))){if("throw"===t)throw n;return n}r=as(r,e)}catch(e){o=!0,r=e}if("throw"===t)throw n;if(o)throw r;return cs(r),n},bs=S.TypeError,vs=function(e,t){this.stopped=e,this.result=t},As=vs.prototype,Fs=Tt,xs=Ut,Ss=M,ws=function(e,t,n){var r,o,i,u,s,a,c,l=n&&n.that,p=!(!n||!n.AS_ENTRIES),f=!(!n||!n.IS_ITERATOR),d=!(!n||!n.INTERRUPTED),h=ps(t,l),g=function(e){return r&&Cs(r,"normal",e),new vs(!0,e)},m=function(e){return p?(ds(e),d?h(e[0],e[1],g):h(e[0],e[1])):d?h(e,g):h(e)};if(f)r=e;else{if(!(o=Es(e)))throw bs(hs(e)+" is not iterable");if(gs(o)){for(i=0,u=ms(e);u>i;i++)if((s=m(e[i]))&&ys(As,s))return s;return new vs(!1)}r=Ds(e,o)}for(a=r.next;!(c=fs(a,r)).done;){try{s=m(c.value)}catch(e){Cs(r,"throw",e)}if("object"==typeof s&&s&&ys(As,s))return s}return new vs(!1)},Ts=function(e,t,n){var r=Fs(t);r in e?xs.f(e,r,Ss(0,n)):e[r]=n};to({target:"Object",stat:!0},{fromEntries:function(e){var t={};return ws(e,(function(e,n){Ts(t,e,n)}),{AS_ENTRIES:!0}),t}});var Bs=void 0!==Bs?Bs:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Ns(){throw new Error("setTimeout has not been defined")}function ks(){throw new Error("clearTimeout has not been defined")}var Ps=Ns,Os=ks;function Is(e){if(Ps===setTimeout)return setTimeout(e,0);if((Ps===Ns||!Ps)&&setTimeout)return Ps=setTimeout,setTimeout(e,0);try{return Ps(e,0)}catch(t){try{return Ps.call(null,e,0)}catch(t){return Ps.call(this,e,0)}}}"function"==typeof Bs.setTimeout&&(Ps=setTimeout),"function"==typeof Bs.clearTimeout&&(Os=clearTimeout);var Ls,js=[],_s=!1,Ms=-1;function Rs(){_s&&Ls&&(_s=!1,Ls.length?js=Ls.concat(js):Ms=-1,js.length&&Vs())}function Vs(){if(!_s){var e=Is(Rs);_s=!0;for(var t=js.length;t;){for(Ls=js,js=[];++Ms1)for(var n=1;n{};var ta={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},na={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=ta,r=ea,o=(t=e.exports={}).re=[],i=t.src=[],u=t.t={};let s=0;const a=(e,t,n)=>{const a=s++;r(a,t),u[e]=a,i[a]=t,o[a]=new RegExp(t,n?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION","(".concat(i[u.NUMERICIDENTIFIER],")\\.")+"(".concat(i[u.NUMERICIDENTIFIER],")\\.")+"(".concat(i[u.NUMERICIDENTIFIER],")")),a("MAINVERSIONLOOSE","(".concat(i[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[u.NUMERICIDENTIFIERLOOSE],")")),a("PRERELEASEIDENTIFIER","(?:".concat(i[u.NUMERICIDENTIFIER],"|").concat(i[u.NONNUMERICIDENTIFIER],")")),a("PRERELEASEIDENTIFIERLOOSE","(?:".concat(i[u.NUMERICIDENTIFIERLOOSE],"|").concat(i[u.NONNUMERICIDENTIFIER],")")),a("PRERELEASE","(?:-(".concat(i[u.PRERELEASEIDENTIFIER],"(?:\\.").concat(i[u.PRERELEASEIDENTIFIER],")*))")),a("PRERELEASELOOSE","(?:-?(".concat(i[u.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(i[u.PRERELEASEIDENTIFIERLOOSE],")*))")),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD","(?:\\+(".concat(i[u.BUILDIDENTIFIER],"(?:\\.").concat(i[u.BUILDIDENTIFIER],")*))")),a("FULLPLAIN","v?".concat(i[u.MAINVERSION]).concat(i[u.PRERELEASE],"?").concat(i[u.BUILD],"?")),a("FULL","^".concat(i[u.FULLPLAIN],"$")),a("LOOSEPLAIN","[v=\\s]*".concat(i[u.MAINVERSIONLOOSE]).concat(i[u.PRERELEASELOOSE],"?").concat(i[u.BUILD],"?")),a("LOOSE","^".concat(i[u.LOOSEPLAIN],"$")),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE","".concat(i[u.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),a("XRANGEIDENTIFIER","".concat(i[u.NUMERICIDENTIFIER],"|x|X|\\*")),a("XRANGEPLAIN","[v=\\s]*(".concat(i[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[u.XRANGEIDENTIFIER],")")+"(?:".concat(i[u.PRERELEASE],")?").concat(i[u.BUILD],"?")+")?)?"),a("XRANGEPLAINLOOSE","[v=\\s]*(".concat(i[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[u.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(i[u.PRERELEASELOOSE],")?").concat(i[u.BUILD],"?")+")?)?"),a("XRANGE","^".concat(i[u.GTLT],"\\s*").concat(i[u.XRANGEPLAIN],"$")),a("XRANGELOOSE","^".concat(i[u.GTLT],"\\s*").concat(i[u.XRANGEPLAINLOOSE],"$")),a("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),a("COERCERTL",i[u.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM","(\\s*)".concat(i[u.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",a("TILDE","^".concat(i[u.LONETILDE]).concat(i[u.XRANGEPLAIN],"$")),a("TILDELOOSE","^".concat(i[u.LONETILDE]).concat(i[u.XRANGEPLAINLOOSE],"$")),a("LONECARET","(?:\\^)"),a("CARETTRIM","(\\s*)".concat(i[u.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",a("CARET","^".concat(i[u.LONECARET]).concat(i[u.XRANGEPLAIN],"$")),a("CARETLOOSE","^".concat(i[u.LONECARET]).concat(i[u.XRANGEPLAINLOOSE],"$")),a("COMPARATORLOOSE","^".concat(i[u.GTLT],"\\s*(").concat(i[u.LOOSEPLAIN],")$|^$")),a("COMPARATOR","^".concat(i[u.GTLT],"\\s*(").concat(i[u.FULLPLAIN],")$|^$")),a("COMPARATORTRIM","(\\s*)".concat(i[u.GTLT],"\\s*(").concat(i[u.LOOSEPLAIN],"|").concat(i[u.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE","^\\s*(".concat(i[u.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(i[u.XRANGEPLAIN],")")+"\\s*$"),a("HYPHENRANGELOOSE","^\\s*(".concat(i[u.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(i[u.XRANGEPLAINLOOSE],")")+"\\s*$"),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}(na,na.exports);const ra=["includePrerelease","loose","rtl"];var oa=e=>e?"object"!=typeof e?{loose:!0}:ra.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const ia=/^[0-9]+$/,ua=(e,t)=>{const n=ia.test(e),r=ia.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eua(t,e)};const aa=ea,{MAX_LENGTH:ca,MAX_SAFE_INTEGER:la}=ta,{re:pa,t:fa}=na.exports,da=oa,{compareIdentifiers:ha}=sa;class ga{constructor(e,t){if(t=da(t),e instanceof ga){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>ca)throw new TypeError("version is longer than ".concat(ca," characters"));aa("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?pa[fa.LOOSE]:pa[fa.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>la||this.major<0)throw new TypeError("Invalid major version");if(this.minor>la||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>la||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}const ma=ga;var ya=(e,t,n)=>new ma(e,n).compare(new ma(t,n));const Da=ya;var Ea=(e,t,n)=>Da(e,t,n)<0;const Ca=ya;var ba,va,Aa,Fa,xa,Sa,wa=(e,t,n)=>Ca(e,t,n)>=0,Ta={exports:{}};!function(e,t){function n(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ba(Aa||(Aa=cu(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]))),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ba(Fa||(Fa=cu(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ba(xa||(xa=cu(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]))),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ba(Sa||(Sa=cu(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]))),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const ka=["cliName","cliCategory","cliDescription"],Pa={compare:ya,lt:Ea,gte:wa},Oa=(e,t)=>Object.entries(e).map((e=>{let[n,r]=e;return Object.assign({[t]:n},r)})),Ia=n.version,La={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Na}.options;function ja(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!r.has(t)){r.add(t);const i=n.find((e=>e.parsers&&e.parsers[t]));let u=o.name;i&&i.name&&(u+=" (plugin: ".concat(i.name,")")),e.choices.push({value:t,description:u})}}var _a={getSupportInfo:function(){let{plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const o=Ia.split("-",1)[0],i=e.flatMap((e=>e.languages||[])).filter(s),u=Oa(Object.assign({},...e.map((e=>{let{options:t}=e;return t})),La),"name").filter((e=>s(e)&&a(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort(((e,t)=>Pa.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>s(e)&&a(e))),"parser"===t.name&&ja(t,i,e));const n=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:n})}));return{languages:i,options:u};function s(e){return t||!("since"in e)||e.since&&Pa.gte(o,e.since)}function a(e){return n||!("deprecated"in e)||e.deprecated&&Pa.lt(o,e.deprecated)}function c(e){if(r)return e;return au(e,ka)}}};const Ma=Zi.exports,Ra=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Va=su,{getSupportInfo:$a}=_a,Wa=/[^\x20-\x7F]/;function qa(e){return(t,n,r)=>{const o=r&&r.backwards;if(!1===n)return!1;const{length:i}=t;let u=n;for(;u>=0&&u2&&void 0!==arguments[2]?arguments[2]:{};const r=Ga(e,n.backwards?t-1:t,n),o=Ya(e,r,n);return r!==o}function Qa(e,t){let n=null,r=t;for(;r!==n;)n=r,r=za(e,r),r=Ja(e,r),r=Ga(e,r);return r=Xa(e,r),r=Ya(e,r),!1!==r&&Ka(e,r)}function Za(e,t){let n=null,r=t;for(;r!==n;)n=r,r=Ga(e,r),r=Ja(e,r),r=Xa(e,r),r=Ya(e,r);return r}function ec(e,t,n){return Za(e,n(t))}function tc(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let o=n;o(e.match(i.regex)||[]).length?i:o}return u}function rc(e,t,n){const r='"'===t?"'":'"',o=e.replace(/\\(.)|(["'])/gs,((e,o,i)=>o===r?o:i===t?"\\"+i:i||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(o)?o:"\\"+o)));return t+o+t}function oc(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let n=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");n.length>20&&(n=n.slice(0,19)+"\u2026");return t+(n?" "+n:"")}(e)}var ic={inferParserByLanguage:function(e,t){const{languages:n}=$a({plugins:t.plugins}),r=n.find((t=>{let{name:n}=t;return n.toLowerCase()===e}))||n.find((t=>{let{aliases:n}=t;return Array.isArray(n)&&n.includes(e)}))||n.find((t=>{let{extensions:n}=t;return Array.isArray(n)&&n.includes(".".concat(e))}));return r&&r.parsers[0]},getStringWidth:function(e){return e?Wa.test(e)?Ma(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(Ra(t),")+"),"g"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(Ra(t),")+"),"g"));if(null===n)return 0;const r=new Map;let o=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>o&&(o=n)}for(let e=1;ee[e.length-2],getLast:Va,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Za,getNextNonSpaceNonCommentCharacterIndex:ec,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(ec(e,t,n))},skip:qa,skipWhitespace:Ua,skipSpaces:Ga,skipToLineEnd:za,skipEverythingButNewLine:Ha,skipInlineComment:Ja,skipTrailingComment:Xa,skipNewline:Ya,isNextLineEmptyAfterIndex:Qa,isNextLineEmpty:function(e,t,n){return Qa(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=Ga(e,r,{backwards:!0}),r=Ya(e,r,{backwards:!0}),r=Ga(e,r,{backwards:!0}),r!==Ya(e,r,{backwards:!0})},hasNewline:Ka,hasNewlineInRange:function(e,t,n){for(let r=t;r2&&void 0!==arguments[2]?arguments[2]:{};const r=Ga(e,n.backwards?t-1:t,n);return r!==t},getAlignmentSize:tc,getIndentSize:function(e,t){const n=e.lastIndexOf("\n");return-1===n?0:tc(e.slice(n+1).match(/^[\t ]*/)[0],t)},getPreferredQuote:nc,printString:function(e,t){const n=e.slice(1,-1);return rc(n,"json"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":nc(n,t.singleQuote?"'":'"').quote,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.__embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},makeString:rc,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,oc(e,t)},addDanglingComment:function(e,t,n){t.leading=!1,t.trailing=!1,n&&(t.marker=n),oc(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,oc(e,t)},isFrontMatterNode:function(e){return e&&"front-matter"===e.type},getShebang:function(e){if(!e.startsWith("#!"))return"";const t=e.indexOf("\n");return-1===t?e:e.slice(0,t)},isNonEmptyArray:function(e){return Array.isArray(e)&&e.length>0},createGroupIdMapper:function(e){const t=new WeakMap;return function(n){return t.has(n)||t.set(n,Symbol(e)),t.get(n)}}};var uc={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let n;if("\n"===t)n=/\n/g;else if("\r"===t)n=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));n=/\r\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const sc=su,{literalline:ac,join:cc}=Qi,lc=e=>Array.isArray(e)||e&&"concat"===e.type,pc=e=>{if(Array.isArray(e))return e;if("concat"!==e.type&&"fill"!==e.type)throw new Error("Expect doc type to be `concat` or `fill`.");return e.parts},fc={};function dc(e,t,n,r){const o=[e];for(;o.length>0;){const e=o.pop();if(e!==fc){if(n&&o.push(e,fc),!t||!1!==t(e))if(lc(e)||"fill"===e.type){const t=pc(e);for(let e=t.length-1;e>=0;--e)o.push(t[e])}else if("if-break"===e.type)e.flatContents&&o.push(e.flatContents),e.breakContents&&o.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)o.push(e.expandedStates[t]);else o.push(e.contents);else e.contents&&o.push(e.contents)}else n(o.pop())}}function hc(e,t){const n=new Map;return r(e);function r(e){if(n.has(e))return n.get(e);const o=function(e){if(Array.isArray(e))return t(e.map(r));if("concat"===e.type||"fill"===e.type){const n=e.parts.map(r);return t(Object.assign(Object.assign({},e),{},{parts:n}))}if("if-break"===e.type){const n=e.breakContents&&r(e.breakContents),o=e.flatContents&&r(e.flatContents);return t(Object.assign(Object.assign({},e),{},{breakContents:n,flatContents:o}))}if("group"===e.type&&e.expandedStates){const n=e.expandedStates.map(r),o=n[0];return t(Object.assign(Object.assign({},e),{},{contents:o,expandedStates:n}))}if(e.contents){const n=r(e.contents);return t(Object.assign(Object.assign({},e),{},{contents:n}))}return t(e)}(e);return n.set(e,o),o}}function gc(e,t,n){let r=n,o=!1;return dc(e,(function(e){const n=t(e);if(void 0!==n&&(o=!0,r=n),o)return!1})),r}function mc(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function yc(e){if(e.length>0){const t=sc(e);t.expandedStates||t.break||(t.break="propagated")}return null}function Dc(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}const Ec=(e,t)=>e&&"line"===e.type&&e.hard&&t&&"break-parent"===t.type;function Cc(e){if(!e)return e;if(lc(e)||"fill"===e.type){const t=pc(e);for(;t.length>1&&Ec(...t.slice(-2));)t.length-=2;if(t.length>0){const e=Cc(sc(t));t[t.length-1]=e}return Array.isArray(e)?t:Object.assign(Object.assign({},e),{},{parts:t})}switch(e.type){case"align":case"indent":case"indent-if-break":case"group":case"line-suffix":case"label":{const t=Cc(e.contents);return Object.assign(Object.assign({},e),{},{contents:t})}case"if-break":{const t=Cc(e.breakContents),n=Cc(e.flatContents);return Object.assign(Object.assign({},e),{},{breakContents:t,flatContents:n})}}return e}function bc(e){return hc(e,(e=>function(e){switch(e.type){case"fill":if(e.parts.every((e=>""===e)))return"";break;case"group":if(!(e.contents||e.id||e.break||e.expandedStates))return"";if("group"===e.contents.type&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case"align":case"indent":case"indent-if-break":case"line-suffix":if(!e.contents)return"";break;case"if-break":if(!e.flatContents&&!e.breakContents)return""}if(!lc(e))return e;const t=[];for(const n of pc(e)){if(!n)continue;const[e,...r]=lc(n)?pc(n):[n];"string"==typeof e&&"string"==typeof sc(t)?t[t.length-1]+=e:t.push(e),t.push(...r)}return 0===t.length?"":1===t.length?t[0]:Array.isArray(e)?t:Object.assign(Object.assign({},e),{},{parts:t})}(e)))}function vc(e){const t=[],n=e.filter(Boolean);for(;n.length>0;){const e=n.shift();e&&(lc(e)?n.unshift(...pc(e)):t.length>0&&"string"==typeof sc(t)&&"string"==typeof e?t[t.length-1]+=e:t.push(e))}return t}function Ac(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ac;return cc(t,e.split("\n")).parts}function Fc(e){if("line"===e.type)return!0}var xc={isConcat:lc,getDocParts:pc,willBreak:function(e){return gc(e,mc,!1)},traverseDoc:dc,findInDoc:gc,mapDoc:hc,propagateBreaks:function(e){const t=new Set,n=[];dc(e,(function(e){if("break-parent"===e.type&&yc(n),"group"===e.type){if(n.push(e),t.has(e))return!1;t.add(e)}}),(function(e){if("group"===e.type){n.pop().break&&yc(n)}}),!0)},removeLines:function(e){return hc(e,Dc)},stripTrailingHardline:function(e){return Cc(bc(e))},normalizeParts:vc,normalizeDoc:function(e){return hc(e,(e=>Array.isArray(e)?vc(e):e.parts?Object.assign(Object.assign({},e),{},{parts:vc(e.parts)}):e))},cleanDoc:bc,replaceTextEndOfLine:Ac,replaceEndOfLine:function(e){return hc(e,(e=>"string"==typeof e&&e.includes("\n")?Ac(e):e))},canBreak:function(e){return gc(e,Fc,!1)}};const{getStringWidth:Sc,getLast:wc}=ic,{convertEndOfLineToChars:Tc}=uc,{fill:Bc,cursor:Nc,indent:kc}=Qi,{isConcat:Pc,getDocParts:Oc}=xc;let Ic;function Lc(e,t){return _c(e,{type:"indent"},t)}function jc(e,t,n){if(t===Number.NEGATIVE_INFINITY)return e.root||{value:"",length:0,queue:[]};if(t<0)return _c(e,{type:"dedent"},n);if(!t)return e;if("root"===t.type)return Object.assign(Object.assign({},e),{},{root:e});return _c(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},n)}function _c(e,t,n){const r="dedent"===t.type?e.queue.slice(0,-1):[...e.queue,t];let o="",i=0,u=0,s=0;for(const e of r)switch(e.type){case"indent":l(),n.useTabs?a(1):c(n.tabWidth);break;case"stringAlign":l(),o+=e.n,i+=e.n.length;break;case"numberAlign":u+=1,s+=e.n;break;default:throw new Error("Unexpected type '".concat(e.type,"'"))}return p(),Object.assign(Object.assign({},e),{},{value:o,length:i,queue:r});function a(e){o+="\t".repeat(e),i+=n.tabWidth*e}function c(e){o+=" ".repeat(e),i+=e}function l(){n.useTabs?function(){u>0&&a(u);f()}():p()}function p(){s>0&&c(s),f()}function f(){u=0,s=0}}function Mc(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof wc(e)&&/^[\t ]*$/.test(wc(e));)t+=e.pop().length;if(e.length>0&&"string"==typeof wc(e)){const n=wc(e).replace(/[\t ]*$/,"");t+=wc(e).length-n.length,e[e.length-1]=n}return t}function Rc(e,t,n,r,o,i){let u=t.length;const s=[e],a=[];for(;n>=0;){if(0===s.length){if(0===u)return!0;s.push(t[u-1]),u--;continue}const[e,c,l]=s.pop();if("string"==typeof l)a.push(l),n-=Sc(l);else if(Pc(l)){const t=Oc(l);for(let n=t.length-1;n>=0;n--)s.push([e,c,t[n]])}else switch(l.type){case"indent":s.push([Lc(e,r),c,l.contents]);break;case"align":s.push([jc(e,l.n,r),c,l.contents]);break;case"trim":n+=Mc(a);break;case"group":{if(i&&l.break)return!1;const t=l.break?1:c;s.push([e,t,l.expandedStates&&1===t?wc(l.expandedStates):l.contents]),l.id&&(Ic[l.id]=t);break}case"fill":for(let t=l.parts.length-1;t>=0;t--)s.push([e,c,l.parts[t]]);break;case"if-break":case"indent-if-break":{const t=l.groupId?Ic[l.groupId]:c;if(1===t){const t="if-break"===l.type?l.breakContents:l.negate?l.contents:kc(l.contents);t&&s.push([e,c,t])}if(2===t){const t="if-break"===l.type?l.flatContents:l.negate?kc(l.contents):l.contents;t&&s.push([e,c,t])}break}case"line":switch(c){case 2:if(!l.hard){l.soft||(a.push(" "),n-=1);break}return!0;case 1:return!0}break;case"line-suffix":o=!0;break;case"line-suffix-boundary":if(o)return!1;break;case"label":s.push([e,c,l.contents])}}return!1}var Vc={printDocToString:function(e,t){Ic={};const n=t.printWidth,r=Tc(t.endOfLine);let o=0;const i=[[{value:"",length:0,queue:[]},1,e]],u=[];let s=!1,a=[];for(;i.length>0;){const[e,c,l]=i.pop();if("string"==typeof l){const e="\n"!==r?l.replace(/\n/g,r):l;u.push(e),o+=Sc(e)}else if(Pc(l)){const t=Oc(l);for(let n=t.length-1;n>=0;n--)i.push([e,c,t[n]])}else switch(l.type){case"cursor":u.push(Nc.placeholder);break;case"indent":i.push([Lc(e,t),c,l.contents]);break;case"align":i.push([jc(e,l.n,t),c,l.contents]);break;case"trim":o-=Mc(u);break;case"group":switch(c){case 2:if(!s){i.push([e,l.break?1:2,l.contents]);break}case 1:{s=!1;const r=[e,2,l.contents],u=n-o,c=a.length>0;if(!l.break&&Rc(r,i,u,t,c))i.push(r);else if(l.expandedStates){const n=wc(l.expandedStates);if(l.break){i.push([e,1,n]);break}for(let r=1;r=l.expandedStates.length){i.push([e,1,n]);break}{const n=[e,2,l.expandedStates[r]];if(Rc(n,i,u,t,c)){i.push(n);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(Ic[l.id]=wc(i)[1]);break;case"fill":{const r=n-o,{parts:u}=l;if(0===u.length)break;const[s,p]=u,f=[e,2,s],d=[e,1,s],h=Rc(f,[],r,t,a.length>0,!0);if(1===u.length){h?i.push(f):i.push(d);break}const g=[e,2,p],m=[e,1,p];if(2===u.length){h?i.push(g,f):i.push(m,d);break}u.splice(0,2);const y=[e,c,Bc(u)];Rc([e,2,[s,p,u[0]]],[],r,t,a.length>0,!0)?i.push(y,g,f):h?i.push(y,m,f):i.push(y,m,d);break}case"if-break":case"indent-if-break":{const t=l.groupId?Ic[l.groupId]:c;if(1===t){const t="if-break"===l.type?l.breakContents:l.negate?l.contents:kc(l.contents);t&&i.push([e,c,t])}if(2===t){const t="if-break"===l.type?l.flatContents:l.negate?kc(l.contents):l.contents;t&&i.push([e,c,t])}break}case"line-suffix":a.push([e,c,l.contents]);break;case"line-suffix-boundary":a.length>0&&i.push([e,c,{type:"line",hard:!0}]);break;case"line":switch(c){case 2:if(!l.hard){l.soft||(u.push(" "),o+=1);break}s=!0;case 1:if(a.length>0){i.push([e,c,l],...a.reverse()),a=[];break}l.literal?e.root?(u.push(r,e.root.value),o=e.root.length):(u.push(r),o=0):(o-=Mc(u),u.push(r+e.value),o=e.length)}break;case"label":i.push([e,c,l.contents])}0===i.length&&a.length>0&&(i.push(...a.reverse()),a=[])}const c=u.indexOf(Nc.placeholder);if(-1!==c){const e=u.indexOf(Nc.placeholder,c+1),t=u.slice(0,c).join(""),n=u.slice(c+1,e).join("");return{formatted:t+n+u.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:u.join("")}}};const{isConcat:$c,getDocParts:Wc}=xc;function qc(e){if(!e)return"";if($c(e)){const t=[];for(const n of Wc(e))if($c(n))t.push(...qc(n).parts);else{const e=qc(n);""!==e&&t.push(e)}return{type:"concat",parts:t}}return"if-break"===e.type?Object.assign(Object.assign({},e),{},{breakContents:qc(e.breakContents),flatContents:qc(e.flatContents)}):"group"===e.type?Object.assign(Object.assign({},e),{},{contents:qc(e.contents),expandedStates:e.expandedStates&&e.expandedStates.map(qc)}):"fill"===e.type?{type:"fill",parts:e.parts.map(qc)}:e.contents?Object.assign(Object.assign({},e),{},{contents:qc(e.contents)}):e}var Uc={printDocToDebug:function(e){const t=Object.create(null),n=new Set;return function e(t,n,o){if("string"==typeof t)return JSON.stringify(t);if($c(t)){const n=Wc(t).map(e).filter(Boolean);return 1===n.length?n[0]:"[".concat(n.join(", "),"]")}if("line"===t.type){const e=Array.isArray(o)&&o[n+1]&&"break-parent"===o[n+1].type;return t.literal?e?"literalline":"literallineWithoutBreakParent":t.hard?e?"hardline":"hardlineWithoutBreakParent":t.soft?"softline":"line"}if("break-parent"===t.type){return Array.isArray(o)&&o[n-1]&&"line"===o[n-1].type&&o[n-1].hard?void 0:"breakParent"}if("trim"===t.type)return"trim";if("indent"===t.type)return"indent("+e(t.contents)+")";if("align"===t.type)return t.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+e(t.contents)+")":t.n<0?"dedent("+e(t.contents)+")":"root"===t.n.type?"markAsRoot("+e(t.contents)+")":"align("+JSON.stringify(t.n)+", "+e(t.contents)+")";if("if-break"===t.type)return"ifBreak("+e(t.breakContents)+(t.flatContents?", "+e(t.flatContents):"")+(t.groupId?(t.flatContents?"":', ""')+", { groupId: ".concat(r(t.groupId)," }"):"")+")";if("indent-if-break"===t.type){const n=[];t.negate&&n.push("negate: true"),t.groupId&&n.push("groupId: ".concat(r(t.groupId)));const o=n.length>0?", { ".concat(n.join(", ")," }"):"";return"indentIfBreak(".concat(e(t.contents)).concat(o,")")}if("group"===t.type){const n=[];t.break&&"propagated"!==t.break&&n.push("shouldBreak: true"),t.id&&n.push("id: ".concat(r(t.id)));const o=n.length>0?", { ".concat(n.join(", ")," }"):"";return t.expandedStates?"conditionalGroup([".concat(t.expandedStates.map((t=>e(t))).join(","),"]").concat(o,")"):"group(".concat(e(t.contents)).concat(o,")")}if("fill"===t.type)return"fill([".concat(t.parts.map((t=>e(t))).join(", "),"])");if("line-suffix"===t.type)return"lineSuffix("+e(t.contents)+")";if("line-suffix-boundary"===t.type)return"lineSuffixBoundary";if("label"===t.type)return"label(".concat(JSON.stringify(t.label),", ").concat(e(t.contents),")");throw new Error("Unknown doc type "+t.type)}(qc(e));function r(e){if("symbol"!=typeof e)return JSON.stringify(String(e));if(e in t)return t[e];const r=String(e).slice(7,-1)||"symbol";for(let o=0;;o++){const i=r+(o>0?" #".concat(o):"");if(!n.has(i))return n.add(i),t[e]="Symbol.for(".concat(JSON.stringify(i),")")}}}},Gc={builders:Qi,printer:Vc,utils:xc,debug:Uc},zc=t(Object.freeze({__proto__:null,default:{}}));function Hc(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var Jc=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Xc=function(e){return Jc.exec(e).slice(1)};function Yc(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return e=Hc(il(e.split("/"),(function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."}function Kc(e){var t=Qc(e),n="/"===ul(e,-1);return e=Hc(il(e.split("/"),(function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function Qc(e){return"/"===e.charAt(0)}function Zc(){var e=Array.prototype.slice.call(arguments,0);return Kc(il(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function el(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Yc(e).substr(1),t=Yc(t).substr(1);for(var r=n(e.split("/")),o=n(t.split("/")),i=Math.min(r.length,o.length),u=i,s=0;s>18&63]+al[o>>12&63]+al[o>>6&63]+al[63&o]);return i.join("")}function hl(e){var t;pl||fl();for(var n=e.length,r=n%3,o="",i=[],u=16383,s=0,a=n-r;sa?a:s+u));return 1===r?(t=e[n-1],o+=al[t>>2],o+=al[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=al[t>>10],o+=al[t>>4&63],o+=al[t<<2&63],o+="="),i.push(o),i.join("")}function gl(e,t,n,r,o){var i,u,s=8*o-r-1,a=(1<>1,l=-7,p=n?o-1:0,f=n?-1:1,d=e[t+p];for(p+=f,i=d&(1<<-l)-1,d>>=-l,l+=s;l>0;i=256*i+e[t+p],p+=f,l-=8);for(u=i&(1<<-l)-1,i>>=-l,l+=r;l>0;u=256*u+e[t+p],p+=f,l-=8);if(0===i)i=1-c;else{if(i===a)return u?NaN:1/0*(d?-1:1);u+=Math.pow(2,r),i-=c}return(d?-1:1)*u*Math.pow(2,i-r)}function ml(e,t,n,r,o,i){var u,s,a,c=8*i-o-1,l=(1<>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:i-1,h=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,u=l):(u=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-u))<1&&(u--,a*=2),(t+=u+p>=1?f/a:f*Math.pow(2,1-p))*a>=2&&(u++,a/=2),u+p>=l?(s=0,u=l):u+p>=1?(s=(t*a-1)*Math.pow(2,o),u+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,o),u=0));o>=8;e[n+d]=255&s,d+=h,s/=256,o-=8);for(u=u<0;e[n+d]=255&u,d+=h,u/=256,c-=8);e[n+d-h]|=128*g}var yl={}.toString,Dl=Array.isArray||function(e){return"[object Array]"==yl.call(e)};function El(){return bl.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Cl(e,t){if(El()=El())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+El().toString(16)+" bytes");return 0|e}function wl(e){return!(null==e||!e._isBuffer)}function Tl(e,t){if(wl(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return ep(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return tp(e).length;default:if(r)return ep(e).length;t=(""+t).toLowerCase(),r=!0}}function Bl(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ql(this,t,n);case"utf8":case"utf-8":return Vl(this,t,n);case"ascii":return $l(this,t,n);case"latin1":case"binary":return Wl(this,t,n);case"base64":return Rl(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ul(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Nl(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function kl(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=bl.from(t,r)),wl(t))return 0===t.length?-1:Pl(e,t,n,r,o);if("number"==typeof t)return t&=255,bl.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Pl(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function Pl(e,t,n,r,o){var i,u=1,s=e.length,a=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;u=2,s/=2,a/=2,n/=2}function c(e,t){return 1===u?e[t]:e.readUInt16BE(t*u)}if(o){var l=-1;for(i=n;is&&(n=s-a),i=n;i>=0;i--){for(var p=!0,f=0;fo&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var u=0;u>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function Rl(e,t,n){return 0===t&&n===e.length?hl(e):hl(e.slice(t,n))}function Vl(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:c>223?3:c>191?2:1;if(o+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(a=(31&c)<<6|63&i)>127&&(l=a);break;case 3:i=e[o+1],u=e[o+2],128==(192&i)&&128==(192&u)&&(a=(15&c)<<12|(63&i)<<6|63&u)>2047&&(a<55296||a>57343)&&(l=a);break;case 4:i=e[o+1],u=e[o+2],s=e[o+3],128==(192&i)&&128==(192&u)&&128==(192&s)&&(a=(15&c)<<18|(63&i)<<12|(63&u)<<6|63&s)>65535&&a<1114112&&(l=a)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},bl.prototype.compare=function(e,t,n,r,o){if(!wl(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),u=(n>>>=0)-(t>>>=0),s=Math.min(i,u),a=this.slice(r,o),c=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return Ol(this,e,t,n);case"utf8":case"utf-8":return Il(this,e,t,n);case"ascii":return Ll(this,e,t,n);case"latin1":case"binary":return jl(this,e,t,n);case"base64":return _l(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ml(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},bl.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function $l(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function zl(e,t,n,r,o,i){if(!wl(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function Hl(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function Jl(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function Xl(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Yl(e,t,n,r,o){return o||Xl(e,0,n,4),ml(e,t,n,r,23,4),n+4}function Kl(e,t,n,r,o){return o||Xl(e,0,n,8),ml(e,t,n,r,52,8),n+8}bl.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},bl.prototype.readUInt8=function(e,t){return t||Gl(e,1,this.length),this[e]},bl.prototype.readUInt16LE=function(e,t){return t||Gl(e,2,this.length),this[e]|this[e+1]<<8},bl.prototype.readUInt16BE=function(e,t){return t||Gl(e,2,this.length),this[e]<<8|this[e+1]},bl.prototype.readUInt32LE=function(e,t){return t||Gl(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},bl.prototype.readUInt32BE=function(e,t){return t||Gl(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},bl.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Gl(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},bl.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Gl(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},bl.prototype.readInt8=function(e,t){return t||Gl(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},bl.prototype.readInt16LE=function(e,t){t||Gl(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},bl.prototype.readInt16BE=function(e,t){t||Gl(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},bl.prototype.readInt32LE=function(e,t){return t||Gl(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},bl.prototype.readInt32BE=function(e,t){return t||Gl(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},bl.prototype.readFloatLE=function(e,t){return t||Gl(e,4,this.length),gl(this,e,!0,23,4)},bl.prototype.readFloatBE=function(e,t){return t||Gl(e,4,this.length),gl(this,e,!1,23,4)},bl.prototype.readDoubleLE=function(e,t){return t||Gl(e,8,this.length),gl(this,e,!0,52,8)},bl.prototype.readDoubleBE=function(e,t){return t||Gl(e,8,this.length),gl(this,e,!1,52,8)},bl.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||zl(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n},bl.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,1,255,0),bl.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},bl.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,2,65535,0),bl.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Hl(this,e,t,!0),t+2},bl.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,2,65535,0),bl.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Hl(this,e,t,!1),t+2},bl.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,4,4294967295,0),bl.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Jl(this,e,t,!0),t+4},bl.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,4,4294967295,0),bl.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Jl(this,e,t,!1),t+4},bl.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);zl(this,e,t,n,o-1,-o)}var i=0,u=1,s=0;for(this[t]=255&e;++i>0)-s&255;return t+n},bl.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);zl(this,e,t,n,o-1,-o)}var i=n-1,u=1,s=0;for(this[t+i]=255&e;--i>=0&&(u*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/u>>0)-s&255;return t+n},bl.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,1,127,-128),bl.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},bl.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,2,32767,-32768),bl.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Hl(this,e,t,!0),t+2},bl.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,2,32767,-32768),bl.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Hl(this,e,t,!1),t+2},bl.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,4,2147483647,-2147483648),bl.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Jl(this,e,t,!0),t+4},bl.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||zl(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),bl.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Jl(this,e,t,!1),t+4},bl.prototype.writeFloatLE=function(e,t,n){return Yl(this,e,t,!0,n)},bl.prototype.writeFloatBE=function(e,t,n){return Yl(this,e,t,!1,n)},bl.prototype.writeDoubleLE=function(e,t,n){return Kl(this,e,t,!0,n)},bl.prototype.writeDoubleBE=function(e,t,n){return Kl(this,e,t,!1,n)},bl.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(i<1e3||!bl.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(u+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function tp(e){return function(e){var t,n,r,o,i,u;pl||fl();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[s-2]?2:"="===e[s-1]?1:0,u=new ll(3*s/4-i),r=i>0?s-4:s;var a=0;for(t=0,n=0;t>16&255,u[a++]=o>>8&255,u[a++]=255&o;return 2===i?(o=cl[e.charCodeAt(t)]<<2|cl[e.charCodeAt(t+1)]>>4,u[a++]=255&o):1===i&&(o=cl[e.charCodeAt(t)]<<10|cl[e.charCodeAt(t+1)]<<4|cl[e.charCodeAt(t+2)]>>2,u[a++]=o>>8&255,u[a++]=255&o),u}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Ql,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function np(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function rp(e){return null!=e&&(!!e._isBuffer||op(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&op(e.slice(0,0))}(e))}function op(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}const ip=zc;var up=class{constructor(e,t){(t=t||{}).readChunk||(t.readChunk=1024),t.newLineCharacter?t.newLineCharacter=t.newLineCharacter.charCodeAt(0):t.newLineCharacter=10,this.fd="number"==typeof e?e:ip.openSync(e,"r"),this.options=t,this.newLineCharacter=t.newLineCharacter,this.reset()}_searchInBuffer(e,t){let n=-1;for(let r=0;r<=e.length;r++){if(e[r]===t){n=r;break}}return n}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){ip.closeSync(this.fd),this.fd=null}_extractLines(e){let t;const n=[];let r=0,o=0;for(;;){let i=e[r++];if(i===this.newLineCharacter)t=e.slice(o,r),n.push(t),o=r;else if(void 0===i)break}let i=e.slice(o,r);return i.length&&n.push(i),n}_readChunk(e){let t,n=0;const r=[];do{const e=new bl(this.options.readChunk);t=ip.readSync(this.fd,e,0,this.options.readChunk,this.fdPosition),n+=t,this.fdPosition=this.fdPosition+t,r.push(e)}while(t&&-1===this._searchInBuffer(r[r.length-1],this.options.newLineCharacter));let o=bl.concat(r);return t=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function mp(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return u}function yp(e){return this instanceof yp?(this.v=e,this):new yp(e)}var Dp=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}dp(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return hp},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;s--)(o=e[s])&&(u=(i<3?o(u):i>3?o(t,n,u):o(t,n))||u);return i>3&&u&&Object.defineProperty(t,n,u),u},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(u,s)}a((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;u;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]1||s(e,t)}))})}function s(e,t){try{(n=o[e](t)).value instanceof yp?Promise.resolve(n.value.v).then(a,c):l(i[0][2],n)}catch(e){l(i[0][3],e)}var n}function a(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:yp(e[r](t)),done:"return"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=gp(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),Ep={},Cp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.apiDescriptor={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(t){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return"[".concat(t.map((t=>e.apiDescriptor.value(t))).join(", "),"]");const n=Object.keys(t);return 0===n.length?"{}":"{ ".concat(n.map((n=>"".concat(e.apiDescriptor.key(n),": ").concat(e.apiDescriptor.value(t[n])))).join(", ")," }")},pair:t=>{let{key:n,value:r}=t;return e.apiDescriptor.value({[n]:r})}}}(Cp),function(e){Object.defineProperty(e,"__esModule",{value:!0});Dp.__exportStar(Cp,e)}(Ep);var bp={},vp={},Ap={},Fp={exports:{}},xp=/[|\\{}()[\]^$+*?.]/g,Sp=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(xp,"\\$&")},wp={exports:{}},Tp={exports:{}},Bp={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Np={};for(var kp in Bp)Bp.hasOwnProperty(kp)&&(Np[Bp[kp]]=kp);var Pp=Tp.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var Op in Pp)if(Pp.hasOwnProperty(Op)){if(!("channels"in Pp[Op]))throw new Error("missing channels property: "+Op);if(!("labels"in Pp[Op]))throw new Error("missing channel labels property: "+Op);if(Pp[Op].labels.length!==Pp[Op].channels)throw new Error("channel and label counts mismatch: "+Op);var Ip=Pp[Op].channels,Lp=Pp[Op].labels;delete Pp[Op].channels,delete Pp[Op].labels,Object.defineProperty(Pp[Op],"channels",{value:Ip}),Object.defineProperty(Pp[Op],"labels",{value:Lp})}Pp.rgb.hsl=function(e){var t,n,r=e[0]/255,o=e[1]/255,i=e[2]/255,u=Math.min(r,o,i),s=Math.max(r,o,i),a=s-u;return s===u?t=0:r===s?t=(o-i)/a:o===s?t=2+(i-r)/a:i===s&&(t=4+(r-o)/a),(t=Math.min(60*t,360))<0&&(t+=360),n=(u+s)/2,[t,100*(s===u?0:n<=.5?a/(s+u):a/(2-s-u)),100*n]},Pp.rgb.hsv=function(e){var t,n,r,o,i,u=e[0]/255,s=e[1]/255,a=e[2]/255,c=Math.max(u,s,a),l=c-Math.min(u,s,a),p=function(e){return(c-e)/6/l+.5};return 0===l?o=i=0:(i=l/c,t=p(u),n=p(s),r=p(a),u===c?o=r-n:s===c?o=1/3+t-r:a===c&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*i,100*c]},Pp.rgb.hwb=function(e){var t=e[0],n=e[1],r=e[2];return[Pp.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,r))),100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},Pp.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,o=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-o)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},Pp.rgb.keyword=function(e){var t=Np[e];if(t)return t;var n,r,o,i=1/0;for(var u in Bp)if(Bp.hasOwnProperty(u)){var s=Bp[u],a=(r=e,o=s,Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2));a.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},Pp.rgb.lab=function(e){var t=Pp.rgb.xyz(e),n=t[0],r=t[1],o=t[2];return r/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},Pp.hsl.rgb=function(e){var t,n,r,o,i,u=e[0]/360,s=e[1]/100,a=e[2]/100;if(0===s)return[i=255*a,i,i];t=2*a-(n=a<.5?a*(1+s):a+s-a*s),o=[0,0,0];for(var c=0;c<3;c++)(r=u+1/3*-(c-1))<0&&r++,r>1&&r--,i=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,o[c]=255*i;return o},Pp.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,o=n,i=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,o*=i<=1?i:2-i,[t,100*(0===r?2*o/(i+o):2*n/(r+n)),100*((r+n)/2)]},Pp.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,o=Math.floor(t)%6,i=t-Math.floor(t),u=255*r*(1-n),s=255*r*(1-n*i),a=255*r*(1-n*(1-i));switch(r*=255,o){case 0:return[r,a,u];case 1:return[s,r,u];case 2:return[u,r,a];case 3:return[u,s,r];case 4:return[a,u,r];case 5:return[r,u,s]}},Pp.hsv.hsl=function(e){var t,n,r,o=e[0],i=e[1]/100,u=e[2]/100,s=Math.max(u,.01);return r=(2-i)*u,n=i*s,[o,100*(n=(n/=(t=(2-i)*s)<=1?t:2-t)||0),100*(r/=2)]},Pp.hwb.rgb=function(e){var t,n,r,o,i,u,s,a=e[0]/360,c=e[1]/100,l=e[2]/100,p=c+l;switch(p>1&&(c/=p,l/=p),r=6*a-(t=Math.floor(6*a)),0!=(1&t)&&(r=1-r),o=c+r*((n=1-l)-c),t){default:case 6:case 0:i=n,u=o,s=c;break;case 1:i=o,u=n,s=c;break;case 2:i=c,u=n,s=o;break;case 3:i=c,u=o,s=n;break;case 4:i=o,u=c,s=n;break;case 5:i=n,u=c,s=o}return[255*i,255*u,255*s]},Pp.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o))]},Pp.xyz.rgb=function(e){var t,n,r,o=e[0]/100,i=e[1]/100,u=e[2]/100;return n=-.9689*o+1.8758*i+.0415*u,r=.0557*o+-.204*i+1.057*u,t=(t=3.2406*o+-1.5372*i+-.4986*u)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},Pp.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},Pp.lab.xyz=function(e){var t,n,r,o=e[0];t=e[1]/500+(n=(o+16)/116),r=n-e[2]/200;var i=Math.pow(n,3),u=Math.pow(t,3),s=Math.pow(r,3);return n=i>.008856?i:(n-16/116)/7.787,t=u>.008856?u:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},Pp.lab.lch=function(e){var t,n=e[0],r=e[1],o=e[2];return(t=360*Math.atan2(o,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+o*o),t]},Pp.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},Pp.rgb.ansi16=function(e){var t=e[0],n=e[1],r=e[2],o=1 in arguments?arguments[1]:Pp.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var i=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(i+=60),i},Pp.hsv.ansi16=function(e){return Pp.rgb.ansi16(Pp.hsv.rgb(e),e[2])},Pp.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},Pp.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},Pp.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},Pp.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},Pp.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},Pp.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,o=e[2]/255,i=Math.max(Math.max(n,r),o),u=Math.min(Math.min(n,r),o),s=i-u;return t=s<=0?0:i===n?(r-o)/s%6:i===r?2+(o-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?u/(1-s):0)]},Pp.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,o=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(o=(n-.5*r)/(1-r)),[e[0],100*r,100*o]},Pp.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},Pp.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var o,i=[0,0,0],u=t%1*6,s=u%1,a=1-s;switch(Math.floor(u)){case 0:i[0]=1,i[1]=s,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=s;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=s,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return o=(1-n)*r,[255*(n*i[0]+o),255*(n*i[1]+o),255*(n*i[2]+o)]},Pp.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},Pp.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},Pp.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},Pp.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},Pp.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},Pp.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},Pp.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},Pp.gray.hsl=Pp.gray.hsv=function(e){return[0,0,e[0]]},Pp.gray.hwb=function(e){return[0,100,e[0]]},Pp.gray.cmyk=function(e){return[0,0,0,e[0]]},Pp.gray.lab=function(e){return[e[0],0,0]},Pp.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},Pp.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};var jp=Tp.exports;function _p(e){var t=function(){for(var e={},t=Object.keys(jp),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,o=0;o1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var qp,Up=Wp;function Gp(){if(void 0===qp){var e=new ArrayBuffer(2),t=new Uint8Array(e),n=new Uint16Array(e);if(t[0]=1,t[1]=2,258===n[0])qp="BE";else{if(513!==n[0])throw new Error("unable to figure out endianess");qp="LE"}}return qp}function zp(){return void 0!==Bs.location?Bs.location.hostname:""}function Hp(){return[]}function Jp(){return 0}function Xp(){return Number.MAX_VALUE}function Yp(){return Number.MAX_VALUE}function Kp(){return[]}function Qp(){return"Browser"}function Zp(){return void 0!==Bs.navigator?Bs.navigator.appVersion:""}function ef(){}function tf(){}function nf(){return"javascript"}function rf(){return"browser"}function of(){return"/tmp"}!function(e){const t=Up,n=(e,n)=>function(){const r=e.apply(t,arguments);return"\x1b[".concat(r+n,"m")},r=(e,n)=>function(){const r=e.apply(t,arguments);return"\x1b[".concat(38+n,";5;").concat(r,"m")},o=(e,n)=>function(){const r=e.apply(t,arguments);return"\x1b[".concat(38+n,";2;").concat(r[0],";").concat(r[1],";").concat(r[2],"m")};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:"\x1b[".concat(r[0],"m"),close:"\x1b[".concat(r[1],"m")},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,"codes",{value:e,enumerable:!1})}const u=e=>e,s=(e,t,n)=>[e,t,n];i.color.close="\x1b[39m",i.bgColor.close="\x1b[49m",i.color.ansi={ansi:n(u,0)},i.color.ansi256={ansi256:r(u,0)},i.color.ansi16m={rgb:o(s,0)},i.bgColor.ansi={ansi:n(u,10)},i.bgColor.ansi256={ansi256:r(u,10)},i.bgColor.ansi16m={rgb:o(s,10)};for(let e of Object.keys(t)){if("object"!=typeof t[e])continue;const u=t[e];"ansi16"===e&&(e="ansi"),"ansi16"in u&&(i.color.ansi[e]=n(u.ansi16,0),i.bgColor.ansi[e]=n(u.ansi16,10)),"ansi256"in u&&(i.color.ansi256[e]=r(u.ansi256,0),i.bgColor.ansi256[e]=r(u.ansi256,10)),"rgb"in u&&(i.color.ansi16m[e]=o(u.rgb,0),i.bgColor.ansi16m[e]=o(u.rgb,10))}return i}})}(wp);var uf=of,sf={EOL:"\n",arch:nf,platform:rf,tmpdir:uf,tmpDir:of,networkInterfaces:ef,getNetworkInterfaces:tf,release:Zp,type:Qp,cpus:Kp,totalmem:Yp,freemem:Xp,uptime:Jp,loadavg:Hp,hostname:zp,endianness:Gp},af=t(Object.freeze({__proto__:null,endianness:Gp,hostname:zp,loadavg:Hp,uptime:Jp,freemem:Xp,totalmem:Yp,cpus:Kp,type:Qp,release:Zp,networkInterfaces:ef,getNetworkInterfaces:tf,arch:nf,platform:rf,tmpDir:of,tmpdir:uf,EOL:"\n",default:sf}));const cf=af,lf=(e,t)=>{t=t||Zs.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return-1!==r&&(-1===o||r=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in pf)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in pf))||"codeship"===pf.CI_NAME?1:t;if("TEAMCITY_VERSION"in pf)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(pf.TEAMCITY_VERSION)?1:0;if("truecolor"===pf.COLORTERM)return 3;if("TERM_PROGRAM"in pf){const e=parseInt((pf.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(pf.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(pf.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(pf.TERM)||"COLORTERM"in pf?1:(pf.TERM,t)}(e);return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(t)}lf("no-color")||lf("no-colors")||lf("color=false")?ff=!1:(lf("color")||lf("colors")||lf("color=true")||lf("color=always"))&&(ff=!0),"FORCE_COLOR"in pf&&(ff=0===pf.FORCE_COLOR.length||0!==parseInt(pf.FORCE_COLOR,10));var hf={supportsColor:df,stdout:df(Zs.stdout),stderr:df(Zs.stderr)};const gf=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,mf=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,yf=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Df=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,Ef=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function Cf(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):Ef.get(e)||e}function bf(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let o;for(const t of r)if(isNaN(t)){if(!(o=t.match(yf)))throw new Error("Invalid Chalk template style argument: ".concat(t," (in style '").concat(e,"')"));n.push(o[2].replace(Df,((e,t,n)=>t?Cf(t):n)))}else n.push(Number(t));return n}function vf(e){mf.lastIndex=0;const t=[];let n;for(;null!==(n=mf.exec(e));){const e=n[1];if(n[2]){const r=bf(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function Af(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error("Unknown Chalk style: ".concat(e));r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var Ff=(e,t)=>{const n=[],r=[];let o=[];if(t.replace(gf,((t,i,u,s,a,c)=>{if(i)o.push(Cf(i));else if(s){const t=o.join("");o=[],r.push(0===n.length?t:Af(e,n)(t)),n.push({inverse:u,styles:vf(s)})}else if(a){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(Af(e,n)(o.join(""))),o=[],n.pop()}else o.push(c)})),r.push(o.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")};!function(e){const t=Sp,n=wp.exports,r=hf.stdout,o=Ff,i="win32"===Zs.platform&&!(Zs.env.TERM||"").toLowerCase().startsWith("xterm"),u=["ansi","ansi","ansi256","ansi16m"],s=new Set(["gray"]),a=Object.create(null);function c(e,t){t=t||{};const n=r?r.level:0;e.level=void 0===t.level?n:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function l(e){if(!this||!(this instanceof l)||this.template){const t={};return c(t,e),t.template=function(){const e=[].slice.call(arguments);return h.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,l.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=l,t.template}c(this,e)}i&&(n.blue.open="\x1b[94m");for(const e of Object.keys(n))n[e].closeRe=new RegExp(t(n[e].close),"g"),a[e]={get(){const t=n[e];return f.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};a.visible={get(){return f.call(this,this._styles||[],!0,"visible")}},n.color.closeRe=new RegExp(t(n.color.close),"g");for(const e of Object.keys(n.color.ansi))s.has(e)||(a[e]={get(){const t=this.level;return function(){const r=n.color[u[t]][e].apply(null,arguments),o={open:r,close:n.color.close,closeRe:n.color.closeRe};return f.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}});n.bgColor.closeRe=new RegExp(t(n.bgColor.close),"g");for(const e of Object.keys(n.bgColor.ansi)){if(s.has(e))continue;a["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const r=n.bgColor[u[t]][e].apply(null,arguments),o={open:r,close:n.bgColor.close,closeRe:n.bgColor.closeRe};return f.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}}}const p=Object.defineProperties((()=>{}),a);function f(e,t,n){const r=function(){return d.apply(r,arguments)};r._styles=e,r._empty=t;const o=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>o.level,set(e){o.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>o.enabled,set(e){o.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=p,r}function d(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;n{let{descriptor:r}=n;const o=["".concat(xf.default.yellow("string"==typeof e?r.key(e):r.pair(e))," is deprecated")];return t&&o.push("we now treat it as ".concat(xf.default.blue("string"==typeof t?r.key(t):r.pair(t)))),o.join("; ")+"."},function(e){Object.defineProperty(e,"__esModule",{value:!0});Dp.__exportStar(Ap,e)}(vp);var Sf={},wf={};Object.defineProperty(wf,"__esModule",{value:!0});const Tf=Fp.exports;wf.commonInvalidHandler=(e,t,n)=>["Invalid ".concat(Tf.default.red(n.descriptor.key(e))," value."),"Expected ".concat(Tf.default.blue(n.schemas[e].expected(n)),","),"but received ".concat(Tf.default.red(n.descriptor.value(t)),".")].join(" "),function(e){Object.defineProperty(e,"__esModule",{value:!0});Dp.__exportStar(wf,e)}(Sf);var Bf={},Nf={},kf=[],Pf=[];Object.defineProperty(Nf,"__esModule",{value:!0});const Of=Fp.exports,If=function(e,t){if(e===t)return 0;var n=e;e.length>t.length&&(e=t,t=n);var r=e.length,o=t.length;if(0===r)return o;if(0===o)return r;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-o);)r--,o--;if(0===r)return o;for(var i,u,s,a,c=0;cu?a>u?u+1:a:a>s?s+1:a;return u};Nf.levenUnknownHandler=(e,t,n)=>{let{descriptor:r,logger:o,schemas:i}=n;const u=["Ignored unknown option ".concat(Of.default.yellow(r.pair({key:e,value:t})),".")],s=Object.keys(i).sort().find((t=>If(e,t)<3));s&&u.push("Did you mean ".concat(Of.default.blue(r.key(s)),"?")),o.warn(u.join(" "))},function(e){Object.defineProperty(e,"__esModule",{value:!0});Dp.__exportStar(Nf,e)}(Bf),function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=Dp;t.__exportStar(vp,e),t.__exportStar(Sf,e),t.__exportStar(Bf,e)}(bp);var Lf={},jf={},_f={};Object.defineProperty(_f,"__esModule",{value:!0});const Mf=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function Rf(e,t){const n=new e(t),r=Object.create(n);for(const e of Mf)e in t&&(r[e]=$f(t[e],n,Vf.prototype[e].length));return r}_f.createSchema=Rf;class Vf{constructor(e){this.name=e.name}static create(e){return Rf(this,e)}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,n){return e}preprocess(e,t){return e}postprocess(e,t){return e}}function $f(e,t,n){return"function"==typeof e?function(){for(var r=arguments.length,o=new Array(r),i=0;ie}_f.Schema=Vf,Object.defineProperty(jf,"__esModule",{value:!0});const Wf=_f;class qf extends Wf.Schema{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}}jf.AliasSchema=qf;var Uf={};Object.defineProperty(Uf,"__esModule",{value:!0});const Gf=_f;class zf extends Gf.Schema{expected(){return"anything"}validate(){return!0}}Uf.AnySchema=zf;var Hf={};Object.defineProperty(Hf,"__esModule",{value:!0});const Jf=Dp,Xf=_f;class Yf extends Xf.Schema{constructor(e){var{valueSchema:t,name:n=t.name}=e,r=Jf.__rest(e,["valueSchema","name"]);super(Object.assign({},r,{name:n})),this._valueSchema=t}expected(e){return"an array of ".concat(this._valueSchema.expected(e))}validate(e,t){if(!Array.isArray(e))return!1;const n=[];for(const r of e){const e=t.normalizeValidateResult(this._valueSchema.validate(r,t),r);!0!==e&&n.push(e.value)}return 0===n.length||{value:n}}deprecated(e,t){const n=[];for(const r of e){const e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(r,t),r);!1!==e&&n.push(...e.map((e=>{let{value:t}=e;return{value:[t]}})))}return n}forward(e,t){const n=[];for(const r of e){const e=t.normalizeForwardResult(this._valueSchema.forward(r,t),r);n.push(...e.map(Kf))}return n}redirect(e,t){const n=[],r=[];for(const o of e){const e=t.normalizeRedirectResult(this._valueSchema.redirect(o,t),o);"remain"in e&&n.push(e.remain),r.push(...e.redirect.map(Kf))}return 0===n.length?{redirect:r}:{redirect:r,remain:n}}overlap(e,t){return e.concat(t)}}function Kf(e){let{from:t,to:n}=e;return{from:[t],to:n}}Hf.ArraySchema=Yf;var Qf={};Object.defineProperty(Qf,"__esModule",{value:!0});const Zf=_f;class ed extends Zf.Schema{expected(){return"true or false"}validate(e){return"boolean"==typeof e}}Qf.BooleanSchema=ed;var td={},nd={};function rd(e,t){return"string"==typeof e||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function od(e,t){return void 0===e?[]:Array.isArray(e)?e.map((e=>rd(e,t))):[rd(e,t)]}Object.defineProperty(nd,"__esModule",{value:!0}),nd.recordFromArray=function(e,t){const n=Object.create(null);for(const r of e){const e=r[t];if(n[e])throw new Error("Duplicate ".concat(t," ").concat(JSON.stringify(e)));n[e]=r}return n},nd.mapFromArray=function(e,t){const n=new Map;for(const r of e){const e=r[t];if(n.has(e))throw new Error("Duplicate ".concat(t," ").concat(JSON.stringify(e)));n.set(e,r)}return n},nd.createAutoChecklist=function(){const e=Object.create(null);return t=>{const n=JSON.stringify(t);return!!e[n]||(e[n]=!0,!1)}},nd.partition=function(e,t){const n=[],r=[];for(const o of e)t(o)?n.push(o):r.push(o);return[n,r]},nd.isInt=function(e){return e===Math.floor(e)},nd.comparePrimitive=function(e,t){if(e===t)return 0;const n=typeof e,r=typeof t,o=["undefined","object","boolean","number","string"];return n!==r?o.indexOf(n)-o.indexOf(r):"string"!==n?Number(e)-Number(t):e.localeCompare(t)},nd.normalizeDefaultResult=function(e){return void 0===e?{}:e},nd.normalizeValidateResult=function(e,t){return!0===e||(!1===e?{value:t}:e)},nd.normalizeDeprecatedResult=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return!1!==e&&(!0===e?!!n||[{value:t}]:"value"in e?[e]:0!==e.length&&e)},nd.normalizeTransferResult=rd,nd.normalizeForwardResult=od,nd.normalizeRedirectResult=function(e,t){const n=od("object"==typeof e&&"redirect"in e?e.redirect:e,t);return 0===n.length?{remain:t,redirect:n}:"object"==typeof e&&"remain"in e?{remain:e.remain,redirect:n}:{redirect:n}},Object.defineProperty(td,"__esModule",{value:!0});const id=_f,ud=nd;class sd extends id.Schema{constructor(e){super(e),this._choices=ud.mapFromArray(e.choices.map((e=>e&&"object"==typeof e?e:{value:e})),"value")}expected(e){let{descriptor:t}=e;const n=Array.from(this._choices.keys()).map((e=>this._choices.get(e))).filter((e=>!e.deprecated)).map((e=>e.value)).sort(ud.comparePrimitive).map(t.value),r=n.slice(0,-2),o=n.slice(-2);return r.concat(o.join(" or ")).join(", ")}validate(e){return this._choices.has(e)}deprecated(e){const t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){const t=this._choices.get(e);return t?t.forward:void 0}redirect(e){const t=this._choices.get(e);return t?t.redirect:void 0}}td.ChoiceSchema=sd;var ad={},cd={};Object.defineProperty(cd,"__esModule",{value:!0});const ld=_f;class pd extends ld.Schema{expected(){return"a number"}validate(e,t){return"number"==typeof e}}cd.NumberSchema=pd,Object.defineProperty(ad,"__esModule",{value:!0});const fd=nd,dd=cd;class hd extends dd.NumberSchema{expected(){return"an integer"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&fd.isInt(e)}}ad.IntegerSchema=hd;var gd={};Object.defineProperty(gd,"__esModule",{value:!0});const md=_f;class yd extends md.Schema{expected(){return"a string"}validate(e){return"string"==typeof e}}gd.StringSchema=yd,function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=Dp;t.__exportStar(jf,e),t.__exportStar(Uf,e),t.__exportStar(Hf,e),t.__exportStar(Qf,e),t.__exportStar(td,e),t.__exportStar(ad,e),t.__exportStar(cd,e),t.__exportStar(gd,e)}(Lf);var Dd={},Ed={};Object.defineProperty(Ed,"__esModule",{value:!0});const Cd=Cp,bd=Ap,vd=Sf,Ad=Nf;Ed.defaultDescriptor=Cd.apiDescriptor,Ed.defaultUnknownHandler=Ad.levenUnknownHandler,Ed.defaultInvalidHandler=vd.commonInvalidHandler,Ed.defaultDeprecatedHandler=bd.commonDeprecatedHandler,Object.defineProperty(Dd,"__esModule",{value:!0});const Fd=Ed,xd=nd;Dd.normalize=(e,t,n)=>new Sd(t,n).normalize(e);class Sd{constructor(e,t){const{logger:n=console,descriptor:r=Fd.defaultDescriptor,unknown:o=Fd.defaultUnknownHandler,invalid:i=Fd.defaultInvalidHandler,deprecated:u=Fd.defaultDeprecatedHandler}=t||{};this._utils={descriptor:r,logger:n||{warn:()=>{}},schemas:xd.recordFromArray(e,"name"),normalizeDefaultResult:xd.normalizeDefaultResult,normalizeDeprecatedResult:xd.normalizeDeprecatedResult,normalizeForwardResult:xd.normalizeForwardResult,normalizeRedirectResult:xd.normalizeRedirectResult,normalizeValidateResult:xd.normalizeValidateResult},this._unknownHandler=o,this._invalidHandler=i,this._deprecatedHandler=u,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=xd.createAutoChecklist()}normalize(e){const t={},n=[e],r=()=>{for(;0!==n.length;){const e=n.shift(),r=this._applyNormalization(e,t);n.push(...r)}};r();for(const e of Object.keys(this._utils.schemas)){const r=this._utils.schemas[e];if(!(e in t)){const t=xd.normalizeDefaultResult(r.default(this._utils));"value"in t&&n.push({[e]:t.value})}}r();for(const e of Object.keys(this._utils.schemas)){const n=this._utils.schemas[e];e in t&&(t[e]=n.postprocess(t[e],this._utils))}return t}_applyNormalization(e,t){const n=[],[r,o]=xd.partition(Object.keys(e),(e=>e in this._utils.schemas));for(const o of r){const r=this._utils.schemas[o],i=r.preprocess(e[o],this._utils),u=xd.normalizeValidateResult(r.validate(i,this._utils),i);if(!0!==u){const{value:e}=u,t=this._invalidHandler(o,e,this._utils);throw"string"==typeof t?new Error(t):t}const s=e=>{let{from:t,to:r}=e;n.push("string"==typeof r?{[r]:t}:{[r.key]:r.value})},a=e=>{let{value:t,redirectTo:n}=e;const u=xd.normalizeDeprecatedResult(r.deprecated(t,this._utils),i,!0);if(!1!==u)if(!0===u)this._hasDeprecationWarned(o)||this._utils.logger.warn(this._deprecatedHandler(o,n,this._utils));else for(const{value:e}of u){const t={key:o,value:e};if(!this._hasDeprecationWarned(t)){const r="string"==typeof n?{key:n,value:e}:n;this._utils.logger.warn(this._deprecatedHandler(t,r,this._utils))}}};xd.normalizeForwardResult(r.forward(i,this._utils),i).forEach(s);const c=xd.normalizeRedirectResult(r.redirect(i,this._utils),i);if(c.redirect.forEach(s),"remain"in c){const e=c.remain;t[o]=o in t?r.overlap(t[o],e,this._utils):e,a({value:e})}for(const{from:e,to:t}of c.redirect)a({value:e,redirectTo:t})}for(const r of o){const o=e[r],i=this._unknownHandler(r,o,this._utils);if(i)for(const e of Object.keys(i)){const r={[e]:i[e]};e in this._utils.schemas?n.push(r):Object.assign(t,r)}}return n}}Dd.Normalizer=Sd,function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=Dp;t.__exportStar(Ep,e),t.__exportStar(bp,e),t.__exportStar(Lf,e),t.__exportStar(Dd,e),t.__exportStar(_f,e)}(fp);var wd={exports:{}};const Td=[],Bd=[],Nd=(e,t)=>{if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let r=e.length,o=t.length;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-o);)r--,o--;let i,u,s,a,c=0;for(;cu?a>u?u+1:a:a>s?s+1:a;return u};wd.exports=Nd,wd.exports.default=Nd;var kd={exports:{}};const Pd={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Od={};for(const e of Object.keys(Pd))Od[Pd[e]]=e;const Id={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var Ld=Id;for(const e of Object.keys(Id)){if(!("channels"in Id[e]))throw new Error("missing channels property: "+e);if(!("labels"in Id[e]))throw new Error("missing channel labels property: "+e);if(Id[e].labels.length!==Id[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:n}=Id[e];delete Id[e].channels,delete Id[e].labels,Object.defineProperty(Id[e],"channels",{value:t}),Object.defineProperty(Id[e],"labels",{value:n})}Id.rgb.hsl=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(t,n,r),i=Math.max(t,n,r),u=i-o;let s,a;i===o?s=0:t===i?s=(n-r)/u:n===i?s=2+(r-t)/u:r===i&&(s=4+(t-n)/u),s=Math.min(60*s,360),s<0&&(s+=360);const c=(o+i)/2;return a=i===o?0:c<=.5?u/(i+o):u/(2-i-o),[s,100*a,100*c]},Id.rgb.hsv=function(e){let t,n,r,o,i;const u=e[0]/255,s=e[1]/255,a=e[2]/255,c=Math.max(u,s,a),l=c-Math.min(u,s,a),p=function(e){return(c-e)/6/l+.5};return 0===l?(o=0,i=0):(i=l/c,t=p(u),n=p(s),r=p(a),u===c?o=r-n:s===c?o=1/3+t-r:a===c&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*i,100*c]},Id.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const o=Id.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[o,100*i,100*r]},Id.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(1-t,1-n,1-r);return[100*((1-t-o)/(1-o)||0),100*((1-n-o)/(1-o)||0),100*((1-r-o)/(1-o)||0),100*o]},Id.rgb.keyword=function(e){const t=Od[e];if(t)return t;let n,r=1/0;for(const t of Object.keys(Pd)){const u=(i=Pd[t],((o=e)[0]-i[0])**2+(o[1]-i[1])**2+(o[2]-i[2])**2);u.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;return[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},Id.rgb.lab=function(e){const t=Id.rgb.xyz(e);let n=t[0],r=t[1],o=t[2];n/=95.047,r/=100,o/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*r-16,500*(n-r),200*(r-o)]},Id.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let o,i,u;if(0===n)return u=255*r,[u,u,u];o=r<.5?r*(1+n):r+n-r*n;const s=2*r-o,a=[0,0,0];for(let e=0;e<3;e++)i=t+1/3*-(e-1),i<0&&i++,i>1&&i--,u=6*i<1?s+6*(o-s)*i:2*i<1?o:3*i<2?s+(o-s)*(2/3-i)*6:s,a[e]=255*u;return a},Id.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,o=n;const i=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,o*=i<=1?i:2-i;return[t,100*(0===r?2*o/(i+o):2*n/(r+n)),100*((r+n)/2)]},Id.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const o=Math.floor(t)%6,i=t-Math.floor(t),u=255*r*(1-n),s=255*r*(1-n*i),a=255*r*(1-n*(1-i));switch(r*=255,o){case 0:return[r,a,u];case 1:return[s,r,u];case 2:return[u,r,a];case 3:return[u,s,r];case 4:return[a,u,r];case 5:return[r,u,s]}},Id.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,o=Math.max(r,.01);let i,u;u=(2-n)*r;const s=(2-n)*o;return i=n*o,i/=s<=1?s:2-s,i=i||0,u/=2,[t,100*i,100*u]},Id.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const o=n+r;let i;o>1&&(n/=o,r/=o);const u=Math.floor(6*t),s=1-r;i=6*t-u,0!=(1&u)&&(i=1-i);const a=n+i*(s-n);let c,l,p;switch(u){default:case 6:case 0:c=s,l=a,p=n;break;case 1:c=a,l=s,p=n;break;case 2:c=n,l=s,p=a;break;case 3:c=n,l=a,p=s;break;case 4:c=a,l=n,p=s;break;case 5:c=s,l=n,p=a}return[255*c,255*l,255*p]},Id.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o))]},Id.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let o,i,u;return o=3.2406*t+-1.5372*n+-.4986*r,i=-.9689*t+1.8758*n+.0415*r,u=.0557*t+-.204*n+1.057*r,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,u=u>.0031308?1.055*u**(1/2.4)-.055:12.92*u,o=Math.min(Math.max(0,o),1),i=Math.min(Math.max(0,i),1),u=Math.min(Math.max(0,u),1),[255*o,255*i,255*u]},Id.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;return[116*n-16,500*(t-n),200*(n-r)]},Id.lab.xyz=function(e){let t,n,r;n=(e[0]+16)/116,t=e[1]/500+n,r=n-e[2]/200;const o=n**3,i=t**3,u=r**3;return n=o>.008856?o:(n-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,r=u>.008856?u:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},Id.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let o;o=360*Math.atan2(r,n)/2/Math.PI,o<0&&(o+=360);return[t,Math.sqrt(n*n+r*r),o]},Id.lch.lab=function(e){const t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},Id.rgb.ansi16=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const[n,r,o]=e;let i=null===t?Id.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),0===i)return 30;let u=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===i&&(u+=60),u},Id.hsv.ansi16=function(e){return Id.rgb.ansi16(Id.hsv.rgb(e),e[2])},Id.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},Id.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},Id.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},Id.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},Id.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split("").map((e=>e+e)).join(""));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},Id.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.max(Math.max(t,n),r),i=Math.min(Math.min(t,n),r),u=o-i;let s,a;return s=u<1?i/(1-u):0,a=u<=0?0:o===t?(n-r)/u%6:o===n?2+(r-t)/u:4+(t-n)/u,a/=6,a%=1,[360*a,100*u,100*s]},Id.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let o=0;return r<1&&(o=(n-.5*r)/(1-r)),[e[0],100*r,100*o]},Id.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},Id.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const o=[0,0,0],i=t%1*6,u=i%1,s=1-u;let a=0;switch(Math.floor(i)){case 0:o[0]=1,o[1]=u,o[2]=0;break;case 1:o[0]=s,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=u;break;case 3:o[0]=0,o[1]=s,o[2]=1;break;case 4:o[0]=u,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=s}return a=(1-n)*r,[255*(n*o[0]+a),255*(n*o[1]+a),255*(n*o[2]+a)]},Id.hcg.hsv=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);let r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},Id.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},Id.hcg.hwb=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},Id.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,r=n-t;let o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},Id.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},Id.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},Id.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},Id.gray.hsl=function(e){return[0,0,e[0]]},Id.gray.hsv=Id.gray.hsl,Id.gray.hwb=function(e){return[0,100,e[0]]},Id.gray.cmyk=function(e){return[0,0,0,e[0]]},Id.gray.lab=function(e){return[e[0],0,0]},Id.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},Id.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const jd=Ld;function _d(e){const t=function(){const e={},t=Object.keys(jd);for(let n=t.length,r=0;r{Wd[e]={},Object.defineProperty(Wd[e],"channels",{value:Vd[e].channels}),Object.defineProperty(Wd[e],"labels",{value:Vd[e].labels});const t=$d(e);Object.keys(t).forEach((n=>{const r=t[n];Wd[e][n]=function(e){const t=function(){for(var t=arguments.length,n=new Array(t),r=0;r1&&(n=o);const i=e(n);if("object"==typeof i)for(let e=i.length,t=0;t1&&(n=o),e(n))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var qd=Wd;function Ud(){return!1}function Gd(){throw new Error("tty.ReadStream is not implemented")}function zd(){throw new Error("tty.ReadStream is not implemented")}!function(e){const t=(e,t)=>function(){const n=e(...arguments);return"\x1b[".concat(n+t,"m")},n=(e,t)=>function(){const n=e(...arguments);return"\x1b[".concat(38+t,";5;").concat(n,"m")},r=(e,t)=>function(){const n=e(...arguments);return"\x1b[".concat(38+t,";2;").concat(n[0],";").concat(n[1],";").concat(n[2],"m")},o=e=>e,i=(e,t,n)=>[e,t,n],u=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let s;const a=(e,t,n,r)=>{void 0===s&&(s=qd);const o=r?10:0,i={};for(const[r,u]of Object.entries(s)){const s="ansi16"===r?"ansi":r;r===t?i[s]=e(n,o):"object"==typeof u&&(i[s]=e(u[t],o))}return i};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,s={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};s.color.gray=s.color.blackBright,s.bgColor.bgGray=s.bgColor.bgBlackBright,s.color.grey=s.color.blackBright,s.bgColor.bgGrey=s.bgColor.bgBlackBright;for(const[t,n]of Object.entries(s)){for(const[t,r]of Object.entries(n))s[t]={open:"\x1b[".concat(r[0],"m"),close:"\x1b[".concat(r[1],"m")},n[t]=s[t],e.set(r[0],r[1]);Object.defineProperty(s,t,{value:n,enumerable:!1})}return Object.defineProperty(s,"codes",{value:e,enumerable:!1}),s.color.close="\x1b[39m",s.bgColor.close="\x1b[49m",u(s.color,"ansi",(()=>a(t,"ansi16",o,!1))),u(s.color,"ansi256",(()=>a(n,"ansi256",o,!1))),u(s.color,"ansi16m",(()=>a(r,"rgb",i,!1))),u(s.bgColor,"ansi",(()=>a(t,"ansi16",o,!0))),u(s.bgColor,"ansi256",(()=>a(n,"ansi256",o,!0))),u(s.bgColor,"ansi16m",(()=>a(r,"rgb",i,!0))),s}})}(kd);var Hd={isatty:Ud,ReadStream:Gd,WriteStream:zd};const Jd=af,Xd=t(Object.freeze({__proto__:null,isatty:Ud,ReadStream:Gd,WriteStream:zd,default:Hd})),Yd=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Zs.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return-1!==r&&(-1===o||r=2,has16m:e>=3}}function eh(e,t){if(0===Qd)return 0;if(Yd("color=16m")||Yd("color=full")||Yd("color=truecolor"))return 3;if(Yd("color=256"))return 2;if(e&&!t&&void 0===Qd)return 0;const n=Qd||0;if("dumb"===Kd.TERM)return n;if("win32"===Zs.platform){const e=Jd.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Kd)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in Kd))||"codeship"===Kd.CI_NAME?1:n;if("TEAMCITY_VERSION"in Kd)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Kd.TEAMCITY_VERSION)?1:0;if("truecolor"===Kd.COLORTERM)return 3;if("TERM_PROGRAM"in Kd){const e=parseInt((Kd.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Kd.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Kd.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Kd.TERM)||"COLORTERM"in Kd?1:n}Yd("no-color")||Yd("no-colors")||Yd("color=false")||Yd("color=never")?Qd=0:(Yd("color")||Yd("colors")||Yd("color=true")||Yd("color=always"))&&(Qd=1),"FORCE_COLOR"in Kd&&(Qd="true"===Kd.FORCE_COLOR?1:"false"===Kd.FORCE_COLOR?0:0===Kd.FORCE_COLOR.length?1:Math.min(parseInt(Kd.FORCE_COLOR,10),3));var th={supportsColor:function(e){return Zd(eh(e,e&&e.isTTY))},stdout:Zd(eh(!0,Xd.isatty(1))),stderr:Zd(eh(!0,Xd.isatty(2)))};var nh={stringReplaceAll:(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const o=t.length;let i=0,u="";do{u+=e.substr(i,r-i)+t+n,i=r+o,r=e.indexOf(t,i)}while(-1!==r);return u+=e.substr(i),u},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let o=0,i="";do{const u="\r"===e[r-1];i+=e.substr(o,(u?r-1:r)-o)+t+(u?"\r\n":"\n")+n,o=r+1,r=e.indexOf("\n",o)}while(-1!==r);return i+=e.substr(o),i}};const rh=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,oh=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,ih=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,uh=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,sh=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function ah(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):sh.get(e)||e}function ch(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let o;for(const t of r){const r=Number(t);if(Number.isNaN(r)){if(!(o=t.match(ih)))throw new Error("Invalid Chalk template style argument: ".concat(t," (in style '").concat(e,"')"));n.push(o[2].replace(uh,((e,t,n)=>t?ah(t):n)))}else n.push(r)}return n}function lh(e){oh.lastIndex=0;const t=[];let n;for(;null!==(n=oh.exec(e));){const e=n[1];if(n[2]){const r=ch(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function ph(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error("Unknown Chalk style: ".concat(e));r=t.length>0?r[e](...t):r[e]}return r}var fh=(e,t)=>{const n=[],r=[];let o=[];if(t.replace(rh,((t,i,u,s,a,c)=>{if(i)o.push(ah(i));else if(s){const t=o.join("");o=[],r.push(0===n.length?t:ph(e,n)(t)),n.push({inverse:u,styles:lh(s)})}else if(a){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(ph(e,n)(o.join(""))),o=[],n.pop()}else o.push(c)})),r.push(o.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")};const dh=kd.exports,{stdout:hh,stderr:gh}=th,{stringReplaceAll:mh,stringEncaseCRLFWithFirstIndex:yh}=nh,{isArray:Dh}=Array,Eh=["ansi","ansi","ansi256","ansi16m"],Ch=Object.create(null);class bh{constructor(e){return vh(e)}}const vh=e=>{const t={};return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=hh?hh.level:0;e.level=void 0===t.level?n:t.level}(t,e),t.template=function(){for(var e=arguments.length,n=new Array(e),r=0;r{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=bh,t.template};function Ah(e){return vh(e)}for(const[e,t]of Object.entries(dh))Ch[e]={get(){const n=wh(this,Sh(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};Ch.visible={get(){const e=wh(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const Fh=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of Fh)Ch[e]={get(){const{level:t}=this;return function(){const n=Sh(dh.color[Eh[t]][e](...arguments),dh.color.close,this._styler);return wh(this,n,this._isEmpty)}}};for(const e of Fh){Ch["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(){const n=Sh(dh.bgColor[Eh[t]][e](...arguments),dh.bgColor.close,this._styler);return wh(this,n,this._isEmpty)}}}}const xh=Object.defineProperties((()=>{}),Object.assign(Object.assign({},Ch),{},{level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}})),Sh=(e,t,n)=>{let r,o;return void 0===n?(r=e,o=t):(r=n.openAll+e,o=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:o,parent:n}},wh=(e,t,n)=>{const r=function(){for(var e=arguments.length,t=new Array(e),n=0;n{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:o}=n;if(-1!==t.indexOf("\x1b"))for(;void 0!==n;)t=mh(t,n.close,n.open),n=n.parent;const i=t.indexOf("\n");return-1!==i&&(t=yh(t,o,r,i)),r+t+o};let Bh;const Nh=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1===e.length?"-".concat(e):"--".concat(e),value:e=>Ih.apiDescriptor.value(e),pair:e=>{let{key:t,value:n}=e;return!1===n?"--no-".concat(t):!0===n?Mh.key(t):""===n?"".concat(Mh.key(t)," without an argument"):"".concat(Mh.key(t),"=").concat(n)}};class Rh extends Ih.ChoiceSchema{constructor(e){let{name:t,flags:n}=e;super({name:t,choices:n}),this._flags=[...n].sort()}preprocess(e,t){if("string"==typeof e&&e.length>0&&!this._flags.includes(e)){const n=this._flags.find((t=>Lh(t,e)<3));if(n)return t.logger.warn(["Unknown flag ".concat(jh.yellow(t.descriptor.value(e)),","),"did you mean ".concat(jh.blue(t.descriptor.value(n)),"?")].join(" ")),n}return e}expected(){return"a flag"}}let Vh;function $h(e,t){let{logger:n,isCLI:r=!1,passThrough:o=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=o?Array.isArray(o)?(e,t)=>o.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):(e,t,n)=>{const r=au(n.schemas,Oh);return Ih.levenUnknownHandler(e,t,Object.assign(Object.assign({},n),{},{schemas:r}))},u=r?Mh:Ih.apiDescriptor,s=Wh(t,{isCLI:r}),a=new Ih.Normalizer(s,{logger:n,unknown:i,descriptor:u}),c=!1!==n;c&&Vh&&(a._hasDeprecationWarned=Vh);const l=a.normalize(e);return c&&(Vh=a._hasDeprecationWarned),l}function Wh(e,t){let{isCLI:n}=t;const r=[];n&&r.push(Ih.AnySchema.create({name:"_"}));for(const t of e)r.push(qh(t,{isCLI:n,optionInfos:e})),t.alias&&n&&r.push(Ih.AliasSchema.create({name:t.alias,sourceName:t.name}));return r}function qh(e,t){let n,{isCLI:r,optionInfos:o}=t;const i={name:e.name},u={};switch(e.type){case"int":n=Ih.IntegerSchema,r&&(i.preprocess=e=>Number(e));break;case"string":case"path":n=Ih.StringSchema;break;case"choice":n=Ih.ChoiceSchema,i.choices=e.choices.map((t=>"object"==typeof t&&t.redirect?Object.assign(Object.assign({},t),{},{redirect:{to:{key:e.name,value:t.redirect}}}):t));break;case"boolean":n=Ih.BooleanSchema;break;case"flag":n=Rh,i.flags=o.flatMap((e=>[e.alias,e.description&&e.name,e.oppositeDescription&&"no-".concat(e.name)].filter(Boolean)));break;default:throw new Error("Unexpected type ".concat(e.type))}if(e.exception?i.validate=(t,n,r)=>e.exception(t)||n.validate(t,r):i.validate=(e,t,n)=>void 0===e||t.validate(e,n),e.redirect&&(u.redirect=t=>t?{to:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(u.deprecated=!0),r&&!e.array){const e=i.preprocess||(e=>e);i.preprocess=(t,n,r)=>n.preprocess(e(Array.isArray(t)?_h(t):t),r)}return e.array?Ih.ArraySchema.create(Object.assign(Object.assign(Object.assign({},r?{preprocess:e=>Array.isArray(e)?e:[e]}:{}),u),{},{valueSchema:n.create(i)})):n.create(Object.assign(Object.assign({},i),u))}var Uh={normalizeApiOptions:function(e,t,n){return $h(e,t,n)},normalizeCliOptions:function(e,t,n){return $h(e,t,Object.assign({isCLI:!0},n))}};const{isNonEmptyArray:Gh}=ic;function zh(e,t){const{ignoreDecorators:n}=t||{};if(!n){const t=e.declaration&&e.declaration.decorators||e.decorators;if(Gh(t))return zh(t[0])}return e.range?e.range[0]:e.start}function Hh(e){return e.range?e.range[1]:e.end}function Jh(e,t){return zh(e)===zh(t)}var Xh={locStart:zh,locEnd:Hh,hasSameLocStart:Jh,hasSameLoc:function(e,t){return Jh(e,t)&&function(e,t){return Hh(e)===Hh(t)}(e,t)}},Yh={},Kh={},Qh={};Object.defineProperty(Qh,"__esModule",{value:!0}),Qh.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,Qh.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t};var Zh={},eg={};Object.defineProperty(eg,"__esModule",{value:!0}),eg.isIdentifierStart=ag,eg.isIdentifierChar=cg,eg.isIdentifierName=function(e){let t=!0;for(let n=0;ne)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function ag(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&rg.test(String.fromCharCode(e)):sg(e,ig)))}function cg(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&og.test(String.fromCharCode(e)):sg(e,ig)||sg(e,ug))))}var lg={};Object.defineProperty(lg,"__esModule",{value:!0}),lg.isReservedWord=mg,lg.isStrictReservedWord=yg,lg.isStrictBindOnlyReservedWord=Dg,lg.isStrictBindReservedWord=function(e,t){return yg(e,t)||Dg(e)},lg.isKeyword=function(e){return dg.has(e)};const pg=["implements","interface","let","package","private","protected","public","static","yield"],fg=["eval","arguments"],dg=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),hg=new Set(pg),gg=new Set(fg);function mg(e,t){return t&&"await"===e||"enum"===e}function yg(e,t){return mg(e,t)||hg.has(e)}function Dg(e){return gg.has(e)}!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"isIdentifierName",{enumerable:!0,get:function(){return t.isIdentifierName}}),Object.defineProperty(e,"isIdentifierChar",{enumerable:!0,get:function(){return t.isIdentifierChar}}),Object.defineProperty(e,"isIdentifierStart",{enumerable:!0,get:function(){return t.isIdentifierStart}}),Object.defineProperty(e,"isReservedWord",{enumerable:!0,get:function(){return n.isReservedWord}}),Object.defineProperty(e,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return n.isStrictBindOnlyReservedWord}}),Object.defineProperty(e,"isStrictBindReservedWord",{enumerable:!0,get:function(){return n.isStrictBindReservedWord}}),Object.defineProperty(e,"isStrictReservedWord",{enumerable:!0,get:function(){return n.isStrictReservedWord}}),Object.defineProperty(e,"isKeyword",{enumerable:!0,get:function(){return n.isKeyword}});var t=eg,n=lg}(Zh);var Eg={exports:{}},Cg=/[|\\{}()[\]^$+*?.]/g,bg=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(Cg,"\\$&")};const vg=af,Ag=(e,t)=>{t=t||Zs.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return-1!==r&&(-1===o||r=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Fg)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in Fg))||"codeship"===Fg.CI_NAME?1:t;if("TEAMCITY_VERSION"in Fg)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Fg.TEAMCITY_VERSION)?1:0;if("truecolor"===Fg.COLORTERM)return 3;if("TERM_PROGRAM"in Fg){const e=parseInt((Fg.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Fg.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Fg.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Fg.TERM)||"COLORTERM"in Fg?1:(Fg.TERM,t)}(e);return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(t)}Ag("no-color")||Ag("no-colors")||Ag("color=false")?xg=!1:(Ag("color")||Ag("colors")||Ag("color=true")||Ag("color=always"))&&(xg=!0),"FORCE_COLOR"in Fg&&(xg=0===Fg.FORCE_COLOR.length||0!==parseInt(Fg.FORCE_COLOR,10));var wg={supportsColor:Sg,stdout:Sg(Zs.stdout),stderr:Sg(Zs.stderr)};const Tg=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Bg=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Ng=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,kg=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,Pg=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function Og(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):Pg.get(e)||e}function Ig(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let o;for(const t of r)if(isNaN(t)){if(!(o=t.match(Ng)))throw new Error("Invalid Chalk template style argument: ".concat(t," (in style '").concat(e,"')"));n.push(o[2].replace(kg,((e,t,n)=>t?Og(t):n)))}else n.push(Number(t));return n}function Lg(e){Bg.lastIndex=0;const t=[];let n;for(;null!==(n=Bg.exec(e));){const e=n[1];if(n[2]){const r=Ig(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function jg(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error("Unknown Chalk style: ".concat(e));r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var _g=(e,t)=>{const n=[],r=[];let o=[];if(t.replace(Tg,((t,i,u,s,a,c)=>{if(i)o.push(Og(i));else if(s){const t=o.join("");o=[],r.push(0===n.length?t:jg(e,n)(t)),n.push({inverse:u,styles:Lg(s)})}else if(a){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(jg(e,n)(o.join(""))),o=[],n.pop()}else o.push(c)})),r.push(o.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")};!function(e){const t=bg,n=wp.exports,r=wg.stdout,o=_g,i="win32"===Zs.platform&&!(Zs.env.TERM||"").toLowerCase().startsWith("xterm"),u=["ansi","ansi","ansi256","ansi16m"],s=new Set(["gray"]),a=Object.create(null);function c(e,t){t=t||{};const n=r?r.level:0;e.level=void 0===t.level?n:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function l(e){if(!this||!(this instanceof l)||this.template){const t={};return c(t,e),t.template=function(){const e=[].slice.call(arguments);return h.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,l.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=l,t.template}c(this,e)}i&&(n.blue.open="\x1b[94m");for(const e of Object.keys(n))n[e].closeRe=new RegExp(t(n[e].close),"g"),a[e]={get(){const t=n[e];return f.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};a.visible={get(){return f.call(this,this._styles||[],!0,"visible")}},n.color.closeRe=new RegExp(t(n.color.close),"g");for(const e of Object.keys(n.color.ansi))s.has(e)||(a[e]={get(){const t=this.level;return function(){const r=n.color[u[t]][e].apply(null,arguments),o={open:r,close:n.color.close,closeRe:n.color.closeRe};return f.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}});n.bgColor.closeRe=new RegExp(t(n.bgColor.close),"g");for(const e of Object.keys(n.bgColor.ansi)){if(s.has(e))continue;a["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const r=n.bgColor[u[t]][e].apply(null,arguments),o={open:r,close:n.bgColor.close,closeRe:n.bgColor.closeRe};return f.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}}}const p=Object.defineProperties((()=>{}),a);function f(e,t,n){const r=function(){return d.apply(r,arguments)};r._styles=e,r._empty=t;const o=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>o.level,set(e){o.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>o.enabled,set(e){o.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=p,r}function d(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;n1&&void 0!==arguments[1]?arguments[1]:{};if(Hg(t)){const n=Jg(t);return zg(Wg(n),e)}return e},Kh.getChalk=Jg,Kh.shouldHighlight=Hg;var Mg=Qh,Rg=Zh,Vg=Eg.exports;const $g=new Set(["as","async","from","get","of","set"]);function Wg(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}const qg=/\r\n|[\n\r\u2028\u2029]/,Ug=/^[()[\]{}]$/;let Gg;{const e=/^[a-z][\w-]*$/i,t=function(t,n,r){if("name"===t.type){if((0,Rg.isKeyword)(t.value)||(0,Rg.isStrictReservedWord)(t.value,!0)||$g.has(t.value))return"keyword";if(e.test(t.value)&&("<"===r[n-1]||"t(e))).join("\n"):o}return n}function Hg(e){return!!Vg.supportsColor||e.forceColor}function Jg(e){return e.forceColor?new Vg.constructor({enabled:!0,level:1}):Vg}Object.defineProperty(Yh,"__esModule",{value:!0}),Yh.codeFrameColumns=em,Yh.default=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!Yg){Yg=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(Zs.emitWarning)Zs.emitWarning(e,"DeprecationWarning");else{new Error(e).name="DeprecationWarning",console.warn(new Error(e))}}const o={start:{column:n=Math.max(n,0),line:t}};return em(e,o,r)};var Xg=Kh;let Yg=!1;function Kg(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}const Qg=/\r\n|[\n\r\u2028\u2029]/;function Zg(e,t,n){const r=Object.assign({column:0,line:-1},e.start),o=Object.assign({},r,e.end),{linesAbove:i=2,linesBelow:u=3}=n||{},s=r.line,a=r.column,c=o.line,l=o.column;let p=Math.max(s-(i+1),0),f=Math.min(t.length,c+u);-1===s&&(p=0),-1===c&&(f=t.length);const d=c-s,h={};if(d)for(let e=0;e<=d;e++){const n=e+s;if(a)if(0===e){const e=t[n-1].length;h[n]=[a,e-a+1]}else if(e===d)h[n]=[0,l];else{const r=t[n-e].length;h[n]=[0,r]}else h[n]=!0}else h[s]=a===l?!a||[a,0]:[a,l-a];return{start:p,end:f,markerLines:h}}function em(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=(n.highlightCode||n.forceColor)&&(0,Xg.shouldHighlight)(n),o=(0,Xg.getChalk)(n),i=Kg(o),u=(e,t)=>r?e(t):t,s=e.split(Qg),{start:a,end:c,markerLines:l}=Zg(t,s,n),p=t.start&&"number"==typeof t.start.column,f=String(c).length,d=r?(0,Xg.default)(e,n):e;let h=d.split(Qg,c).slice(a,c).map(((e,t)=>{const r=a+1+t,o=" ".concat(r).slice(-f),s=" ".concat(o," |"),c=l[r],p=!l[r+1];if(c){let t="";if(Array.isArray(c)){const r=e.slice(0,Math.max(c[0]-1,0)).replace(/[^\t]/g," "),o=c[1]||1;t=["\n ",u(i.gutter,s.replace(/\d/g," "))," ",r,u(i.marker,"^").repeat(o)].join(""),p&&n.message&&(t+=" "+u(i.message,n.message))}return[u(i.marker,">"),u(i.gutter,s),e.length>0?" ".concat(e):"",t].join("")}return" ".concat(u(i.gutter,s)).concat(e.length>0?" ".concat(e):"")})).join("\n");return n.message&&!p&&(h="".concat(" ".repeat(f+1)).concat(n.message,"\n").concat(h)),r?o.reset(h):h}const{ConfigError:tm}=pp,nm=Xh,{locStart:rm,locEnd:om}=nm,im=Object.getOwnPropertyNames,um=Object.getOwnPropertyDescriptor;function sm(e){const t={};for(const n of e.plugins)if(n.parsers)for(const e of im(n.parsers))Object.defineProperty(t,e,um(n.parsers,e));return t}function am(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sm(e);if("function"==typeof e.parser)return{parse:e.parser,astFormat:"estree",locStart:rm,locEnd:om};if("string"==typeof e.parser){if(Object.prototype.hasOwnProperty.call(t,e.parser))return t[e.parser];throw new tm("Couldn't resolve parser \"".concat(e.parser,'". Parsers must be explicitly added to the standalone bundle.'))}}var cm={parse:function(e,t){const n=sm(t),r=Object.defineProperties({},Object.fromEntries(Object.keys(n).map((e=>[e,{enumerable:!0,get:()=>n[e].parse}])))),o=am(t,n);try{return o.preprocess&&(e=o.preprocess(e,t)),{text:e,ast:o.parse(e,r,t)}}catch(t){const{loc:n}=t;if(n){const{codeFrameColumns:r}=Yh;throw t.codeFrame=r(e,n,{highlightCode:!0}),t.message+="\n"+t.codeFrame,t}throw t.stack}},resolveParser:am};const lm=zc,pm=sl,fm=up,{UndefinedParserError:dm}=pp,{getSupportInfo:hm}=_a,gm=Uh,{resolveParser:mm}=cm,ym={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function Dm(e){const{astFormat:t}=e;if(!t)throw new Error("getPlugin() requires astFormat to be set");const n=e.plugins.find((e=>e.printers&&e.printers[t]));if(!n)throw new Error("Couldn't find plugin for AST format \"".concat(t,'"'));return n}function Em(e,t){const n=pm.basename(e).toLowerCase(),r=hm({plugins:t}).languages.filter((e=>null!==e.since));let o=r.find((e=>e.extensions&&e.extensions.some((e=>n.endsWith(e)))||e.filenames&&e.filenames.some((e=>e.toLowerCase()===n))));if(!o&&!n.includes(".")){const t=function(e){if("string"!=typeof e)return"";let t;try{t=lm.openSync(e,"r")}catch{return""}try{const e=new fm(t).next().toString("utf8"),n=e.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/);if(n)return n[1];const r=e.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/);return r?r[1]:""}catch{return""}finally{try{lm.closeSync(t)}catch{}}}(e);o=r.find((e=>e.interpreters&&e.interpreters.includes(t)))}return o&&o.parsers[0]}var Cm={normalize:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Object.assign({},e),r=hm({plugins:e.plugins,showUnreleased:!0,showDeprecated:!0}).options,o=Object.assign(Object.assign({},ym),Object.fromEntries(r.filter((e=>void 0!==e.default)).map((e=>[e.name,e.default]))));if(!n.parser)if(n.filepath){if(n.parser=Em(n.filepath,n.plugins),!n.parser)throw new dm("No parser could be inferred for file: ".concat(n.filepath))}else{(t.logger||console).warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),n.parser="babel"}const i=mm(gm.normalizeApiOptions(n,[r.find((e=>"parser"===e.name))],{passThrough:!0,logger:!1}));n.astFormat=i.astFormat,n.locEnd=i.locEnd,n.locStart=i.locStart;const u=Dm(n);n.printer=u.printers[n.astFormat];const s=Object.fromEntries(r.filter((e=>e.pluginDefaults&&void 0!==e.pluginDefaults[u.name])).map((e=>[e.name,e.pluginDefaults[u.name]]))),a=Object.assign(Object.assign({},o),s);for(const[e,t]of Object.entries(a))null!==n[e]&&void 0!==n[e]||(n[e]=t);return"json"===n.parser&&(n.trailingComma="none"),gm.normalizeApiOptions(n,r,Object.assign({passThrough:Object.keys(ym)},t))},hiddenDefaults:ym,inferParser:Em};var bm=function e(t,n,r){if(Array.isArray(t))return t.map((t=>e(t,n,r))).filter(Boolean);if(!t||"object"!=typeof t)return t;const o=n.printer.massageAstNode;let i;i=o&&o.ignoredProperties?o.ignoredProperties:new Set;const u={};for(const[r,o]of Object.entries(t))i.has(r)||"function"==typeof o||(u[r]=e(o,n,t));if(o){const e=o(t,u,r);if(null===e)return;if(e)return e}return u},vm="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};function Am(e,t){var n={seen:[],stylize:xm};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Bm(t)?n.showHidden=t:t&&Vm(n,t),Pm(n.showHidden)&&(n.showHidden=!1),Pm(n.depth)&&(n.depth=2),Pm(n.colors)&&(n.colors=!1),Pm(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Fm),Sm(n,e,n.depth)}function Fm(e,t){var n=Am.styles[t];return n?"\x1b["+Am.colors[n][0]+"m"+e+"\x1b["+Am.colors[n][1]+"m":e}function xm(e,t){return e}function Sm(e,t,n){if(e.customInspect&&t&&_m(t.inspect)&&t.inspect!==Am&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return km(r)||(r=Sm(e,r,n)),r}var o=function(e,t){if(Pm(t))return e.stylize("undefined","undefined");if(km(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(r=t,"number"==typeof r)return e.stylize(""+t,"number");var r;if(Bm(t))return e.stylize(""+t,"boolean");if(Nm(t))return e.stylize("null","null")}(e,t);if(o)return o;var i=Object.keys(t),u=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),jm(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return wm(t);if(0===i.length){if(_m(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Om(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Lm(t))return e.stylize(Date.prototype.toString.call(t),"date");if(jm(t))return wm(t)}var a,c,l="",p=!1,f=["{","}"];(a=t,Array.isArray(a)&&(p=!0,f=["[","]"]),_m(t))&&(l=" [Function"+(t.name?": "+t.name:"")+"]");return Om(t)&&(l=" "+RegExp.prototype.toString.call(t)),Lm(t)&&(l=" "+Date.prototype.toUTCString.call(t)),jm(t)&&(l=" "+wm(t)),0!==i.length||p&&0!=t.length?n<0?Om(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=p?function(e,t,n,r,o){for(var i=[],u=0,s=t.length;u60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(c,l,f)):f[0]+l+f[1]}function wm(e){return"["+Error.prototype.toString.call(e)+"]"}function Tm(e,t,n,r,o,i){var u,s,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(s=e.stylize("[Setter]","special")),$m(r,o)||(u="["+o+"]"),s||(e.seen.indexOf(a.value)<0?(s=Nm(n)?Sm(e,a.value,null):Sm(e,a.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Pm(u)){if(i&&o.match(/^\d+$/))return s;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+s}function Bm(e){return"boolean"==typeof e}function Nm(e){return null===e}function km(e){return"string"==typeof e}function Pm(e){return void 0===e}function Om(e){return Im(e)&&"[object RegExp]"===Rm(e)}function Im(e){return"object"==typeof e&&null!==e}function Lm(e){return Im(e)&&"[object Date]"===Rm(e)}function jm(e){return Im(e)&&("[object Error]"===Rm(e)||e instanceof Error)}function _m(e){return"function"==typeof e}function Mm(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function Rm(e){return Object.prototype.toString.call(e)}function Vm(e,t){if(!t||!Im(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function $m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Wm(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o=0){var u=r.indexOf("\n",i+1);r=r.substring(u+1)}this.stack=r}}}function ey(e,t){return"string"==typeof e?e.length=0;s--)if(a[s]!==c[s])return!1;for(s=a.length-1;s>=0;s--)if(!ay(e[u=a[s]],t[u],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function cy(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function ly(e,t,n){ay(e,t,!1)&&ny(e,t,n,"notDeepEqual",ly)}function py(e,t,n){ay(e,t,!0)&&ny(e,t,n,"notDeepStrictEqual",py)}function fy(e,t,n){e!==t&&ny(e,t,n,"===",fy)}function dy(e,t,n){e===t&&ny(e,t,n,"!==",dy)}function hy(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function gy(e,t,n,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!o&&ny(o,n,"Missing expected exception"+r);var i="string"==typeof r,u=!e&&o&&!n;if((!e&&jm(o)&&i&&hy(o,n)||u)&&ny(o,n,"Got unwanted exception"+r),e&&o&&n&&!hy(o,n)||!e&&o)throw o}function my(e,t,n){gy(!0,e,t,n)}function yy(e,t,n){gy(!1,e,t,n)}function Dy(e){if(e)throw e}Ym.AssertionError=Zm,vm(Zm,Error),Ym.fail=ny,Ym.ok=ry,Ym.equal=oy,Ym.notEqual=iy,Ym.deepEqual=uy,Ym.deepStrictEqual=sy,Ym.notDeepEqual=ly,Ym.notDeepStrictEqual=py,Ym.strictEqual=fy,Ym.notStrictEqual=dy,Ym.throws=my,Ym.doesNotThrow=yy,Ym.ifError=Dy;var Ey=t(Object.freeze({__proto__:null,default:Ym,AssertionError:Zm,fail:ny,ok:ry,assert:ry,equal:oy,notEqual:iy,deepEqual:uy,deepStrictEqual:sy,notDeepEqual:ly,notDeepStrictEqual:py,strictEqual:fy,notStrictEqual:dy,throws:my,doesNotThrow:yy,ifError:Dy}));const Cy=Ey,{builders:{line:by,hardline:vy,breakParent:Ay,indent:Fy,lineSuffix:xy,join:Sy,cursor:wy}}=Gc,{hasNewline:Ty,skipNewline:By,skipSpaces:Ny,isPreviousLineEmpty:ky,addLeadingComment:Py,addDanglingComment:Oy,addTrailingComment:Iy}=ic,Ly=new WeakMap;function jy(e,t,n){if(!e)return;const{printer:r,locStart:o,locEnd:i}=t;if(n){if(r.canAttachComment&&r.canAttachComment(e)){let t;for(t=n.length-1;t>=0&&!(o(n[t])<=o(e)&&i(n[t])<=i(e));--t);return void n.splice(t+1,0,e)}}else if(Ly.has(e))return Ly.get(e);const u=r.getCommentChildNodes&&r.getCommentChildNodes(e,t)||"object"==typeof e&&Object.entries(e).filter((e=>{let[t]=e;return"enclosingNode"!==t&&"precedingNode"!==t&&"followingNode"!==t&&"tokens"!==t&&"comments"!==t})).map((e=>{let[,t]=e;return t}));if(u){n||(n=[],Ly.set(e,n));for(const e of u)jy(e,t,n);return n}}function _y(e,t,n,r){const{locStart:o,locEnd:i}=n,u=o(t),s=i(t),a=jy(e,n);let c,l,p=0,f=a.length;for(;p>1,r=a[e],d=o(r),h=i(r);if(d<=u&&s<=h)return _y(r,t,n,r);if(h<=u)c=r,p=e+1;else{if(!(s<=d))throw new Error("Comment location overlaps with node location");l=r,f=e}}if(r&&"TemplateLiteral"===r.type){const{quasis:e}=r,o=Uy(e,t,n);c&&Uy(e,c,n)!==o&&(c=null),l&&Uy(e,l,n)!==o&&(l=null)}return{enclosingNode:r,precedingNode:c,followingNode:l}}const My=()=>!1;const Ry=e=>!/[\S\n\u2028\u2029]/.test(e);function Vy(e,t,n,r){const{comment:o,precedingNode:i}=n[r],{locStart:u,locEnd:s}=t;let a=u(o);if(i)for(let t=r-1;t>=0;t--){const{comment:r,precedingNode:o}=n[t];if(o!==i||!Ry(e.slice(s(r),a)))break;a=u(r)}return Ty(e,a,{backwards:!0})}function $y(e,t,n,r){const{comment:o,followingNode:i}=n[r],{locStart:u,locEnd:s}=t;let a=s(o);if(i)for(let t=r+1;t0;--a){const{comment:r,precedingNode:u,followingNode:l}=e[a-1];Cy.strictEqual(u,o),Cy.strictEqual(l,i);const p=t.slice(n.locEnd(r),c);if(!s.test(p))break;c=n.locStart(r)}for(const[t,{comment:n}]of e.entries())t1&&e.comments.sort(((e,t)=>n.locStart(e)-n.locStart(t)));e.length=0}function qy(e,t){return e.getValue().printed=!0,t.printer.printComment(e,t)}function Uy(e,t,n){const r=n.locStart(t)-1;for(let t=1;t!n.has(e))));const i=r===t.cursorNode;if(0===o.length){const e=i?wy:"";return{leading:e,trailing:e}}const u=[],s=[];return e.each((()=>{const r=e.getValue();if(n&&n.has(r))return;const{leading:o,trailing:i}=r;o?u.push(function(e,t){const n=e.getValue(),r=[qy(e,t)],{printer:o,originalText:i,locStart:u,locEnd:s}=t;if(o.isBlockComment&&o.isBlockComment(n)){const e=Ty(i,s(n))?Ty(i,u(n),{backwards:!0})?vy:by:" ";r.push(e)}else r.push(vy);const a=By(i,Ny(i,s(n)));return!1!==a&&Ty(i,a)&&r.push(vy),r}(e,t)):i&&s.push(function(e,t){const n=e.getValue(),r=qy(e,t),{printer:o,originalText:i,locStart:u}=t,s=o.isBlockComment&&o.isBlockComment(n);if(Ty(i,u(n),{backwards:!0})){const e=ky(i,n,u);return xy([vy,e?vy:"",r])}let a=[" ",r];return s||(a=[xy(a),Ay]),a}(e,t))}),"comments"),i&&(u.unshift(wy),s.push(wy)),{leading:u,trailing:s}}var zy={attach:function(e,t,n,r){if(!Array.isArray(e))return;const o=[],{locStart:i,locEnd:u,printer:{handleComments:s={}}}=r,{avoidAstMutation:a,ownLine:c=My,endOfLine:l=My,remaining:p=My}=s,f=e.map(((o,i)=>Object.assign(Object.assign({},_y(t,o,r)),{},{comment:o,text:n,options:r,ast:t,isLastComment:e.length-1===i})));for(const[e,t]of f.entries()){const{comment:n,precedingNode:r,enclosingNode:s,followingNode:d,text:h,options:g,ast:m,isLastComment:y}=t;if("json"===g.parser||"json5"===g.parser||"__js_expression"===g.parser||"__vue_expression"===g.parser){if(i(n)-i(m)<=0){Py(m,n);continue}if(u(n)-u(m)>=0){Iy(m,n);continue}}let D;if(a?D=[t]:(n.enclosingNode=s,n.precedingNode=r,n.followingNode=d,D=[n,h,g,m,y]),Vy(h,g,f,e))n.placement="ownLine",c(...D)||(d?Py(d,n):r?Iy(r,n):Oy(s||m,n));else if($y(h,g,f,e))n.placement="endOfLine",l(...D)||(r?Iy(r,n):d?Py(d,n):Oy(s||m,n));else if(n.placement="remaining",p(...D));else if(r&&d){const e=o.length;if(e>0){o[e-1].followingNode!==d&&Wy(o,h,g)}o.push(t)}else r?Iy(r,n):d?Py(d,n):Oy(s||m,n)}if(Wy(o,n,r),!a)for(const t of e)delete t.precedingNode,delete t.enclosingNode,delete t.followingNode},printComments:function(e,t,n,r){const{leading:o,trailing:i}=Gy(e,n,r);return o||i?[o,t,i]:t},printCommentsSeparately:Gy,printDanglingComments:function(e,t,n,r){const o=[],i=e.getValue();return i&&i.comments?(e.each((()=>{const n=e.getValue();n.leading||n.trailing||r&&!r(n)||o.push(qy(e,t))}),"comments"),0===o.length?"":n?Sy(vy,o):Fy([vy,Sy(vy,o)])):""},getSortedChildNodes:jy,ensureAllCommentsPrinted:function(e){if(e)for(const t of e){if(!t.printed)throw new Error('Comment "'+t.value.trim()+'" was not printed. Please report this error!');delete t.printed}}};const Hy=su;function Jy(e,t){const n=Xy(e.stack,t);return-1===n?null:e.stack[n]}function Xy(e,t){for(let n=e.length-1;n>=0;n-=2){const r=e[n];if(r&&!Array.isArray(r)&&--t<0)return n}return-1}var Yy=class{constructor(e){this.stack=[e]}getName(){const{stack:e}=this,{length:t}=e;return t>1?e[t-2]:null}getValue(){return Hy(this.stack)}getNode(){return Jy(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)}getParentNode(){return Jy(this,(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)+1)}call(e){const{stack:t}=this,{length:n}=t;let r=Hy(t);for(var o=arguments.length,i=new Array(o>1?o-1:0),u=1;u1&&void 0!==arguments[1]?arguments[1]:0;const n=Xy(this.stack,t+1),r=this.stack.splice(n+1),o=e(this);return this.stack.push(...r),o}each(e){const{stack:t}=this,{length:n}=t;let r=Hy(t);for(var o=arguments.length,i=new Array(o>1?o-1:0),u=1;u1?n-1:0),o=1;o{t[r]=e(n,r,o)}),...r),t}try(e){const{stack:t}=this,n=[...t];try{return e()}finally{t.length=0,t.push(...n)}}match(){let e=this.stack.length-1,t=null,n=this.stack[e--];for(var r=arguments.length,o=new Array(r),i=0;ifunction(e,t,n,r){let{stripTrailingHardline:o=!1}=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const i=Qy(Object.assign(Object.assign(Object.assign({},n),t),{},{parentParser:n.parser,originalText:e}),{passThrough:!0}),u=cm.parse(e,i),{ast:s}=u;e=u.text;const a=s.comments;delete s.comments,Zy.attach(a,s,e,i),i[Symbol.for("comments")]=a||[],i[Symbol.for("tokens")]=s.tokens||[];const c=r(s,i);if(Zy.ensureAllCommentsPrinted(a),o)return"string"==typeof c?c.replace(/(?:\r?\n)*$/,""):Ky(c);return c}(e,t,n,r,o)),n)}};const tD=Yy,{builders:{hardline:nD,addAlignmentToDoc:rD},utils:{propagateBreaks:oD}}=Gc,{printComments:iD}=zy,uD=eD;function sD(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const{printer:r}=t;r.preprocess&&(e=r.preprocess(e,t));const o=new Map,i=new tD(e);let u=s();return n>0&&(u=rD([nD,u],n,t.tabWidth)),oD(u),u;function s(e,t){return void 0===e||e===i?a(t):Array.isArray(e)?i.call((()=>a(t)),...e):i.call((()=>a(t)),e)}function a(e){const n=i.getValue(),r=n&&"object"==typeof n&&void 0===e;if(r&&o.has(n))return o.get(n);const u=aD(i,t,s,e);return r&&o.set(n,u),u}}function aD(t,n,r,o){const i=t.getValue(),{printer:u}=n;let s,a;if(u.hasPrettierIgnore&&u.hasPrettierIgnore(t))({doc:s,printedComments:a}=function(e,t){const{originalText:n,[Symbol.for("comments")]:r,locStart:o,locEnd:i}=t,u=o(e),s=i(e),a=new Set;for(const e of r)o(e)>=u&&i(e)<=s&&(e.printed=!0,a.add(e));return{doc:n.slice(u,s),printedComments:a}}(i,n));else{if(i)try{s=uD.printSubtree(t,r,n,sD)}catch(t){if(e.PRETTIER_DEBUG)throw t}s||(s=u.print(t,n,r,o))}return u.willPrintOwnComments&&u.willPrintOwnComments(t,n)||(s=iD(t,s,n,a)),s}var cD=sD;const lD=Ey,pD=zy;function fD(e){let t=e.length-1;for(;;){const n=e[t];if(!n||"Program"!==n.type&&"File"!==n.type)break;t--}return e.slice(0,t+1)}function dD(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],i=arguments.length>5?arguments[5]:void 0;const{locStart:u,locEnd:s}=n,a=u(e),c=s(e);if(!(t>c||tr);const s=e.slice(r,o).search(/\S/),a=-1===s;if(!a)for(r+=s;o>r&&!/\S/.test(e[o-1]);--o);const c=dD(n,r,t,((e,n)=>mD(t,e,n)),[],"rangeStart"),l=a?c:dD(n,o,t,(e=>mD(t,e)),[],"rangeEnd");if(!c||!l)return{rangeStart:0,rangeEnd:0};let p,f;if((e=>{let{parser:t}=e;return"json"===t||"json5"===t||"json-stringify"===t})(t)){const e=function(e,t){const n=[e.node,...e.parentNodes],r=new Set([t.node,...t.parentNodes]);return n.find((e=>hD.has(e.type)&&r.has(e)))}(c,l);p=e,f=e}else({startNode:p,endNode:f}=function(e,t,n){let{locStart:r,locEnd:o}=n,i=e.node,u=t.node;if(i===u)return{startNode:i,endNode:u};const s=r(e.node);for(const e of fD(t.parentNodes)){if(!(r(e)>=s))break;u=e}const a=o(t.node);for(const t of fD(e.parentNodes)){if(!(o(t)<=a))break;i=t}return{startNode:i,endNode:u}}(c,l,t));return{rangeStart:Math.min(i(p),i(f)),rangeEnd:Math.max(u(p),u(f))}},findNodeAtOffset:dD};const DD=r,{printer:{printDocToString:ED},debug:{printDocToDebug:CD}}=Gc,{getAlignmentSize:bD}=ic,{guessEndOfLine:vD,convertEndOfLineToChars:AD,countEndOfLineChars:FD,normalizeEndOfLine:xD}=uc,SD=Cm.normalize,wD=bm,TD=zy,BD=cm,ND=cD,kD=yD,PD=Symbol("cursor");function OD(e,t,n){const r=t.comments;return r&&(delete t.comments,TD.attach(r,t,e,n)),n[Symbol.for("comments")]=r||[],n[Symbol.for("tokens")]=t.tokens||[],n.originalText=e,r}function ID(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!e||0===e.trim().length)return{formatted:"",cursorOffset:-1,comments:[]};const{ast:r,text:o}=BD.parse(e,t);if(t.cursorOffset>=0){const e=kD.findNodeAtOffset(r,t.cursorOffset,t);e&&e.node&&(t.cursorNode=e.node)}const i=OD(o,r,t),u=ND(r,t,n),s=ED(u,t);if(TD.ensureAllCommentsPrinted(i),n>0){const e=s.formatted.trim();void 0!==s.cursorNodeStart&&(s.cursorNodeStart-=s.formatted.indexOf(e)),s.formatted=e+AD(t.endOfLine)}if(t.cursorOffset>=0){let e,n,r,u,a;if(t.cursorNode&&s.cursorNodeText?(e=t.locStart(t.cursorNode),n=o.slice(e,t.locEnd(t.cursorNode)),r=t.cursorOffset-e,u=s.cursorNodeStart,a=s.cursorNodeText):(e=0,n=o,r=t.cursorOffset,u=0,a=s.formatted),n===a)return{formatted:s.formatted,cursorOffset:u+r,comments:i};const c=[...n];c.splice(r,0,PD);const l=[...a],p=DD.diffArrays(c,l);let f=u;for(const e of p)if(e.removed){if(e.value.includes(PD))break}else f+=e.count;return{formatted:s.formatted,cursorOffset:f,comments:i}}return{formatted:s.formatted,cursorOffset:-1,comments:i}}function LD(e,t,n){return"number"!=typeof t||Number.isNaN(t)||t<0||t>e.length?n:t}function jD(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:o}=t;return n=LD(e,n,-1),r=LD(e,r,0),o=LD(e,o,e.length),Object.assign(Object.assign({},t),{},{cursorOffset:n,rangeStart:r,rangeEnd:o})}function _D(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:o,endOfLine:i}=jD(e,t);const u="\ufeff"===e.charAt(0);if(u&&(e=e.slice(1),n--,r--,o--),"auto"===i&&(i=vD(e)),e.includes("\r")){const t=t=>FD(e.slice(0,Math.max(t,0)),"\r\n");n-=t(n),r-=t(r),o-=t(o),e=xD(e)}return{hasBOM:u,text:e,options:jD(e,Object.assign(Object.assign({},t),{},{cursorOffset:n,rangeStart:r,rangeEnd:o,endOfLine:i}))}}function MD(e,t){const n=BD.resolveParser(t);return!n.hasPragma||n.hasPragma(e)}function RD(e,t){let n,{hasBOM:r,text:o,options:i}=_D(e,SD(t));return i.rangeStart>=i.rangeEnd&&""!==o||i.requirePragma&&!MD(o,i)?{formatted:e,cursorOffset:t.cursorOffset,comments:[]}:(i.rangeStart>0||i.rangeEndo&&t.cursorOffset<=i?t.cursorOffset-o:-1,endOfLine:"lf"}),c),p=l.formatted.trimEnd();let{cursorOffset:f}=t;f>i?f+=p.length-u.length:l.cursorOffset>=0&&(f=l.cursorOffset+o);let d=r.slice(0,o)+p+r.slice(i);if("lf"!==t.endOfLine){const e=AD(t.endOfLine);f>=0&&"\r\n"===e&&(f+=FD(d.slice(0,f),"\n")),d=d.replace(/\n/g,e)}return{formatted:d,cursorOffset:f,comments:l.comments}}(o,i):(!i.requirePragma&&i.insertPragma&&i.printer.insertPragma&&!MD(o,i)&&(o=i.printer.insertPragma(o)),n=ID(o,i)),r&&(n.formatted="\ufeff"+n.formatted,n.cursorOffset>=0&&n.cursorOffset++),n)}var VD={formatWithCursor:RD,parse(e,t,n){const{text:r,options:o}=_D(e,SD(t)),i=BD.parse(r,o);return n&&(i.ast=wD(i.ast,o)),i},formatAST(e,t){t=SD(t);const n=ND(e,t);return ED(n,t)},formatDoc:(e,t)=>RD(CD(e),Object.assign(Object.assign({},t),{},{parser:"__js_expression"})).formatted,printToDoc(e,t){t=SD(t);const{ast:n,text:r}=BD.parse(e,t);return OD(r,n,t),ND(n,t)},printDocToString:(e,t)=>ED(e,SD(t))};const{getMaxContinuousCount:$D,getStringWidth:WD,getAlignmentSize:qD,getIndentSize:UD,skip:GD,skipWhitespace:zD,skipSpaces:HD,skipNewline:JD,skipToLineEnd:XD,skipEverythingButNewLine:YD,skipInlineComment:KD,skipTrailingComment:QD,hasNewline:ZD,hasNewlineInRange:eE,hasSpaces:tE,isNextLineEmpty:nE,isNextLineEmptyAfterIndex:rE,isPreviousLineEmpty:oE,getNextNonSpaceNonCommentCharacterIndex:iE,makeString:uE,addLeadingComment:sE,addDanglingComment:aE,addTrailingComment:cE}=ic;var lE={getMaxContinuousCount:$D,getStringWidth:WD,getAlignmentSize:qD,getIndentSize:UD,skip:GD,skipWhitespace:zD,skipSpaces:HD,skipNewline:JD,skipToLineEnd:XD,skipEverythingButNewLine:YD,skipInlineComment:KD,skipTrailingComment:QD,hasNewline:ZD,hasNewlineInRange:eE,hasSpaces:tE,isNextLineEmpty:nE,isNextLineEmptyAfterIndex:rE,isPreviousLineEmpty:oE,getNextNonSpaceNonCommentCharacterIndex:iE,makeString:uE,addLeadingComment:sE,addDanglingComment:aE,addTrailingComment:cE};const pE=["languageId"];var fE=function(e,t){const{languageId:n}=e,r=au(e,pE);return Object.assign(Object.assign({linguistLanguageId:n},r),t(e))},dE={},hE={exports:{}};!function(){function e(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function t(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}hE.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&"FunctionDeclaration"===t.type},isProblematicIfStatement:function(e){var n;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;n=e.consequent;do{if("IfStatement"===n.type&&null==n.alternate)return!0;n=t(n)}while(n);return!1},trailingStatement:t}}();var gE={exports:{}};!function(){var e,t,n,r,o,i;function u(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],r=new Array(128),i=0;i<128;++i)r[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(o=new Array(128),i=0;i<128;++i)o[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;gE.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?r[e]:t.NonAsciiIdentifierStart.test(u(e))},isIdentifierPartES5:function(e){return e<128?o[e]:t.NonAsciiIdentifierPart.test(u(e))},isIdentifierStartES6:function(t){return t<128?r[t]:e.NonAsciiIdentifierStart.test(u(t))},isIdentifierPartES6:function(t){return t<128?o[t]:e.NonAsciiIdentifierPart.test(u(t))}}}();var mE={exports:{}};!function(){var e=gE.exports;function t(e,t){return!(!t&&"yield"===e)&&n(e,t)}function n(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function r(e,n){return"null"===e||"true"===e||"false"===e||t(e,n)}function o(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function i(t){var n,r,o;if(0===t.length)return!1;if(o=t.charCodeAt(0),!e.isIdentifierStartES5(o))return!1;for(n=1,r=t.length;n=r)return!1;if(!(56320<=(i=t.charCodeAt(n))&&i<=57343))return!1;o=1024*(o-55296)+(i-56320)+65536}if(!u(o))return!1;u=e.isIdentifierPartES6}return!0}mE.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:r,isReservedWordES6:o,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:i,isIdentifierNameES6:u,isIdentifierES5:function(e,t){return i(e)&&!r(e,t)},isIdentifierES6:function(e,t){return u(e)&&!o(e,t)}}}(),dE.ast=hE.exports,dE.code=gE.exports,dE.keyword=mE.exports;const yE=dE.keyword.isIdentifierNameES5,{getLast:DE,hasNewline:EE,skipWhitespace:CE,isNonEmptyArray:bE,isNextLineEmptyAfterIndex:vE,getStringWidth:AE}=ic,{locStart:FE,locEnd:xE,hasSameLocStart:SE}=Xh,wE=new RegExp("^".concat("(?:(?=.)\\s)","*:")),TE=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function BE(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function NE(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const kE=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function PE(e){return e&&kE.has(e.type)}function OE(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function IE(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function LE(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function jE(e){return qE(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function _E(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function ME(e){return"get"===e.kind||"set"===e.kind}function RE(e){return ME(e)||SE(e,e.value)}const VE=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const $E=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const WE=/^(?:skip|[fx]?(?:it|describe|test))$/;function qE(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function UE(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function GE(e){return/^(?:\d+|\d+\.\d+)$/.test(e)}function zE(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function HE(e){return e.extra?e.extra.raw:e.raw}const JE={"==":!0,"!=":!0,"===":!0,"!==":!0},XE={"*":!0,"/":!0,"%":!0},YE={">>":!0,">>>":!0,"<<":!0};const KE={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const n of t)KE[n]=e;function QE(e){return KE[e]}const ZE=new WeakMap;function eC(e){if(ZE.has(e))return ZE.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),ZE.set(e,t),t}const tC=new WeakMap;function nC(e){if(tC.has(e))return tC.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),tC.set(e,t),t}function rC(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function oC(e){return e&&(e.prettierIgnore||sC(e,iC.PrettierIgnore))}const iC={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},uC=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(n,r,o)=>!(e&iC.Leading&&!n.leading||e&iC.Trailing&&!n.trailing||e&iC.Dangling&&(n.leading||n.trailing)||e&iC.Block&&!BE(n)||e&iC.Line&&!NE(n)||e&iC.First&&0!==r||e&iC.Last&&r!==o.length-1||e&iC.PrettierIgnore&&!rC(n)||t&&!t(n))};function sC(e,t,n){if(!e||!bE(e.comments))return!1;const r=uC(t,n);return!r||e.comments.some(r)}function aC(e,t,n){if(!e||!Array.isArray(e.comments))return[];const r=uC(t,n);return r?e.comments.filter(r):e.comments}function cC(e){return qE(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var lC={getFunctionParameters:eC,iterateFunctionParametersPath:function(e,t){const n=e.getValue();let r=0;const o=e=>t(e,r++);n.this&&e.call(o,"this"),Array.isArray(n.parameters)?e.each(o,"parameters"):Array.isArray(n.params)&&e.each(o,"params"),n.rest&&e.call(o,"rest")},getCallArguments:nC,iterateCallArgumentsPath:function(e,t){const n=e.getValue();"ImportExpression"===n.type?(e.call((e=>t(e,0)),"source"),n.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=eC(e);return t.length>0&&"RestElement"===DE(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&PE(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return bE(e)&&BE(e[0])&&TE.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&bE(e.trailingComments)&&BE(e.trailingComments[0])&&wE.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return _E(t)?oC(t):sC(t,iC.Leading,(t=>EE(e,xE(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||qE(e)||UE(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,n){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,n)));const r=n(t);return"boolean"==typeof r?r:Object.values(t).some((t=>e(t,n)))},hasIgnoreComment:function(e){return oC(e.getValue())},hasNodeIgnoreComment:oC,identity:function(e){return e},isBinaryish:function(e){return VE.has(e.type)},isBlockComment:BE,isCallLikeExpression:cC,isEnabledHackPipeline:function(e){return Boolean(e.__isUsingHackPipeline)},isLineComment:NE,isPrettierIgnoreComment:rC,isCallExpression:qE,isMemberExpression:UE,isExportDeclaration:PE,isFlowAnnotationComment:function(e,t){const n=FE(t),r=CE(e,xE(t));return!1!==r&&"/*"===e.slice(n,n+2)&&"*/"===e.slice(r,r+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const n of e)if(LE(n)){if(t+=1,t>1)return!0}else if(qE(n))for(const e of n.arguments)if(LE(e))return!0;return!1},isFunctionNotation:RE,isFunctionOrArrowExpression:LE,isGetterOrSetter:ME,isJestEachTemplateLiteral:function(e,t){const n=/^[fx]?(?:describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&n.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&n.test(t.tag.object.object.name))},isJsxNode:_E,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),n=e.getParentNode();return qE(t)&&qE(n)&&n.callee===t&&t.arguments.length>n.arguments.length&&n.arguments.length>0},isSimpleCallArgument:function e(t,n){if(n>=2)return!1;const r=t=>e(t,n+1),o="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(o&&AE(o)>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(r):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&r(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||r(e))):cC(t)?("ImportExpression"===t.type||e(t.callee,n))&&nC(t).every(r):UE(t)?e(t.object,n)&&e(t.property,n):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,n):e(t.argument,n)))},isMemberish:function(e){return UE(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:OE,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&OE(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"TSMappedType"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||RE(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!$E.has(e.type))},isSimpleNumber:GE,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const n=e[t];return 0!==n.length&&n.every((e=>{if(sC(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(UE(e)){let t=e;for(;UE(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,sC(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:IE,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&IE(e.key)&&HE(e.key).slice(1,-1)===e.key.value&&(yE(e.key.value)&&!("babel-ts"===t.parser&&"ClassProperty"===e.type||"typescript"===t.parser&&"PropertyDefinition"===e.type)||GE(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&zE(e)||"TaggedTemplateExpression"===e.type&&zE(e.quasi))&&!EE(t,FE(e),{backwards:!0})},isTestCall:function e(t,n){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(jE(t)&&n&&e(n))return LE(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(?:before|after)(?:Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return jE(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&WE.test(t.callee.name)||function(e){return UE(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&WE.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||IE(t.arguments[0])))return!(t.arguments[2]&&!OE(t.arguments[2]))&&((2===t.arguments.length?LE(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&eC(t.arguments[1]).length<=1)||jE(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const n=t.getNode();if(!n.expression||!_E(n.expression))return!1;const r=t.getParentNode();return"Program"===r.type&&1===r.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||SE(e,e.typeAnnotation))},isNextLineEmpty:(e,t)=>{let{originalText:n}=t;return vE(n,xE(e))},needsHardlineAfterDanglingComment:function(e){if(!sC(e))return!1;const t=DE(aC(e,iC.Dangling));return t&&!BE(t)},rawText:HE,shouldPrintComma:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es5";return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(YE[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return QE(t)===QE(e)&&("**"!==e&&((!JE[e]||!JE[t])&&(!("%"===t&&XE[e]||"%"===e&&XE[t])&&((t===e||!XE[t]||!XE[e])&&(!YE[e]||!YE[t])))))},startsWithNoLookaheadToken:function e(t,n){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return n;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,n);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,n);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,n);case"ConditionalExpression":return e(t.test,n);case"UpdateExpression":return!t.prefix&&e(t.argument,n);case"BindExpression":return t.object&&e(t.object,n);case"SequenceExpression":return e(t.expressions[0],n);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,n);default:return!1}},getPrecedence:QE,hasComment:sC,getComments:aC,CommentCheckFlags:iC};const pC=su,{getStringWidth:fC,getIndentSize:dC}=ic,{builders:{join:hC,hardline:gC,softline:mC,group:yC,indent:DC,align:EC,lineSuffixBoundary:CC,addAlignmentToDoc:bC},printer:{printDocToString:vC},utils:{mapDoc:AC}}=Gc,{isBinaryish:FC,isJestEachTemplateLiteral:xC,isSimpleTemplateLiteral:SC,hasComment:wC,isMemberExpression:TC}=lC;function BC(e){return e.replace(/([\\`]|\${)/g,"\\$1")}var NC={printTemplateLiteral:function(e,t,n){const r=e.getValue();if("TemplateLiteral"===r.type&&xC(r,e.getParentNode())){const r=function(e,t,n){const r=e.getNode(),o=r.quasis[0].value.raw.trim().split(/\s*\|\s*/);if(o.length>1||o.some((e=>e.length>0))){t.__inJestEach=!0;const i=e.map(n,"expressions");t.__inJestEach=!1;const u=[],s=i.map((e=>"${"+vC(e,Object.assign(Object.assign({},t),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"})).formatted+"}")),a=[{hasLineBreak:!1,cells:[]}];for(let e=1;ee.cells.length))),l=Array.from({length:c}).fill(0),p=[{cells:o},...a.filter((e=>e.cells.length>0))];for(const{cells:e}of p.filter((e=>!e.hasLineBreak)))for(const[t,n]of e.entries())l[t]=Math.max(l[t],fC(n));return u.push(CC,"`",DC([gC,hC(gC,p.map((e=>hC(" | ",e.cells.map(((t,n)=>e.hasLineBreak?t:t+" ".repeat(l[n]-fC(t))))))))]),gC,"`"),u}}(e,n,t);if(r)return r}let o="expressions";"TSTemplateLiteralType"===r.type&&(o="types");const i=[];let u=e.map(t,o);const s=SC(r);return s&&(u=u.map((e=>vC(e,Object.assign(Object.assign({},n),{},{printWidth:Number.POSITIVE_INFINITY})).formatted))),i.push(CC,"`"),e.each((e=>{const a=e.getName();if(i.push(t()),afunction(e,t){const n=e.getValue();let r=t();return wC(n)&&(r=yC([DC([mC,r]),mC])),["${",r,CC,"}"]}(e,t)),"expressions")},escapeTemplateCharacters:function(e,t){return AC(e,(e=>"string"==typeof e?t?e.replace(/(\\*)`/g,"$1$1\\`"):BC(e):e))},uncookTemplateElementValue:BC};const{builders:{indent:kC,softline:PC,literalline:OC,dedentToRoot:IC}}=Gc,{escapeTemplateCharacters:LC}=NC;var jC=function(e,t,n){let r=e.getValue().quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,((e,t)=>"\\".repeat(t.length/2)+"`"));const o=function(e){const t=e.match(/^([^\S\n]*)\S/m);return null===t?"":t[1]}(r),i=""!==o;i&&(r=r.replace(new RegExp("^".concat(o),"gm"),""));const u=LC(n(r,{parser:"markdown",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return["`",i?kC([PC,u]):[OC,IC(u)],PC,"`"]};const{isNonEmptyArray:_C}=ic,{builders:{indent:MC,hardline:RC,softline:VC},utils:{mapDoc:$C,replaceEndOfLine:WC,cleanDoc:qC}}=Gc,{printTemplateExpressions:UC}=NC;var GC=function(e,t,n){const r=e.getValue(),o=r.quasis.map((e=>e.value.raw));let i=0;return function(e,t,n){if(1===t.quasis.length&&!t.quasis[0].value.raw.trim())return"``";const r=function(e,t){if(!_C(t))return e;let n=0;const r=$C(qC(e),(e=>"string"==typeof e&&e.includes("@prettier-placeholder")?e.split(/@prettier-placeholder-(\d+)-id/).map(((e,r)=>r%2==0?WC(e):(n++,t[e]))):e));return t.length===n?r:null}(e,n);if(!r)throw new Error("Couldn't insert all the expressions");return["`",MC([RC,r]),VC,"`"]}(n(o.reduce(((e,t,n)=>0===n?t:e+"@prettier-placeholder-"+i+++"-id"+t),""),{parser:"scss"},{stripTrailingHardline:!0}),r,UC(e,t))};const{builders:{indent:zC,join:HC,hardline:JC}}=Gc,{escapeTemplateCharacters:XC,printTemplateExpressions:YC}=NC;function KC(e){const t=[];let n=!1;const r=e.map((e=>e.trim()));for(const[e,o]of r.entries())""!==o&&(""===r[e-1]&&n?t.push([JC,o]):t.push(o),n=!0);return 0===t.length?null:HC(JC,t)}var QC=function(e,t,n){const r=e.getValue(),o=r.quasis.length;if(1===o&&""===r.quasis[0].value.raw.trim())return"``";const i=YC(e,t),u=[];for(let e=0;e2&&""===c[0].trim()&&""===c[1].trim(),d=l>2&&""===c[l-1].trim()&&""===c[l-2].trim(),h=c.every((e=>/^\s*(?:#[^\n\r]*)?$/.test(e)));if(!s&&/#[^\n\r]*$/.test(c[l-1]))return null;let g=null;g=h?KC(c):n(a,{parser:"graphql"},{stripTrailingHardline:!0}),g?(g=XC(g,!1),!t&&f&&u.push(""),u.push(g),!s&&d&&u.push("")):t||s||!f||u.push(""),p&&u.push(p)}return["`",zC([JC,HC(JC,u)]),JC,"`"]};const{builders:{indent:ZC,line:eb,hardline:tb,group:nb},utils:{mapDoc:rb}}=Gc,{printTemplateExpressions:ob,uncookTemplateElementValue:ib}=NC;let ub=0;var sb=function(e,t,n,r,o){let{parser:i}=o;const u=e.getValue(),s=ub;ub=ub+1>>>0;const a=e=>"PRETTIER_HTML_PLACEHOLDER_".concat(e,"_").concat(s,"_IN_JS"),c=u.quasis.map(((e,t,n)=>t===n.length-1?e.value.cooked:e.value.cooked+a(t))).join(""),l=ob(e,t);if(0===l.length&&0===c.trim().length)return"``";const p=new RegExp(a("(\\d+)"),"g");let f=0;const d=n(c,{parser:i,__onHtmlRoot(e){f=e.children.length}},{stripTrailingHardline:!0}),h=rb(d,(e=>{if("string"!=typeof e)return e;const t=[],n=e.split(p);for(let e=0;e1?ZC(nb(h)):nb(h),m,"`"])};const{hasComment:ab,CommentCheckFlags:cb,isObjectProperty:lb}=lC,pb=jC,fb=GC,db=QC,hb=sb;function gb(e){return function(e){const t=e.getValue(),n=e.getParentNode(),r=e.getParentNode(1);return r&&t.quasis&&"JSXExpressionContainer"===n.type&&"JSXElement"===r.type&&"style"===r.openingElement.name.name&&r.openingElement.attributes.some((e=>"jsx"===e.name.name))||n&&"TaggedTemplateExpression"===n.type&&"Identifier"===n.tag.type&&"css"===n.tag.name||n&&"TaggedTemplateExpression"===n.type&&"MemberExpression"===n.tag.type&&"css"===n.tag.object.name&&("global"===n.tag.property.name||"resolve"===n.tag.property.name)}(e)||function(e){const t=e.getParentNode();if(!t||"TaggedTemplateExpression"!==t.type)return!1;const n="ParenthesizedExpression"===t.tag.type?t.tag.expression:t.tag;switch(n.type){case"MemberExpression":return yb(n.object)||Db(n);case"CallExpression":return yb(n.callee)||"MemberExpression"===n.callee.type&&("MemberExpression"===n.callee.object.type&&(yb(n.callee.object.object)||Db(n.callee.object))||"CallExpression"===n.callee.object.type&&yb(n.callee.object.callee));case"Identifier":return"css"===n.name;default:return!1}}(e)||function(e){const t=e.getParentNode(),n=e.getParentNode(1);return n&&"JSXExpressionContainer"===t.type&&"JSXAttribute"===n.type&&"JSXIdentifier"===n.name.type&&"css"===n.name.name}(e)||function(e){return e.match((e=>"TemplateLiteral"===e.type),((e,t)=>"ArrayExpression"===e.type&&"elements"===t),((e,t)=>lb(e)&&"Identifier"===e.key.type&&"styles"===e.key.name&&"value"===t),...mb)}(e)?"css":function(e){const t=e.getValue(),n=e.getParentNode();return Eb(t,"GraphQL")||n&&("TaggedTemplateExpression"===n.type&&("MemberExpression"===n.tag.type&&"graphql"===n.tag.object.name&&"experimental"===n.tag.property.name||"Identifier"===n.tag.type&&("gql"===n.tag.name||"graphql"===n.tag.name))||"CallExpression"===n.type&&"Identifier"===n.callee.type&&"graphql"===n.callee.name)}(e)?"graphql":function(e){return Eb(e.getValue(),"HTML")||e.match((e=>"TemplateLiteral"===e.type),((e,t)=>"TaggedTemplateExpression"===e.type&&"Identifier"===e.tag.type&&"html"===e.tag.name&&"quasi"===t))}(e)?"html":function(e){return e.match((e=>"TemplateLiteral"===e.type),((e,t)=>lb(e)&&"Identifier"===e.key.type&&"template"===e.key.name&&"value"===t),...mb)}(e)?"angular":function(e){const t=e.getValue(),n=e.getParentNode();return n&&"TaggedTemplateExpression"===n.type&&1===t.quasis.length&&"Identifier"===n.tag.type&&("md"===n.tag.name||"markdown"===n.tag.name)}(e)?"markdown":void 0}const mb=[(e,t)=>"ObjectExpression"===e.type&&"properties"===t,(e,t)=>"CallExpression"===e.type&&"Identifier"===e.callee.type&&"Component"===e.callee.name&&"arguments"===t,(e,t)=>"Decorator"===e.type&&"expression"===t];function yb(e){return"Identifier"===e.type&&"styled"===e.name}function Db(e){return/^[A-Z]/.test(e.object.name)&&"extend"===e.property.name}function Eb(e,t){return ab(e,cb.Block|cb.Leading,(e=>{let{value:n}=e;return n===" ".concat(t," ")}))}var Cb=function(e,t,n,r){const o=e.getValue();if("TemplateLiteral"!==o.type||function(e){let{quasis:t}=e;return t.some((e=>{let{value:{cooked:t}}=e;return null===t}))}(o))return;const i=gb(e);return i?"markdown"===i?pb(e,t,n):"css"===i?fb(e,t,n):"graphql"===i?db(e,t,n):"html"===i||"angular"===i?hb(e,t,n,r,{parser:i}):void 0:void 0};const{isBlockComment:bb}=lC,vb=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),Ab=e=>{for(const t of e.quasis)delete t.value};function Fb(e,t,n){if("Program"===e.type&&delete t.sourceType,"BigIntLiteral"!==e.type&&"BigIntLiteralTypeAnnotation"!==e.type||t.value&&(t.value=t.value.toLowerCase()),"BigIntLiteral"!==e.type&&"Literal"!==e.type||t.bigint&&(t.bigint=t.bigint.toLowerCase()),"DecimalLiteral"===e.type&&(t.value=Number(t.value)),"Literal"===e.type&&t.decimal&&(t.decimal=Number(t.decimal)),"EmptyStatement"===e.type)return null;if("JSXText"===e.type)return null;if("JSXExpressionContainer"===e.type&&("Literal"===e.expression.type||"StringLiteral"===e.expression.type)&&" "===e.expression.value)return null;if("Property"!==e.type&&"ObjectProperty"!==e.type&&"MethodDefinition"!==e.type&&"ClassProperty"!==e.type&&"ClassMethod"!==e.type&&"PropertyDefinition"!==e.type&&"TSDeclareMethod"!==e.type&&"TSPropertySignature"!==e.type&&"ObjectTypeProperty"!==e.type||"object"!=typeof e.key||!e.key||"Literal"!==e.key.type&&"NumericLiteral"!==e.key.type&&"StringLiteral"!==e.key.type&&"Identifier"!==e.key.type||delete t.key,"JSXElement"===e.type&&"style"===e.openingElement.name.name&&e.openingElement.attributes.some((e=>"jsx"===e.name.name)))for(const{type:e,expression:n}of t.children)"JSXExpressionContainer"===e&&"TemplateLiteral"===n.type&&Ab(n);"JSXAttribute"===e.type&&"css"===e.name.name&&"JSXExpressionContainer"===e.value.type&&"TemplateLiteral"===e.value.expression.type&&Ab(t.value.expression),"JSXAttribute"===e.type&&e.value&&"Literal"===e.value.type&&/["']|"|'/.test(e.value.value)&&(t.value.value=t.value.value.replace(/["']|"|'/g,'"'));const r=e.expression||e.callee;if("Decorator"===e.type&&"CallExpression"===r.type&&"Component"===r.callee.name&&1===r.arguments.length){const n=e.expression.arguments[0].properties;for(const[e,r]of t.expression.arguments[0].properties.entries())switch(n[e].key.name){case"styles":"ArrayExpression"===r.value.type&&Ab(r.value.elements[0]);break;case"template":"TemplateLiteral"===r.value.type&&Ab(r.value)}}if("TaggedTemplateExpression"!==e.type||"MemberExpression"!==e.tag.type&&("Identifier"!==e.tag.type||"gql"!==e.tag.name&&"graphql"!==e.tag.name&&"css"!==e.tag.name&&"md"!==e.tag.name&&"markdown"!==e.tag.name&&"html"!==e.tag.name)&&"CallExpression"!==e.tag.type||Ab(t.quasi),"TemplateLiteral"===e.type){const r=e.leadingComments&&e.leadingComments.some((e=>bb(e)&&["GraphQL","HTML"].some((t=>e.value===" ".concat(t," ")))));(r||"CallExpression"===n.type&&"graphql"===n.callee.name||!e.leadingComments)&&Ab(t)}return"InterpreterDirective"===e.type&&(t.value=t.value.trimEnd()),"TSIntersectionType"!==e.type&&"TSUnionType"!==e.type||1!==e.types.length?void 0:t.types[0]}Fb.ignoredProperties=vb;var xb=Fb,Sb={},wb={exports:{}};const Tb=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const n=t.filter((e=>"\r\n"===e)).length;return n>t.length-n?"\r\n":"\n"};function Bb(){const e=af;return Bb=function(){return e},e}function Nb(){const e=function(e){return e&&e.__esModule?e:{default:e}}(wb.exports);return Nb=function(){return e},e}wb.exports=Tb,wb.exports.graceful=e=>"string"==typeof e&&Tb(e)||"\n",Object.defineProperty(Sb,"__esModule",{value:!0}),Sb.extract=function(e){const t=e.match(Ob);return t?t[0].trimLeft():""},Sb.strip=function(e){const t=e.match(Ob);return t&&t[0]?e.substring(t[0].length):e},Sb.parse=function(e){return Vb(e).pragmas},Sb.parseWithComments=Vb,Sb.print=function(e){let{comments:t="",pragmas:n={}}=e;const r=(0,Nb().default)(t)||Bb().EOL,o=" *",i=Object.keys(n),u=i.map((e=>$b(e,n[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+r)).join("");if(!t){if(0===i.length)return"";if(1===i.length&&!Array.isArray(n[i[0]])){const e=n[i[0]];return"".concat("/**"," ").concat($b(i[0],e)[0]).concat(" */")}}const s=t.split(r).map((e=>"".concat(o," ").concat(e))).join(r)+r;return"/**"+r+(t?s:"")+(t&&i.length?o+r:"")+u+" */"};const kb=/\*\/$/,Pb=/^\/\*\*/,Ob=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Ib=/(^|\s+)\/\/([^\r\n]*)/g,Lb=/^(\r?\n)+/,jb=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,_b=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Mb=/(\r?\n|^) *\* ?/g,Rb=[];function Vb(e){const t=(0,Nb().default)(e)||Bb().EOL;e=e.replace(Pb,"").replace(kb,"").replace(Mb,"$1");let n="";for(;n!==e;)n=e,e=e.replace(jb,"".concat(t,"$1 $2").concat(t));e=e.replace(Lb,"").trimRight();const r=Object.create(null),o=e.replace(_b,"").replace(Lb,"").trimRight();let i;for(;i=_b.exec(e);){const e=i[2].replace(Ib,"");"string"==typeof r[i[1]]||Array.isArray(r[i[1]])?r[i[1]]=Rb.concat(r[i[1]],e):r[i[1]]=e}return{comments:o,pragmas:r}}function $b(e,t){return Rb.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}const{parseWithComments:Wb,strip:qb,extract:Ub,print:Gb}=Sb,{getShebang:zb}=ic,{normalizeEndOfLine:Hb}=uc;function Jb(e){const t=zb(e);t&&(e=e.slice(t.length+1));const n=Ub(e),{pragmas:r,comments:o}=Wb(n);return{shebang:t,text:e,pragmas:r,comments:o}}var Xb={hasPragma:function(e){const t=Object.keys(Jb(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:n,pragmas:r,comments:o}=Jb(e),i=qb(n),u=Gb({pragmas:Object.assign({format:""},r),comments:o.trimStart()});return(t?"".concat(t,"\n"):"")+Hb(u)+(i.startsWith("\n")?"\n":"\n\n")+i}};const{getLast:Yb,hasNewline:Kb,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Qb,getNextNonSpaceNonCommentCharacter:Zb,hasNewlineInRange:ev,addLeadingComment:tv,addTrailingComment:nv,addDanglingComment:rv,getNextNonSpaceNonCommentCharacterIndex:ov,isNonEmptyArray:iv}=ic,{isBlockComment:uv,getFunctionParameters:sv,isPrettierIgnoreComment:av,isJsxNode:cv,hasFlowShorthandAnnotationComment:lv,hasFlowAnnotationComment:pv,hasIgnoreComment:fv,isCallLikeExpression:dv,getCallArguments:hv,isCallExpression:gv,isMemberExpression:mv,isObjectProperty:yv,getComments:Dv,CommentCheckFlags:Ev}=lC,{locStart:Cv,locEnd:bv}=Xh;function vv(e,t){const n=(e.body||e.properties).find((e=>{let{type:t}=e;return"EmptyStatement"!==t}));n?tv(n,t):rv(e,t)}function Av(e,t){"BlockStatement"===e.type?vv(e,t):tv(e,t)}function Fv(e){let{comment:t,followingNode:n}=e;return!(!n||!Zv(t))&&(tv(n,t),!0)}function xv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o,text:i}=e;if(!r||"IfStatement"!==r.type||!o)return!1;return")"===Zb(i,t,bv)?(nv(n,t),!0):n===r.consequent&&o===r.alternate?("BlockStatement"===n.type?nv(n,t):rv(r,t),!0):"BlockStatement"===o.type?(vv(o,t),!0):"IfStatement"===o.type?(Av(o.consequent,t),!0):r.consequent===o&&(tv(o,t),!0)}function Sv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o,text:i}=e;if(!r||"WhileStatement"!==r.type||!o)return!1;return")"===Zb(i,t,bv)?(nv(n,t),!0):"BlockStatement"===o.type?(vv(o,t),!0):r.body===o&&(tv(o,t),!0)}function wv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o}=e;return!(!r||"TryStatement"!==r.type&&"CatchClause"!==r.type||!o)&&("CatchClause"===r.type&&n?(nv(n,t),!0):"BlockStatement"===o.type?(vv(o,t),!0):"TryStatement"===o.type?(Av(o.finalizer,t),!0):"CatchClause"===o.type&&(Av(o.body,t),!0))}function Tv(e){let{comment:t,enclosingNode:n,followingNode:r}=e;return!(!mv(n)||!r||"Identifier"!==r.type)&&(tv(n,t),!0)}function Bv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o,text:i}=e;const u=n&&!ev(i,bv(n),Cv(t));return!(n&&u||!r||"ConditionalExpression"!==r.type&&"TSConditionalType"!==r.type||!o)&&(tv(o,t),!0)}function Nv(e){let{comment:t,precedingNode:n,enclosingNode:r}=e;return!(!yv(r)||!r.shorthand||r.key!==n||"AssignmentPattern"!==r.value.type)&&(nv(r.value.left,t),!0)}function kv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o}=e;if(r&&("ClassDeclaration"===r.type||"ClassExpression"===r.type||"DeclareClass"===r.type||"DeclareInterface"===r.type||"InterfaceDeclaration"===r.type||"TSInterfaceDeclaration"===r.type)){if(iv(r.decorators)&&(!o||"Decorator"!==o.type))return nv(Yb(r.decorators),t),!0;if(r.body&&o===r.body)return vv(r.body,t),!0;if(o)for(const e of["implements","extends","mixins"])if(r[e]&&o===r[e][0])return!n||n!==r.id&&n!==r.typeParameters&&n!==r.superClass?rv(r,t,e):nv(n,t),!0}return!1}function Pv(e){let{comment:t,precedingNode:n,enclosingNode:r,text:o}=e;return(r&&n&&("Property"===r.type||"TSDeclareMethod"===r.type||"TSAbstractMethodDefinition"===r.type)&&"Identifier"===n.type&&r.key===n&&":"!==Zb(o,n,bv)||!(!n||!r||"Decorator"!==n.type||"ClassMethod"!==r.type&&"ClassProperty"!==r.type&&"PropertyDefinition"!==r.type&&"TSAbstractPropertyDefinition"!==r.type&&"TSAbstractMethodDefinition"!==r.type&&"TSDeclareMethod"!==r.type&&"MethodDefinition"!==r.type))&&(nv(n,t),!0)}function Ov(e){let{comment:t,precedingNode:n,enclosingNode:r,text:o}=e;return"("===Zb(o,t,bv)&&(!(!n||!r||"FunctionDeclaration"!==r.type&&"FunctionExpression"!==r.type&&"ClassMethod"!==r.type&&"MethodDefinition"!==r.type&&"ObjectMethod"!==r.type)&&(nv(n,t),!0))}function Iv(e){let{comment:t,enclosingNode:n,text:r}=e;if(!n||"ArrowFunctionExpression"!==n.type)return!1;const o=ov(r,t,bv);return!1!==o&&"=>"===r.slice(o,o+2)&&(rv(n,t),!0)}function Lv(e){let{comment:t,enclosingNode:n,text:r}=e;return")"===Zb(r,t,bv)&&(n&&(Qv(n)&&0===sv(n).length||dv(n)&&0===hv(n).length)?(rv(n,t),!0):!(!n||"MethodDefinition"!==n.type&&"TSAbstractMethodDefinition"!==n.type||0!==sv(n.value).length)&&(rv(n.value,t),!0))}function jv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o,text:i}=e;if(n&&"FunctionTypeParam"===n.type&&r&&"FunctionTypeAnnotation"===r.type&&o&&"FunctionTypeParam"!==o.type)return nv(n,t),!0;if(n&&("Identifier"===n.type||"AssignmentPattern"===n.type)&&r&&Qv(r)&&")"===Zb(i,t,bv))return nv(n,t),!0;if(r&&"FunctionDeclaration"===r.type&&o&&"BlockStatement"===o.type){const e=(()=>{const e=sv(r);if(e.length>0)return Qb(i,bv(Yb(e)));const t=Qb(i,bv(r.id));return!1!==t&&Qb(i,t+1)})();if(Cv(t)>e)return vv(o,t),!0}return!1}function _v(e){let{comment:t,enclosingNode:n}=e;return!(!n||"ImportSpecifier"!==n.type)&&(tv(n,t),!0)}function Mv(e){let{comment:t,enclosingNode:n}=e;return!(!n||"LabeledStatement"!==n.type)&&(tv(n,t),!0)}function Rv(e){let{comment:t,enclosingNode:n}=e;return!(!n||"ContinueStatement"!==n.type&&"BreakStatement"!==n.type||n.label)&&(nv(n,t),!0)}function Vv(e){let{comment:t,precedingNode:n,enclosingNode:r}=e;return!!(gv(r)&&n&&r.callee===n&&r.arguments.length>0)&&(tv(r.arguments[0],t),!0)}function $v(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o}=e;return!r||"UnionTypeAnnotation"!==r.type&&"TSUnionType"!==r.type?(o&&("UnionTypeAnnotation"===o.type||"TSUnionType"===o.type)&&av(t)&&(o.types[0].prettierIgnore=!0,t.unignore=!0),!1):(av(t)&&(o.prettierIgnore=!0,t.unignore=!0),!!n&&(nv(n,t),!0))}function Wv(e){let{comment:t,enclosingNode:n}=e;return!!yv(n)&&(tv(n,t),!0)}function qv(e){let{comment:t,enclosingNode:n,followingNode:r,ast:o,isLastComment:i}=e;return o&&o.body&&0===o.body.length?(i?rv(o,t):tv(o,t),!0):n&&"Program"===n.type&&0===n.body.length&&!iv(n.directives)?(i?rv(n,t):tv(n,t),!0):!(!r||"Program"!==r.type||0!==r.body.length||!n||"ModuleExpression"!==n.type)&&(rv(r,t),!0)}function Uv(e){let{comment:t,enclosingNode:n}=e;return!(!n||"ForInStatement"!==n.type&&"ForOfStatement"!==n.type)&&(tv(n,t),!0)}function Gv(e){let{comment:t,precedingNode:n,enclosingNode:r,text:o}=e;return!!(n&&"ImportSpecifier"===n.type&&r&&"ImportDeclaration"===r.type&&Kb(o,bv(t)))&&(nv(n,t),!0)}function zv(e){let{comment:t,enclosingNode:n}=e;return!(!n||"AssignmentPattern"!==n.type)&&(tv(n,t),!0)}function Hv(e){let{comment:t,enclosingNode:n}=e;return!(!n||"TypeAlias"!==n.type)&&(tv(n,t),!0)}function Jv(e){let{comment:t,enclosingNode:n,followingNode:r}=e;return!(!n||"VariableDeclarator"!==n.type&&"AssignmentExpression"!==n.type||!r||"ObjectExpression"!==r.type&&"ArrayExpression"!==r.type&&"TemplateLiteral"!==r.type&&"TaggedTemplateExpression"!==r.type&&!uv(t))&&(tv(r,t),!0)}function Xv(e){let{comment:t,enclosingNode:n,followingNode:r,text:o}=e;return!(r||!n||"TSMethodSignature"!==n.type&&"TSDeclareFunction"!==n.type&&"TSAbstractMethodDefinition"!==n.type||";"!==Zb(o,t,bv))&&(nv(n,t),!0)}function Yv(e){let{comment:t,enclosingNode:n,followingNode:r}=e;if(av(t)&&n&&"TSMappedType"===n.type&&r&&"TSTypeParameter"===r.type&&r.constraint)return n.prettierIgnore=!0,t.unignore=!0,!0}function Kv(e){let{comment:t,precedingNode:n,enclosingNode:r,followingNode:o}=e;return!(!r||"TSMappedType"!==r.type)&&(o&&"TSTypeParameter"===o.type&&o.name?(tv(o.name,t),!0):!(!n||"TSTypeParameter"!==n.type||!n.constraint)&&(nv(n.constraint,t),!0))}function Qv(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function Zv(e){return uv(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var eA={handleOwnLineComment:function(e){return[Yv,jv,Tv,xv,Sv,wv,kv,_v,Uv,$v,qv,Gv,zv,Pv,Mv].some((t=>t(e)))},handleEndOfLineComment:function(e){return[Fv,jv,Bv,_v,xv,Sv,wv,kv,Mv,Vv,Wv,qv,Hv,Jv].some((t=>t(e)))},handleRemainingComment:function(e){return[Yv,xv,Sv,Nv,Lv,Pv,qv,Iv,Ov,Kv,Rv,Xv].some((t=>t(e)))},isTypeCastComment:Zv,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===sv(e.value).length&&!e.value.returnType&&!iv(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),n=e.getParentNode();return(t&&(cv(t)||lv(t)||gv(n)&&(e=>pv(Dv(e,Ev.Leading))||pv(Dv(e,Ev.Trailing)))(t))||n&&("JSXSpreadAttribute"===n.type||"JSXSpreadChild"===n.type||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type||("ClassDeclaration"===n.type||"ClassExpression"===n.type)&&n.superClass===t))&&(!fv(e)||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)}};const tA=su,{getFunctionParameters:nA,getLeftSidePathName:rA,hasFlowShorthandAnnotationComment:oA,hasNakedLeftSide:iA,hasNode:uA,isBitwiseOperator:sA,startsWithNoLookaheadToken:aA,shouldFlatten:cA,getPrecedence:lA,isCallExpression:pA,isMemberExpression:fA,isObjectProperty:dA}=lC;function hA(e,t){const n=e.getParentNode();if(!n)return!1;const r=e.getName(),o=e.getNode();if(t.__isInHtmlInterpolation&&!t.bracketSpacing&&function(e){if("ObjectExpression"===e.type)return!0;return!1}(o)&&gA(e))return!0;if(function(e){return"BlockStatement"===e.type||"BreakStatement"===e.type||"ClassBody"===e.type||"ClassDeclaration"===e.type||"ClassMethod"===e.type||"ClassProperty"===e.type||"PropertyDefinition"===e.type||"ClassPrivateProperty"===e.type||"ContinueStatement"===e.type||"DebuggerStatement"===e.type||"DeclareClass"===e.type||"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type||"DeclareFunction"===e.type||"DeclareInterface"===e.type||"DeclareModule"===e.type||"DeclareModuleExports"===e.type||"DeclareVariable"===e.type||"DoWhileStatement"===e.type||"EnumDeclaration"===e.type||"ExportAllDeclaration"===e.type||"ExportDefaultDeclaration"===e.type||"ExportNamedDeclaration"===e.type||"ExpressionStatement"===e.type||"ForInStatement"===e.type||"ForOfStatement"===e.type||"ForStatement"===e.type||"FunctionDeclaration"===e.type||"IfStatement"===e.type||"ImportDeclaration"===e.type||"InterfaceDeclaration"===e.type||"LabeledStatement"===e.type||"MethodDefinition"===e.type||"ReturnStatement"===e.type||"SwitchStatement"===e.type||"ThrowStatement"===e.type||"TryStatement"===e.type||"TSDeclareFunction"===e.type||"TSEnumDeclaration"===e.type||"TSImportEqualsDeclaration"===e.type||"TSInterfaceDeclaration"===e.type||"TSModuleDeclaration"===e.type||"TSNamespaceExportDeclaration"===e.type||"TypeAlias"===e.type||"VariableDeclaration"===e.type||"WhileStatement"===e.type||"WithStatement"===e.type}(o))return!1;if("flow"!==t.parser&&oA(e.getValue()))return!0;if("Identifier"===o.type)return!!(o.extra&&o.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(o.name))||"left"===r&&"async"===o.name&&"ForOfStatement"===n.type&&!n.await;switch(n.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":if("superClass"===r&&("ArrowFunctionExpression"===o.type||"AssignmentExpression"===o.type||"AwaitExpression"===o.type||"BinaryExpression"===o.type||"ConditionalExpression"===o.type||"LogicalExpression"===o.type||"NewExpression"===o.type||"ObjectExpression"===o.type||"ParenthesizedExpression"===o.type||"SequenceExpression"===o.type||"TaggedTemplateExpression"===o.type||"UnaryExpression"===o.type||"UpdateExpression"===o.type||"YieldExpression"===o.type||"TSNonNullExpression"===o.type))return!0;break;case"ExportDefaultDeclaration":return mA(e,t)||"SequenceExpression"===o.type;case"Decorator":if("expression"===r){let e=!1,n=!1,r=o;for(;r;)switch(r.type){case"MemberExpression":n=!0,r=r.object;break;case"CallExpression":if(n||e)return"typescript"!==t.parser;e=!0,r=r.callee;break;case"Identifier":return!1;case"TaggedTemplateExpression":return"typescript"!==t.parser;default:return!0}return!0}break;case"ExpressionStatement":if(aA(o,!0))return!0;break;case"ArrowFunctionExpression":if("body"===r&&"SequenceExpression"!==o.type&&aA(o,!1))return!0}switch(o.type){case"UpdateExpression":if("UnaryExpression"===n.type)return o.prefix&&("++"===o.operator&&"+"===n.operator||"--"===o.operator&&"-"===n.operator);case"UnaryExpression":switch(n.type){case"UnaryExpression":return o.operator===n.operator&&("+"===o.operator||"-"===o.operator);case"BindExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"BinaryExpression":return"left"===r&&"**"===n.operator;default:return!1}case"BinaryExpression":if("UpdateExpression"===n.type)return!0;if("in"===o.operator&&function(e){let t=0,n=e.getValue();for(;n;){const r=e.getParentNode(t++);if(r&&"ForStatement"===r.type&&r.init===n)return!0;n=r}return!1}(e))return!0;if("|>"===o.operator&&o.extra&&o.extra.parenthesized){const t=e.getParentNode(1);if("BinaryExpression"===t.type&&"|>"===t.operator)return!0}case"TSTypeAssertion":case"TSAsExpression":case"LogicalExpression":switch(n.type){case"TSAsExpression":return"TSAsExpression"!==o.type;case"ConditionalExpression":return"TSAsExpression"===o.type;case"CallExpression":case"NewExpression":case"OptionalCallExpression":return"callee"===r;case"ClassExpression":case"ClassDeclaration":return"superClass"===r;case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"AssignmentExpression":case"AssignmentPattern":return"left"===r&&("TSTypeAssertion"===o.type||"TSAsExpression"===o.type);case"LogicalExpression":if("LogicalExpression"===o.type)return n.operator!==o.operator;case"BinaryExpression":{const{operator:e,type:t}=o;if(!e&&"TSTypeAssertion"!==t)return!0;const i=lA(e),u=n.operator,s=lA(u);return s>i||("right"===r&&s===i||(s===i&&!cA(u,e)||(s"===n.operator);default:return!1}case"TSConditionalType":if("extendsType"===r&&"TSConditionalType"===n.type)return!0;case"TSFunctionType":case"TSConstructorType":if("checkType"===r&&"TSConditionalType"===n.type)return!0;case"TSUnionType":case"TSIntersectionType":if(("TSUnionType"===n.type||"TSIntersectionType"===n.type)&&n.types.length>1&&(!o.types||o.types.length>1))return!0;case"TSInferType":if("TSInferType"===o.type&&"TSRestType"===n.type)return!1;case"TSTypeOperator":return"TSArrayType"===n.type||"TSOptionalType"===n.type||"TSRestType"===n.type||"objectType"===r&&"TSIndexedAccessType"===n.type||"TSTypeOperator"===n.type||"TSTypeAnnotation"===n.type&&e.getParentNode(1).type.startsWith("TSJSDoc");case"ArrayTypeAnnotation":return"NullableTypeAnnotation"===n.type;case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"ArrayTypeAnnotation"===n.type||"NullableTypeAnnotation"===n.type||"IntersectionTypeAnnotation"===n.type||"UnionTypeAnnotation"===n.type||"objectType"===r&&("IndexedAccessType"===n.type||"OptionalIndexedAccessType"===n.type);case"NullableTypeAnnotation":return"ArrayTypeAnnotation"===n.type||"objectType"===r&&("IndexedAccessType"===n.type||"OptionalIndexedAccessType"===n.type);case"FunctionTypeAnnotation":{const t="NullableTypeAnnotation"===n.type?e.getParentNode(1):n;return"UnionTypeAnnotation"===t.type||"IntersectionTypeAnnotation"===t.type||"ArrayTypeAnnotation"===t.type||"objectType"===r&&("IndexedAccessType"===t.type||"OptionalIndexedAccessType"===t.type)||"NullableTypeAnnotation"===t.type||"FunctionTypeParam"===n.type&&null===n.name&&nA(o).some((e=>e.typeAnnotation&&"NullableTypeAnnotation"===e.typeAnnotation.type))}case"OptionalIndexedAccessType":return"objectType"===r&&"IndexedAccessType"===n.type;case"TypeofTypeAnnotation":return"objectType"===r&&("IndexedAccessType"===n.type||"OptionalIndexedAccessType"===n.type);case"StringLiteral":case"NumericLiteral":case"Literal":if("string"==typeof o.value&&"ExpressionStatement"===n.type&&!n.directive){const t=e.getParentNode(1);return"Program"===t.type||"BlockStatement"===t.type}return"object"===r&&"MemberExpression"===n.type&&"number"==typeof o.value;case"AssignmentExpression":{const t=e.getParentNode(1);return"body"===r&&"ArrowFunctionExpression"===n.type||("key"!==r||"ClassProperty"!==n.type&&"PropertyDefinition"!==n.type||!n.computed)&&(("init"!==r&&"update"!==r||"ForStatement"!==n.type)&&("ExpressionStatement"===n.type?"ObjectPattern"===o.left.type:("key"!==r||"TSPropertySignature"!==n.type)&&("AssignmentExpression"!==n.type&&(("SequenceExpression"!==n.type||!t||"ForStatement"!==t.type||t.init!==n&&t.update!==n)&&(("value"!==r||"Property"!==n.type||!t||"ObjectPattern"!==t.type||!t.properties.includes(n))&&"NGChainedExpression"!==n.type)))))}case"ConditionalExpression":switch(n.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"ConditionalExpression":return"test"===r;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;default:return!1}case"FunctionExpression":switch(n.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(n.type){case"BinaryExpression":return"|>"!==n.operator||o.extra&&o.extra.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"TSAsExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return"test"===r;default:return!1}case"ClassExpression":return"NewExpression"===n.type&&"callee"===r;case"OptionalMemberExpression":case"OptionalCallExpression":{const t=e.getParentNode(1);if("object"===r&&"MemberExpression"===n.type||"callee"===r&&("CallExpression"===n.type||"NewExpression"===n.type)||"TSNonNullExpression"===n.type&&"MemberExpression"===t.type&&t.object===n)return!0}case"CallExpression":case"MemberExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":if("callee"===r&&("BindExpression"===n.type||"NewExpression"===n.type)){let e=o;for(;e;)switch(e.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":e=e.object;break;case"TaggedTemplateExpression":e=e.tag;break;case"TSNonNullExpression":e=e.expression;break;default:return!1}}return!1;case"BindExpression":return"callee"===r&&("BindExpression"===n.type||"NewExpression"===n.type)||"object"===r&&fA(n);case"NGPipeExpression":return!("NGRoot"===n.type||"NGMicrosyntaxExpression"===n.type||"ObjectProperty"===n.type&&(!o.extra||!o.extra.parenthesized)||"ArrayExpression"===n.type||pA(n)&&n.arguments[r]===o||"right"===r&&"NGPipeExpression"===n.type||"property"===r&&"MemberExpression"===n.type||"AssignmentExpression"===n.type);case"JSXFragment":case"JSXElement":return"callee"===r||"left"===r&&"BinaryExpression"===n.type&&"<"===n.operator||"ArrayExpression"!==n.type&&"ArrowFunctionExpression"!==n.type&&"AssignmentExpression"!==n.type&&"AssignmentPattern"!==n.type&&"BinaryExpression"!==n.type&&"NewExpression"!==n.type&&"ConditionalExpression"!==n.type&&"ExpressionStatement"!==n.type&&"JsExpressionRoot"!==n.type&&"JSXAttribute"!==n.type&&"JSXElement"!==n.type&&"JSXExpressionContainer"!==n.type&&"JSXFragment"!==n.type&&"LogicalExpression"!==n.type&&!pA(n)&&!dA(n)&&"ReturnStatement"!==n.type&&"ThrowStatement"!==n.type&&"TypeCastExpression"!==n.type&&"VariableDeclarator"!==n.type&&"YieldExpression"!==n.type;case"TypeAnnotation":return"returnType"===r&&"ArrowFunctionExpression"===n.type&&function(e){return uA(e,(e=>"ObjectTypeAnnotation"===e.type&&uA(e,(e=>"FunctionTypeAnnotation"===e.type||void 0))||void 0))}(o)}return!1}function gA(e){const t=e.getValue(),n=e.getParentNode(),r=e.getName();switch(n.type){case"NGPipeExpression":if("number"==typeof r&&n.arguments[r]===t&&n.arguments.length-1===r)return e.callParent(gA);break;case"ObjectProperty":if("value"===r){const t=e.getParentNode(1);return tA(t.properties)===n}break;case"BinaryExpression":case"LogicalExpression":if("right"===r)return e.callParent(gA);break;case"ConditionalExpression":if("alternate"===r)return e.callParent(gA);break;case"UnaryExpression":if(n.prefix)return e.callParent(gA)}return!1}function mA(e,t){const n=e.getValue(),r=e.getParentNode();return"FunctionExpression"===n.type||"ClassExpression"===n.type?"ExportDefaultDeclaration"===r.type||!hA(e,t):!(!iA(n)||"ExportDefaultDeclaration"!==r.type&&hA(e,t))&&e.call((e=>mA(e,t)),...rA(e,n))}var yA=hA;var DA=function(e,t){switch(t.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":return Object.assign(Object.assign({},e),{},{type:t.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:e,comments:[],rootMarker:t.rootMarker});default:return e}};const{builders:{join:EA,line:CA,group:bA,softline:vA,indent:AA}}=Gc;var FA={isVueEventBindingExpression:function e(t){switch(t.type){case"MemberExpression":switch(t.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return e(t.object)}return!1;case"Identifier":return!0;default:return!1}},printHtmlBinding:function(e,t,n){const r=e.getValue();if(t.__onHtmlBindingRoot&&null===e.getName()&&t.__onHtmlBindingRoot(r,t),"File"===r.type)return t.__isVueForBindingLeft?e.call((e=>{const t=EA([",",CA],e.map(n,"params")),{params:r}=e.getValue();return 1===r.length?t:["(",AA([vA,bA(t)]),vA,")"]}),"program","body",0):t.__isVueBindings?e.call((e=>EA([",",CA],e.map(n,"params"))),"program","body",0):void 0}};const{printComments:xA}=zy,{getLast:SA}=ic,{builders:{join:wA,line:TA,softline:BA,group:NA,indent:kA,align:PA,ifBreak:OA,indentIfBreak:IA},utils:{cleanDoc:LA,getDocParts:jA,isConcat:_A}}=Gc,{hasLeadingOwnLineComment:MA,isBinaryish:RA,isJsxNode:VA,shouldFlatten:$A,hasComment:WA,CommentCheckFlags:qA,isCallExpression:UA,isMemberExpression:GA,isObjectProperty:zA,isEnabledHackPipeline:HA}=lC;let JA=0;function XA(e,t,n,r,o){const i=e.getValue();if(!RA(i))return[NA(t())];let u=[];$A(i.operator,i.left.operator)?u=e.call((e=>XA(e,t,n,!0,o)),"left"):u.push(NA(t("left")));const s=YA(i),a=("|>"===i.operator||"NGPipeExpression"===i.type||"|"===i.operator&&"__vue_expression"===n.parser)&&!MA(n.originalText,i.right),c="NGPipeExpression"===i.type?"|":i.operator,l="NGPipeExpression"===i.type&&i.arguments.length>0?NA(kA([BA,": ",wA([BA,":",OA(" ")],e.map(t,"arguments").map((e=>PA(2,NA(e)))))])):"";let p;if(s)p=[c," ",t("right"),l];else{const r=HA(n)&&"|>"===c?e.call((e=>XA(e,t,n,!0,o)),"right"):t("right");p=[a?TA:"",c,a?" ":TA,r,l]}const f=e.getParentNode(),d=WA(i.left,qA.Trailing|qA.Line),h=d||!(o&&"LogicalExpression"===i.type)&&f.type!==i.type&&i.left.type!==i.type&&i.right.type!==i.type;if(u.push(a?"":" ",h?NA(p,{shouldBreak:d}):p),r&&WA(i)){const t=LA(xA(e,u,n));return _A(t)||"fill"===t.type?jA(t):[t]}return u}function YA(e){return"LogicalExpression"===e.type&&("ObjectExpression"===e.right.type&&e.right.properties.length>0||("ArrayExpression"===e.right.type&&e.right.elements.length>0||!!VA(e.right)))}var KA={printBinaryishExpression:function(e,t,n){const r=e.getValue(),o=e.getParentNode(),i=e.getParentNode(1),u=r!==o.body&&("IfStatement"===o.type||"WhileStatement"===o.type||"SwitchStatement"===o.type||"DoWhileStatement"===o.type),s=HA(t)&&"|>"===r.operator,a=XA(e,n,t,!1,u);if(u)return a;if(s)return NA(a);if(UA(o)&&o.callee===r||"UnaryExpression"===o.type||GA(o)&&!o.computed)return NA([kA([BA,...a]),BA]);const c="ReturnStatement"===o.type||"ThrowStatement"===o.type||"JSXExpressionContainer"===o.type&&"JSXAttribute"===i.type||"|"!==r.operator&&"JsExpressionRoot"===o.type||"NGPipeExpression"!==r.type&&("NGRoot"===o.type&&"__ng_binding"===t.parser||"NGMicrosyntaxExpression"===o.type&&"NGMicrosyntax"===i.type&&1===i.body.length)||r===o.body&&"ArrowFunctionExpression"===o.type||r!==o.body&&"ForStatement"===o.type||"ConditionalExpression"===o.type&&"ReturnStatement"!==i.type&&"ThrowStatement"!==i.type&&!UA(i)||"TemplateLiteral"===o.type,l="AssignmentExpression"===o.type||"VariableDeclarator"===o.type||"ClassProperty"===o.type||"PropertyDefinition"===o.type||"TSAbstractPropertyDefinition"===o.type||"ClassPrivateProperty"===o.type||zA(o),p=RA(r.left)&&$A(r.operator,r.left.operator);if(c||YA(r)&&!p||!YA(r)&&l)return NA(a);if(0===a.length)return"";const f=VA(r.right),d=a.findIndex((e=>"string"!=typeof e&&!Array.isArray(e)&&"group"===e.type)),h=a.slice(0,-1===d?1:d+1),g=a.slice(h.length,f?-1:void 0),m=Symbol("logicalChain-"+ ++JA),y=NA([...h,kA(g)],{id:m});if(!f)return y;const D=SA(a);return NA([y,IA(D,{groupId:m})])},shouldInlineLogicalExpression:YA};const{builders:{join:QA,line:ZA,group:eF}}=Gc,{hasNode:tF,hasComment:nF,getComments:rF}=lC,{printBinaryishExpression:oF}=KA;function iF(e,t,n){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===t&&"NGMicrosyntaxLet"===n.body[0].type&&null===n.body[0].value}var uF={printAngular:function(e,t,n){const r=e.getValue();if(r.type.startsWith("NG"))switch(r.type){case"NGRoot":return[n("node"),nF(r.node)?" //"+rF(r.node)[0].value.trimEnd():""];case"NGPipeExpression":return oF(e,t,n);case"NGChainedExpression":return eF(QA([";",ZA],e.map((e=>function(e){return tF(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))}(e)?n():["(",n(),")"]),"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return[r.prefix,": ",r.value.trim()];case"NGMicrosyntax":return e.map(((e,t)=>[0===t?"":iF(e.getValue(),t,r)?" ":[";",ZA],n()]),"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(r.name)?r.name:JSON.stringify(r.name);case"NGMicrosyntaxExpression":return[n("expression"),null===r.alias?"":[" as ",n("alias")]];case"NGMicrosyntaxKeyedExpression":{const t=e.getName(),o=e.getParentNode(),i=iF(r,t,o)||(1===t&&("then"===r.key.name||"else"===r.key.name)||2===t&&"else"===r.key.name&&"NGMicrosyntaxKeyedExpression"===o.body[t-1].type&&"then"===o.body[t-1].key.name)&&"NGMicrosyntaxExpression"===o.body[0].type;return[n("key"),i?" ":": ",n("expression")]}case"NGMicrosyntaxLet":return["let ",n("key"),null===r.value?"":[" = ",n("value")]];case"NGMicrosyntaxAs":return[n("key")," as ",n("alias")];default:throw new Error("Unknown Angular node type: ".concat(JSON.stringify(r.type),"."))}}};const{printComments:sF,printDanglingComments:aF}=zy,{builders:{line:cF,hardline:lF,softline:pF,group:fF,indent:dF,conditionalGroup:hF,fill:gF,ifBreak:mF,lineSuffixBoundary:yF,join:DF},utils:{willBreak:EF}}=Gc,{getLast:CF,getPreferredQuote:bF}=ic,{isJsxNode:vF,rawText:AF,isLiteral:FF,isCallExpression:xF,isStringLiteral:SF,isBinaryish:wF,hasComment:TF,CommentCheckFlags:BF,hasNodeIgnoreComment:NF}=lC,kF=yA,{willPrintOwnComments:PF}=eA,OF=e=>""===e||e===cF||e===lF||e===pF;function IF(e,t,n){const r=e.getValue();if("JSXElement"===r.type&&function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return FF(t)&&!WF(t)}(r))return[n("openingElement"),n("closingElement")];const o="JSXElement"===r.type?n("openingElement"):n("openingFragment"),i="JSXElement"===r.type?n("closingElement"):n("closingFragment");if(1===r.children.length&&"JSXExpressionContainer"===r.children[0].type&&("TemplateLiteral"===r.children[0].expression.type||"TaggedTemplateExpression"===r.children[0].expression.type))return[o,...e.map(n,"children"),i];r.children=r.children.map((e=>function(e){return"JSXExpressionContainer"===e.type&&FF(e.expression)&&" "===e.expression.value&&!TF(e.expression)}(e)?{type:"JSXText",value:" ",raw:" "}:e));const u=r.children.some(vF),s=r.children.filter((e=>"JSXExpressionContainer"===e.type)).length>1,a="JSXElement"===r.type&&r.openingElement.attributes.length>1;let c=EF(o)||u||a||s;const l="mdx"===e.getParentNode().rootMarker,p=t.singleQuote?"{' '}":'{" "}',f=l?" ":mF([p,pF]," "),d=function(e,t,n,r,o){const i=[];return e.each(((e,t,u)=>{const s=e.getValue();if(FF(s)){const e=AF(s);if(WF(s)){const n=e.split(RF);if(""===n[0]){if(i.push(""),n.shift(),/\n/.test(n[0])){const e=u[t+1];i.push(jF(o,n[1],s,e))}else i.push(r);n.shift()}let a;if(""===CF(n)&&(n.pop(),a=n.pop()),0===n.length)return;for(const[e,t]of n.entries())e%2==1?i.push(cF):i.push(t);if(void 0!==a)if(/\n/.test(a)){const e=u[t+1];i.push(jF(o,CF(i),s,e))}else i.push(r);else{const e=u[t+1];i.push(LF(o,CF(i),s,e))}}else/\n/.test(e)?e.match(/\n/g).length>1&&i.push("",lF):i.push("",r)}else{const e=n();i.push(e);const r=u[t+1];if(r&&WF(r)){const e=$F(AF(r)).split(RF)[0];i.push(LF(o,e,s,r))}else i.push(lF)}}),"children"),i}(e,0,n,f,r.openingElement&&r.openingElement.name&&"fbt"===r.openingElement.name.name),h=r.children.some((e=>WF(e)));for(let e=d.length-2;e>=0;e--){const t=""===d[e]&&""===d[e+1],n=d[e]===lF&&""===d[e+1]&&d[e+2]===lF,r=(d[e]===pF||d[e]===lF)&&""===d[e+1]&&d[e+2]===f,o=d[e]===f&&""===d[e+1]&&(d[e+2]===pF||d[e+2]===lF),i=d[e]===f&&""===d[e+1]&&d[e+2]===f,u=d[e]===pF&&""===d[e+1]&&d[e+2]===lF||d[e]===lF&&""===d[e+1]&&d[e+2]===pF;n&&h||t||r||i||u?d.splice(e,2):o&&d.splice(e+1,2)}for(;d.length>0&&OF(CF(d));)d.pop();for(;d.length>1&&OF(d[0])&&OF(d[1]);)d.shift(),d.shift();const g=[];for(const[e,t]of d.entries()){if(t===f){if(1===e&&""===d[e-1]){if(2===d.length){g.push(p);continue}g.push([p,lF]);continue}if(e===d.length-1){g.push(p);continue}if(""===d[e-1]&&d[e-2]===lF){g.push(p);continue}}g.push(t),EF(t)&&(c=!0)}const m=h?gF(g):fF(g,{shouldBreak:!0});if(l)return m;const y=fF([o,dF([lF,m]),lF,i]);return c?y:hF([fF([o,...d,i]),y])}function LF(e,t,n,r){return e?"":"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?1===t.length?pF:lF:pF}function jF(e,t,n,r){return e?lF:1===t.length?"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?lF:pF:lF}function _F(e,t,n){return function(e,t,n){const r=e.getParentNode();if(!r)return t;if({ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[r.type])return t;const o=e.match(void 0,(e=>"ArrowFunctionExpression"===e.type),xF,(e=>"JSXExpressionContainer"===e.type)),i=kF(e,n);return fF([i?"":mF("("),dF([pF,t]),pF,i?"":mF(")")],{shouldBreak:o})}(e,sF(e,IF(e,t,n),t),t)}function MF(e,t,n){const r=e.getValue();return["{",e.call((e=>{const r=["...",n()],o=e.getValue();return TF(o)&&PF(e)?[dF([pF,sF(e,r,t)]),pF]:r}),"JSXSpreadAttribute"===r.type?"argument":"expression"),"}"]}const RF=new RegExp("([ \n\r\t]+)"),VF=new RegExp("[^ \n\r\t]"),$F=e=>e.replace(new RegExp("(?:^"+RF.source+"|"+RF.source+"$)"),"");function WF(e){return FF(e)&&(VF.test(AF(e))||!/\n/.test(AF(e)))}var qF={hasJsxIgnoreComment:function(e){const t=e.getValue(),n=e.getParentNode();if(!(n&&t&&vF(t)&&vF(n)))return!1;let r=null;for(let e=n.children.indexOf(t);e>0;e--){const t=n.children[e-1];if("JSXText"!==t.type||WF(t)){r=t;break}}return r&&"JSXExpressionContainer"===r.type&&"JSXEmptyExpression"===r.expression.type&&NF(r.expression)},printJsx:function(e,t,n){const r=e.getValue();if(r.type.startsWith("JSX"))switch(r.type){case"JSXAttribute":return function(e,t,n){const r=e.getValue(),o=[];if(o.push(n("name")),r.value){let e;if(SF(r.value)){let n=AF(r.value).slice(1,-1).replace(/'/g,"'").replace(/"/g,'"');const{escaped:o,quote:i,regex:u}=bF(n,t.jsxSingleQuote?"'":'"');n=n.replace(u,o),e=[i,n,i]}else e=n("value");o.push("=",e)}return o}(e,t,n);case"JSXIdentifier":return String(r.name);case"JSXNamespacedName":return DF(":",[n("namespace"),n("name")]);case"JSXMemberExpression":return DF(".",[n("object"),n("property")]);case"JSXSpreadAttribute":return MF(e,t,n);case"JSXSpreadChild":return MF(e,t,n);case"JSXExpressionContainer":return function(e,t,n){const r=e.getValue(),o=e.getParentNode(0),i="JSXEmptyExpression"===r.expression.type||!TF(r.expression)&&("ArrayExpression"===r.expression.type||"ObjectExpression"===r.expression.type||"ArrowFunctionExpression"===r.expression.type||xF(r.expression)||"FunctionExpression"===r.expression.type||"TemplateLiteral"===r.expression.type||"TaggedTemplateExpression"===r.expression.type||"DoExpression"===r.expression.type||vF(o)&&("ConditionalExpression"===r.expression.type||wF(r.expression)));return fF(i?["{",n("expression"),yF,"}"]:["{",dF([pF,n("expression")]),pF,yF,"}"])}(e,0,n);case"JSXFragment":case"JSXElement":return _F(e,t,n);case"JSXOpeningElement":return function(e,t,n){const r=e.getValue(),o=r.name&&TF(r.name)||r.typeParameters&&TF(r.typeParameters);if(r.selfClosing&&0===r.attributes.length&&!o)return["<",n("name"),n("typeParameters")," />"];if(r.attributes&&1===r.attributes.length&&r.attributes[0].value&&SF(r.attributes[0].value)&&!r.attributes[0].value.value.includes("\n")&&!o&&!TF(r.attributes[0]))return fF(["<",n("name"),n("typeParameters")," ",...e.map(n,"attributes"),r.selfClosing?" />":">"]);const i=r.attributes.length>0&&TF(CF(r.attributes),BF.Trailing),u=0===r.attributes.length&&!o||(t.bracketSameLine||t.jsxBracketSameLine)&&(!o||r.attributes.length>0)&&!i,s=r.attributes&&r.attributes.some((e=>e.value&&SF(e.value)&&e.value.value.includes("\n")));return fF(["<",n("name"),n("typeParameters"),dF(e.map((()=>[cF,n()]),"attributes")),r.selfClosing?cF:u?">":pF,r.selfClosing?"/>":u?"":">"],{shouldBreak:s})}(e,t,n);case"JSXClosingElement":return function(e,t,n){const r=e.getValue(),o=[];o.push(""),o}(e,0,n);case"JSXOpeningFragment":case"JSXClosingFragment":return function(e,t){const n=e.getValue(),r=TF(n),o=TF(n,BF.Line),i="JSXOpeningFragment"===n.type;return[i?"<":""]}(e,t);case"JSXEmptyExpression":return function(e,t){const n=e.getValue(),r=TF(n,BF.Line);return[aF(e,t,!r),r?lF:""]}(e,t);case"JSXText":throw new Error("JSXTest should be handled by JSXElement");default:throw new Error("Unknown JSX node type: ".concat(JSON.stringify(r.type),"."))}}},UF=Cu,GF=Qe,zF=dr,HF=ur,JF=$u;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=GF(this),n=zF(t),r=JF(t,0);return r.length=UF(r,t,t,n,0,void 0===e?1:HF(e)),r}});var XF,YF=Fr,KF=xr,QF=Object.keys||function(e){return YF(e,KF)},ZF=Ut,ex=Xt,tx=oe,nx=QF,rx=B?Object.defineProperties:function(e,t){ex(e);for(var n,r=tx(t),o=nx(t),i=o.length,u=0;i>u;)ZF.f(e,n=o[u++],r[n]);return e},ox=pe("document","documentElement"),ix=Xt,ux=rx,sx=xr,ax=vn,cx=ox,lx=Pt,px=bn("IE_PROTO"),fx=function(){},dx=function(e){return"`; + // If the inner JS formatter removes the parens, the expression might change its meaning: + // f((a + b) / 2) vs f(a + b / 2) + if (node.extra && node.extra.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(node.name)) { + return true; + } // `for (async of []);` is invalid + + + if (name === "left" && node.name === "async" && parent.type === "ForOfStatement" && !parent.await) { + return true; + } + + return false; + } + + switch (parent.type) { + case "ParenthesizedExpression": + return false; + + case "ClassDeclaration": + case "ClassExpression": + { + // Add parens around the extends clause of a class. It is needed for almost + // all expressions. + if (name === "superClass" && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression" || node.type === "TSNonNullExpression")) { + return true; + } + + break; + } + + case "ExportDefaultDeclaration": + { + return (// `export default function` or `export default class` can't be followed by + // anything after. So an expression like `export default (function(){}).toString()` + // needs to be followed by a parentheses + shouldWrapFunctionForExportDefault(path, options) || // `export default (foo, bar)` also needs parentheses + node.type === "SequenceExpression" + ); + } + + case "Decorator": + { + if (name === "expression") { + let hasCallExpression = false; + let hasMemberExpression = false; + let current = node; + + while (current) { + switch (current.type) { + case "MemberExpression": + hasMemberExpression = true; + current = current.object; + break; + + case "CallExpression": + if ( + /** @(x().y) */ + hasMemberExpression || + /** @(x().y()) */ + hasCallExpression) { + return options.parser !== "typescript"; + } + + hasCallExpression = true; + current = current.callee; + break; + + case "Identifier": + return false; + + case "TaggedTemplateExpression": + // babel-parser cannot parse + // @foo`bar` + return options.parser !== "typescript"; + + default: + return true; + } + } + + return true; + } + + break; + } + + case "ExpressionStatement": + { + if (startsWithNoLookaheadToken$1(node, + /* forbidFunctionClassAndDoExpr */ + true)) { + return true; + } + + break; + } + + case "ArrowFunctionExpression": + { + if (name === "body" && node.type !== "SequenceExpression" && // these have parens added anyway + startsWithNoLookaheadToken$1(node, + /* forbidFunctionClassAndDoExpr */ + false)) { + return true; + } + + break; + } + } + + switch (node.type) { + case "UpdateExpression": + if (parent.type === "UnaryExpression") { + return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); + } + + // else fallthrough + + case "UnaryExpression": + switch (parent.type) { + case "UnaryExpression": + return node.operator === parent.operator && (node.operator === "+" || node.operator === "-"); + + case "BindExpression": + return true; + + case "MemberExpression": + case "OptionalMemberExpression": + return name === "object"; + + case "TaggedTemplateExpression": + return true; + + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return name === "callee"; + + case "BinaryExpression": + return name === "left" && parent.operator === "**"; + + case "TSNonNullExpression": + return true; + + default: + return false; + } + + case "BinaryExpression": + { + if (parent.type === "UpdateExpression") { + return true; + } // We add parentheses to any `a in b` inside `ForStatement` initializer + // https://github.com/prettier/prettier/issues/907#issuecomment-284304321 + + + if (node.operator === "in" && isPathInForStatementInitializer(path)) { + return true; + } + + if (node.operator === "|>" && node.extra && node.extra.parenthesized) { + const grandParent = path.getParentNode(1); + + if (grandParent.type === "BinaryExpression" && grandParent.operator === "|>") { + return true; + } + } + } + // fallthrough + + case "TSTypeAssertion": + case "TSAsExpression": + case "LogicalExpression": + switch (parent.type) { + case "TSAsExpression": + // example: foo as unknown as Bar + return node.type !== "TSAsExpression"; + + case "ConditionalExpression": + return node.type === "TSAsExpression"; + + case "CallExpression": + case "NewExpression": + case "OptionalCallExpression": + return name === "callee"; + + case "ClassExpression": + case "ClassDeclaration": + return name === "superClass"; + + case "TSTypeAssertion": + case "TaggedTemplateExpression": + case "UnaryExpression": + case "JSXSpreadAttribute": + case "SpreadElement": + case "SpreadProperty": + case "BindExpression": + case "AwaitExpression": + case "TSNonNullExpression": + case "UpdateExpression": + return true; + + case "MemberExpression": + case "OptionalMemberExpression": + return name === "object"; + + case "AssignmentExpression": + case "AssignmentPattern": + return name === "left" && (node.type === "TSTypeAssertion" || node.type === "TSAsExpression"); + + case "LogicalExpression": + if (node.type === "LogicalExpression") { + return parent.operator !== node.operator; + } + + // else fallthrough + + case "BinaryExpression": + { + const { + operator, + type + } = node; + + if (!operator && type !== "TSTypeAssertion") { + return true; + } + + const precedence = getPrecedence(operator); + const parentOperator = parent.operator; + const parentPrecedence = getPrecedence(parentOperator); + + if (parentPrecedence > precedence) { + return true; + } + + if (name === "right" && parentPrecedence === precedence) { + return true; + } + + if (parentPrecedence === precedence && !shouldFlatten$1(parentOperator, operator)) { + return true; + } + + if (parentPrecedence < precedence && operator === "%") { + return parentOperator === "+" || parentOperator === "-"; + } // Add parenthesis when working with bitwise operators + // It's not strictly needed but helps with code understanding + + + if (isBitwiseOperator(parentOperator)) { + return true; + } + + return false; + } + + default: + return false; + } + + case "SequenceExpression": + switch (parent.type) { + case "ReturnStatement": + return false; + + case "ForStatement": + // Although parentheses wouldn't hurt around sequence + // expressions in the head of for loops, traditional style + // dictates that e.g. i++, j++ should not be wrapped with + // parentheses. + return false; + + case "ExpressionStatement": + return name !== "expression"; + + case "ArrowFunctionExpression": + // We do need parentheses, but SequenceExpressions are handled + // specially when printing bodies of arrow functions. + return name !== "body"; + + default: + // Otherwise err on the side of overparenthesization, adding + // explicit exceptions above if this proves overzealous. + return true; + } + + case "YieldExpression": + if (parent.type === "UnaryExpression" || parent.type === "AwaitExpression" || parent.type === "TSAsExpression" || parent.type === "TSNonNullExpression") { + return true; + } + + // else fallthrough + + case "AwaitExpression": + switch (parent.type) { + case "TaggedTemplateExpression": + case "UnaryExpression": + case "LogicalExpression": + case "SpreadElement": + case "SpreadProperty": + case "TSAsExpression": + case "TSNonNullExpression": + case "BindExpression": + return true; + + case "MemberExpression": + case "OptionalMemberExpression": + return name === "object"; + + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return name === "callee"; + + case "ConditionalExpression": + return name === "test"; + + case "BinaryExpression": + { + if (!node.argument && parent.operator === "|>") { + return false; + } + + return true; + } + + default: + return false; + } + + case "TSConditionalType": + if (name === "extendsType" && parent.type === "TSConditionalType") { + return true; + } + + // fallthrough + + case "TSFunctionType": + case "TSConstructorType": + if (name === "checkType" && parent.type === "TSConditionalType") { + return true; + } + + // fallthrough + + case "TSUnionType": + case "TSIntersectionType": + if ((parent.type === "TSUnionType" || parent.type === "TSIntersectionType") && parent.types.length > 1 && (!node.types || node.types.length > 1)) { + return true; + } + + // fallthrough + + case "TSInferType": + if (node.type === "TSInferType" && parent.type === "TSRestType") { + return false; + } + + // fallthrough + + case "TSTypeOperator": + return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || name === "objectType" && parent.type === "TSIndexedAccessType" || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && path.getParentNode(1).type.startsWith("TSJSDoc"); + + case "ArrayTypeAnnotation": + return parent.type === "NullableTypeAnnotation"; + + case "IntersectionTypeAnnotation": + case "UnionTypeAnnotation": + return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation" || name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); + + case "NullableTypeAnnotation": + return parent.type === "ArrayTypeAnnotation" || name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); + + case "FunctionTypeAnnotation": + { + const ancestor = parent.type === "NullableTypeAnnotation" ? path.getParentNode(1) : parent; + return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || name === "objectType" && (ancestor.type === "IndexedAccessType" || ancestor.type === "OptionalIndexedAccessType") || // We should check ancestor's parent to know whether the parentheses + // are really needed, but since ??T doesn't make sense this check + // will almost never be true. + ancestor.type === "NullableTypeAnnotation" || // See #5283 + parent.type === "FunctionTypeParam" && parent.name === null && getFunctionParameters$4(node).some(param => param.typeAnnotation && param.typeAnnotation.type === "NullableTypeAnnotation"); + } + + case "OptionalIndexedAccessType": + return name === "objectType" && parent.type === "IndexedAccessType"; + + case "TypeofTypeAnnotation": + return name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); + + case "StringLiteral": + case "NumericLiteral": + case "Literal": + if (typeof node.value === "string" && parent.type === "ExpressionStatement" && !parent.directive) { + // To avoid becoming a directive + const grandParent = path.getParentNode(1); + return grandParent.type === "Program" || grandParent.type === "BlockStatement"; + } + + return name === "object" && parent.type === "MemberExpression" && typeof node.value === "number"; + + case "AssignmentExpression": + { + const grandParent = path.getParentNode(1); + + if (name === "body" && parent.type === "ArrowFunctionExpression") { + return true; + } + + if (name === "key" && (parent.type === "ClassProperty" || parent.type === "PropertyDefinition") && parent.computed) { + return false; + } + + if ((name === "init" || name === "update") && parent.type === "ForStatement") { + return false; + } + + if (parent.type === "ExpressionStatement") { + return node.left.type === "ObjectPattern"; + } + + if (name === "key" && parent.type === "TSPropertySignature") { + return false; + } + + if (parent.type === "AssignmentExpression") { + return false; + } + + if (parent.type === "SequenceExpression" && grandParent && grandParent.type === "ForStatement" && (grandParent.init === parent || grandParent.update === parent)) { + return false; + } + + if (name === "value" && parent.type === "Property" && grandParent && grandParent.type === "ObjectPattern" && grandParent.properties.includes(parent)) { + return false; + } + + if (parent.type === "NGChainedExpression") { + return false; + } + + return true; + } + + case "ConditionalExpression": + switch (parent.type) { + case "TaggedTemplateExpression": + case "UnaryExpression": + case "SpreadElement": + case "SpreadProperty": + case "BinaryExpression": + case "LogicalExpression": + case "NGPipeExpression": + case "ExportDefaultDeclaration": + case "AwaitExpression": + case "JSXSpreadAttribute": + case "TSTypeAssertion": + case "TypeCastExpression": + case "TSAsExpression": + case "TSNonNullExpression": + return true; + + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return name === "callee"; + + case "ConditionalExpression": + return name === "test"; + + case "MemberExpression": + case "OptionalMemberExpression": + return name === "object"; + + default: + return false; + } + + case "FunctionExpression": + switch (parent.type) { + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + // Not always necessary, but it's clearer to the reader if IIFEs are wrapped in parentheses. + // Is necessary if it is `expression` of `ExpressionStatement`. + return name === "callee"; + + case "TaggedTemplateExpression": + return true; + // This is basically a kind of IIFE. + + default: + return false; + } + + case "ArrowFunctionExpression": + switch (parent.type) { + case "BinaryExpression": + return parent.operator !== "|>" || node.extra && node.extra.parenthesized; + + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return name === "callee"; + + case "MemberExpression": + case "OptionalMemberExpression": + return name === "object"; + + case "TSAsExpression": + case "TSNonNullExpression": + case "BindExpression": + case "TaggedTemplateExpression": + case "UnaryExpression": + case "LogicalExpression": + case "AwaitExpression": + case "TSTypeAssertion": + return true; + + case "ConditionalExpression": + return name === "test"; + + default: + return false; + } + + case "ClassExpression": + switch (parent.type) { + case "NewExpression": + return name === "callee"; + + default: + return false; + } + + case "OptionalMemberExpression": + case "OptionalCallExpression": + { + const parentParent = path.getParentNode(1); + + if (name === "object" && parent.type === "MemberExpression" || name === "callee" && (parent.type === "CallExpression" || parent.type === "NewExpression") || parent.type === "TSNonNullExpression" && parentParent.type === "MemberExpression" && parentParent.object === parent) { + return true; + } + } + // fallthrough + + case "CallExpression": + case "MemberExpression": + case "TaggedTemplateExpression": + case "TSNonNullExpression": + if (name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression")) { + let object = node; + + while (object) { + switch (object.type) { + case "CallExpression": + case "OptionalCallExpression": + return true; + + case "MemberExpression": + case "OptionalMemberExpression": + case "BindExpression": + object = object.object; + break; + // tagged templates are basically member expressions from a grammar perspective + // see https://tc39.github.io/ecma262/#prod-MemberExpression + + case "TaggedTemplateExpression": + object = object.tag; + break; + + case "TSNonNullExpression": + object = object.expression; + break; + + default: + return false; + } + } + } + + return false; + + case "BindExpression": + return name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression") || name === "object" && isMemberExpression$7(parent); + + case "NGPipeExpression": + if (parent.type === "NGRoot" || parent.type === "NGMicrosyntaxExpression" || parent.type === "ObjectProperty" && // Preserve parens for compatibility with AngularJS expressions + !(node.extra && node.extra.parenthesized) || parent.type === "ArrayExpression" || isCallExpression$b(parent) && parent.arguments[name] === node || name === "right" && parent.type === "NGPipeExpression" || name === "property" && parent.type === "MemberExpression" || parent.type === "AssignmentExpression") { + return false; + } + + return true; + + case "JSXFragment": + case "JSXElement": + return name === "callee" || name === "left" && parent.type === "BinaryExpression" && parent.operator === "<" || parent.type !== "ArrayExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && !isCallExpression$b(parent) && !isObjectProperty$3(parent) && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator" && parent.type !== "YieldExpression"; + + case "TypeAnnotation": + return name === "returnType" && parent.type === "ArrowFunctionExpression" && includesFunctionTypeInObjectType(node); + } + + return false; +} + +function isStatement(node) { + return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "PropertyDefinition" || node.type === "ClassPrivateProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "EnumDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSDeclareFunction" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; +} + +function isPathInForStatementInitializer(path) { + let i = 0; + let node = path.getValue(); + + while (node) { + const parent = path.getParentNode(i++); + + if (parent && parent.type === "ForStatement" && parent.init === node) { + return true; + } + + node = parent; + } + + return false; +} + +function includesFunctionTypeInObjectType(node) { + return hasNode$1(node, n1 => n1.type === "ObjectTypeAnnotation" && hasNode$1(n1, n2 => n2.type === "FunctionTypeAnnotation" || undefined) || undefined); +} + +function endsWithRightBracket(node) { + switch (node.type) { + case "ObjectExpression": + return true; + + default: + return false; + } +} + +function isFollowedByRightBracket(path) { + const node = path.getValue(); + const parent = path.getParentNode(); + const name = path.getName(); + + switch (parent.type) { + case "NGPipeExpression": + if (typeof name === "number" && parent.arguments[name] === node && parent.arguments.length - 1 === name) { + return path.callParent(isFollowedByRightBracket); + } + + break; + + case "ObjectProperty": + if (name === "value") { + const parentParent = path.getParentNode(1); + return getLast$i(parentParent.properties) === parent; + } + + break; + + case "BinaryExpression": + case "LogicalExpression": + if (name === "right") { + return path.callParent(isFollowedByRightBracket); + } + + break; + + case "ConditionalExpression": + if (name === "alternate") { + return path.callParent(isFollowedByRightBracket); + } + + break; + + case "UnaryExpression": + if (parent.prefix) { + return path.callParent(isFollowedByRightBracket); + } + + break; + } + + return false; +} + +function shouldWrapFunctionForExportDefault(path, options) { + const node = path.getValue(); + const parent = path.getParentNode(); + + if (node.type === "FunctionExpression" || node.type === "ClassExpression") { + return parent.type === "ExportDefaultDeclaration" || // in some cases the function is already wrapped + // (e.g. `export default (function() {})();`) + // in this case we don't need to add extra parens + !needsParens(path, options); + } + + if (!hasNakedLeftSide$2(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options)) { + return false; + } + + return path.call(childPath => shouldWrapFunctionForExportDefault(childPath, options), ...getLeftSidePathName$1(path, node)); +} + +var needsParens_1 = needsParens; + +function preprocess$8(ast, options) { + switch (options.parser) { + case "json": + case "json5": + case "json-stringify": + case "__js_expression": + case "__vue_expression": + return Object.assign(Object.assign({}, ast), {}, { + type: options.parser.startsWith("__") ? "JsExpressionRoot" : "JsonRoot", + node: ast, + comments: [], + rootMarker: options.rootMarker + }); + + default: + return ast; + } +} + +var printPreprocess$3 = preprocess$8; + +const { + builders: { + join: join$s, + line: line$x, + group: group$A, + softline: softline$q, + indent: indent$t + } +} = require$$7$3; + +function printHtmlBinding$1(path, options, print) { + const node = path.getValue(); + + if (options.__onHtmlBindingRoot && path.getName() === null) { + options.__onHtmlBindingRoot(node, options); + } + + if (node.type !== "File") { + return; + } + + if (options.__isVueForBindingLeft) { + return path.call(functionDeclarationPath => { + const printed = join$s([",", line$x], functionDeclarationPath.map(print, "params")); + const { + params + } = functionDeclarationPath.getValue(); + + if (params.length === 1) { + return printed; + } + + return ["(", indent$t([softline$q, group$A(printed)]), softline$q, ")"]; + }, "program", "body", 0); + } + + if (options.__isVueBindings) { + return path.call(functionDeclarationPath => join$s([",", line$x], functionDeclarationPath.map(print, "params")), "program", "body", 0); + } +} // based on https://github.com/prettier/prettier/blob/main/src/language-html/syntax-vue.js isVueEventBindingExpression() + + +function isVueEventBindingExpression$3(node) { + switch (node.type) { + case "MemberExpression": + switch (node.property.type) { + case "Identifier": + case "NumericLiteral": + case "StringLiteral": + return isVueEventBindingExpression$3(node.object); + } + + return false; + + case "Identifier": + return true; + + default: + return false; + } +} + +var htmlBinding = { + isVueEventBindingExpression: isVueEventBindingExpression$3, + printHtmlBinding: printHtmlBinding$1 +}; + +const { + printComments: printComments$5 +} = comments$4; +const { + getLast: getLast$h +} = util$8; +const { + builders: { + join: join$r, + line: line$w, + softline: softline$p, + group: group$z, + indent: indent$s, + align: align$4, + ifBreak: ifBreak$m, + indentIfBreak: indentIfBreak$3 + }, + utils: { + cleanDoc: cleanDoc$2, + getDocParts: getDocParts$6, + isConcat: isConcat$1 + } +} = require$$7$3; +const { + hasLeadingOwnLineComment: hasLeadingOwnLineComment$3, + isBinaryish: isBinaryish$3, + isJsxNode: isJsxNode$5, + shouldFlatten, + hasComment: hasComment$g, + CommentCheckFlags: CommentCheckFlags$d, + isCallExpression: isCallExpression$a, + isMemberExpression: isMemberExpression$6, + isObjectProperty: isObjectProperty$2, + isEnabledHackPipeline +} = utils$5; +/** @typedef {import("../../document").Doc} Doc */ + +let uid = 0; + +function printBinaryishExpression$2(path, options, print) { + const node = path.getValue(); + const parent = path.getParentNode(); + const parentParent = path.getParentNode(1); + const isInsideParenthesis = node !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); + const isHackPipeline = isEnabledHackPipeline(options) && node.operator === "|>"; + const parts = printBinaryishExpressions(path, print, options, + /* isNested */ + false, isInsideParenthesis); // if ( + // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft + // ) { + // + // looks super weird, we want to break the children if the parent breaks + // + // if ( + // this.hasPlugin("dynamicImports") && + // this.lookahead().type === tt.parenLeft + // ) { + + if (isInsideParenthesis) { + return parts; + } + + if (isHackPipeline) { + return group$z(parts); + } // Break between the parens in + // unaries or in a member or specific call expression, i.e. + // + // ( + // a && + // b && + // c + // ).call() + + + if (isCallExpression$a(parent) && parent.callee === node || parent.type === "UnaryExpression" || isMemberExpression$6(parent) && !parent.computed) { + return group$z([indent$s([softline$p, ...parts]), softline$p]); + } // Avoid indenting sub-expressions in some cases where the first sub-expression is already + // indented accordingly. We should indent sub-expressions where the first case isn't indented. + + + const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || node.operator !== "|" && parent.type === "JsExpressionRoot" || node.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && parentParent.type === "NGMicrosyntax" && parentParent.body.length === 1) || node === parent.body && parent.type === "ArrowFunctionExpression" || node !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && parentParent.type !== "ReturnStatement" && parentParent.type !== "ThrowStatement" && !isCallExpression$a(parentParent) || parent.type === "TemplateLiteral"; + const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "PropertyDefinition" || parent.type === "TSAbstractPropertyDefinition" || parent.type === "ClassPrivateProperty" || isObjectProperty$2(parent); + const samePrecedenceSubExpression = isBinaryish$3(node.left) && shouldFlatten(node.operator, node.left.operator); + + if (shouldNotIndent || shouldInlineLogicalExpression$1(node) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression$1(node) && shouldIndentIfInlining) { + return group$z(parts); + } + + if (parts.length === 0) { + return ""; + } // If the right part is a JSX node, we include it in a separate group to + // prevent it breaking the whole chain, so we can print the expression like: + // + // foo && bar && ( + // + // + // + // ) + + + const hasJsx = isJsxNode$5(node.right); + const firstGroupIndex = parts.findIndex(part => typeof part !== "string" && !Array.isArray(part) && part.type === "group"); // Separate the leftmost expression, possibly with its leading comments. + + const headParts = parts.slice(0, firstGroupIndex === -1 ? 1 : firstGroupIndex + 1); + const rest = parts.slice(headParts.length, hasJsx ? -1 : undefined); + const groupId = Symbol("logicalChain-" + ++uid); + const chain = group$z([// Don't include the initial expression in the indentation + // level. The first item is guaranteed to be the first + // left-most expression. + ...headParts, indent$s(rest)], { + id: groupId + }); + + if (!hasJsx) { + return chain; + } + + const jsxPart = getLast$h(parts); + return group$z([chain, indentIfBreak$3(jsxPart, { + groupId + })]); +} // For binary expressions to be consistent, we need to group +// subsequent operators with the same precedence level under a single +// group. Otherwise they will be nested such that some of them break +// onto new lines but not all. Operators with the same precedence +// level should either all break or not. Because we group them by +// precedence level and the AST is structured based on precedence +// level, things are naturally broken up correctly, i.e. `&&` is +// broken before `+`. + + +function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { + const node = path.getValue(); // Simply print the node normally. + + if (!isBinaryish$3(node)) { + return [group$z(print())]; + } + /** @type{Doc[]} */ + + + let parts = []; // We treat BinaryExpression and LogicalExpression nodes the same. + // Put all operators with the same precedence level in the same + // group. The reason we only need to do this with the `left` + // expression is because given an expression like `1 + 2 - 3`, it + // is always parsed like `((1 + 2) - 3)`, meaning the `left` side + // is where the rest of the expression will exist. Binary + // expressions on the right side mean they have a difference + // precedence level and should be treated as a separate group, so + // print them normally. (This doesn't hold for the `**` operator, + // which is unique in that it is right-associative.) + + if (shouldFlatten(node.operator, node.left.operator)) { + // Flatten them out by recursively calling this function. + parts = path.call(left => printBinaryishExpressions(left, print, options, + /* isNested */ + true, isInsideParenthesis), "left"); + } else { + parts.push(group$z(print("left"))); + } + + const shouldInline = shouldInlineLogicalExpression$1(node); + const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options.parser === "__vue_expression") && !hasLeadingOwnLineComment$3(options.originalText, node.right); + const operator = node.type === "NGPipeExpression" ? "|" : node.operator; + const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length > 0 ? group$z(indent$s([softline$p, ": ", join$r([softline$p, ":", ifBreak$m(" ")], path.map(print, "arguments").map(arg => align$4(2, group$z(arg))))])) : ""; + /** @type {Doc} */ + + let right; + + if (shouldInline) { + right = [operator, " ", print("right"), rightSuffix]; + } else { + const isHackPipeline = isEnabledHackPipeline(options) && operator === "|>"; + const rightContent = isHackPipeline ? path.call(left => printBinaryishExpressions(left, print, options, + /* isNested */ + true, isInsideParenthesis), "right") : print("right"); + right = [lineBeforeOperator ? line$w : "", operator, lineBeforeOperator ? " " : line$w, rightContent, rightSuffix]; + } // If there's only a single binary expression, we want to create a group + // in order to avoid having a small right part like -1 be on its own line. + + + const parent = path.getParentNode(); + const shouldBreak = hasComment$g(node.left, CommentCheckFlags$d.Trailing | CommentCheckFlags$d.Line); + const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; + parts.push(lineBeforeOperator ? "" : " ", shouldGroup ? group$z(right, { + shouldBreak + }) : right); // The root comments are already printed, but we need to manually print + // the other ones since we don't call the normal print on BinaryExpression, + // only for the left and right parts + + if (isNested && hasComment$g(node)) { + const printed = cleanDoc$2(printComments$5(path, parts, options)); + /* istanbul ignore else */ + + if (isConcat$1(printed) || printed.type === "fill") { + return getDocParts$6(printed); + } + + return [printed]; + } + + return parts; +} + +function shouldInlineLogicalExpression$1(node) { + if (node.type !== "LogicalExpression") { + return false; + } + + if (node.right.type === "ObjectExpression" && node.right.properties.length > 0) { + return true; + } + + if (node.right.type === "ArrayExpression" && node.right.elements.length > 0) { + return true; + } + + if (isJsxNode$5(node.right)) { + return true; + } + + return false; +} + +var binaryish = { + printBinaryishExpression: printBinaryishExpression$2, + shouldInlineLogicalExpression: shouldInlineLogicalExpression$1 +}; + +const { + builders: { + join: join$q, + line: line$v, + group: group$y + } +} = require$$7$3; +const { + hasNode, + hasComment: hasComment$f, + getComments: getComments$3 +} = utils$5; +const { + printBinaryishExpression: printBinaryishExpression$1 +} = binaryish; +/** @typedef {import("../../common/ast-path")} AstPath */ + +function printAngular$1(path, options, print) { + const node = path.getValue(); // Angular nodes always starts with `NG` + + if (!node.type.startsWith("NG")) { + return; + } + + switch (node.type) { + case "NGRoot": + return [print("node"), !hasComment$f(node.node) ? "" : " //" + getComments$3(node.node)[0].value.trimEnd()]; + + case "NGPipeExpression": + return printBinaryishExpression$1(path, options, print); + + case "NGChainedExpression": + return group$y(join$q([";", line$v], path.map(childPath => hasNgSideEffect(childPath) ? print() : ["(", print(), ")"], "expressions"))); + + case "NGEmptyExpression": + return ""; + + case "NGQuotedExpression": + return [node.prefix, ": ", node.value.trim()]; + + case "NGMicrosyntax": + return path.map((childPath, index) => [index === 0 ? "" : isNgForOf(childPath.getValue(), index, node) ? " " : [";", line$v], print()], "body"); + + case "NGMicrosyntaxKey": + return /^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(node.name) ? node.name : JSON.stringify(node.name); + + case "NGMicrosyntaxExpression": + return [print("expression"), node.alias === null ? "" : [" as ", print("alias")]]; + + case "NGMicrosyntaxKeyedExpression": + { + const index = path.getName(); + const parentNode = path.getParentNode(); + const shouldNotPrintColon = isNgForOf(node, index, parentNode) || (index === 1 && (node.key.name === "then" || node.key.name === "else") || index === 2 && node.key.name === "else" && parentNode.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parentNode.body[index - 1].key.name === "then") && parentNode.body[0].type === "NGMicrosyntaxExpression"; + return [print("key"), shouldNotPrintColon ? " " : ": ", print("expression")]; + } + + case "NGMicrosyntaxLet": + return ["let ", print("key"), node.value === null ? "" : [" = ", print("value")]]; + + case "NGMicrosyntaxAs": + return [print("key"), " as ", print("alias")]; + + default: + /* istanbul ignore next */ + throw new Error(`Unknown Angular node type: ${JSON.stringify(node.type)}.`); + } +} + +function isNgForOf(node, index, parentNode) { + return node.type === "NGMicrosyntaxKeyedExpression" && node.key.name === "of" && index === 1 && parentNode.body[0].type === "NGMicrosyntaxLet" && parentNode.body[0].value === null; +} +/** identify if an angular expression seems to have side effects */ + +/** + * @param {AstPath} path + * @returns {boolean} + */ + + +function hasNgSideEffect(path) { + return hasNode(path.getValue(), node => { + switch (node.type) { + case undefined: + return false; + + case "CallExpression": + case "OptionalCallExpression": + case "AssignmentExpression": + return true; + } + }); +} + +var angular = { + printAngular: printAngular$1 +}; + +const { + printComments: printComments$4, + printDanglingComments: printDanglingComments$d +} = comments$4; +const { + builders: { + line: line$u, + hardline: hardline$w, + softline: softline$o, + group: group$x, + indent: indent$r, + conditionalGroup: conditionalGroup$4, + fill: fill$8, + ifBreak: ifBreak$l, + lineSuffixBoundary, + join: join$p + }, + utils: { + willBreak: willBreak$5 + } +} = require$$7$3; +const { + getLast: getLast$g, + getPreferredQuote: getPreferredQuote$1 +} = util$8; +const { + isJsxNode: isJsxNode$4, + rawText: rawText$4, + isLiteral: isLiteral$2, + isCallExpression: isCallExpression$9, + isStringLiteral: isStringLiteral$4, + isBinaryish: isBinaryish$2, + hasComment: hasComment$e, + CommentCheckFlags: CommentCheckFlags$c, + hasNodeIgnoreComment +} = utils$5; +const pathNeedsParens$5 = needsParens_1; +const { + willPrintOwnComments +} = comments; + +const isEmptyStringOrAnyLine = doc => doc === "" || doc === line$u || doc === hardline$w || doc === softline$o; +/** + * @typedef {import("../../common/ast-path")} AstPath + * @typedef {import("../types/estree").Node} Node + * @typedef {import("../types/estree").JSXElement} JSXElement + */ +// JSX expands children from the inside-out, instead of the outside-in. +// This is both to break children before attributes, +// and to ensure that when children break, their parents do as well. +// +// Any element that is written without any newlines and fits on a single line +// is left that way. +// Not only that, any user-written-line containing multiple JSX siblings +// should also be kept on one line if possible, +// so each user-written-line is wrapped in its own group. +// +// Elements that contain newlines or don't fit on a single line (recursively) +// are fully-split, using hardline and shouldBreak: true. +// +// To support that case properly, all leading and trailing spaces +// are stripped from the list of children, and replaced with a single hardline. + + +function printJsxElementInternal(path, options, print) { + const node = path.getValue(); + + if (node.type === "JSXElement" && isEmptyJsxElement(node)) { + return [print("openingElement"), print("closingElement")]; + } + + const openingLines = node.type === "JSXElement" ? print("openingElement") : print("openingFragment"); + const closingLines = node.type === "JSXElement" ? print("closingElement") : print("closingFragment"); + + if (node.children.length === 1 && node.children[0].type === "JSXExpressionContainer" && (node.children[0].expression.type === "TemplateLiteral" || node.children[0].expression.type === "TaggedTemplateExpression")) { + return [openingLines, ...path.map(print, "children"), closingLines]; + } // Convert `{" "}` to text nodes containing a space. + // This makes it easy to turn them into `jsxWhitespace` which + // can then print as either a space or `{" "}` when breaking. + + + node.children = node.children.map(child => { + if (isJsxWhitespaceExpression(child)) { + return { + type: "JSXText", + value: " ", + raw: " " + }; + } + + return child; + }); + const containsTag = node.children.some(isJsxNode$4); + const containsMultipleExpressions = node.children.filter(child => child.type === "JSXExpressionContainer").length > 1; + const containsMultipleAttributes = node.type === "JSXElement" && node.openingElement.attributes.length > 1; // Record any breaks. Should never go from true to false, only false to true. + + let forcedBreak = willBreak$5(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; + const isMdxBlock = path.getParentNode().rootMarker === "mdx"; + const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; + const jsxWhitespace = isMdxBlock ? " " : ifBreak$l([rawJsxWhitespace, softline$o], " "); + const isFacebookTranslationTag = node.openingElement && node.openingElement.name && node.openingElement.name.name === "fbt"; + const children = printJsxChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag); + const containsText = node.children.some(child => isMeaningfulJsxText(child)); // We can end up we multiple whitespace elements with empty string + // content between them. + // We need to remove empty whitespace and softlines before JSX whitespace + // to get the correct output. + + for (let i = children.length - 2; i >= 0; i--) { + const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; + const isPairOfHardlines = children[i] === hardline$w && children[i + 1] === "" && children[i + 2] === hardline$w; + const isLineFollowedByJsxWhitespace = (children[i] === softline$o || children[i] === hardline$w) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; + const isJsxWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline$o || children[i + 2] === hardline$w); + const isDoubleJsxWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; + const isPairOfHardOrSoftLines = children[i] === softline$o && children[i + 1] === "" && children[i + 2] === hardline$w || children[i] === hardline$w && children[i + 1] === "" && children[i + 2] === softline$o; + + if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJsxWhitespace || isDoubleJsxWhitespace || isPairOfHardOrSoftLines) { + children.splice(i, 2); + } else if (isJsxWhitespaceFollowedByLine) { + children.splice(i + 1, 2); + } + } // Trim trailing lines (or empty strings) + + + while (children.length > 0 && isEmptyStringOrAnyLine(getLast$g(children))) { + children.pop(); + } // Trim leading lines (or empty strings) + + + while (children.length > 1 && isEmptyStringOrAnyLine(children[0]) && isEmptyStringOrAnyLine(children[1])) { + children.shift(); + children.shift(); + } // Tweak how we format children if outputting this element over multiple lines. + // Also detect whether we will force this element to output over multiple lines. + + + const multilineChildren = []; + + for (const [i, child] of children.entries()) { + // There are a number of situations where we need to ensure we display + // whitespace as `{" "}` when outputting this element over multiple lines. + if (child === jsxWhitespace) { + if (i === 1 && children[i - 1] === "") { + if (children.length === 2) { + // Solitary whitespace + multilineChildren.push(rawJsxWhitespace); + continue; + } // Leading whitespace + + + multilineChildren.push([rawJsxWhitespace, hardline$w]); + continue; + } else if (i === children.length - 1) { + // Trailing whitespace + multilineChildren.push(rawJsxWhitespace); + continue; + } else if (children[i - 1] === "" && children[i - 2] === hardline$w) { + // Whitespace after line break + multilineChildren.push(rawJsxWhitespace); + continue; + } + } + + multilineChildren.push(child); + + if (willBreak$5(child)) { + forcedBreak = true; + } + } // If there is text we use `fill` to fit as much onto each line as possible. + // When there is no text (just tags and expressions) we use `group` + // to output each on a separate line. + + + const content = containsText ? fill$8(multilineChildren) : group$x(multilineChildren, { + shouldBreak: true + }); + + if (isMdxBlock) { + return content; + } + + const multiLineElem = group$x([openingLines, indent$r([hardline$w, content]), hardline$w, closingLines]); + + if (forcedBreak) { + return multiLineElem; + } + + return conditionalGroup$4([group$x([openingLines, ...children, closingLines]), multiLineElem]); +} // JSX Children are strange, mostly for two reasons: +// 1. JSX reads newlines into string values, instead of skipping them like JS +// 2. up to one whitespace between elements within a line is significant, +// but not between lines. +// +// Leading, trailing, and lone whitespace all need to +// turn themselves into the rather ugly `{' '}` when breaking. +// +// We print JSX using the `fill` doc primitive. +// This requires that we give it an array of alternating +// content and whitespace elements. +// To ensure this we add dummy `""` content elements as needed. + + +function printJsxChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) { + const parts = []; + path.each((childPath, i, children) => { + const child = childPath.getValue(); + + if (isLiteral$2(child)) { + const text = rawText$4(child); // Contains a non-whitespace character + + if (isMeaningfulJsxText(child)) { + const words = text.split(matchJsxWhitespaceRegex); // Starts with whitespace + + if (words[0] === "") { + parts.push(""); + words.shift(); + + if (/\n/.test(words[0])) { + const next = children[i + 1]; + parts.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next)); + } else { + parts.push(jsxWhitespace); + } + + words.shift(); + } + + let endWhitespace; // Ends with whitespace + + if (getLast$g(words) === "") { + words.pop(); + endWhitespace = words.pop(); + } // This was whitespace only without a new line. + + + if (words.length === 0) { + return; + } + + for (const [i, word] of words.entries()) { + if (i % 2 === 1) { + parts.push(line$u); + } else { + parts.push(word); + } + } + + if (endWhitespace !== undefined) { + if (/\n/.test(endWhitespace)) { + const next = children[i + 1]; + parts.push(separatorWithWhitespace(isFacebookTranslationTag, getLast$g(parts), child, next)); + } else { + parts.push(jsxWhitespace); + } + } else { + const next = children[i + 1]; + parts.push(separatorNoWhitespace(isFacebookTranslationTag, getLast$g(parts), child, next)); + } + } else if (/\n/.test(text)) { + // Keep (up to one) blank line between tags/expressions/text. + // Note: We don't keep blank lines between text elements. + if (text.match(/\n/g).length > 1) { + parts.push("", hardline$w); + } + } else { + parts.push("", jsxWhitespace); + } + } else { + const printedChild = print(); + parts.push(printedChild); + const next = children[i + 1]; + const directlyFollowedByMeaningfulText = next && isMeaningfulJsxText(next); + + if (directlyFollowedByMeaningfulText) { + const firstWord = trimJsxWhitespace(rawText$4(next)).split(matchJsxWhitespaceRegex)[0]; + parts.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next)); + } else { + parts.push(hardline$w); + } + } + }, "children"); + return parts; +} + +function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { + if (isFacebookTranslationTag) { + return ""; + } + + if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement) { + return child.length === 1 ? softline$o : hardline$w; + } + + return softline$o; +} + +function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { + if (isFacebookTranslationTag) { + return hardline$w; + } + + if (child.length === 1) { + return childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement ? hardline$w : softline$o; + } + + return hardline$w; +} + +function maybeWrapJsxElementInParens(path, elem, options) { + const parent = path.getParentNode(); + /* istanbul ignore next */ + + if (!parent) { + return elem; + } + + const NO_WRAP_PARENTS = { + ArrayExpression: true, + JSXAttribute: true, + JSXElement: true, + JSXExpressionContainer: true, + JSXFragment: true, + ExpressionStatement: true, + CallExpression: true, + OptionalCallExpression: true, + ConditionalExpression: true, + JsExpressionRoot: true + }; + + if (NO_WRAP_PARENTS[parent.type]) { + return elem; + } + + const shouldBreak = path.match(undefined, node => node.type === "ArrowFunctionExpression", isCallExpression$9, node => node.type === "JSXExpressionContainer"); + const needsParens = pathNeedsParens$5(path, options); + return group$x([needsParens ? "" : ifBreak$l("("), indent$r([softline$o, elem]), softline$o, needsParens ? "" : ifBreak$l(")")], { + shouldBreak + }); +} + +function printJsxAttribute(path, options, print) { + const node = path.getValue(); + const parts = []; + parts.push(print("name")); + + if (node.value) { + let res; + + if (isStringLiteral$4(node.value)) { + const raw = rawText$4(node.value); // Remove enclosing quotes and unescape + // all quotes so we get an accurate preferred quote + + let final = raw.slice(1, -1).replace(/'/g, "'").replace(/"/g, '"'); + const { + escaped, + quote, + regex + } = getPreferredQuote$1(final, options.jsxSingleQuote ? "'" : '"'); + final = final.replace(regex, escaped); + res = [quote, final, quote]; + } else { + res = print("value"); + } + + parts.push("=", res); + } + + return parts; +} + +function printJsxExpressionContainer(path, options, print) { + const node = path.getValue(); + const parent = path.getParentNode(0); + const shouldInline = node.expression.type === "JSXEmptyExpression" || !hasComment$e(node.expression) && (node.expression.type === "ArrayExpression" || node.expression.type === "ObjectExpression" || node.expression.type === "ArrowFunctionExpression" || isCallExpression$9(node.expression) || node.expression.type === "FunctionExpression" || node.expression.type === "TemplateLiteral" || node.expression.type === "TaggedTemplateExpression" || node.expression.type === "DoExpression" || isJsxNode$4(parent) && (node.expression.type === "ConditionalExpression" || isBinaryish$2(node.expression))); + + if (shouldInline) { + return group$x(["{", print("expression"), lineSuffixBoundary, "}"]); + } + + return group$x(["{", indent$r([softline$o, print("expression")]), softline$o, lineSuffixBoundary, "}"]); +} + +function printJsxOpeningElement(path, options, print) { + const node = path.getValue(); + const nameHasComments = node.name && hasComment$e(node.name) || node.typeParameters && hasComment$e(node.typeParameters); // Don't break self-closing elements with no attributes and no comments + + if (node.selfClosing && node.attributes.length === 0 && !nameHasComments) { + return ["<", print("name"), print("typeParameters"), " />"]; + } // don't break up opening elements with a single long text attribute + + + if (node.attributes && node.attributes.length === 1 && node.attributes[0].value && isStringLiteral$4(node.attributes[0].value) && !node.attributes[0].value.value.includes("\n") && // We should break for the following cases: + //
+ //
+ !nameHasComments && !hasComment$e(node.attributes[0])) { + return group$x(["<", print("name"), print("typeParameters"), " ", ...path.map(print, "attributes"), node.selfClosing ? " />" : ">"]); + } + + const lastAttrHasTrailingComments = node.attributes.length > 0 && hasComment$e(getLast$g(node.attributes), CommentCheckFlags$c.Trailing); + const bracketSameLine = // Simple tags (no attributes and no comment in tag name) should be + // kept unbroken regardless of `bracketSameLine`. + // jsxBracketSameLine is deprecated in favour of bracketSameLine, + // but is still needed for backwards compatibility. + node.attributes.length === 0 && !nameHasComments || (options.bracketSameLine || options.jsxBracketSameLine) && ( // We should print the bracket in a new line for the following cases: + //
+ //
+ !nameHasComments || node.attributes.length > 0) && !lastAttrHasTrailingComments; // We should print the opening element expanded if any prop value is a + // string literal with newlines + + const shouldBreak = node.attributes && node.attributes.some(attr => attr.value && isStringLiteral$4(attr.value) && attr.value.value.includes("\n")); + return group$x(["<", print("name"), print("typeParameters"), indent$r(path.map(() => [line$u, print()], "attributes")), node.selfClosing ? line$u : bracketSameLine ? ">" : softline$o, node.selfClosing ? "/>" : bracketSameLine ? "" : ">"], { + shouldBreak + }); +} + +function printJsxClosingElement(path, options, print) { + const node = path.getValue(); + const parts = []; + parts.push(""); + return parts; +} + +function printJsxOpeningClosingFragment(path, options +/*, print*/ +) { + const node = path.getValue(); + const nodeHasComment = hasComment$e(node); + const hasOwnLineComment = hasComment$e(node, CommentCheckFlags$c.Line); + const isOpeningFragment = node.type === "JSXOpeningFragment"; + return [isOpeningFragment ? "<" : ""]; +} + +function printJsxElement(path, options, print) { + const elem = printComments$4(path, printJsxElementInternal(path, options, print), options); + return maybeWrapJsxElementInParens(path, elem, options); +} + +function printJsxEmptyExpression(path, options +/*, print*/ +) { + const node = path.getValue(); + const requiresHardline = hasComment$e(node, CommentCheckFlags$c.Line); + return [printDanglingComments$d(path, options, + /* sameIndent */ + !requiresHardline), requiresHardline ? hardline$w : ""]; +} // `JSXSpreadAttribute` and `JSXSpreadChild` + + +function printJsxSpreadAttribute(path, options, print) { + const node = path.getValue(); + return ["{", path.call(p => { + const printed = ["...", print()]; + const node = p.getValue(); + + if (!hasComment$e(node) || !willPrintOwnComments(p)) { + return printed; + } + + return [indent$r([softline$o, printComments$4(p, printed, options)]), softline$o]; + }, node.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"]; +} + +function printJsx$1(path, options, print) { + const node = path.getValue(); // JSX nodes always starts with `JSX` + + if (!node.type.startsWith("JSX")) { + return; + } + + switch (node.type) { + case "JSXAttribute": + return printJsxAttribute(path, options, print); + + case "JSXIdentifier": + return String(node.name); + + case "JSXNamespacedName": + return join$p(":", [print("namespace"), print("name")]); + + case "JSXMemberExpression": + return join$p(".", [print("object"), print("property")]); + + case "JSXSpreadAttribute": + return printJsxSpreadAttribute(path, options, print); + + case "JSXSpreadChild": + { + // Same as `printJsxSpreadAttribute` + const printJsxSpreadChild = printJsxSpreadAttribute; + return printJsxSpreadChild(path, options, print); + } + + case "JSXExpressionContainer": + return printJsxExpressionContainer(path, options, print); + + case "JSXFragment": + case "JSXElement": + return printJsxElement(path, options, print); + + case "JSXOpeningElement": + return printJsxOpeningElement(path, options, print); + + case "JSXClosingElement": + return printJsxClosingElement(path, options, print); + + case "JSXOpeningFragment": + case "JSXClosingFragment": + return printJsxOpeningClosingFragment(path, options + /*, print*/ + ); + + case "JSXEmptyExpression": + return printJsxEmptyExpression(path, options + /*, print*/ + ); + + case "JSXText": + /* istanbul ignore next */ + throw new Error("JSXTest should be handled by JSXElement"); + + default: + /* istanbul ignore next */ + throw new Error(`Unknown JSX node type: ${JSON.stringify(node.type)}.`); + } +} // Only space, newline, carriage return, and tab are treated as whitespace +// inside JSX. + + +const jsxWhitespaceChars = " \n\r\t"; +const matchJsxWhitespaceRegex = new RegExp("([" + jsxWhitespaceChars + "]+)"); +const containsNonJsxWhitespaceRegex = new RegExp("[^" + jsxWhitespaceChars + "]"); + +const trimJsxWhitespace = text => text.replace(new RegExp("(?:^" + matchJsxWhitespaceRegex.source + "|" + matchJsxWhitespaceRegex.source + "$)"), ""); +/** + * @param {JSXElement} node + * @returns {boolean} + */ + + +function isEmptyJsxElement(node) { + if (node.children.length === 0) { + return true; + } + + if (node.children.length > 1) { + return false; + } // if there is one text child and does not contain any meaningful text + // we can treat the element as empty. + + + const child = node.children[0]; + return isLiteral$2(child) && !isMeaningfulJsxText(child); +} // Meaningful if it contains non-whitespace characters, +// or it contains whitespace without a new line. + +/** + * @param {Node} node + * @returns {boolean} + */ + + +function isMeaningfulJsxText(node) { + return isLiteral$2(node) && (containsNonJsxWhitespaceRegex.test(rawText$4(node)) || !/\n/.test(rawText$4(node))); +} // Detect an expression node representing `{" "}` + + +function isJsxWhitespaceExpression(node) { + return node.type === "JSXExpressionContainer" && isLiteral$2(node.expression) && node.expression.value === " " && !hasComment$e(node.expression); +} +/** + * @param {AstPath} path + * @returns {boolean} + */ + + +function hasJsxIgnoreComment$1(path) { + const node = path.getValue(); + const parent = path.getParentNode(); + + if (!parent || !node || !isJsxNode$4(node) || !isJsxNode$4(parent)) { + return false; + } // Lookup the previous sibling, ignoring any empty JSXText elements + + + const index = parent.children.indexOf(node); + let prevSibling = null; + + for (let i = index; i > 0; i--) { + const candidate = parent.children[i - 1]; + + if (candidate.type === "JSXText" && !isMeaningfulJsxText(candidate)) { + continue; + } + + prevSibling = candidate; + break; + } + + return prevSibling && prevSibling.type === "JSXExpressionContainer" && prevSibling.expression.type === "JSXEmptyExpression" && hasNodeIgnoreComment(prevSibling.expression); +} + +var jsx = { + hasJsxIgnoreComment: hasJsxIgnoreComment$1, + printJsx: printJsx$1 +}; + +var $ = _export; +var flattenIntoArray = flattenIntoArray_1; +var toObject = toObject$4; +var lengthOfArrayLike = lengthOfArrayLike$6; +var toIntegerOrInfinity = toIntegerOrInfinity$3; +var arraySpeciesCreate = arraySpeciesCreate$2; + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + +var internalObjectKeys = objectKeysInternal; +var enumBugKeys$1 = enumBugKeys$3; + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +var objectKeys$1 = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys$1); +}; + +var DESCRIPTORS = descriptors$1; +var definePropertyModule$1 = objectDefineProperty; +var anObject$1 = anObject$7; +var toIndexedObject = toIndexedObject$4; +var objectKeys = objectKeys$1; + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +var objectDefineProperties = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject$1(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule$1.f(O, key = keys[index++], props[key]); + return O; +}; + +var getBuiltIn = getBuiltIn$5; + +var html$2 = getBuiltIn('document', 'documentElement'); + +/* global ActiveXObject -- old IE, WSH */ + +var anObject = anObject$7; +var defineProperties = objectDefineProperties; +var enumBugKeys = enumBugKeys$3; +var hiddenKeys = hiddenKeys$4; +var html$1 = html$2; +var documentCreateElement = documentCreateElement$1; +var sharedKey = sharedKey$2; + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html$1.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +var objectCreate = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +var wellKnownSymbol = wellKnownSymbol$7; +var create = objectCreate; +var definePropertyModule = objectDefineProperty; + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +var addToUnscopables$1 = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = addToUnscopables$1; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + +const { + isNonEmptyArray: isNonEmptyArray$f +} = util$8; +const { + builders: { + indent: indent$q, + join: join$o, + line: line$t + } +} = require$$7$3; +const { + isFlowAnnotationComment: isFlowAnnotationComment$1 +} = utils$5; + +function printOptionalToken$9(path) { + const node = path.getValue(); + + if (!node.optional || // It's an optional computed method parsed by typescript-estree. + // "?" is printed in `printMethod`. + node.type === "Identifier" && node === path.getParentNode().key) { + return ""; + } + + if (node.type === "OptionalCallExpression" || node.type === "OptionalMemberExpression" && node.computed) { + return "?."; + } + + return "?"; +} + +function printFunctionTypeParameters$4(path, options, print) { + const fun = path.getValue(); + + if (fun.typeArguments) { + return print("typeArguments"); + } + + if (fun.typeParameters) { + return print("typeParameters"); + } + + return ""; +} + +function printTypeAnnotation$5(path, options, print) { + const node = path.getValue(); + + if (!node.typeAnnotation) { + return ""; + } + + const parentNode = path.getParentNode(); + const isDefinite = node.definite || parentNode && parentNode.type === "VariableDeclarator" && parentNode.definite; + const isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === node; + + if (isFlowAnnotationComment$1(options.originalText, node.typeAnnotation)) { + return [" /*: ", print("typeAnnotation"), " */"]; + } + + return [isFunctionDeclarationIdentifier ? "" : isDefinite ? "!: " : ": ", print("typeAnnotation")]; +} + +function printBindExpressionCallee$2(path, options, print) { + return ["::", print("callee")]; +} + +function printTypeScriptModifiers$2(path, options, print) { + const node = path.getValue(); + + if (!isNonEmptyArray$f(node.modifiers)) { + return ""; + } + + return [join$o(" ", path.map(print, "modifiers")), " "]; +} + +function adjustClause$1(node, clause, forceSpace) { + if (node.type === "EmptyStatement") { + return ";"; + } + + if (node.type === "BlockStatement" || forceSpace) { + return [" ", clause]; + } + + return indent$q([line$t, clause]); +} + +function printRestSpread$2(path, options, print) { + return ["...", print("argument"), printTypeAnnotation$5(path, options, print)]; +} + +var misc$1 = { + printOptionalToken: printOptionalToken$9, + printFunctionTypeParameters: printFunctionTypeParameters$4, + printBindExpressionCallee: printBindExpressionCallee$2, + printTypeScriptModifiers: printTypeScriptModifiers$2, + printTypeAnnotation: printTypeAnnotation$5, + printRestSpread: printRestSpread$2, + adjustClause: adjustClause$1 +}; + +const { + printDanglingComments: printDanglingComments$c +} = comments$4; +const { + builders: { + line: line$s, + softline: softline$n, + hardline: hardline$v, + group: group$w, + indent: indent$p, + ifBreak: ifBreak$k, + fill: fill$7 + } +} = require$$7$3; +const { + getLast: getLast$f, + hasNewline: hasNewline$5 +} = util$8; +const { + shouldPrintComma: shouldPrintComma$a, + hasComment: hasComment$d, + CommentCheckFlags: CommentCheckFlags$b, + isNextLineEmpty: isNextLineEmpty$b, + isNumericLiteral: isNumericLiteral$4, + isSignedNumericLiteral: isSignedNumericLiteral$1 +} = utils$5; +const { + locStart: locStart$o +} = loc$6; +const { + printOptionalToken: printOptionalToken$8, + printTypeAnnotation: printTypeAnnotation$4 +} = misc$1; +/** @typedef {import("../../document").Doc} Doc */ + +function printArray$1(path, options, print) { + const node = path.getValue(); + /** @type{Doc[]} */ + + const parts = []; + const openBracket = node.type === "TupleExpression" ? "#[" : "["; + const closeBracket = "]"; + + if (node.elements.length === 0) { + if (!hasComment$d(node, CommentCheckFlags$b.Dangling)) { + parts.push(openBracket, closeBracket); + } else { + parts.push(group$w([openBracket, printDanglingComments$c(path, options), softline$n, closeBracket])); + } + } else { + const lastElem = getLast$f(node.elements); + const canHaveTrailingComma = !(lastElem && lastElem.type === "RestElement"); // JavaScript allows you to have empty elements in an array which + // changes its length based on the number of commas. The algorithm + // is that if the last argument is null, we need to force insert + // a comma to ensure JavaScript recognizes it. + // [,].length === 1 + // [1,].length === 1 + // [1,,].length === 2 + // + // Note that getLast returns null if the array is empty, but + // we already check for an empty array just above so we are safe + + const needsForcedTrailingComma = lastElem === null; + const groupId = Symbol("array"); + const shouldBreak = !options.__inJestEach && node.elements.length > 1 && node.elements.every((element, i, elements) => { + const elementType = element && element.type; + + if (elementType !== "ArrayExpression" && elementType !== "ObjectExpression") { + return false; + } + + const nextElement = elements[i + 1]; + + if (nextElement && elementType !== nextElement.type) { + return false; + } + + const itemsKey = elementType === "ArrayExpression" ? "elements" : "properties"; + return element[itemsKey] && element[itemsKey].length > 1; + }); + const shouldUseConciseFormatting = isConciselyPrintedArray$1(node, options); + const trailingComma = !canHaveTrailingComma ? "" : needsForcedTrailingComma ? "," : !shouldPrintComma$a(options) ? "" : shouldUseConciseFormatting ? ifBreak$k(",", "", { + groupId + }) : ifBreak$k(","); + parts.push(group$w([openBracket, indent$p([softline$n, shouldUseConciseFormatting ? printArrayItemsConcisely(path, options, print, trailingComma) : [printArrayItems$3(path, options, "elements", print), trailingComma], printDanglingComments$c(path, options, + /* sameIndent */ + true)]), softline$n, closeBracket], { + shouldBreak, + id: groupId + })); + } + + parts.push(printOptionalToken$8(path), printTypeAnnotation$4(path, options, print)); + return parts; +} + +function isConciselyPrintedArray$1(node, options) { + return node.elements.length > 1 && node.elements.every(element => element && (isNumericLiteral$4(element) || isSignedNumericLiteral$1(element) && !hasComment$d(element.argument)) && !hasComment$d(element, CommentCheckFlags$b.Trailing | CommentCheckFlags$b.Line, comment => !hasNewline$5(options.originalText, locStart$o(comment), { + backwards: true + }))); +} + +function printArrayItems$3(path, options, printPath, print) { + const printedElements = []; + let separatorParts = []; + path.each(childPath => { + printedElements.push(separatorParts, group$w(print())); + separatorParts = [",", line$s]; + + if (childPath.getValue() && isNextLineEmpty$b(childPath.getValue(), options)) { + separatorParts.push(softline$n); + } + }, printPath); + return printedElements; +} + +function printArrayItemsConcisely(path, options, print, trailingComma) { + const parts = []; + path.each((childPath, i, elements) => { + const isLast = i === elements.length - 1; + parts.push([print(), isLast ? trailingComma : ","]); + + if (!isLast) { + parts.push(isNextLineEmpty$b(childPath.getValue(), options) ? [hardline$v, hardline$v] : hasComment$d(elements[i + 1], CommentCheckFlags$b.Leading | CommentCheckFlags$b.Line) ? hardline$v : line$s); + } + }, "elements"); + return fill$7(parts); +} + +var array = { + printArray: printArray$1, + printArrayItems: printArrayItems$3, + isConciselyPrintedArray: isConciselyPrintedArray$1 +}; + +const { + printDanglingComments: printDanglingComments$b +} = comments$4; +const { + getLast: getLast$e, + getPenultimate +} = util$8; +const { + getFunctionParameters: getFunctionParameters$3, + hasComment: hasComment$c, + CommentCheckFlags: CommentCheckFlags$a, + isFunctionCompositionArgs, + isJsxNode: isJsxNode$3, + isLongCurriedCallExpression: isLongCurriedCallExpression$1, + shouldPrintComma: shouldPrintComma$9, + getCallArguments: getCallArguments$3, + iterateCallArgumentsPath: iterateCallArgumentsPath$1, + isNextLineEmpty: isNextLineEmpty$a, + isCallExpression: isCallExpression$8, + isStringLiteral: isStringLiteral$3, + isObjectProperty: isObjectProperty$1 +} = utils$5; +const { + builders: { + line: line$r, + hardline: hardline$u, + softline: softline$m, + group: group$v, + indent: indent$o, + conditionalGroup: conditionalGroup$3, + ifBreak: ifBreak$j, + breakParent: breakParent$9 + }, + utils: { + willBreak: willBreak$4 + } +} = require$$7$3; +const { + ArgExpansionBailout: ArgExpansionBailout$2 +} = errors; +const { + isConciselyPrintedArray +} = array; + +function printCallArguments$2(path, options, print) { + const node = path.getValue(); + const isDynamicImport = node.type === "ImportExpression"; + const args = getCallArguments$3(node); + + if (args.length === 0) { + return ["(", printDanglingComments$b(path, options, + /* sameIndent */ + true), ")"]; + } // useEffect(() => { ... }, [foo, bar, baz]) + + + if (isReactHookCallWithDepsArray(args)) { + return ["(", print(["arguments", 0]), ", ", print(["arguments", 1]), ")"]; + } + + let anyArgEmptyLine = false; + let hasEmptyLineFollowingFirstArg = false; + const lastArgIndex = args.length - 1; + const printedArguments = []; + iterateCallArgumentsPath$1(path, (argPath, index) => { + const arg = argPath.getNode(); + const parts = [print()]; + + if (index === lastArgIndex) ; else if (isNextLineEmpty$a(arg, options)) { + if (index === 0) { + hasEmptyLineFollowingFirstArg = true; + } + + anyArgEmptyLine = true; + parts.push(",", hardline$u, hardline$u); + } else { + parts.push(",", line$r); + } + + printedArguments.push(parts); + }); + const maybeTrailingComma = // Dynamic imports cannot have trailing commas + !(isDynamicImport || node.callee && node.callee.type === "Import") && shouldPrintComma$9(options, "all") ? "," : ""; + + function allArgsBrokenOut() { + return group$v(["(", indent$o([line$r, ...printedArguments]), maybeTrailingComma, line$r, ")"], { + shouldBreak: true + }); + } + + if (anyArgEmptyLine || path.getParentNode().type !== "Decorator" && isFunctionCompositionArgs(args)) { + return allArgsBrokenOut(); + } + + const shouldGroupFirst = shouldGroupFirstArg(args); + const shouldGroupLast = shouldGroupLastArg(args, options); + + if (shouldGroupFirst || shouldGroupLast) { + if (shouldGroupFirst ? printedArguments.slice(1).some(willBreak$4) : printedArguments.slice(0, -1).some(willBreak$4)) { + return allArgsBrokenOut(); + } // We want to print the last argument with a special flag + + + let printedExpanded = []; + + try { + path.try(() => { + iterateCallArgumentsPath$1(path, (argPath, i) => { + if (shouldGroupFirst && i === 0) { + printedExpanded = [[print([], { + expandFirstArg: true + }), printedArguments.length > 1 ? "," : "", hasEmptyLineFollowingFirstArg ? hardline$u : line$r, hasEmptyLineFollowingFirstArg ? hardline$u : ""], ...printedArguments.slice(1)]; + } + + if (shouldGroupLast && i === lastArgIndex) { + printedExpanded = [...printedArguments.slice(0, -1), print([], { + expandLastArg: true + })]; + } + }); + }); + } catch (caught) { + if (caught instanceof ArgExpansionBailout$2) { + return allArgsBrokenOut(); + } + /* istanbul ignore next */ + + + throw caught; + } + + return [printedArguments.some(willBreak$4) ? breakParent$9 : "", conditionalGroup$3([["(", ...printedExpanded, ")"], shouldGroupFirst ? ["(", group$v(printedExpanded[0], { + shouldBreak: true + }), ...printedExpanded.slice(1), ")"] : ["(", ...printedArguments.slice(0, -1), group$v(getLast$e(printedExpanded), { + shouldBreak: true + }), ")"], allArgsBrokenOut()])]; + } + + const contents = ["(", indent$o([softline$m, ...printedArguments]), ifBreak$j(maybeTrailingComma), softline$m, ")"]; + + if (isLongCurriedCallExpression$1(path)) { + // By not wrapping the arguments in a group, the printer prioritizes + // breaking up these arguments rather than the args of the parent call. + return contents; + } + + return group$v(contents, { + shouldBreak: printedArguments.some(willBreak$4) || anyArgEmptyLine + }); +} + +function couldGroupArg(arg, arrowChainRecursion = false) { + return arg.type === "ObjectExpression" && (arg.properties.length > 0 || hasComment$c(arg)) || arg.type === "ArrayExpression" && (arg.elements.length > 0 || hasComment$c(arg)) || arg.type === "TSTypeAssertion" && couldGroupArg(arg.expression) || arg.type === "TSAsExpression" && couldGroupArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && ( // we want to avoid breaking inside composite return types but not simple keywords + // https://github.com/prettier/prettier/issues/4070 + // export class Thing implements OtherThing { + // do: (type: Type) => Provider = memoize( + // (type: ObjectType): Provider => {} + // ); + // } + // https://github.com/prettier/prettier/issues/6099 + // app.get("/", (req, res): void => { + // res.send("Hello World!"); + // }); + !arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference" || // https://github.com/prettier/prettier/issues/7542 + isNonEmptyBlockStatement(arg.body)) && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" && couldGroupArg(arg.body, true) || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || !arrowChainRecursion && (isCallExpression$8(arg.body) || arg.body.type === "ConditionalExpression") || isJsxNode$3(arg.body)) || arg.type === "DoExpression" || arg.type === "ModuleExpression"; +} + +function shouldGroupLastArg(args, options) { + const lastArg = getLast$e(args); + const penultimateArg = getPenultimate(args); + return !hasComment$c(lastArg, CommentCheckFlags$a.Leading) && !hasComment$c(lastArg, CommentCheckFlags$a.Trailing) && couldGroupArg(lastArg) && ( // If the last two arguments are of the same type, + // disable last element expansion. + !penultimateArg || penultimateArg.type !== lastArg.type) && ( // useMemo(() => func(), [foo, bar, baz]) + args.length !== 2 || penultimateArg.type !== "ArrowFunctionExpression" || lastArg.type !== "ArrayExpression") && !(args.length > 1 && lastArg.type === "ArrayExpression" && isConciselyPrintedArray(lastArg, options)); +} + +function shouldGroupFirstArg(args) { + if (args.length !== 2) { + return false; + } + + const [firstArg, secondArg] = args; + + if (firstArg.type === "ModuleExpression" && isTypeModuleObjectExpression(secondArg)) { + return true; + } + + return !hasComment$c(firstArg) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && !couldGroupArg(secondArg); +} + +function isReactHookCallWithDepsArray(args) { + return args.length === 2 && args[0].type === "ArrowFunctionExpression" && getFunctionParameters$3(args[0]).length === 0 && args[0].body.type === "BlockStatement" && args[1].type === "ArrayExpression" && !args.some(arg => hasComment$c(arg)); +} + +function isNonEmptyBlockStatement(node) { + return node.type === "BlockStatement" && (node.body.some(node => node.type !== "EmptyStatement") || hasComment$c(node, CommentCheckFlags$a.Dangling)); +} // { type: "module" } + + +function isTypeModuleObjectExpression(node) { + return node.type === "ObjectExpression" && node.properties.length === 1 && isObjectProperty$1(node.properties[0]) && node.properties[0].key.type === "Identifier" && node.properties[0].key.name === "type" && isStringLiteral$3(node.properties[0].value) && node.properties[0].value.value === "module"; +} + +var callArguments = printCallArguments$2; + +const { + builders: { + softline: softline$l, + group: group$u, + indent: indent$n, + label: label$2 + } +} = require$$7$3; +const { + isNumericLiteral: isNumericLiteral$3, + isMemberExpression: isMemberExpression$5, + isCallExpression: isCallExpression$7 +} = utils$5; +const { + printOptionalToken: printOptionalToken$7 +} = misc$1; + +function printMemberExpression$1(path, options, print) { + const node = path.getValue(); + const parent = path.getParentNode(); + let firstNonMemberParent; + let i = 0; + + do { + firstNonMemberParent = path.getParentNode(i); + i++; + } while (firstNonMemberParent && (isMemberExpression$5(firstNonMemberParent) || firstNonMemberParent.type === "TSNonNullExpression")); + + const objectDoc = print("object"); + const lookupDoc = printMemberLookup$1(path, options, print); + const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || node.computed || node.object.type === "Identifier" && node.property.type === "Identifier" && !isMemberExpression$5(parent) || (parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator") && (isCallExpression$7(node.object) && node.object.arguments.length > 0 || node.object.type === "TSNonNullExpression" && isCallExpression$7(node.object.expression) && node.object.expression.arguments.length > 0 || objectDoc.label === "member-chain"); + return label$2(objectDoc.label === "member-chain" ? "member-chain" : "member", [objectDoc, shouldInline ? lookupDoc : group$u(indent$n([softline$l, lookupDoc]))]); +} + +function printMemberLookup$1(path, options, print) { + const property = print("property"); + const node = path.getValue(); + const optional = printOptionalToken$7(path); + + if (!node.computed) { + return [optional, ".", property]; + } + + if (!node.property || isNumericLiteral$3(node.property)) { + return [optional, "[", property, "]"]; + } + + return group$u([optional, "[", indent$n([softline$l, property]), softline$l, "]"]); +} + +var member = { + printMemberExpression: printMemberExpression$1, + printMemberLookup: printMemberLookup$1 +}; + +const { + printComments: printComments$3 +} = comments$4; +const { + getLast: getLast$d, + isNextLineEmptyAfterIndex, + getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$1 +} = util$8; +const pathNeedsParens$4 = needsParens_1; +const { + isCallExpression: isCallExpression$6, + isMemberExpression: isMemberExpression$4, + isFunctionOrArrowExpression, + isLongCurriedCallExpression, + isMemberish: isMemberish$1, + isNumericLiteral: isNumericLiteral$2, + isSimpleCallArgument, + hasComment: hasComment$b, + CommentCheckFlags: CommentCheckFlags$9, + isNextLineEmpty: isNextLineEmpty$9 +} = utils$5; +const { + locEnd: locEnd$n +} = loc$6; +const { + builders: { + join: join$n, + hardline: hardline$t, + group: group$t, + indent: indent$m, + conditionalGroup: conditionalGroup$2, + breakParent: breakParent$8, + label: label$1 + }, + utils: { + willBreak: willBreak$3 + } +} = require$$7$3; +const printCallArguments$1 = callArguments; +const { + printMemberLookup +} = member; +const { + printOptionalToken: printOptionalToken$6, + printFunctionTypeParameters: printFunctionTypeParameters$3, + printBindExpressionCallee: printBindExpressionCallee$1 +} = misc$1; // We detect calls on member expressions specially to format a +// common pattern better. The pattern we are looking for is this: +// +// arr +// .map(x => x + 1) +// .filter(x => x > 10) +// .some(x => x % 2) +// +// The way it is structured in the AST is via a nested sequence of +// MemberExpression and CallExpression. We need to traverse the AST +// and make groups out of it to print it in the desired way. + +function printMemberChain$1(path, options, print) { + const parent = path.getParentNode(); + const isExpressionStatement = !parent || parent.type === "ExpressionStatement"; // The first phase is to linearize the AST by traversing it down. + // + // a().b() + // has the following AST structure: + // CallExpression(MemberExpression(CallExpression(Identifier))) + // and we transform it into + // [Identifier, CallExpression, MemberExpression, CallExpression] + + const printedNodes = []; // Here we try to retain one typed empty line after each call expression or + // the first group whether it is in parentheses or not + + function shouldInsertEmptyLineAfter(node) { + const { + originalText + } = options; + const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex$1(originalText, node, locEnd$n); + const nextChar = originalText.charAt(nextCharIndex); // if it is cut off by a parenthesis, we only account for one typed empty + // line after that parenthesis + + if (nextChar === ")") { + return nextCharIndex !== false && isNextLineEmptyAfterIndex(originalText, nextCharIndex + 1); + } + + return isNextLineEmpty$9(node, options); + } + + function rec(path) { + const node = path.getValue(); + + if (isCallExpression$6(node) && (isMemberish$1(node.callee) || isCallExpression$6(node.callee))) { + printedNodes.unshift({ + node, + printed: [printComments$3(path, [printOptionalToken$6(path), printFunctionTypeParameters$3(path, options, print), printCallArguments$1(path, options, print)], options), shouldInsertEmptyLineAfter(node) ? hardline$t : ""] + }); + path.call(callee => rec(callee), "callee"); + } else if (isMemberish$1(node)) { + printedNodes.unshift({ + node, + needsParens: pathNeedsParens$4(path, options), + printed: printComments$3(path, isMemberExpression$4(node) ? printMemberLookup(path, options, print) : printBindExpressionCallee$1(path, options, print), options) + }); + path.call(object => rec(object), "object"); + } else if (node.type === "TSNonNullExpression") { + printedNodes.unshift({ + node, + printed: printComments$3(path, "!", options) + }); + path.call(expression => rec(expression), "expression"); + } else { + printedNodes.unshift({ + node, + printed: print() + }); + } + } // Note: the comments of the root node have already been printed, so we + // need to extract this first call without printing them as they would + // if handled inside of the recursive call. + + + const node = path.getValue(); + printedNodes.unshift({ + node, + printed: [printOptionalToken$6(path), printFunctionTypeParameters$3(path, options, print), printCallArguments$1(path, options, print)] + }); + + if (node.callee) { + path.call(callee => rec(callee), "callee"); + } // Once we have a linear list of printed nodes, we want to create groups out + // of it. + // + // a().b.c().d().e + // will be grouped as + // [ + // [Identifier, CallExpression], + // [MemberExpression, MemberExpression, CallExpression], + // [MemberExpression, CallExpression], + // [MemberExpression], + // ] + // so that we can print it as + // a() + // .b.c() + // .d() + // .e + // The first group is the first node followed by + // - as many CallExpression as possible + // < fn()()() >.something() + // - as many array accessors as possible + // < fn()[0][1][2] >.something() + // - then, as many MemberExpression as possible but the last one + // < this.items >.something() + + + const groups = []; + let currentGroup = [printedNodes[0]]; + let i = 1; + + for (; i < printedNodes.length; ++i) { + if (printedNodes[i].node.type === "TSNonNullExpression" || isCallExpression$6(printedNodes[i].node) || isMemberExpression$4(printedNodes[i].node) && printedNodes[i].node.computed && isNumericLiteral$2(printedNodes[i].node.property)) { + currentGroup.push(printedNodes[i]); + } else { + break; + } + } + + if (!isCallExpression$6(printedNodes[0].node)) { + for (; i + 1 < printedNodes.length; ++i) { + if (isMemberish$1(printedNodes[i].node) && isMemberish$1(printedNodes[i + 1].node)) { + currentGroup.push(printedNodes[i]); + } else { + break; + } + } + } + + groups.push(currentGroup); + currentGroup = []; // Then, each following group is a sequence of MemberExpression followed by + // a sequence of CallExpression. To compute it, we keep adding things to the + // group until we has seen a CallExpression in the past and reach a + // MemberExpression + + let hasSeenCallExpression = false; + + for (; i < printedNodes.length; ++i) { + if (hasSeenCallExpression && isMemberish$1(printedNodes[i].node)) { + // [0] should be appended at the end of the group instead of the + // beginning of the next one + if (printedNodes[i].node.computed && isNumericLiteral$2(printedNodes[i].node.property)) { + currentGroup.push(printedNodes[i]); + continue; + } + + groups.push(currentGroup); + currentGroup = []; + hasSeenCallExpression = false; + } + + if (isCallExpression$6(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { + hasSeenCallExpression = true; + } + + currentGroup.push(printedNodes[i]); + + if (hasComment$b(printedNodes[i].node, CommentCheckFlags$9.Trailing)) { + groups.push(currentGroup); + currentGroup = []; + hasSeenCallExpression = false; + } + } + + if (currentGroup.length > 0) { + groups.push(currentGroup); + } // There are cases like Object.keys(), Observable.of(), _.values() where + // they are the subject of all the chained calls and therefore should + // be kept on the same line: + // + // Object.keys(items) + // .filter(x => x) + // .map(x => x) + // + // In order to detect those cases, we use an heuristic: if the first + // node is an identifier with the name starting with a capital + // letter or just a sequence of _$. The rationale is that they are + // likely to be factories. + + + function isFactory(name) { + return /^[A-Z]|^[$_]+$/.test(name); + } // In case the Identifier is shorter than tab width, we can keep the + // first call in a single line, if it's an ExpressionStatement. + // + // d3.scaleLinear() + // .domain([0, 100]) + // .range([0, width]); + // + + + function isShort(name) { + return name.length <= options.tabWidth; + } + + function shouldNotWrap(groups) { + const hasComputed = groups[1].length > 0 && groups[1][0].node.computed; + + if (groups[0].length === 1) { + const firstNode = groups[0][0].node; + return firstNode.type === "ThisExpression" || firstNode.type === "Identifier" && (isFactory(firstNode.name) || isExpressionStatement && isShort(firstNode.name) || hasComputed); + } + + const lastNode = getLast$d(groups[0]).node; + return isMemberExpression$4(lastNode) && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); + } + + const shouldMerge = groups.length >= 2 && !hasComment$b(groups[1][0].node) && shouldNotWrap(groups); + + function printGroup(printedGroup) { + const printed = printedGroup.map(tuple => tuple.printed); // Checks if the last node (i.e. the parent node) needs parens and print + // accordingly + + if (printedGroup.length > 0 && getLast$d(printedGroup).needsParens) { + return ["(", ...printed, ")"]; + } + + return printed; + } + + function printIndentedGroup(groups) { + /* istanbul ignore next */ + if (groups.length === 0) { + return ""; + } + + return indent$m(group$t([hardline$t, join$n(hardline$t, groups.map(printGroup))])); + } + + const printedGroups = groups.map(printGroup); + const oneLine = printedGroups; + const cutoff = shouldMerge ? 3 : 2; + const flatGroups = groups.flat(); + const nodeHasComment = flatGroups.slice(1, -1).some(node => hasComment$b(node.node, CommentCheckFlags$9.Leading)) || flatGroups.slice(0, -1).some(node => hasComment$b(node.node, CommentCheckFlags$9.Trailing)) || groups[cutoff] && hasComment$b(groups[cutoff][0].node, CommentCheckFlags$9.Leading); // If we only have a single `.`, we shouldn't do anything fancy and just + // render everything concatenated together. + + if (groups.length <= cutoff && !nodeHasComment) { + if (isLongCurriedCallExpression(path)) { + return oneLine; + } + + return group$t(oneLine); + } // Find out the last node in the first group and check if it has an + // empty line after + + + const lastNodeBeforeIndent = getLast$d(groups[shouldMerge ? 1 : 0]).node; + const shouldHaveEmptyLineBeforeIndent = !isCallExpression$6(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); + const expanded = [printGroup(groups[0]), shouldMerge ? groups.slice(1, 2).map(printGroup) : "", shouldHaveEmptyLineBeforeIndent ? hardline$t : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]; + const callExpressions = printedNodes.map(({ + node + }) => node).filter(isCallExpression$6); + + function lastGroupWillBreakAndOtherCallsHaveFunctionArguments() { + const lastGroupNode = getLast$d(getLast$d(groups)).node; + const lastGroupDoc = getLast$d(printedGroups); + return isCallExpression$6(lastGroupNode) && willBreak$3(lastGroupDoc) && callExpressions.slice(0, -1).some(node => node.arguments.some(isFunctionOrArrowExpression)); + } + + let result; // We don't want to print in one line if at least one of these conditions occurs: + // * the chain has comments, + // * the chain is an expression statement and all the arguments are literal-like ("fluent configuration" pattern), + // * the chain is longer than 2 calls and has non-trivial arguments or more than 2 arguments in any call but the first one, + // * any group but the last one has a hard line, + // * the last call's arguments have a hard line and other calls have non-trivial arguments. + + if (nodeHasComment || callExpressions.length > 2 && callExpressions.some(expr => !expr.arguments.every(arg => isSimpleCallArgument(arg, 0))) || printedGroups.slice(0, -1).some(willBreak$3) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { + result = group$t(expanded); + } else { + result = [// We only need to check `oneLine` because if `expanded` is chosen + // that means that the parent group has already been broken + // naturally + willBreak$3(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent$8 : "", conditionalGroup$2([oneLine, expanded])]; + } + + return label$1("member-chain", result); +} + +var memberChain = printMemberChain$1; + +const { + builders: { + join: join$m, + group: group$s + } +} = require$$7$3; +const pathNeedsParens$3 = needsParens_1; +const { + getCallArguments: getCallArguments$2, + hasFlowAnnotationComment, + isCallExpression: isCallExpression$5, + isMemberish, + isStringLiteral: isStringLiteral$2, + isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$1, + isTestCall: isTestCall$2, + iterateCallArgumentsPath +} = utils$5; +const printMemberChain = memberChain; +const printCallArguments = callArguments; +const { + printOptionalToken: printOptionalToken$5, + printFunctionTypeParameters: printFunctionTypeParameters$2 +} = misc$1; + +function printCallExpression$2(path, options, print) { + const node = path.getValue(); + const parentNode = path.getParentNode(); + const isNew = node.type === "NewExpression"; + const isDynamicImport = node.type === "ImportExpression"; + const optional = printOptionalToken$5(path); + const args = getCallArguments$2(node); + + if ( // Dangling comments are not handled, all these special cases should have arguments #9668 + args.length > 0 && ( // We want to keep CommonJS- and AMD-style require calls, and AMD-style + // define calls, as a unit. + // e.g. `define(["some/lib"], (lib) => {` + !isDynamicImport && !isNew && isCommonsJsOrAmdCall(node, parentNode) || // Template literals as single arguments + args.length === 1 && isTemplateOnItsOwnLine$1(args[0], options.originalText) || // Keep test declarations on a single line + // e.g. `it('long name', () => {` + !isNew && isTestCall$2(node, parentNode))) { + const printed = []; + iterateCallArgumentsPath(path, () => { + printed.push(print()); + }); + return [isNew ? "new " : "", print("callee"), optional, printFunctionTypeParameters$2(path, options, print), "(", join$m(", ", printed), ")"]; + } // Inline Flow annotation comments following Identifiers in Call nodes need to + // stay with the Identifier. For example: + // + // foo /*:: */(bar); + // + // Here, we ensure that such comments stay between the Identifier and the Callee. + + + const isIdentifierWithFlowAnnotation = (options.parser === "babel" || options.parser === "babel-flow") && node.callee && node.callee.type === "Identifier" && hasFlowAnnotationComment(node.callee.trailingComments); + + if (isIdentifierWithFlowAnnotation) { + node.callee.trailingComments[0].printed = true; + } // We detect calls on member lookups and possibly print them in a + // special chain format. See `printMemberChain` for more info. + + + if (!isDynamicImport && !isNew && isMemberish(node.callee) && !path.call(path => pathNeedsParens$3(path, options), "callee")) { + return printMemberChain(path, options, print); + } + + const contents = [isNew ? "new " : "", isDynamicImport ? "import" : print("callee"), optional, isIdentifierWithFlowAnnotation ? `/*:: ${node.callee.trailingComments[0].value.slice(2).trim()} */` : "", printFunctionTypeParameters$2(path, options, print), printCallArguments(path, options, print)]; // We group here when the callee is itself a call expression. + // See `isLongCurriedCallExpression` for more info. + + if (isDynamicImport || isCallExpression$5(node.callee)) { + return group$s(contents); + } + + return contents; +} + +function isCommonsJsOrAmdCall(node, parentNode) { + if (node.callee.type !== "Identifier") { + return false; + } + + if (node.callee.name === "require") { + return true; + } + + if (node.callee.name === "define") { + const args = getCallArguments$2(node); + return parentNode.type === "ExpressionStatement" && (args.length === 1 || args.length === 2 && args[0].type === "ArrayExpression" || args.length === 3 && isStringLiteral$2(args[0]) && args[1].type === "ArrayExpression"); + } + + return false; +} + +var callExpression = { + printCallExpression: printCallExpression$2 +}; + +const { + isNonEmptyArray: isNonEmptyArray$e, + getStringWidth: getStringWidth$1 +} = util$8; +const { + builders: { + line: line$q, + group: group$r, + indent: indent$l, + indentIfBreak: indentIfBreak$2 + }, + utils: { + cleanDoc: cleanDoc$1, + willBreak: willBreak$2, + canBreak + } +} = require$$7$3; +const { + hasLeadingOwnLineComment: hasLeadingOwnLineComment$2, + isBinaryish: isBinaryish$1, + isStringLiteral: isStringLiteral$1, + isLiteral: isLiteral$1, + isNumericLiteral: isNumericLiteral$1, + isCallExpression: isCallExpression$4, + isMemberExpression: isMemberExpression$3, + getCallArguments: getCallArguments$1, + rawText: rawText$3, + hasComment: hasComment$a, + isSignedNumericLiteral, + isObjectProperty +} = utils$5; +const { + shouldInlineLogicalExpression +} = binaryish; +const { + printCallExpression: printCallExpression$1 +} = callExpression; + +function printAssignment$3(path, options, print, leftDoc, operator, rightPropertyName) { + const layout = chooseLayout(path, options, print, leftDoc, rightPropertyName); + const rightDoc = print(rightPropertyName, { + assignmentLayout: layout + }); + + switch (layout) { + // First break after operator, then the sides are broken independently on their own lines + case "break-after-operator": + return group$r([group$r(leftDoc), operator, group$r(indent$l([line$q, rightDoc]))]); + // First break right-hand side, then left-hand side + + case "never-break-after-operator": + return group$r([group$r(leftDoc), operator, " ", rightDoc]); + // First break right-hand side, then after operator + + case "fluid": + { + const groupId = Symbol("assignment"); + return group$r([group$r(leftDoc), operator, group$r(indent$l(line$q), { + id: groupId + }), indentIfBreak$2(rightDoc, { + groupId + })]); + } + + case "break-lhs": + return group$r([leftDoc, operator, " ", group$r(rightDoc)]); + // Parts of assignment chains aren't wrapped in groups. + // Once one of them breaks, the chain breaks too. + + case "chain": + return [group$r(leftDoc), operator, line$q, rightDoc]; + + case "chain-tail": + return [group$r(leftDoc), operator, indent$l([line$q, rightDoc])]; + + case "chain-tail-arrow-chain": + return [group$r(leftDoc), operator, rightDoc]; + + case "only-left": + return leftDoc; + } +} + +function printAssignmentExpression$1(path, options, print) { + const node = path.getValue(); + return printAssignment$3(path, options, print, print("left"), [" ", node.operator], "right"); +} + +function printVariableDeclarator$1(path, options, print) { + return printAssignment$3(path, options, print, print("id"), " =", "init"); +} + +function chooseLayout(path, options, print, leftDoc, rightPropertyName) { + const node = path.getValue(); + const rightNode = node[rightPropertyName]; + + if (!rightNode) { + return "only-left"; + } // Short assignment chains (only 2 segments) are NOT formatted as chains. + // 1) a = b = c; (expression statements) + // 2) var/let/const a = b = c; + + + const isTail = !isAssignment(rightNode); + const shouldUseChainFormatting = path.match(isAssignment, isAssignmentOrVariableDeclarator, node => !isTail || node.type !== "ExpressionStatement" && node.type !== "VariableDeclaration"); + + if (shouldUseChainFormatting) { + return !isTail ? "chain" : rightNode.type === "ArrowFunctionExpression" && rightNode.body.type === "ArrowFunctionExpression" ? "chain-tail-arrow-chain" : "chain-tail"; + } + + const isHeadOfLongChain = !isTail && isAssignment(rightNode.right); + + if (isHeadOfLongChain || hasLeadingOwnLineComment$2(options.originalText, rightNode)) { + return "break-after-operator"; + } + + if (rightNode.type === "CallExpression" && rightNode.callee.name === "require" || // do not put values on a separate line from the key in json + options.parser === "json5" || options.parser === "json") { + return "never-break-after-operator"; + } + + if (isComplexDestructuring(node) || isComplexTypeAliasParams(node) || hasComplexTypeAnnotation(node) || isArrowFunctionVariableDeclarator$1(node) && canBreak(leftDoc)) { + return "break-lhs"; + } // wrapping object properties with very short keys usually doesn't add much value + + + const hasShortKey = isObjectPropertyWithShortKey(node, leftDoc, options); + + if (path.call(() => shouldBreakAfterOperator(path, options, print, hasShortKey), rightPropertyName)) { + return "break-after-operator"; + } + + if (hasShortKey || rightNode.type === "TemplateLiteral" || rightNode.type === "TaggedTemplateExpression" || rightNode.type === "BooleanLiteral" || isNumericLiteral$1(rightNode) || rightNode.type === "ClassExpression") { + return "never-break-after-operator"; + } + + return "fluid"; +} + +function shouldBreakAfterOperator(path, options, print, hasShortKey) { + const rightNode = path.getValue(); + + if (isBinaryish$1(rightNode) && !shouldInlineLogicalExpression(rightNode)) { + return true; + } + + switch (rightNode.type) { + case "StringLiteralTypeAnnotation": + case "SequenceExpression": + return true; + + case "ConditionalExpression": + { + const { + test + } = rightNode; + return isBinaryish$1(test) && !shouldInlineLogicalExpression(test); + } + + case "ClassExpression": + return isNonEmptyArray$e(rightNode.decorators); + } + + if (hasShortKey) { + return false; + } + + let node = rightNode; + const propertiesForPath = []; + + for (;;) { + if (node.type === "UnaryExpression") { + node = node.argument; + propertiesForPath.push("argument"); + } else if (node.type === "TSNonNullExpression") { + node = node.expression; + propertiesForPath.push("expression"); + } else { + break; + } + } + + if (isStringLiteral$1(node) || path.call(() => isPoorlyBreakableMemberOrCallChain(path, options, print), ...propertiesForPath)) { + return true; + } + + return false; +} // prefer to break destructuring assignment +// if it includes default values or non-shorthand properties + + +function isComplexDestructuring(node) { + if (isAssignmentOrVariableDeclarator(node)) { + const leftNode = node.left || node.id; + return leftNode.type === "ObjectPattern" && leftNode.properties.length > 2 && leftNode.properties.some(property => isObjectProperty(property) && (!property.shorthand || property.value && property.value.type === "AssignmentPattern")); + } + + return false; +} + +function isAssignment(node) { + return node.type === "AssignmentExpression"; +} + +function isAssignmentOrVariableDeclarator(node) { + return isAssignment(node) || node.type === "VariableDeclarator"; +} + +function isComplexTypeAliasParams(node) { + const typeParams = getTypeParametersFromTypeAlias(node); + + if (isNonEmptyArray$e(typeParams)) { + const constraintPropertyName = node.type === "TSTypeAliasDeclaration" ? "constraint" : "bound"; + + if (typeParams.length > 1 && typeParams.some(param => param[constraintPropertyName] || param.default)) { + return true; + } + } + + return false; +} + +function getTypeParametersFromTypeAlias(node) { + if (isTypeAlias(node) && node.typeParameters && node.typeParameters.params) { + return node.typeParameters.params; + } + + return null; +} + +function isTypeAlias(node) { + return node.type === "TSTypeAliasDeclaration" || node.type === "TypeAlias"; +} + +function hasComplexTypeAnnotation(node) { + if (node.type !== "VariableDeclarator") { + return false; + } + + const { + typeAnnotation + } = node.id; + + if (!typeAnnotation || !typeAnnotation.typeAnnotation) { + return false; + } + + const typeParams = getTypeParametersFromTypeReference(typeAnnotation.typeAnnotation); + return isNonEmptyArray$e(typeParams) && typeParams.length > 1 && typeParams.some(param => isNonEmptyArray$e(getTypeParametersFromTypeReference(param)) || param.type === "TSConditionalType"); +} + +function isArrowFunctionVariableDeclarator$1(node) { + return node.type === "VariableDeclarator" && node.init && node.init.type === "ArrowFunctionExpression"; +} + +function getTypeParametersFromTypeReference(node) { + if (isTypeReference(node) && node.typeParameters && node.typeParameters.params) { + return node.typeParameters.params; + } + + return null; +} + +function isTypeReference(node) { + return node.type === "TSTypeReference" || node.type === "GenericTypeAnnotation"; +} +/** + * A chain with no calls at all or whose calls are all without arguments or with lone short arguments, + * excluding chains printed by `printMemberChain` + */ + + +function isPoorlyBreakableMemberOrCallChain(path, options, print, deep = false) { + const node = path.getValue(); + + const goDeeper = () => isPoorlyBreakableMemberOrCallChain(path, options, print, true); + + if (node.type === "TSNonNullExpression") { + return path.call(goDeeper, "expression"); + } + + if (isCallExpression$4(node)) { + /** @type {any} TODO */ + const doc = printCallExpression$1(path, options, print); + + if (doc.label === "member-chain") { + return false; + } + + const args = getCallArguments$1(node); + const isPoorlyBreakableCall = args.length === 0 || args.length === 1 && isLoneShortArgument(args[0], options); + + if (!isPoorlyBreakableCall) { + return false; + } + + if (isCallExpressionWithComplexTypeArguments(node, print)) { + return false; + } + + return path.call(goDeeper, "callee"); + } + + if (isMemberExpression$3(node)) { + return path.call(goDeeper, "object"); + } + + return deep && (node.type === "Identifier" || node.type === "ThisExpression"); +} + +const LONE_SHORT_ARGUMENT_THRESHOLD_RATE = 0.25; + +function isLoneShortArgument(node, { + printWidth +}) { + if (hasComment$a(node)) { + return false; + } + + const threshold = printWidth * LONE_SHORT_ARGUMENT_THRESHOLD_RATE; + + if (node.type === "ThisExpression" || node.type === "Identifier" && node.name.length <= threshold || isSignedNumericLiteral(node) && !hasComment$a(node.argument)) { + return true; + } + + const regexpPattern = node.type === "Literal" && "regex" in node && node.regex.pattern || node.type === "RegExpLiteral" && node.pattern; + + if (regexpPattern) { + return regexpPattern.length <= threshold; + } + + if (isStringLiteral$1(node)) { + return rawText$3(node).length <= threshold; + } + + if (node.type === "TemplateLiteral") { + return node.expressions.length === 0 && node.quasis[0].value.raw.length <= threshold && !node.quasis[0].value.raw.includes("\n"); + } + + return isLiteral$1(node); +} + +function isObjectPropertyWithShortKey(node, keyDoc, options) { + if (!isObjectProperty(node)) { + return false; + } // TODO: for performance, it might make sense to use a more lightweight + // version of cleanDoc, such that it would stop once it detects that + // the doc can't be reduced to a string. + + + keyDoc = cleanDoc$1(keyDoc); + const MIN_OVERLAP_FOR_BREAK = 3; // ↓↓ - insufficient overlap for a line break + // key1: longValue1, + // ↓↓↓↓↓↓ - overlap is long enough to break + // key2abcd: + // longValue2 + + return typeof keyDoc === "string" && getStringWidth$1(keyDoc) < options.tabWidth + MIN_OVERLAP_FOR_BREAK; +} + +function isCallExpressionWithComplexTypeArguments(node, print) { + const typeArgs = getTypeArgumentsFromCallExpression(node); + + if (isNonEmptyArray$e(typeArgs)) { + if (typeArgs.length > 1) { + return true; + } + + if (typeArgs.length === 1) { + const firstArg = typeArgs[0]; + + if (firstArg.type === "TSUnionType" || firstArg.type === "UnionTypeAnnotation" || firstArg.type === "TSIntersectionType" || firstArg.type === "IntersectionTypeAnnotation") { + return true; + } + } + + const typeArgsKeyName = node.typeParameters ? "typeParameters" : "typeArguments"; + + if (willBreak$2(print(typeArgsKeyName))) { + return true; + } + } + + return false; +} + +function getTypeArgumentsFromCallExpression(node) { + return node.typeParameters && node.typeParameters.params || node.typeArguments && node.typeArguments.params; +} + +var assignment = { + printVariableDeclarator: printVariableDeclarator$1, + printAssignmentExpression: printAssignmentExpression$1, + printAssignment: printAssignment$3, + isArrowFunctionVariableDeclarator: isArrowFunctionVariableDeclarator$1 +}; + +const { + getNextNonSpaceNonCommentCharacter +} = util$8; +const { + printDanglingComments: printDanglingComments$a +} = comments$4; +const { + builders: { + line: line$p, + hardline: hardline$s, + softline: softline$k, + group: group$q, + indent: indent$k, + ifBreak: ifBreak$i + }, + utils: { + removeLines: removeLines$2, + willBreak: willBreak$1 + } +} = require$$7$3; +const { + getFunctionParameters: getFunctionParameters$2, + iterateFunctionParametersPath, + isSimpleType: isSimpleType$1, + isTestCall: isTestCall$1, + isTypeAnnotationAFunction, + isObjectType: isObjectType$2, + isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$1, + hasRestParameter, + shouldPrintComma: shouldPrintComma$8, + hasComment: hasComment$9, + isNextLineEmpty: isNextLineEmpty$8 +} = utils$5; +const { + locEnd: locEnd$m +} = loc$6; +const { + ArgExpansionBailout: ArgExpansionBailout$1 +} = errors; +const { + printFunctionTypeParameters: printFunctionTypeParameters$1 +} = misc$1; + +function printFunctionParameters$3(path, print, options, expandArg, printTypeParams) { + const functionNode = path.getValue(); + const parameters = getFunctionParameters$2(functionNode); + const typeParams = printTypeParams ? printFunctionTypeParameters$1(path, options, print) : ""; + + if (parameters.length === 0) { + return [typeParams, "(", printDanglingComments$a(path, options, + /* sameIndent */ + true, comment => getNextNonSpaceNonCommentCharacter(options.originalText, comment, locEnd$m) === ")"), ")"]; + } + + const parent = path.getParentNode(); + const isParametersInTestCall = isTestCall$1(parent); + const shouldHugParameters = shouldHugFunctionParameters$1(functionNode); + const printed = []; + iterateFunctionParametersPath(path, (parameterPath, index) => { + const isLastParameter = index === parameters.length - 1; + + if (isLastParameter && functionNode.rest) { + printed.push("..."); + } + + printed.push(print()); + + if (isLastParameter) { + return; + } + + printed.push(","); + + if (isParametersInTestCall || shouldHugParameters) { + printed.push(" "); + } else if (isNextLineEmpty$8(parameters[index], options)) { + printed.push(hardline$s, hardline$s); + } else { + printed.push(line$p); + } + }); // If the parent is a call with the first/last argument expansion and this is the + // params of the first/last argument, we don't want the arguments to break and instead + // want the whole expression to be on a new line. + // + // Good: Bad: + // verylongcall( verylongcall(( + // (a, b) => { a, + // } b, + // ) ) => { + // }) + + if (expandArg) { + if (willBreak$1(typeParams) || willBreak$1(printed)) { + // Removing lines in this case leads to broken or ugly output + throw new ArgExpansionBailout$1(); + } + + return group$q([removeLines$2(typeParams), "(", removeLines$2(printed), ")"]); + } // Single object destructuring should hug + // + // function({ + // a, + // b, + // c + // }) {} + + + const hasNotParameterDecorator = parameters.every(node => !node.decorators); + + if (shouldHugParameters && hasNotParameterDecorator) { + return [typeParams, "(", ...printed, ")"]; + } // don't break in specs, eg; `it("should maintain parens around done even when long", (done) => {})` + + + if (isParametersInTestCall) { + return [typeParams, "(", ...printed, ")"]; + } + + const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction$1(parent) || isTypeAnnotationAFunction(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === functionNode) && parameters.length === 1 && parameters[0].name === null && // `type q = (this: string) => void;` + functionNode.this !== parameters[0] && parameters[0].typeAnnotation && functionNode.typeParameters === null && isSimpleType$1(parameters[0].typeAnnotation) && !functionNode.rest; + + if (isFlowShorthandWithOneArg) { + if (options.arrowParens === "always") { + return ["(", ...printed, ")"]; + } + + return printed; + } + + return [typeParams, "(", indent$k([softline$k, ...printed]), ifBreak$i(!hasRestParameter(functionNode) && shouldPrintComma$8(options, "all") ? "," : ""), softline$k, ")"]; +} + +function shouldHugFunctionParameters$1(node) { + if (!node) { + return false; + } + + const parameters = getFunctionParameters$2(node); + + if (parameters.length !== 1) { + return false; + } + + const [parameter] = parameters; + return !hasComment$9(parameter) && (parameter.type === "ObjectPattern" || parameter.type === "ArrayPattern" || parameter.type === "Identifier" && parameter.typeAnnotation && (parameter.typeAnnotation.type === "TypeAnnotation" || parameter.typeAnnotation.type === "TSTypeAnnotation") && isObjectType$2(parameter.typeAnnotation.typeAnnotation) || parameter.type === "FunctionTypeParam" && isObjectType$2(parameter.typeAnnotation) || parameter.type === "AssignmentPattern" && (parameter.left.type === "ObjectPattern" || parameter.left.type === "ArrayPattern") && (parameter.right.type === "Identifier" || parameter.right.type === "ObjectExpression" && parameter.right.properties.length === 0 || parameter.right.type === "ArrayExpression" && parameter.right.elements.length === 0)); +} + +function getReturnTypeNode(functionNode) { + let returnTypeNode; + + if (functionNode.returnType) { + returnTypeNode = functionNode.returnType; + + if (returnTypeNode.typeAnnotation) { + returnTypeNode = returnTypeNode.typeAnnotation; + } + } else if (functionNode.typeAnnotation) { + returnTypeNode = functionNode.typeAnnotation; + } + + return returnTypeNode; +} // When parameters are grouped, the return type annotation breaks first. + + +function shouldGroupFunctionParameters$3(functionNode, returnTypeDoc) { + const returnTypeNode = getReturnTypeNode(functionNode); + + if (!returnTypeNode) { + return false; + } + + const typeParameters = functionNode.typeParameters && functionNode.typeParameters.params; + + if (typeParameters) { + if (typeParameters.length > 1) { + return false; + } + + if (typeParameters.length === 1) { + const typeParameter = typeParameters[0]; + + if (typeParameter.constraint || typeParameter.default) { + return false; + } + } + } + + return getFunctionParameters$2(functionNode).length === 1 && (isObjectType$2(returnTypeNode) || willBreak$1(returnTypeDoc)); +} + +var functionParameters = { + printFunctionParameters: printFunctionParameters$3, + shouldHugFunctionParameters: shouldHugFunctionParameters$1, + shouldGroupFunctionParameters: shouldGroupFunctionParameters$3 +}; + +const { + printComments: printComments$2, + printDanglingComments: printDanglingComments$9 +} = comments$4; +const { + getLast: getLast$c, + isNonEmptyArray: isNonEmptyArray$d +} = util$8; +const { + builders: { + group: group$p, + join: join$l, + line: line$o, + softline: softline$j, + indent: indent$j, + align: align$3, + ifBreak: ifBreak$h + } +} = require$$7$3; +const pathNeedsParens$2 = needsParens_1; +const { + locStart: locStart$n +} = loc$6; +const { + isSimpleType, + isObjectType: isObjectType$1, + hasLeadingOwnLineComment: hasLeadingOwnLineComment$1, + isObjectTypePropertyAFunction, + shouldPrintComma: shouldPrintComma$7 +} = utils$5; +const { + printAssignment: printAssignment$2 +} = assignment; +const { + printFunctionParameters: printFunctionParameters$2, + shouldGroupFunctionParameters: shouldGroupFunctionParameters$2 +} = functionParameters; +const { + printArrayItems: printArrayItems$2 +} = array; + +function shouldHugType$2(node) { + if (isSimpleType(node) || isObjectType$1(node)) { + return true; + } + + if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { + const voidCount = node.types.filter(node => node.type === "VoidTypeAnnotation" || node.type === "TSVoidKeyword" || node.type === "NullLiteralTypeAnnotation" || node.type === "TSNullKeyword").length; + const hasObject = node.types.some(node => node.type === "ObjectTypeAnnotation" || node.type === "TSTypeLiteral" || // This is a bit aggressive but captures Array<{x}> + node.type === "GenericTypeAnnotation" || node.type === "TSTypeReference"); + + if (node.types.length - 1 === voidCount && hasObject) { + return true; + } + } + + return false; +} + +function printOpaqueType$1(path, options, print) { + const semi = options.semi ? ";" : ""; + const node = path.getValue(); + const parts = []; + parts.push("opaque type ", print("id"), print("typeParameters")); + + if (node.supertype) { + parts.push(": ", print("supertype")); + } + + if (node.impltype) { + parts.push(" = ", print("impltype")); + } + + parts.push(semi); + return parts; +} + +function printTypeAlias$2(path, options, print) { + const semi = options.semi ? ";" : ""; + const node = path.getValue(); + const parts = []; + + if (node.declare) { + parts.push("declare "); + } + + parts.push("type ", print("id"), print("typeParameters")); + const rightPropertyName = node.type === "TSTypeAliasDeclaration" ? "typeAnnotation" : "right"; + return [printAssignment$2(path, options, print, parts, " =", rightPropertyName), semi]; +} // `TSIntersectionType` and `IntersectionTypeAnnotation` + + +function printIntersectionType$2(path, options, print) { + const node = path.getValue(); + const types = path.map(print, "types"); + const result = []; + let wasIndented = false; + + for (let i = 0; i < types.length; ++i) { + if (i === 0) { + result.push(types[i]); + } else if (isObjectType$1(node.types[i - 1]) && isObjectType$1(node.types[i])) { + // If both are objects, don't indent + result.push([" & ", wasIndented ? indent$j(types[i]) : types[i]]); + } else if (!isObjectType$1(node.types[i - 1]) && !isObjectType$1(node.types[i])) { + // If no object is involved, go to the next line if it breaks + result.push(indent$j([" &", line$o, types[i]])); + } else { + // If you go from object to non-object or vis-versa, then inline it + if (i > 1) { + wasIndented = true; + } + + result.push(" & ", i > 1 ? indent$j(types[i]) : types[i]); + } + } + + return group$p(result); +} // `TSUnionType` and `UnionTypeAnnotation` + + +function printUnionType$2(path, options, print) { + const node = path.getValue(); // single-line variation + // A | B | C + // multi-line variation + // | A + // | B + // | C + + const parent = path.getParentNode(); // If there's a leading comment, the parent is doing the indentation + + const shouldIndent = parent.type !== "TypeParameterInstantiation" && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.getParentNode(1).this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment$1(options.originalText, node)); // { + // a: string + // } | null | void + // should be inlined and not be printed in the multi-line variant + + const shouldHug = shouldHugType$2(node); // We want to align the children but without its comment, so it looks like + // | child1 + // // comment + // | child2 + + const printed = path.map(typePath => { + let printedType = print(); + + if (!shouldHug) { + printedType = align$3(2, printedType); + } + + return printComments$2(typePath, printedType, options); + }, "types"); + + if (shouldHug) { + return join$l(" | ", printed); + } + + const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment$1(options.originalText, node); + const code = [ifBreak$h([shouldAddStartLine ? line$o : "", "| "]), join$l([line$o, "| "], printed)]; + + if (pathNeedsParens$2(path, options)) { + return group$p([indent$j(code), softline$j]); + } + + if (parent.type === "TupleTypeAnnotation" && parent.types.length > 1 || parent.type === "TSTupleType" && parent.elementTypes.length > 1) { + return group$p([indent$j([ifBreak$h(["(", softline$j]), code]), softline$j, ifBreak$h(")")]); + } + + return group$p(shouldIndent ? indent$j(code) : code); +} // `TSFunctionType` and `FunctionTypeAnnotation` + + +function printFunctionType$2(path, options, print) { + const node = path.getValue(); + const parts = []; // FunctionTypeAnnotation is ambiguous: + // declare function foo(a: B): void; OR + // var A: (a: B) => void; + + const parent = path.getParentNode(0); + const parentParent = path.getParentNode(1); + const parentParentParent = path.getParentNode(2); + let isArrowFunctionTypeAnnotation = node.type === "TSFunctionType" || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !parent.variance && !parent.optional && locStart$n(parent) === locStart$n(node) || parent.type === "ObjectTypeCallProperty" || parentParentParent && parentParentParent.type === "DeclareFunction"); + let needsColon = isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation"); // Sadly we can't put it inside of AstPath::needsColon because we are + // printing ":" as part of the expression and it would put parenthesis + // around :( + + const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation") && parentParent.type === "ArrowFunctionExpression"; + + if (isObjectTypePropertyAFunction(parent)) { + isArrowFunctionTypeAnnotation = true; + needsColon = true; + } + + if (needsParens) { + parts.push("("); + } + + const parametersDoc = printFunctionParameters$2(path, print, options, + /* expandArg */ + false, + /* printTypeParams */ + true); // The returnType is not wrapped in a TypeAnnotation, so the colon + // needs to be added separately. + + const returnTypeDoc = node.returnType || node.predicate || node.typeAnnotation ? [isArrowFunctionTypeAnnotation ? " => " : ": ", print("returnType"), print("predicate"), print("typeAnnotation")] : ""; + const shouldGroupParameters = shouldGroupFunctionParameters$2(node, returnTypeDoc); + parts.push(shouldGroupParameters ? group$p(parametersDoc) : parametersDoc); + + if (returnTypeDoc) { + parts.push(returnTypeDoc); + } + + if (needsParens) { + parts.push(")"); + } + + return group$p(parts); +} // `TSTupleType` and `TupleTypeAnnotation` + + +function printTupleType$2(path, options, print) { + const node = path.getValue(); + const typesField = node.type === "TSTupleType" ? "elementTypes" : "types"; + const types = node[typesField]; + const isNonEmptyTuple = isNonEmptyArray$d(types); + const hasRest = isNonEmptyTuple && getLast$c(types).type === "TSRestType"; + const bracketsDelimiterLine = isNonEmptyTuple ? softline$j : ""; + return group$p(["[", indent$j([bracketsDelimiterLine, printArrayItems$2(path, options, typesField, print)]), ifBreak$h(isNonEmptyTuple && shouldPrintComma$7(options, "all") && !hasRest ? "," : ""), printDanglingComments$9(path, options, + /* sameIndent */ + true), bracketsDelimiterLine, "]"]); +} // `TSIndexedAccessType`, `IndexedAccessType`, and `OptionalIndexedAccessType` + + +function printIndexedAccessType$2(path, options, print) { + const node = path.getValue(); + const leftDelimiter = node.type === "OptionalIndexedAccessType" && node.optional ? "?.[" : "["; + return [print("objectType"), leftDelimiter, print("indexType"), "]"]; +} + +var typeAnnotation = { + printOpaqueType: printOpaqueType$1, + printTypeAlias: printTypeAlias$2, + printIntersectionType: printIntersectionType$2, + printUnionType: printUnionType$2, + printFunctionType: printFunctionType$2, + printTupleType: printTupleType$2, + printIndexedAccessType: printIndexedAccessType$2, + shouldHugType: shouldHugType$2 +}; + +const { + printDanglingComments: printDanglingComments$8 +} = comments$4; +const { + builders: { + join: join$k, + line: line$n, + hardline: hardline$r, + softline: softline$i, + group: group$o, + indent: indent$i, + ifBreak: ifBreak$g + } +} = require$$7$3; +const { + isTestCall, + hasComment: hasComment$8, + CommentCheckFlags: CommentCheckFlags$8, + isTSXFile, + shouldPrintComma: shouldPrintComma$6, + getFunctionParameters: getFunctionParameters$1, + isObjectType +} = utils$5; +const { + createGroupIdMapper: createGroupIdMapper$1 +} = util$8; +const { + shouldHugType: shouldHugType$1 +} = typeAnnotation; +const { + isArrowFunctionVariableDeclarator +} = assignment; +const getTypeParametersGroupId$2 = createGroupIdMapper$1("typeParameters"); + +function printTypeParameters$2(path, options, print, paramsKey) { + const node = path.getValue(); + + if (!node[paramsKey]) { + return ""; + } // for TypeParameterDeclaration typeParameters is a single node + + + if (!Array.isArray(node[paramsKey])) { + return print(paramsKey); + } + + const grandparent = path.getNode(2); + const isParameterInTestCall = grandparent && isTestCall(grandparent); + const isArrowFunctionVariable = path.match(node => !(node[paramsKey].length === 1 && isObjectType(node[paramsKey][0])), undefined, (node, name) => name === "typeAnnotation", node => node.type === "Identifier", isArrowFunctionVariableDeclarator); + const shouldInline = !isArrowFunctionVariable && (isParameterInTestCall || node[paramsKey].length === 0 || node[paramsKey].length === 1 && (node[paramsKey][0].type === "NullableTypeAnnotation" || shouldHugType$1(node[paramsKey][0]))); + + if (shouldInline) { + return ["<", join$k(", ", path.map(print, paramsKey)), printDanglingCommentsForInline(path, options), ">"]; + } // Keep comma if the file extension is .tsx and + // has one type parameter that isn't extend with any types. + // Because, otherwise formatted result will be invalid as tsx. + + + const trailingComma = node.type === "TSTypeParameterInstantiation" // https://github.com/microsoft/TypeScript/issues/21984 + ? "" : getFunctionParameters$1(node).length === 1 && isTSXFile(options) && !node[paramsKey][0].constraint && path.getParentNode().type === "ArrowFunctionExpression" ? "," : shouldPrintComma$6(options, "all") ? ifBreak$g(",") : ""; + return group$o(["<", indent$i([softline$i, join$k([",", line$n], path.map(print, paramsKey))]), trailingComma, softline$i, ">"], { + id: getTypeParametersGroupId$2(node) + }); +} + +function printDanglingCommentsForInline(path, options) { + const node = path.getValue(); + + if (!hasComment$8(node, CommentCheckFlags$8.Dangling)) { + return ""; + } + + const hasOnlyBlockComments = !hasComment$8(node, CommentCheckFlags$8.Line); + const printed = printDanglingComments$8(path, options, + /* sameIndent */ + hasOnlyBlockComments); + + if (hasOnlyBlockComments) { + return printed; + } + + return [printed, hardline$r]; +} + +function printTypeParameter$2(path, options, print) { + const node = path.getValue(); + const parts = []; + const parent = path.getParentNode(); + + if (parent.type === "TSMappedType") { + parts.push("[", print("name")); + + if (node.constraint) { + parts.push(" in ", print("constraint")); + } + + if (parent.nameType) { + parts.push(" as ", path.callParent(() => print("nameType"))); + } + + parts.push("]"); + return parts; + } + + if (node.variance) { + parts.push(print("variance")); + } + + parts.push(print("name")); + + if (node.bound) { + parts.push(": ", print("bound")); + } + + if (node.constraint) { + parts.push(" extends ", print("constraint")); + } + + if (node.default) { + parts.push(" = ", print("default")); + } + + return parts; +} + +var typeParameters = { + printTypeParameter: printTypeParameter$2, + printTypeParameters: printTypeParameters$2, + getTypeParametersGroupId: getTypeParametersGroupId$2 +}; + +const { + printComments: printComments$1 +} = comments$4; +const { + printString: printString$3, + printNumber: printNumber$3 +} = util$8; +const { + isNumericLiteral, + isSimpleNumber, + isStringLiteral, + isStringPropSafeToUnquote, + rawText: rawText$2 +} = utils$5; +const { + printAssignment: printAssignment$1 +} = assignment; +const needsQuoteProps = new WeakMap(); + +function printPropertyKey$4(path, options, print) { + const node = path.getNode(); + + if (node.computed) { + return ["[", print("key"), "]"]; + } + + const parent = path.getParentNode(); + const { + key + } = node; // flow has `Identifier` key, other parsers use `PrivateIdentifier` (ESTree) or `PrivateName` + + if (node.type === "ClassPrivateProperty" && key.type === "Identifier") { + return ["#", print("key")]; + } + + if (options.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { + const objectHasStringProp = (parent.properties || parent.body || parent.members).some(prop => !prop.computed && prop.key && isStringLiteral(prop.key) && !isStringPropSafeToUnquote(prop, options)); + needsQuoteProps.set(parent, objectHasStringProp); + } + + if ((key.type === "Identifier" || isNumericLiteral(key) && isSimpleNumber(printNumber$3(rawText$2(key))) && // Avoid converting 999999999999999999999 to 1e+21, 0.99999999999999999 to 1 and 1.0 to 1. + String(key.value) === printNumber$3(rawText$2(key)) && // Quoting number keys is safe in JS and Flow, but not in TypeScript (as + // mentioned in `isStringPropSafeToUnquote`). + !(options.parser === "typescript" || options.parser === "babel-ts")) && (options.parser === "json" || options.quoteProps === "consistent" && needsQuoteProps.get(parent))) { + // a -> "a" + // 1 -> "1" + // 1.5 -> "1.5" + const prop = printString$3(JSON.stringify(key.type === "Identifier" ? key.name : key.value.toString()), options); + return path.call(keyPath => printComments$1(keyPath, prop, options), "key"); + } + + if (isStringPropSafeToUnquote(node, options) && (options.quoteProps === "as-needed" || options.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { + // 'a' -> a + // '1' -> 1 + // '1.5' -> 1.5 + return path.call(keyPath => printComments$1(keyPath, /^\d/.test(key.value) ? printNumber$3(key.value) : key.value, options), "key"); + } + + return print("key"); +} + +function printProperty$1(path, options, print) { + const node = path.getValue(); + + if (node.shorthand) { + return print("value"); + } + + return printAssignment$1(path, options, print, printPropertyKey$4(path, options, print), ":", "value"); +} + +var property = { + printProperty: printProperty$1, + printPropertyKey: printPropertyKey$4 +}; + +/** @typedef {import("../../document/doc-builders").Doc} Doc */ + + +const assert$2 = require$$0__default$3["default"]; +const { + printDanglingComments: printDanglingComments$7, + printCommentsSeparately +} = comments$4; +const getLast$b = getLast_1; +const { + getNextNonSpaceNonCommentCharacterIndex +} = util$8; +const { + builders: { + line: line$m, + softline: softline$h, + group: group$n, + indent: indent$h, + ifBreak: ifBreak$f, + hardline: hardline$q, + join: join$j, + indentIfBreak: indentIfBreak$1 + }, + utils: { + removeLines: removeLines$1, + willBreak + } +} = require$$7$3; +const { + ArgExpansionBailout +} = errors; +const { + getFunctionParameters, + hasLeadingOwnLineComment, + isFlowAnnotationComment, + isJsxNode: isJsxNode$2, + isTemplateOnItsOwnLine, + shouldPrintComma: shouldPrintComma$5, + startsWithNoLookaheadToken, + isBinaryish, + isLineComment: isLineComment$2, + hasComment: hasComment$7, + getComments: getComments$2, + CommentCheckFlags: CommentCheckFlags$7, + isCallLikeExpression, + isCallExpression: isCallExpression$3, + getCallArguments, + hasNakedLeftSide: hasNakedLeftSide$1, + getLeftSide +} = utils$5; +const { + locEnd: locEnd$l +} = loc$6; +const { + printFunctionParameters: printFunctionParameters$1, + shouldGroupFunctionParameters: shouldGroupFunctionParameters$1 +} = functionParameters; +const { + printPropertyKey: printPropertyKey$3 +} = property; +const { + printFunctionTypeParameters +} = misc$1; + +function printFunction$2(path, print, options, args) { + const node = path.getValue(); + let expandArg = false; + + if ((node.type === "FunctionDeclaration" || node.type === "FunctionExpression") && args && args.expandLastArg) { + const parent = path.getParentNode(); + + if (isCallExpression$3(parent) && getCallArguments(parent).length > 1) { + expandArg = true; + } + } + + const parts = []; // For TypeScript the TSDeclareFunction node shares the AST + // structure with FunctionDeclaration + + if (node.type === "TSDeclareFunction" && node.declare) { + parts.push("declare "); + } + + if (node.async) { + parts.push("async "); + } + + if (node.generator) { + parts.push("function* "); + } else { + parts.push("function "); + } + + if (node.id) { + parts.push(print("id")); + } + + const parametersDoc = printFunctionParameters$1(path, print, options, expandArg); + const returnTypeDoc = printReturnType(path, print, options); + const shouldGroupParameters = shouldGroupFunctionParameters$1(node, returnTypeDoc); + parts.push(printFunctionTypeParameters(path, options, print), group$n([shouldGroupParameters ? group$n(parametersDoc) : parametersDoc, returnTypeDoc]), node.body ? " " : "", print("body")); + + if (options.semi && (node.declare || !node.body)) { + parts.push(";"); + } + + return parts; +} + +function printMethod$2(path, options, print) { + const node = path.getNode(); + const { + kind + } = node; + const value = node.value || node; + const parts = []; + + if (!kind || kind === "init" || kind === "method" || kind === "constructor") { + if (value.async) { + parts.push("async "); + } + } else { + assert$2.ok(kind === "get" || kind === "set"); + parts.push(kind, " "); + } // A `getter`/`setter` can't be a generator, but it's recoverable + + + if (value.generator) { + parts.push("*"); + } + + parts.push(printPropertyKey$3(path, options, print), node.optional || node.key.optional ? "?" : ""); + + if (node === value) { + parts.push(printMethodInternal$1(path, options, print)); + } else if (value.type === "FunctionExpression") { + parts.push(path.call(path => printMethodInternal$1(path, options, print), "value")); + } else { + parts.push(print("value")); + } + + return parts; +} + +function printMethodInternal$1(path, options, print) { + const node = path.getNode(); + const parametersDoc = printFunctionParameters$1(path, print, options); + const returnTypeDoc = printReturnType(path, print, options); + const shouldGroupParameters = shouldGroupFunctionParameters$1(node, returnTypeDoc); + const parts = [printFunctionTypeParameters(path, options, print), group$n([shouldGroupParameters ? group$n(parametersDoc) : parametersDoc, returnTypeDoc])]; + + if (node.body) { + parts.push(" ", print("body")); + } else { + parts.push(options.semi ? ";" : ""); + } + + return parts; +} + +function printArrowFunctionSignature(path, options, print, args) { + const node = path.getValue(); + const parts = []; + + if (node.async) { + parts.push("async "); + } + + if (shouldPrintParamsWithoutParens$1(path, options)) { + parts.push(print(["params", 0])); + } else { + const expandArg = args && (args.expandLastArg || args.expandFirstArg); + let returnTypeDoc = printReturnType(path, print, options); + + if (expandArg) { + if (willBreak(returnTypeDoc)) { + throw new ArgExpansionBailout(); + } + + returnTypeDoc = group$n(removeLines$1(returnTypeDoc)); + } + + parts.push(group$n([printFunctionParameters$1(path, print, options, expandArg, + /* printTypeParams */ + true), returnTypeDoc])); + } + + const dangling = printDanglingComments$7(path, options, + /* sameIndent */ + true, comment => { + const nextCharacter = getNextNonSpaceNonCommentCharacterIndex(options.originalText, comment, locEnd$l); + return nextCharacter !== false && options.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; + }); + + if (dangling) { + parts.push(" ", dangling); + } + + return parts; +} + +function printArrowChain(path, args, signatures, shouldBreak, bodyDoc, tailNode) { + const name = path.getName(); + const parent = path.getParentNode(); + const isCallee = isCallLikeExpression(parent) && name === "callee"; + const isAssignmentRhs = Boolean(args && args.assignmentLayout); + const shouldPutBodyOnSeparateLine = tailNode.body.type !== "BlockStatement" && tailNode.body.type !== "ObjectExpression" && tailNode.body.type !== "SequenceExpression"; + const shouldBreakBeforeChain = isCallee && shouldPutBodyOnSeparateLine || args && args.assignmentLayout === "chain-tail-arrow-chain"; + const groupId = Symbol("arrow-chain"); // We handle sequence expressions as the body of arrows specially, + // so that the required parentheses end up on their own lines. + + if (tailNode.body.type === "SequenceExpression") { + bodyDoc = group$n(["(", indent$h([softline$h, bodyDoc]), softline$h, ")"]); + } + + return group$n([group$n(indent$h([isCallee || isAssignmentRhs ? softline$h : "", group$n(join$j([" =>", line$m], signatures), { + shouldBreak + })]), { + id: groupId, + shouldBreak: shouldBreakBeforeChain + }), " =>", indentIfBreak$1(shouldPutBodyOnSeparateLine ? indent$h([line$m, bodyDoc]) : [" ", bodyDoc], { + groupId + }), isCallee ? ifBreak$f(softline$h, "", { + groupId + }) : ""]); +} + +function printArrowFunction$1(path, options, print, args) { + let node = path.getValue(); + /** @type {Doc[]} */ + + const signatures = []; + const body = []; + let chainShouldBreak = false; + + (function rec() { + const doc = printArrowFunctionSignature(path, options, print, args); + + if (signatures.length === 0) { + signatures.push(doc); + } else { + const { + leading, + trailing + } = printCommentsSeparately(path, options); + signatures.push([leading, doc]); + body.unshift(trailing); + } + + chainShouldBreak = chainShouldBreak || // Always break the chain if: + node.returnType && getFunctionParameters(node).length > 0 || node.typeParameters || getFunctionParameters(node).some(param => param.type !== "Identifier"); + + if (node.body.type !== "ArrowFunctionExpression" || args && args.expandLastArg) { + body.unshift(print("body", args)); + } else { + node = node.body; + path.call(rec, "body"); + } + })(); + + if (signatures.length > 1) { + return printArrowChain(path, args, signatures, chainShouldBreak, body, node); + } + + const parts = signatures; + parts.push(" =>"); // We want to always keep these types of nodes on the same line + // as the arrow. + + if (!hasLeadingOwnLineComment(options.originalText, node.body) && (node.body.type === "ArrayExpression" || node.body.type === "ObjectExpression" || node.body.type === "BlockStatement" || isJsxNode$2(node.body) || isTemplateOnItsOwnLine(node.body, options.originalText) || node.body.type === "ArrowFunctionExpression" || node.body.type === "DoExpression")) { + return group$n([...parts, " ", body]); + } // We handle sequence expressions as the body of arrows specially, + // so that the required parentheses end up on their own lines. + + + if (node.body.type === "SequenceExpression") { + return group$n([...parts, group$n([" (", indent$h([softline$h, body]), softline$h, ")"])]); + } // if the arrow function is expanded as last argument, we are adding a + // level of indentation and need to add a softline to align the closing ) + // with the opening (, or if it's inside a JSXExpression (e.g. an attribute) + // we should align the expression's closing } with the line with the opening {. + + + const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === "JSXExpressionContainer") && !hasComment$7(node); + const printTrailingComma = args && args.expandLastArg && shouldPrintComma$5(options, "all"); // In order to avoid confusion between + // a => a ? a : a + // a <= a ? a : a + + const shouldAddParens = node.body.type === "ConditionalExpression" && !startsWithNoLookaheadToken(node.body, + /* forbidFunctionAndClass */ + false); + return group$n([...parts, group$n([indent$h([line$m, shouldAddParens ? ifBreak$f("", "(") : "", body, shouldAddParens ? ifBreak$f("", ")") : ""]), shouldAddSoftLine ? [ifBreak$f(printTrailingComma ? "," : ""), softline$h] : ""])]); +} + +function canPrintParamsWithoutParens(node) { + const parameters = getFunctionParameters(node); + return parameters.length === 1 && !node.typeParameters && !hasComment$7(node, CommentCheckFlags$7.Dangling) && parameters[0].type === "Identifier" && !parameters[0].typeAnnotation && !hasComment$7(parameters[0]) && !parameters[0].optional && !node.predicate && !node.returnType; +} + +function shouldPrintParamsWithoutParens$1(path, options) { + if (options.arrowParens === "always") { + return false; + } + + if (options.arrowParens === "avoid") { + const node = path.getValue(); + return canPrintParamsWithoutParens(node); + } // Fallback default; should be unreachable + + /* istanbul ignore next */ + + + return false; +} +/** @returns {Doc} */ + + +function printReturnType(path, print, options) { + const node = path.getValue(); + const returnType = print("returnType"); + + if (node.returnType && isFlowAnnotationComment(options.originalText, node.returnType)) { + return [" /*: ", returnType, " */"]; + } + + const parts = [returnType]; // prepend colon to TypeScript type annotation + + if (node.returnType && node.returnType.typeAnnotation) { + parts.unshift(": "); + } + + if (node.predicate) { + // The return type will already add the colon, but otherwise we + // need to do it ourselves + parts.push(node.returnType ? " " : ": ", print("predicate")); + } + + return parts; +} // `ReturnStatement` and `ThrowStatement` + + +function printReturnOrThrowArgument(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + const parts = []; + + if (node.argument) { + if (returnArgumentHasLeadingComment(options, node.argument)) { + parts.push([" (", indent$h([hardline$q, print("argument")]), hardline$q, ")"]); + } else if (isBinaryish(node.argument) || node.argument.type === "SequenceExpression") { + parts.push(group$n([ifBreak$f(" (", " "), indent$h([softline$h, print("argument")]), softline$h, ifBreak$f(")")])); + } else { + parts.push(" ", print("argument")); + } + } + + const comments = getComments$2(node); + const lastComment = getLast$b(comments); + const isLastCommentLine = lastComment && isLineComment$2(lastComment); + + if (isLastCommentLine) { + parts.push(semi); + } + + if (hasComment$7(node, CommentCheckFlags$7.Dangling)) { + parts.push(" ", printDanglingComments$7(path, options, + /* sameIndent */ + true)); + } + + if (!isLastCommentLine) { + parts.push(semi); + } + + return parts; +} + +function printReturnStatement$1(path, options, print) { + return ["return", printReturnOrThrowArgument(path, options, print)]; +} + +function printThrowStatement$1(path, options, print) { + return ["throw", printReturnOrThrowArgument(path, options, print)]; +} // This recurses the return argument, looking for the first token +// (the leftmost leaf node) and, if it (or its parents) has any +// leadingComments, returns true (so it can be wrapped in parens). + + +function returnArgumentHasLeadingComment(options, argument) { + if (hasLeadingOwnLineComment(options.originalText, argument)) { + return true; + } + + if (hasNakedLeftSide$1(argument)) { + let leftMost = argument; + let newLeftMost; + + while (newLeftMost = getLeftSide(leftMost)) { + leftMost = newLeftMost; + + if (hasLeadingOwnLineComment(options.originalText, leftMost)) { + return true; + } + } + } + + return false; +} + +var _function = { + printFunction: printFunction$2, + printArrowFunction: printArrowFunction$1, + printMethod: printMethod$2, + printReturnStatement: printReturnStatement$1, + printThrowStatement: printThrowStatement$1, + printMethodInternal: printMethodInternal$1, + shouldPrintParamsWithoutParens: shouldPrintParamsWithoutParens$1 +}; + +const { + isNonEmptyArray: isNonEmptyArray$c, + hasNewline: hasNewline$4 +} = util$8; +const { + builders: { + line: line$l, + hardline: hardline$p, + join: join$i, + breakParent: breakParent$7, + group: group$m + } +} = require$$7$3; +const { + locStart: locStart$m, + locEnd: locEnd$k +} = loc$6; +const { + getParentExportDeclaration: getParentExportDeclaration$1 +} = utils$5; + +function printClassMemberDecorators$1(path, options, print) { + const node = path.getValue(); + return group$m([join$i(line$l, path.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators(node, options) ? hardline$p : line$l]); +} + +function printDecoratorsBeforeExport$1(path, options, print) { + // Export declarations are responsible for printing any decorators + // that logically apply to node.declaration. + return [join$i(hardline$p, path.map(print, "declaration", "decorators")), hardline$p]; +} + +function printDecorators$1(path, options, print) { + const node = path.getValue(); + const { + decorators + } = node; + + if (!isNonEmptyArray$c(decorators) || // If the parent node is an export declaration and the decorator + // was written before the export, the export will be responsible + // for printing the decorators. + hasDecoratorsBeforeExport$1(path.getParentNode())) { + return; + } + + const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators(node, options); + return [getParentExportDeclaration$1(path) ? hardline$p : shouldBreak ? breakParent$7 : "", join$i(line$l, path.map(print, "decorators")), line$l]; +} + +function hasNewlineBetweenOrAfterDecorators(node, options) { + return node.decorators.some(decorator => hasNewline$4(options.originalText, locEnd$k(decorator))); +} + +function hasDecoratorsBeforeExport$1(node) { + if (node.type !== "ExportDefaultDeclaration" && node.type !== "ExportNamedDeclaration" && node.type !== "DeclareExportDeclaration") { + return false; + } + + const decorators = node.declaration && node.declaration.decorators; + return isNonEmptyArray$c(decorators) && locStart$m(node, { + ignoreDecorators: true + }) > locStart$m(decorators[0]); +} + +var decorators = { + printDecorators: printDecorators$1, + printClassMemberDecorators: printClassMemberDecorators$1, + printDecoratorsBeforeExport: printDecoratorsBeforeExport$1, + hasDecoratorsBeforeExport: hasDecoratorsBeforeExport$1 +}; + +const { + isNonEmptyArray: isNonEmptyArray$b, + createGroupIdMapper +} = util$8; +const { + printComments, + printDanglingComments: printDanglingComments$6 +} = comments$4; +const { + builders: { + join: join$h, + line: line$k, + hardline: hardline$o, + softline: softline$g, + group: group$l, + indent: indent$g, + ifBreak: ifBreak$e + } +} = require$$7$3; +const { + hasComment: hasComment$6, + CommentCheckFlags: CommentCheckFlags$6 +} = utils$5; +const { + getTypeParametersGroupId: getTypeParametersGroupId$1 +} = typeParameters; +const { + printMethod: printMethod$1 +} = _function; +const { + printOptionalToken: printOptionalToken$4, + printTypeAnnotation: printTypeAnnotation$3 +} = misc$1; +const { + printPropertyKey: printPropertyKey$2 +} = property; +const { + printAssignment +} = assignment; +const { + printClassMemberDecorators +} = decorators; + +function printClass$2(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (node.declare) { + parts.push("declare "); + } + + if (node.abstract) { + parts.push("abstract "); + } + + parts.push("class"); // Keep old behaviour of extends in same line + // If there is only on extends and there are not comments + + const groupMode = node.id && hasComment$6(node.id, CommentCheckFlags$6.Trailing) || node.superClass && hasComment$6(node.superClass) || isNonEmptyArray$b(node.extends) || // DeclareClass + isNonEmptyArray$b(node.mixins) || isNonEmptyArray$b(node.implements); + const partsGroup = []; + const extendsParts = []; + + if (node.id) { + partsGroup.push(" ", print("id")); + } + + partsGroup.push(print("typeParameters")); + + if (node.superClass) { + const printed = ["extends ", printSuperClass(path, options, print), print("superTypeParameters")]; + const printedWithComments = path.call(superClass => printComments(superClass, printed, options), "superClass"); + + if (groupMode) { + extendsParts.push(line$k, group$l(printedWithComments)); + } else { + extendsParts.push(" ", printedWithComments); + } + } else { + extendsParts.push(printList(path, options, print, "extends")); + } + + extendsParts.push(printList(path, options, print, "mixins"), printList(path, options, print, "implements")); + + if (groupMode) { + let printedPartsGroup; + + if (shouldIndentOnlyHeritageClauses(node)) { + printedPartsGroup = [...partsGroup, indent$g(extendsParts)]; + } else { + printedPartsGroup = indent$g([...partsGroup, extendsParts]); + } + + parts.push(group$l(printedPartsGroup, { + id: getHeritageGroupId(node) + })); + } else { + parts.push(...partsGroup, ...extendsParts); + } + + parts.push(" ", print("body")); + return parts; +} + +const getHeritageGroupId = createGroupIdMapper("heritageGroup"); + +function printHardlineAfterHeritage$2(node) { + return ifBreak$e(hardline$o, "", { + groupId: getHeritageGroupId(node) + }); +} + +function hasMultipleHeritage(node) { + return ["superClass", "extends", "mixins", "implements"].filter(key => Boolean(node[key])).length > 1; +} + +function shouldIndentOnlyHeritageClauses(node) { + return node.typeParameters && !hasComment$6(node.typeParameters, CommentCheckFlags$6.Trailing | CommentCheckFlags$6.Line) && !hasMultipleHeritage(node); +} + +function printList(path, options, print, listName) { + const node = path.getValue(); + + if (!isNonEmptyArray$b(node[listName])) { + return ""; + } + + const printedLeadingComments = printDanglingComments$6(path, options, + /* sameIndent */ + true, ({ + marker + }) => marker === listName); + return [shouldIndentOnlyHeritageClauses(node) ? ifBreak$e(" ", line$k, { + groupId: getTypeParametersGroupId$1(node.typeParameters) + }) : line$k, printedLeadingComments, printedLeadingComments && hardline$o, listName, group$l(indent$g([line$k, join$h([",", line$k], path.map(print, listName))]))]; +} + +function printSuperClass(path, options, print) { + const printed = print("superClass"); + const parent = path.getParentNode(); + + if (parent.type === "AssignmentExpression") { + return group$l(ifBreak$e(["(", indent$g([softline$g, printed]), softline$g, ")"], printed)); + } + + return printed; +} + +function printClassMethod$2(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (isNonEmptyArray$b(node.decorators)) { + parts.push(printClassMemberDecorators(path, options, print)); + } + + if (node.accessibility) { + parts.push(node.accessibility + " "); + } // "readonly" and "declare" are supported by only "babel-ts" + // https://github.com/prettier/prettier/issues/9760 + + + if (node.readonly) { + parts.push("readonly "); + } + + if (node.declare) { + parts.push("declare "); + } + + if (node.static) { + parts.push("static "); + } + + if (node.type === "TSAbstractMethodDefinition" || node.abstract) { + parts.push("abstract "); + } + + if (node.override) { + parts.push("override "); + } + + parts.push(printMethod$1(path, options, print)); + return parts; +} + +function printClassProperty$2(path, options, print) { + const node = path.getValue(); + const parts = []; + const semi = options.semi ? ";" : ""; + + if (isNonEmptyArray$b(node.decorators)) { + parts.push(printClassMemberDecorators(path, options, print)); + } + + if (node.accessibility) { + parts.push(node.accessibility + " "); + } + + if (node.declare) { + parts.push("declare "); + } + + if (node.static) { + parts.push("static "); + } + + if (node.type === "TSAbstractPropertyDefinition" || node.abstract) { + parts.push("abstract "); + } + + if (node.override) { + parts.push("override "); + } + + if (node.readonly) { + parts.push("readonly "); + } + + if (node.variance) { + parts.push(print("variance")); + } + + parts.push(printPropertyKey$2(path, options, print), printOptionalToken$4(path), printTypeAnnotation$3(path, options, print)); + return [printAssignment(path, options, print, parts, " =", "value"), semi]; +} + +var _class = { + printClass: printClass$2, + printClassMethod: printClassMethod$2, + printClassProperty: printClassProperty$2, + printHardlineAfterHeritage: printHardlineAfterHeritage$2 +}; + +const { + isNonEmptyArray: isNonEmptyArray$a +} = util$8; +const { + builders: { + join: join$g, + line: line$j, + group: group$k, + indent: indent$f, + ifBreak: ifBreak$d + } +} = require$$7$3; +const { + hasComment: hasComment$5, + identity, + CommentCheckFlags: CommentCheckFlags$5 +} = utils$5; +const { + getTypeParametersGroupId +} = typeParameters; +const { + printTypeScriptModifiers: printTypeScriptModifiers$1 +} = misc$1; + +function printInterface$2(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (node.declare) { + parts.push("declare "); + } + + if (node.type === "TSInterfaceDeclaration") { + parts.push(node.abstract ? "abstract " : "", printTypeScriptModifiers$1(path, options, print)); + } + + parts.push("interface"); + const partsGroup = []; + const extendsParts = []; + + if (node.type !== "InterfaceTypeAnnotation") { + partsGroup.push(" ", print("id"), print("typeParameters")); + } + + const shouldIndentOnlyHeritageClauses = node.typeParameters && !hasComment$5(node.typeParameters, CommentCheckFlags$5.Trailing | CommentCheckFlags$5.Line); + + if (isNonEmptyArray$a(node.extends)) { + extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak$d(" ", line$j, { + groupId: getTypeParametersGroupId(node.typeParameters) + }) : line$j, "extends ", (node.extends.length === 1 ? identity : indent$f)(join$g([",", line$j], path.map(print, "extends")))); + } + + if (node.id && hasComment$5(node.id, CommentCheckFlags$5.Trailing) || isNonEmptyArray$a(node.extends)) { + if (shouldIndentOnlyHeritageClauses) { + parts.push(group$k([...partsGroup, indent$f(extendsParts)])); + } else { + parts.push(group$k(indent$f([...partsGroup, ...extendsParts]))); + } + } else { + parts.push(...partsGroup, ...extendsParts); + } + + parts.push(" ", print("body")); + return group$k(parts); +} + +var _interface = { + printInterface: printInterface$2 +}; + +const { + isNonEmptyArray: isNonEmptyArray$9 +} = util$8; +const { + builders: { + softline: softline$f, + group: group$j, + indent: indent$e, + join: join$f, + line: line$i, + ifBreak: ifBreak$c, + hardline: hardline$n + } +} = require$$7$3; +const { + printDanglingComments: printDanglingComments$5 +} = comments$4; +const { + hasComment: hasComment$4, + CommentCheckFlags: CommentCheckFlags$4, + shouldPrintComma: shouldPrintComma$4, + needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$1 +} = utils$5; +const { + locStart: locStart$l, + hasSameLoc +} = loc$6; +const { + hasDecoratorsBeforeExport, + printDecoratorsBeforeExport +} = decorators; +/** + * @typedef {import("../../document").Doc} Doc + */ + +function printImportDeclaration$1(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + /** @type{Doc[]} */ + + const parts = []; + const { + importKind + } = node; + parts.push("import"); + + if (importKind && importKind !== "value") { + parts.push(" ", importKind); + } + + parts.push(printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); + return parts; +} + +function printExportDeclaration$2(path, options, print) { + const node = path.getValue(); + /** @type{Doc[]} */ + + const parts = []; // Only print decorators here if they were written before the export, + // otherwise they are printed by the node.declaration + + if (hasDecoratorsBeforeExport(node)) { + parts.push(printDecoratorsBeforeExport(path, options, print)); + } + + const { + type, + exportKind, + declaration + } = node; + parts.push("export"); + const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; + + if (isDefaultExport) { + parts.push(" default"); + } + + if (hasComment$4(node, CommentCheckFlags$4.Dangling)) { + parts.push(" ", printDanglingComments$5(path, options, + /* sameIndent */ + true)); + + if (needsHardlineAfterDanglingComment$1(node)) { + parts.push(hardline$n); + } + } + + if (declaration) { + parts.push(" ", print("declaration")); + } else { + parts.push(exportKind === "type" ? " type" : "", printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); + } + + if (shouldExportDeclarationPrintSemi(node, options)) { + parts.push(";"); + } + + return parts; +} + +function printExportAllDeclaration$2(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + /** @type{Doc[]} */ + + const parts = []; + const { + exportKind, + exported + } = node; + parts.push("export"); + + if (exportKind === "type") { + parts.push(" type"); + } + + parts.push(" *"); + + if (exported) { + parts.push(" as ", print("exported")); + } + + parts.push(printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); + return parts; +} + +function shouldExportDeclarationPrintSemi(node, options) { + if (!options.semi) { + return false; + } + + const { + type, + declaration + } = node; + const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; + + if (!declaration) { + return true; + } + + const { + type: declarationType + } = declaration; + + if (isDefaultExport && declarationType !== "ClassDeclaration" && declarationType !== "FunctionDeclaration" && declarationType !== "TSInterfaceDeclaration" && declarationType !== "DeclareClass" && declarationType !== "DeclareFunction" && declarationType !== "TSDeclareFunction" && declarationType !== "EnumDeclaration") { + return true; + } + + return false; +} + +function printModuleSource(path, options, print) { + const node = path.getValue(); + + if (!node.source) { + return ""; + } + /** @type{Doc[]} */ + + + const parts = []; + + if (!shouldNotPrintSpecifiers(node, options)) { + parts.push(" from"); + } + + parts.push(" ", print("source")); + return parts; +} + +function printModuleSpecifiers(path, options, print) { + const node = path.getValue(); + + if (shouldNotPrintSpecifiers(node, options)) { + return ""; + } + /** @type{Doc[]} */ + + + const parts = [" "]; + + if (isNonEmptyArray$9(node.specifiers)) { + const standaloneSpecifiers = []; + const groupedSpecifiers = []; + path.each(() => { + const specifierType = path.getValue().type; + + if (specifierType === "ExportNamespaceSpecifier" || specifierType === "ExportDefaultSpecifier" || specifierType === "ImportNamespaceSpecifier" || specifierType === "ImportDefaultSpecifier") { + standaloneSpecifiers.push(print()); + } else if (specifierType === "ExportSpecifier" || specifierType === "ImportSpecifier") { + groupedSpecifiers.push(print()); + } else { + /* istanbul ignore next */ + throw new Error(`Unknown specifier type ${JSON.stringify(specifierType)}`); + } + }, "specifiers"); + parts.push(join$f(", ", standaloneSpecifiers)); + + if (groupedSpecifiers.length > 0) { + if (standaloneSpecifiers.length > 0) { + parts.push(", "); + } + + const canBreak = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some(node => hasComment$4(node)); + + if (canBreak) { + parts.push(group$j(["{", indent$e([options.bracketSpacing ? line$i : softline$f, join$f([",", line$i], groupedSpecifiers)]), ifBreak$c(shouldPrintComma$4(options) ? "," : ""), options.bracketSpacing ? line$i : softline$f, "}"])); + } else { + parts.push(["{", options.bracketSpacing ? " " : "", ...groupedSpecifiers, options.bracketSpacing ? " " : "", "}"]); + } + } + } else { + parts.push("{}"); + } + + return parts; +} + +function shouldNotPrintSpecifiers(node, options) { + const { + type, + importKind, + source, + specifiers + } = node; + + if (type !== "ImportDeclaration" || isNonEmptyArray$9(specifiers) || importKind === "type") { + return false; + } // TODO: check tokens + + + return !/{\s*}/.test(options.originalText.slice(locStart$l(node), locStart$l(source))); +} + +function printImportAssertions(path, options, print) { + const node = path.getNode(); + + if (isNonEmptyArray$9(node.assertions)) { + return [" assert {", options.bracketSpacing ? " " : "", join$f(", ", path.map(print, "assertions")), options.bracketSpacing ? " " : "", "}"]; + } + + return ""; +} + +function printModuleSpecifier$1(path, options, print) { + const node = path.getNode(); + const { + type + } = node; + /** @type {Doc[]} */ + + const parts = []; + /** @type {"type" | "typeof" | "value"} */ + + const kind = type === "ImportSpecifier" ? node.importKind : node.exportKind; + + if (kind && kind !== "value") { + parts.push(kind, " "); + } + + const isImport = type.startsWith("Import"); + const leftSideProperty = isImport ? "imported" : "local"; + const rightSideProperty = isImport ? "local" : "exported"; + let left = ""; + let right = ""; + + if (type === "ExportNamespaceSpecifier" || type === "ImportNamespaceSpecifier") { + left = "*"; + } else if (node[leftSideProperty]) { + left = print(leftSideProperty); + } + + if (node[rightSideProperty] && (!node[leftSideProperty] || // import {a as a} from '.' + !hasSameLoc(node[leftSideProperty], node[rightSideProperty]))) { + right = print(rightSideProperty); + } + + parts.push(left, left && right ? " as " : "", right); + return parts; +} + +var module$1 = { + printImportDeclaration: printImportDeclaration$1, + printExportDeclaration: printExportDeclaration$2, + printExportAllDeclaration: printExportAllDeclaration$2, + printModuleSpecifier: printModuleSpecifier$1 +}; + +const { + printDanglingComments: printDanglingComments$4 +} = comments$4; +const { + builders: { + line: line$h, + softline: softline$e, + group: group$i, + indent: indent$d, + ifBreak: ifBreak$b, + hardline: hardline$m + } +} = require$$7$3; +const { + getLast: getLast$a, + hasNewlineInRange: hasNewlineInRange$2, + hasNewline: hasNewline$3, + isNonEmptyArray: isNonEmptyArray$8 +} = util$8; +const { + shouldPrintComma: shouldPrintComma$3, + hasComment: hasComment$3, + getComments: getComments$1, + CommentCheckFlags: CommentCheckFlags$3, + isNextLineEmpty: isNextLineEmpty$7 +} = utils$5; +const { + locStart: locStart$k, + locEnd: locEnd$j +} = loc$6; +const { + printOptionalToken: printOptionalToken$3, + printTypeAnnotation: printTypeAnnotation$2 +} = misc$1; +const { + shouldHugFunctionParameters +} = functionParameters; +const { + shouldHugType +} = typeAnnotation; +const { + printHardlineAfterHeritage: printHardlineAfterHeritage$1 +} = _class; +/** @typedef {import("../../document").Doc} Doc */ + +function printObject$3(path, options, print) { + const semi = options.semi ? ";" : ""; + const node = path.getValue(); + let propertiesField; + + if (node.type === "TSTypeLiteral") { + propertiesField = "members"; + } else if (node.type === "TSInterfaceBody") { + propertiesField = "body"; + } else { + propertiesField = "properties"; + } + + const isTypeAnnotation = node.type === "ObjectTypeAnnotation"; + const fields = [propertiesField]; + + if (isTypeAnnotation) { + fields.push("indexers", "callProperties", "internalSlots"); + } + + const firstProperty = fields.map(field => node[field][0]).sort((a, b) => locStart$k(a) - locStart$k(b))[0]; + const parent = path.getParentNode(0); + const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass") && path.getName() === "body"; + const shouldBreak = node.type === "TSInterfaceBody" || isFlowInterfaceLikeBody || node.type === "ObjectPattern" && parent.type !== "FunctionDeclaration" && parent.type !== "FunctionExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "ObjectMethod" && parent.type !== "ClassMethod" && parent.type !== "ClassPrivateMethod" && parent.type !== "AssignmentPattern" && parent.type !== "CatchClause" && node.properties.some(property => property.value && (property.value.type === "ObjectPattern" || property.value.type === "ArrayPattern")) || node.type !== "ObjectPattern" && firstProperty && hasNewlineInRange$2(options.originalText, locStart$k(node), locStart$k(firstProperty)); + const separator = isFlowInterfaceLikeBody ? ";" : node.type === "TSInterfaceBody" || node.type === "TSTypeLiteral" ? ifBreak$b(semi, ";") : ","; + const leftBrace = node.type === "RecordExpression" ? "#{" : node.exact ? "{|" : "{"; + const rightBrace = node.exact ? "|}" : "}"; // Unfortunately, things are grouped together in the ast can be + // interleaved in the source code. So we need to reorder them before + // printing them. + + const propsAndLoc = []; + + for (const field of fields) { + path.each(childPath => { + const node = childPath.getValue(); + propsAndLoc.push({ + node, + printed: print(), + loc: locStart$k(node) + }); + }, field); + } + + if (fields.length > 1) { + propsAndLoc.sort((a, b) => a.loc - b.loc); + } + /** @type {Doc[]} */ + + + let separatorParts = []; + const props = propsAndLoc.map(prop => { + const result = [...separatorParts, group$i(prop.printed)]; + separatorParts = [separator, line$h]; + + if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration") && hasComment$3(prop.node, CommentCheckFlags$3.PrettierIgnore)) { + separatorParts.shift(); + } + + if (isNextLineEmpty$7(prop.node, options)) { + separatorParts.push(hardline$m); + } + + return result; + }); + + if (node.inexact) { + let printed; + + if (hasComment$3(node, CommentCheckFlags$3.Dangling)) { + const hasLineComments = hasComment$3(node, CommentCheckFlags$3.Line); + const printedDanglingComments = printDanglingComments$4(path, options, + /* sameIndent */ + true); + printed = [printedDanglingComments, hasLineComments || hasNewline$3(options.originalText, locEnd$j(getLast$a(getComments$1(node)))) ? hardline$m : line$h, "..."]; + } else { + printed = ["..."]; + } + + props.push([...separatorParts, ...printed]); + } + + const lastElem = getLast$a(node[propertiesField]); + const canHaveTrailingSeparator = !(node.inexact || lastElem && lastElem.type === "RestElement" || lastElem && (lastElem.type === "TSPropertySignature" || lastElem.type === "TSCallSignatureDeclaration" || lastElem.type === "TSMethodSignature" || lastElem.type === "TSConstructSignatureDeclaration") && hasComment$3(lastElem, CommentCheckFlags$3.PrettierIgnore)); + let content; + + if (props.length === 0) { + if (!hasComment$3(node, CommentCheckFlags$3.Dangling)) { + return [leftBrace, rightBrace, printTypeAnnotation$2(path, options, print)]; + } + + content = group$i([leftBrace, printDanglingComments$4(path, options), softline$e, rightBrace, printOptionalToken$3(path), printTypeAnnotation$2(path, options, print)]); + } else { + content = [isFlowInterfaceLikeBody && isNonEmptyArray$8(node.properties) ? printHardlineAfterHeritage$1(parent) : "", leftBrace, indent$d([options.bracketSpacing ? line$h : softline$e, ...props]), ifBreak$b(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma$3(options)) ? separator : ""), options.bracketSpacing ? line$h : softline$e, rightBrace, printOptionalToken$3(path), printTypeAnnotation$2(path, options, print)]; + } // If we inline the object as first argument of the parent, we don't want + // to create another group so that the object breaks before the return + // type + + + if (path.match(node => node.type === "ObjectPattern" && !node.decorators, (node, name, number) => shouldHugFunctionParameters(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || path.match(shouldHugType, (node, name) => name === "typeAnnotation", (node, name) => name === "typeAnnotation", (node, name, number) => shouldHugFunctionParameters(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || // Assignment printing logic (printAssignment) is responsible + // for adding a group if needed + !shouldBreak && path.match(node => node.type === "ObjectPattern", node => node.type === "AssignmentExpression" || node.type === "VariableDeclarator")) { + return content; + } + + return group$i(content, { + shouldBreak + }); +} + +var object$1 = { + printObject: printObject$3 +}; + +/** @typedef {import("../../document").Doc} Doc */ + + +const assert$1 = require$$0__default$3["default"]; +const { + printDanglingComments: printDanglingComments$3 +} = comments$4; +const { + printString: printString$2, + printNumber: printNumber$2 +} = util$8; +const { + builders: { + hardline: hardline$l, + softline: softline$d, + group: group$h, + indent: indent$c + } +} = require$$7$3; +const { + getParentExportDeclaration, + isFunctionNotation, + isGetterOrSetter, + rawText: rawText$1, + shouldPrintComma: shouldPrintComma$2 +} = utils$5; +const { + locStart: locStart$j, + locEnd: locEnd$i +} = loc$6; +const { + printClass: printClass$1 +} = _class; +const { + printOpaqueType, + printTypeAlias: printTypeAlias$1, + printIntersectionType: printIntersectionType$1, + printUnionType: printUnionType$1, + printFunctionType: printFunctionType$1, + printTupleType: printTupleType$1, + printIndexedAccessType: printIndexedAccessType$1 +} = typeAnnotation; +const { + printInterface: printInterface$1 +} = _interface; +const { + printTypeParameter: printTypeParameter$1, + printTypeParameters: printTypeParameters$1 +} = typeParameters; +const { + printExportDeclaration: printExportDeclaration$1, + printExportAllDeclaration: printExportAllDeclaration$1 +} = module$1; +const { + printArrayItems: printArrayItems$1 +} = array; +const { + printObject: printObject$2 +} = object$1; +const { + printPropertyKey: printPropertyKey$1 +} = property; +const { + printOptionalToken: printOptionalToken$2, + printTypeAnnotation: printTypeAnnotation$1, + printRestSpread: printRestSpread$1 +} = misc$1; + +function printFlow$1(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + /** @type{Doc[]} */ + + const parts = []; + + switch (node.type) { + case "DeclareClass": + return printFlowDeclaration(path, printClass$1(path, options, print)); + + case "DeclareFunction": + return printFlowDeclaration(path, ["function ", print("id"), node.predicate ? " " : "", print("predicate"), semi]); + + case "DeclareModule": + return printFlowDeclaration(path, ["module ", print("id"), " ", print("body")]); + + case "DeclareModuleExports": + return printFlowDeclaration(path, ["module.exports", ": ", print("typeAnnotation"), semi]); + + case "DeclareVariable": + return printFlowDeclaration(path, ["var ", print("id"), semi]); + + case "DeclareOpaqueType": + return printFlowDeclaration(path, printOpaqueType(path, options, print)); + + case "DeclareInterface": + return printFlowDeclaration(path, printInterface$1(path, options, print)); + + case "DeclareTypeAlias": + return printFlowDeclaration(path, printTypeAlias$1(path, options, print)); + + case "DeclareExportDeclaration": + return printFlowDeclaration(path, printExportDeclaration$1(path, options, print)); + + case "DeclareExportAllDeclaration": + return printFlowDeclaration(path, printExportAllDeclaration$1(path, options, print)); + + case "OpaqueType": + return printOpaqueType(path, options, print); + + case "TypeAlias": + return printTypeAlias$1(path, options, print); + + case "IntersectionTypeAnnotation": + return printIntersectionType$1(path, options, print); + + case "UnionTypeAnnotation": + return printUnionType$1(path, options, print); + + case "FunctionTypeAnnotation": + return printFunctionType$1(path, options, print); + + case "TupleTypeAnnotation": + return printTupleType$1(path, options, print); + + case "GenericTypeAnnotation": + return [print("id"), printTypeParameters$1(path, options, print, "typeParameters")]; + + case "IndexedAccessType": + case "OptionalIndexedAccessType": + return printIndexedAccessType$1(path, options, print); + // Type Annotations for Facebook Flow, typically stripped out or + // transformed away before printing. + + case "TypeAnnotation": + return print("typeAnnotation"); + + case "TypeParameter": + return printTypeParameter$1(path, options, print); + + case "TypeofTypeAnnotation": + return ["typeof ", print("argument")]; + + case "ExistsTypeAnnotation": + return "*"; + + case "EmptyTypeAnnotation": + return "empty"; + + case "MixedTypeAnnotation": + return "mixed"; + + case "ArrayTypeAnnotation": + return [print("elementType"), "[]"]; + + case "BooleanLiteralTypeAnnotation": + return String(node.value); + + case "EnumDeclaration": + return ["enum ", print("id"), " ", print("body")]; + + case "EnumBooleanBody": + case "EnumNumberBody": + case "EnumStringBody": + case "EnumSymbolBody": + { + if (node.type === "EnumSymbolBody" || node.explicitType) { + let type = null; + + switch (node.type) { + case "EnumBooleanBody": + type = "boolean"; + break; + + case "EnumNumberBody": + type = "number"; + break; + + case "EnumStringBody": + type = "string"; + break; + + case "EnumSymbolBody": + type = "symbol"; + break; + } + + parts.push("of ", type, " "); + } + + if (node.members.length === 0 && !node.hasUnknownMembers) { + parts.push(group$h(["{", printDanglingComments$3(path, options), softline$d, "}"])); + } else { + const members = node.members.length > 0 ? [hardline$l, printArrayItems$1(path, options, "members", print), node.hasUnknownMembers || shouldPrintComma$2(options) ? "," : ""] : []; + parts.push(group$h(["{", indent$c([...members, ...(node.hasUnknownMembers ? [hardline$l, "..."] : [])]), printDanglingComments$3(path, options, + /* sameIndent */ + true), hardline$l, "}"])); + } + + return parts; + } + + case "EnumBooleanMember": + case "EnumNumberMember": + case "EnumStringMember": + return [print("id"), " = ", typeof node.init === "object" ? print("init") : String(node.init)]; + + case "EnumDefaultedMember": + return print("id"); + + case "FunctionTypeParam": + { + const name = node.name ? print("name") : path.getParentNode().this === node ? "this" : ""; + return [name, printOptionalToken$2(path), name ? ": " : "", print("typeAnnotation")]; + } + + case "InterfaceDeclaration": + case "InterfaceTypeAnnotation": + return printInterface$1(path, options, print); + + case "ClassImplements": + case "InterfaceExtends": + return [print("id"), print("typeParameters")]; + + case "NullableTypeAnnotation": + return ["?", print("typeAnnotation")]; + + case "Variance": + { + const { + kind + } = node; + assert$1.ok(kind === "plus" || kind === "minus"); + return kind === "plus" ? "+" : "-"; + } + + case "ObjectTypeCallProperty": + if (node.static) { + parts.push("static "); + } + + parts.push(print("value")); + return parts; + + case "ObjectTypeIndexer": + { + return [node.variance ? print("variance") : "", "[", print("id"), node.id ? ": " : "", print("key"), "]: ", print("value")]; + } + + case "ObjectTypeProperty": + { + let modifier = ""; + + if (node.proto) { + modifier = "proto "; + } else if (node.static) { + modifier = "static "; + } + + return [modifier, isGetterOrSetter(node) ? node.kind + " " : "", node.variance ? print("variance") : "", printPropertyKey$1(path, options, print), printOptionalToken$2(path), isFunctionNotation(node) ? "" : ": ", print("value")]; + } + + case "ObjectTypeAnnotation": + return printObject$2(path, options, print); + + case "ObjectTypeInternalSlot": + return [node.static ? "static " : "", "[[", print("id"), "]]", printOptionalToken$2(path), node.method ? "" : ": ", print("value")]; + // Same as `RestElement` + + case "ObjectTypeSpreadProperty": + return printRestSpread$1(path, options, print); + + case "QualifiedTypeIdentifier": + return [print("qualification"), ".", print("id")]; + + case "StringLiteralTypeAnnotation": + return printString$2(rawText$1(node), options); + + case "NumberLiteralTypeAnnotation": + assert$1.strictEqual(typeof node.value, "number"); + // fall through + + case "BigIntLiteralTypeAnnotation": + if (node.extra) { + return printNumber$2(node.extra.raw); + } + + return printNumber$2(node.raw); + + case "TypeCastExpression": + { + return ["(", print("expression"), printTypeAnnotation$1(path, options, print), ")"]; + } + + case "TypeParameterDeclaration": + case "TypeParameterInstantiation": + { + const printed = printTypeParameters$1(path, options, print, "params"); + + if (options.parser === "flow") { + const start = locStart$j(node); + const end = locEnd$i(node); + const commentStartIndex = options.originalText.lastIndexOf("/*", start); + const commentEndIndex = options.originalText.indexOf("*/", end); + + if (commentStartIndex !== -1 && commentEndIndex !== -1) { + const comment = options.originalText.slice(commentStartIndex + 2, commentEndIndex).trim(); + + if (comment.startsWith("::") && !comment.includes("/*") && !comment.includes("*/")) { + return ["/*:: ", printed, " */"]; + } + } + } + + return printed; + } + + case "InferredPredicate": + return "%checks"; + // Unhandled types below. If encountered, nodes of these types should + // be either left alone or desugared into AST types that are fully + // supported by the pretty-printer. + + case "DeclaredPredicate": + return ["%checks(", print("value"), ")"]; + + case "AnyTypeAnnotation": + return "any"; + + case "BooleanTypeAnnotation": + return "boolean"; + + case "BigIntTypeAnnotation": + return "bigint"; + + case "NullLiteralTypeAnnotation": + return "null"; + + case "NumberTypeAnnotation": + return "number"; + + case "SymbolTypeAnnotation": + return "symbol"; + + case "StringTypeAnnotation": + return "string"; + + case "VoidTypeAnnotation": + return "void"; + + case "ThisTypeAnnotation": + return "this"; + // These types are unprintable because they serve as abstract + // supertypes for other (printable) types. + + case "Node": + case "Printable": + case "SourceLocation": + case "Position": + case "Statement": + case "Function": + case "Pattern": + case "Expression": + case "Declaration": + case "Specifier": + case "NamedSpecifier": + case "Comment": + case "MemberTypeAnnotation": // Flow + + case "Type": + /* istanbul ignore next */ + throw new Error("unprintable type: " + JSON.stringify(node.type)); + } +} + +function printFlowDeclaration(path, printed) { + const parentExportDecl = getParentExportDeclaration(path); + + if (parentExportDecl) { + assert$1.strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); + return printed; + } // If the parent node has type DeclareExportDeclaration, then it + // will be responsible for printing the "declare" token. Otherwise + // it needs to be printed with this non-exported declaration node. + + + return ["declare ", printed]; +} + +var flow = { + printFlow: printFlow$1 +}; + +const { + hasNewlineInRange: hasNewlineInRange$1 +} = util$8; +const { + isJsxNode: isJsxNode$1, + isBlockComment: isBlockComment$2, + getComments, + isCallExpression: isCallExpression$2, + isMemberExpression: isMemberExpression$2 +} = utils$5; +const { + locStart: locStart$i, + locEnd: locEnd$h +} = loc$6; +const { + builders: { + line: line$g, + softline: softline$c, + group: group$g, + indent: indent$b, + align: align$2, + ifBreak: ifBreak$a, + dedent: dedent$3, + breakParent: breakParent$6 + } +} = require$$7$3; +/** + * @typedef {import("../../document").Doc} Doc + * @typedef {import("../../common/ast-path")} AstPath + * + * @typedef {any} Options - Prettier options (TBD ...) + */ +// If we have nested conditional expressions, we want to print them in JSX mode +// if there's at least one JSXElement somewhere in the tree. +// +// A conditional expression chain like this should be printed in normal mode, +// because there aren't JSXElements anywhere in it: +// +// isA ? "A" : isB ? "B" : isC ? "C" : "Unknown"; +// +// But a conditional expression chain like this should be printed in JSX mode, +// because there is a JSXElement in the last ConditionalExpression: +// +// isA ? "A" : isB ? "B" : isC ? "C" : Unknown; +// +// This type of ConditionalExpression chain is structured like this in the AST: +// +// ConditionalExpression { +// test: ..., +// consequent: ..., +// alternate: ConditionalExpression { +// test: ..., +// consequent: ..., +// alternate: ConditionalExpression { +// test: ..., +// consequent: ..., +// alternate: ..., +// } +// } +// } + +function conditionalExpressionChainContainsJsx(node) { + // Given this code: + // + // // Using a ConditionalExpression as the consequent is uncommon, but should + // // be handled. + // A ? B : C ? D : E ? F ? G : H : I + // + // which has this AST: + // + // ConditionalExpression { + // test: Identifier(A), + // consequent: Identifier(B), + // alternate: ConditionalExpression { + // test: Identifier(C), + // consequent: Identifier(D), + // alternate: ConditionalExpression { + // test: Identifier(E), + // consequent: ConditionalExpression { + // test: Identifier(F), + // consequent: Identifier(G), + // alternate: Identifier(H), + // }, + // alternate: Identifier(I), + // } + // } + // } + // + // We don't care about whether each node was the test, consequent, or alternate + // We are only checking if there's any JSXElements inside. + const conditionalExpressions = [node]; + + for (let index = 0; index < conditionalExpressions.length; index++) { + const conditionalExpression = conditionalExpressions[index]; + + for (const property of ["test", "consequent", "alternate"]) { + const node = conditionalExpression[property]; + + if (isJsxNode$1(node)) { + return true; + } + + if (node.type === "ConditionalExpression") { + conditionalExpressions.push(node); + } + } + } + + return false; +} + +function printTernaryTest(path, options, print) { + const node = path.getValue(); + const isConditionalExpression = node.type === "ConditionalExpression"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const parent = path.getParentNode(); + const printed = isConditionalExpression ? print("test") : [print("checkType"), " ", "extends", " ", print("extendsType")]; + /** + * a + * ? b + * : multiline + * test + * node + * ^^ align(2) + * ? d + * : e + */ + + if (parent.type === node.type && parent[alternateNodePropertyName] === node) { + return align$2(2, printed); + } + + return printed; +} + +const ancestorNameMap = new Map([["AssignmentExpression", "right"], ["VariableDeclarator", "init"], ["ReturnStatement", "argument"], ["ThrowStatement", "argument"], ["UnaryExpression", "argument"], ["YieldExpression", "argument"]]); + +function shouldExtraIndentForConditionalExpression(path) { + const node = path.getValue(); + + if (node.type !== "ConditionalExpression") { + return false; + } + + let parent; + let child = node; + + for (let ancestorCount = 0; !parent; ancestorCount++) { + const node = path.getParentNode(ancestorCount); + + if (isCallExpression$2(node) && node.callee === child || isMemberExpression$2(node) && node.object === child || node.type === "TSNonNullExpression" && node.expression === child) { + child = node; + continue; + } // Reached chain root + + + if (node.type === "NewExpression" && node.callee === child || node.type === "TSAsExpression" && node.expression === child) { + parent = path.getParentNode(ancestorCount + 1); + child = node; + } else { + parent = node; + } + } // Do not add indent to direct `ConditionalExpression` + + + if (child === node) { + return false; + } + + return parent[ancestorNameMap.get(parent.type)] === child; +} +/** + * The following is the shared logic for + * ternary operators, namely ConditionalExpression + * and TSConditionalType + * @param {AstPath} path - The path to the ConditionalExpression/TSConditionalType node. + * @param {Options} options - Prettier options + * @param {Function} print - Print function to call recursively + * @returns {Doc} + */ + + +function printTernary$2(path, options, print) { + const node = path.getValue(); + const isConditionalExpression = node.type === "ConditionalExpression"; + const consequentNodePropertyName = isConditionalExpression ? "consequent" : "trueType"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const testNodePropertyNames = isConditionalExpression ? ["test"] : ["checkType", "extendsType"]; + const consequentNode = node[consequentNodePropertyName]; + const alternateNode = node[alternateNodePropertyName]; + const parts = []; // We print a ConditionalExpression in either "JSX mode" or "normal mode". + // See `tests/format/jsx/conditional-expression.js` for more info. + + let jsxMode = false; + const parent = path.getParentNode(); + const isParentTest = parent.type === node.type && testNodePropertyNames.some(prop => parent[prop] === node); + let forceNoIndent = parent.type === node.type && !isParentTest; // Find the outermost non-ConditionalExpression parent, and the outermost + // ConditionalExpression parent. We'll use these to determine if we should + // print in JSX mode. + + let currentParent; + let previousParent; + let i = 0; + + do { + previousParent = currentParent || node; + currentParent = path.getParentNode(i); + i++; + } while (currentParent && currentParent.type === node.type && testNodePropertyNames.every(prop => currentParent[prop] !== previousParent)); + + const firstNonConditionalParent = currentParent || parent; + const lastConditionalParent = previousParent; + + if (isConditionalExpression && (isJsxNode$1(node[testNodePropertyNames[0]]) || isJsxNode$1(consequentNode) || isJsxNode$1(alternateNode) || conditionalExpressionChainContainsJsx(lastConditionalParent))) { + jsxMode = true; + forceNoIndent = true; // Even though they don't need parens, we wrap (almost) everything in + // parens when using ?: within JSX, because the parens are analogous to + // curly braces in an if statement. + + const wrap = doc => [ifBreak$a("("), indent$b([softline$c, doc]), softline$c, ifBreak$a(")")]; // The only things we don't wrap are: + // * Nested conditional expressions in alternates + // * null + // * undefined + + + const isNil = node => node.type === "NullLiteral" || node.type === "Literal" && node.value === null || node.type === "Identifier" && node.name === "undefined"; + + parts.push(" ? ", isNil(consequentNode) ? print(consequentNodePropertyName) : wrap(print(consequentNodePropertyName)), " : ", alternateNode.type === node.type || isNil(alternateNode) ? print(alternateNodePropertyName) : wrap(print(alternateNodePropertyName))); + } else { + // normal mode + const part = [line$g, "? ", consequentNode.type === node.type ? ifBreak$a("", "(") : "", align$2(2, print(consequentNodePropertyName)), consequentNode.type === node.type ? ifBreak$a("", ")") : "", line$g, ": ", alternateNode.type === node.type ? print(alternateNodePropertyName) : align$2(2, print(alternateNodePropertyName))]; + parts.push(parent.type !== node.type || parent[alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent$3(indent$b(part)) : align$2(Math.max(0, options.tabWidth - 2), part)); + } // We want a whole chain of ConditionalExpressions to all + // break if any of them break. That means we should only group around the + // outer-most ConditionalExpression. + + + const comments = [...testNodePropertyNames.map(propertyName => getComments(node[propertyName])), getComments(consequentNode), getComments(alternateNode)].flat(); + const shouldBreak = comments.some(comment => isBlockComment$2(comment) && hasNewlineInRange$1(options.originalText, locStart$i(comment), locEnd$h(comment))); + + const maybeGroup = doc => parent === firstNonConditionalParent ? group$g(doc, { + shouldBreak + }) : shouldBreak ? [doc, breakParent$6] : doc; // Break the closing paren to keep the chain right after it: + // (a + // ? b + // : c + // ).call() + + + const breakClosingParen = !jsxMode && (isMemberExpression$2(parent) || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; + const shouldExtraIndent = shouldExtraIndentForConditionalExpression(path); + const result = maybeGroup([printTernaryTest(path, options, print), forceNoIndent ? parts : indent$b(parts), isConditionalExpression && breakClosingParen && !shouldExtraIndent ? softline$c : ""]); + return isParentTest || shouldExtraIndent ? group$g([indent$b([softline$c, result]), softline$c]) : result; +} + +var ternary = { + printTernary: printTernary$2 +}; + +const { + builders: { + hardline: hardline$k + } +} = require$$7$3; +const pathNeedsParens$1 = needsParens_1; +const { + getLeftSidePathName, + hasNakedLeftSide, + isJsxNode, + isTheOnlyJsxElementInMarkdown: isTheOnlyJsxElementInMarkdown$1, + hasComment: hasComment$2, + CommentCheckFlags: CommentCheckFlags$2, + isNextLineEmpty: isNextLineEmpty$6 +} = utils$5; +const { + shouldPrintParamsWithoutParens +} = _function; +/** + * @typedef {import("../../document").Doc} Doc + * @typedef {import("../../common/ast-path")} AstPath + */ + +function printStatementSequence(path, options, print, property) { + const node = path.getValue(); + const parts = []; + const isClassBody = node.type === "ClassBody"; + const lastStatement = getLastStatement(node[property]); + path.each((path, index, statements) => { + const node = path.getValue(); // Skip printing EmptyStatement nodes to avoid leaving stray + // semicolons lying around. + + if (node.type === "EmptyStatement") { + return; + } + + const printed = print(); // in no-semi mode, prepend statement with semicolon if it might break ASI + // don't prepend the only JSX element in a program with semicolon + + if (!options.semi && !isClassBody && !isTheOnlyJsxElementInMarkdown$1(options, path) && statementNeedsASIProtection(path, options)) { + if (hasComment$2(node, CommentCheckFlags$2.Leading)) { + parts.push(print([], { + needsSemi: true + })); + } else { + parts.push(";", printed); + } + } else { + parts.push(printed); + } + + if (!options.semi && isClassBody && isClassProperty(node) && // `ClassBody` don't allow `EmptyStatement`, + // so we can use `statements` to get next node + shouldPrintSemicolonAfterClassProperty(node, statements[index + 1])) { + parts.push(";"); + } + + if (node !== lastStatement) { + parts.push(hardline$k); + + if (isNextLineEmpty$6(node, options)) { + parts.push(hardline$k); + } + } + }, property); + return parts; +} + +function getLastStatement(statements) { + for (let i = statements.length - 1; i >= 0; i--) { + const statement = statements[i]; + + if (statement.type !== "EmptyStatement") { + return statement; + } + } +} + +function statementNeedsASIProtection(path, options) { + const node = path.getNode(); + + if (node.type !== "ExpressionStatement") { + return false; + } + + return path.call(childPath => expressionNeedsASIProtection(childPath, options), "expression"); +} + +function expressionNeedsASIProtection(path, options) { + const node = path.getValue(); + + switch (node.type) { + case "ParenthesizedExpression": + case "TypeCastExpression": + case "ArrayExpression": + case "ArrayPattern": + case "TemplateLiteral": + case "TemplateElement": + case "RegExpLiteral": + return true; + + case "ArrowFunctionExpression": + { + if (!shouldPrintParamsWithoutParens(path, options)) { + return true; + } + + break; + } + + case "UnaryExpression": + { + const { + prefix, + operator + } = node; + + if (prefix && (operator === "+" || operator === "-")) { + return true; + } + + break; + } + + case "BindExpression": + { + if (!node.object) { + return true; + } + + break; + } + + case "Literal": + { + if (node.regex) { + return true; + } + + break; + } + + default: + { + if (isJsxNode(node)) { + return true; + } + } + } + + if (pathNeedsParens$1(path, options)) { + return true; + } + + if (!hasNakedLeftSide(node)) { + return false; + } + + return path.call(childPath => expressionNeedsASIProtection(childPath, options), ...getLeftSidePathName(path, node)); +} + +function printBody$1(path, options, print) { + return printStatementSequence(path, options, print, "body"); +} + +function printSwitchCaseConsequent$1(path, options, print) { + return printStatementSequence(path, options, print, "consequent"); +} + +const isClassProperty = ({ + type +}) => type === "ClassProperty" || type === "PropertyDefinition" || type === "ClassPrivateProperty"; +/** + * @returns {boolean} + */ + + +function shouldPrintSemicolonAfterClassProperty(node, nextNode) { + const name = node.key && node.key.name; // this isn't actually possible yet with most parsers available today + // so isn't properly tested yet. + + if ((name === "static" || name === "get" || name === "set") && !node.value && !node.typeAnnotation) { + return true; + } + + if (!nextNode) { + return false; + } + + if (nextNode.static || nextNode.accessibility // TypeScript + ) { + return false; + } + + if (!nextNode.computed) { + const name = nextNode.key && nextNode.key.name; + + if (name === "in" || name === "instanceof") { + return true; + } + } // Flow variance sigil +/- requires semi if there's no + // "declare" or "static" keyword before it. + + + if (isClassProperty(nextNode) && nextNode.variance && !nextNode.static && !nextNode.declare) { + return true; + } + + switch (nextNode.type) { + case "ClassProperty": + case "PropertyDefinition": + case "TSAbstractPropertyDefinition": + return nextNode.computed; + + case "MethodDefinition": // Flow + + case "TSAbstractMethodDefinition": // TypeScript + + case "ClassMethod": + case "ClassPrivateMethod": + { + // Babel + const isAsync = nextNode.value ? nextNode.value.async : nextNode.async; + + if (isAsync || nextNode.kind === "get" || nextNode.kind === "set") { + return false; + } + + const isGenerator = nextNode.value ? nextNode.value.generator : nextNode.generator; + + if (nextNode.computed || isGenerator) { + return true; + } + + return false; + } + + case "TSIndexSignature": + return true; + } + /* istanbul ignore next */ + + + return false; +} + +var statement = { + printBody: printBody$1, + printSwitchCaseConsequent: printSwitchCaseConsequent$1 +}; + +const { + printDanglingComments: printDanglingComments$2 +} = comments$4; +const { + isNonEmptyArray: isNonEmptyArray$7 +} = util$8; +const { + builders: { + hardline: hardline$j, + indent: indent$a + } +} = require$$7$3; +const { + hasComment: hasComment$1, + CommentCheckFlags: CommentCheckFlags$1, + isNextLineEmpty: isNextLineEmpty$5 +} = utils$5; +const { + printHardlineAfterHeritage +} = _class; +const { + printBody +} = statement; +/** @typedef {import("../../document").Doc} Doc */ + +function printBlock$4(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (node.type === "StaticBlock") { + parts.push("static "); + } + + if (node.type === "ClassBody" && isNonEmptyArray$7(node.body)) { + const parent = path.getParentNode(); + parts.push(printHardlineAfterHeritage(parent)); + } + + parts.push("{"); + const printed = printBlockBody$1(path, options, print); + + if (printed) { + parts.push(indent$a([hardline$j, printed]), hardline$j); + } else { + const parent = path.getParentNode(); + const parentParent = path.getParentNode(1); + + if (!(parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration" || parent.type === "TSDeclareFunction" || node.type === "StaticBlock" || node.type === "ClassBody")) { + parts.push(hardline$j); + } + } + + parts.push("}"); + return parts; +} + +function printBlockBody$1(path, options, print) { + const node = path.getValue(); + const nodeHasDirectives = isNonEmptyArray$7(node.directives); + const nodeHasBody = node.body.some(node => node.type !== "EmptyStatement"); + const nodeHasComment = hasComment$1(node, CommentCheckFlags$1.Dangling); + + if (!nodeHasDirectives && !nodeHasBody && !nodeHasComment) { + return ""; + } + + const parts = []; // Babel 6 + + if (nodeHasDirectives) { + path.each((childPath, index, directives) => { + parts.push(print()); + + if (index < directives.length - 1 || nodeHasBody || nodeHasComment) { + parts.push(hardline$j); + + if (isNextLineEmpty$5(childPath.getValue(), options)) { + parts.push(hardline$j); + } + } + }, "directives"); + } + + if (nodeHasBody) { + parts.push(printBody(path, options, print)); + } + + if (nodeHasComment) { + parts.push(printDanglingComments$2(path, options, + /* sameIndent */ + true)); + } + + if (node.type === "Program") { + const parent = path.getParentNode(); + + if (!parent || parent.type !== "ModuleExpression") { + parts.push(hardline$j); + } + } + + return parts; +} + +var block$1 = { + printBlock: printBlock$4, + printBlockBody: printBlockBody$1 +}; + +const { + printDanglingComments: printDanglingComments$1 +} = comments$4; +const { + hasNewlineInRange +} = util$8; +const { + builders: { + join: join$e, + line: line$f, + hardline: hardline$i, + softline: softline$b, + group: group$f, + indent: indent$9, + conditionalGroup: conditionalGroup$1, + ifBreak: ifBreak$9 + } +} = require$$7$3; +const { + isLiteral, + getTypeScriptMappedTypeModifier, + shouldPrintComma: shouldPrintComma$1, + isCallExpression: isCallExpression$1, + isMemberExpression: isMemberExpression$1 +} = utils$5; +const { + locStart: locStart$h, + locEnd: locEnd$g +} = loc$6; +const { + printOptionalToken: printOptionalToken$1, + printTypeScriptModifiers +} = misc$1; +const { + printTernary: printTernary$1 +} = ternary; +const { + printFunctionParameters, + shouldGroupFunctionParameters +} = functionParameters; +const { + printTemplateLiteral: printTemplateLiteral$1 +} = templateLiteral; +const { + printArrayItems +} = array; +const { + printObject: printObject$1 +} = object$1; +const { + printClassProperty: printClassProperty$1, + printClassMethod: printClassMethod$1 +} = _class; +const { + printTypeParameter, + printTypeParameters +} = typeParameters; +const { + printPropertyKey +} = property; +const { + printFunction: printFunction$1, + printMethodInternal +} = _function; +const { + printInterface +} = _interface; +const { + printBlock: printBlock$3 +} = block$1; +const { + printTypeAlias, + printIntersectionType, + printUnionType, + printFunctionType, + printTupleType, + printIndexedAccessType +} = typeAnnotation; + +function printTypescript$1(path, options, print) { + const node = path.getValue(); // TypeScript nodes always starts with `TS` + + if (!node.type.startsWith("TS")) { + return; + } + + if (node.type.endsWith("Keyword")) { + return node.type.slice(2, -7).toLowerCase(); + } + + const semi = options.semi ? ";" : ""; + const parts = []; + + switch (node.type) { + case "TSThisType": + return "this"; + + case "TSTypeAssertion": + { + const shouldBreakAfterCast = !(node.expression.type === "ArrayExpression" || node.expression.type === "ObjectExpression"); + const castGroup = group$f(["<", indent$9([softline$b, print("typeAnnotation")]), softline$b, ">"]); + const exprContents = [ifBreak$9("("), indent$9([softline$b, print("expression")]), softline$b, ifBreak$9(")")]; + + if (shouldBreakAfterCast) { + return conditionalGroup$1([[castGroup, print("expression")], [castGroup, group$f(exprContents, { + shouldBreak: true + })], [castGroup, print("expression")]]); + } + + return group$f([castGroup, print("expression")]); + } + + case "TSDeclareFunction": + return printFunction$1(path, print, options); + + case "TSExportAssignment": + return ["export = ", print("expression"), semi]; + + case "TSModuleBlock": + return printBlock$3(path, options, print); + + case "TSInterfaceBody": + case "TSTypeLiteral": + return printObject$1(path, options, print); + + case "TSTypeAliasDeclaration": + return printTypeAlias(path, options, print); + + case "TSQualifiedName": + return join$e(".", [print("left"), print("right")]); + + case "TSAbstractMethodDefinition": + case "TSDeclareMethod": + return printClassMethod$1(path, options, print); + + case "TSAbstractPropertyDefinition": + return printClassProperty$1(path, options, print); + + case "TSInterfaceHeritage": + case "TSExpressionWithTypeArguments": + // Babel AST + parts.push(print("expression")); + + if (node.typeParameters) { + parts.push(print("typeParameters")); + } + + return parts; + + case "TSTemplateLiteralType": + return printTemplateLiteral$1(path, print, options); + + case "TSNamedTupleMember": + return [print("label"), node.optional ? "?" : "", ": ", print("elementType")]; + + case "TSRestType": + return ["...", print("typeAnnotation")]; + + case "TSOptionalType": + return [print("typeAnnotation"), "?"]; + + case "TSInterfaceDeclaration": + return printInterface(path, options, print); + + case "TSClassImplements": + return [print("expression"), print("typeParameters")]; + + case "TSTypeParameterDeclaration": + case "TSTypeParameterInstantiation": + return printTypeParameters(path, options, print, "params"); + + case "TSTypeParameter": + return printTypeParameter(path, options, print); + + case "TSAsExpression": + { + parts.push(print("expression"), " as ", print("typeAnnotation")); + const parent = path.getParentNode(); + + if (isCallExpression$1(parent) && parent.callee === node || isMemberExpression$1(parent) && parent.object === node) { + return group$f([indent$9([softline$b, ...parts]), softline$b]); + } + + return parts; + } + + case "TSArrayType": + return [print("elementType"), "[]"]; + + case "TSPropertySignature": + { + if (node.readonly) { + parts.push("readonly "); + } + + parts.push(printPropertyKey(path, options, print), printOptionalToken$1(path)); + + if (node.typeAnnotation) { + parts.push(": ", print("typeAnnotation")); + } // This isn't valid semantically, but it's in the AST so we can print it. + + + if (node.initializer) { + parts.push(" = ", print("initializer")); + } + + return parts; + } + + case "TSParameterProperty": + if (node.accessibility) { + parts.push(node.accessibility + " "); + } + + if (node.export) { + parts.push("export "); + } + + if (node.static) { + parts.push("static "); + } + + if (node.override) { + parts.push("override "); + } + + if (node.readonly) { + parts.push("readonly "); + } + + parts.push(print("parameter")); + return parts; + + case "TSTypeQuery": + return ["typeof ", print("exprName")]; + + case "TSIndexSignature": + { + const parent = path.getParentNode(); // The typescript parser accepts multiple parameters here. If you're + // using them, it makes sense to have a trailing comma. But if you + // aren't, this is more like a computed property name than an array. + // So we leave off the trailing comma when there's just one parameter. + + const trailingComma = node.parameters.length > 1 ? ifBreak$9(shouldPrintComma$1(options) ? "," : "") : ""; + const parametersGroup = group$f([indent$9([softline$b, join$e([", ", softline$b], path.map(print, "parameters"))]), trailingComma, softline$b]); + return [node.export ? "export " : "", node.accessibility ? [node.accessibility, " "] : "", node.static ? "static " : "", node.readonly ? "readonly " : "", node.declare ? "declare " : "", "[", node.parameters ? parametersGroup : "", node.typeAnnotation ? "]: " : "]", node.typeAnnotation ? print("typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""]; + } + + case "TSTypePredicate": + return [node.asserts ? "asserts " : "", print("parameterName"), node.typeAnnotation ? [" is ", print("typeAnnotation")] : ""]; + + case "TSNonNullExpression": + return [print("expression"), "!"]; + + case "TSImportType": + return [!node.isTypeOf ? "" : "typeof ", "import(", print(node.parameter ? "parameter" : "argument"), ")", !node.qualifier ? "" : [".", print("qualifier")], printTypeParameters(path, options, print, "typeParameters")]; + + case "TSLiteralType": + return print("literal"); + + case "TSIndexedAccessType": + return printIndexedAccessType(path, options, print); + + case "TSConstructSignatureDeclaration": + case "TSCallSignatureDeclaration": + case "TSConstructorType": + { + if (node.type === "TSConstructorType" && node.abstract) { + parts.push("abstract "); + } + + if (node.type !== "TSCallSignatureDeclaration") { + parts.push("new "); + } + + parts.push(group$f(printFunctionParameters(path, print, options, + /* expandArg */ + false, + /* printTypeParams */ + true))); + + if (node.returnType || node.typeAnnotation) { + const isType = node.type === "TSConstructorType"; + parts.push(isType ? " => " : ": ", print("returnType"), print("typeAnnotation")); + } + + return parts; + } + + case "TSTypeOperator": + return [node.operator, " ", print("typeAnnotation")]; + + case "TSMappedType": + { + const shouldBreak = hasNewlineInRange(options.originalText, locStart$h(node), locEnd$g(node)); + return group$f(["{", indent$9([options.bracketSpacing ? line$f : softline$b, node.readonly ? [getTypeScriptMappedTypeModifier(node.readonly, "readonly"), " "] : "", printTypeScriptModifiers(path, options, print), print("typeParameter"), node.optional ? getTypeScriptMappedTypeModifier(node.optional, "?") : "", node.typeAnnotation ? ": " : "", print("typeAnnotation"), ifBreak$9(semi)]), printDanglingComments$1(path, options, + /* sameIndent */ + true), options.bracketSpacing ? line$f : softline$b, "}"], { + shouldBreak + }); + } + + case "TSMethodSignature": + { + const kind = node.kind && node.kind !== "method" ? `${node.kind} ` : ""; + parts.push(node.accessibility ? [node.accessibility, " "] : "", kind, node.export ? "export " : "", node.static ? "static " : "", node.readonly ? "readonly " : "", // "abstract" and "declare" are supported by only "babel-ts" + // https://github.com/prettier/prettier/issues/9760 + node.abstract ? "abstract " : "", node.declare ? "declare " : "", node.computed ? "[" : "", print("key"), node.computed ? "]" : "", printOptionalToken$1(path)); + const parametersDoc = printFunctionParameters(path, print, options, + /* expandArg */ + false, + /* printTypeParams */ + true); + const returnTypePropertyName = node.returnType ? "returnType" : "typeAnnotation"; + const returnTypeNode = node[returnTypePropertyName]; + const returnTypeDoc = returnTypeNode ? print(returnTypePropertyName) : ""; + const shouldGroupParameters = shouldGroupFunctionParameters(node, returnTypeDoc); + parts.push(shouldGroupParameters ? group$f(parametersDoc) : parametersDoc); + + if (returnTypeNode) { + parts.push(": ", group$f(returnTypeDoc)); + } + + return group$f(parts); + } + + case "TSNamespaceExportDeclaration": + parts.push("export as namespace ", print("id")); + + if (options.semi) { + parts.push(";"); + } + + return group$f(parts); + + case "TSEnumDeclaration": + if (node.declare) { + parts.push("declare "); + } + + if (node.modifiers) { + parts.push(printTypeScriptModifiers(path, options, print)); + } + + if (node.const) { + parts.push("const "); + } + + parts.push("enum ", print("id"), " "); + + if (node.members.length === 0) { + parts.push(group$f(["{", printDanglingComments$1(path, options), softline$b, "}"])); + } else { + parts.push(group$f(["{", indent$9([hardline$i, printArrayItems(path, options, "members", print), shouldPrintComma$1(options, "es5") ? "," : ""]), printDanglingComments$1(path, options, + /* sameIndent */ + true), hardline$i, "}"])); + } + + return parts; + + case "TSEnumMember": + parts.push(print("id")); + + if (node.initializer) { + parts.push(" = ", print("initializer")); + } + + return parts; + + case "TSImportEqualsDeclaration": + if (node.isExport) { + parts.push("export "); + } + + parts.push("import "); + + if (node.importKind && node.importKind !== "value") { + parts.push(node.importKind, " "); + } + + parts.push(print("id"), " = ", print("moduleReference")); + + if (options.semi) { + parts.push(";"); + } + + return group$f(parts); + + case "TSExternalModuleReference": + return ["require(", print("expression"), ")"]; + + case "TSModuleDeclaration": + { + const parent = path.getParentNode(); + const isExternalModule = isLiteral(node.id); + const parentIsDeclaration = parent.type === "TSModuleDeclaration"; + const bodyIsDeclaration = node.body && node.body.type === "TSModuleDeclaration"; + + if (parentIsDeclaration) { + parts.push("."); + } else { + if (node.declare) { + parts.push("declare "); + } + + parts.push(printTypeScriptModifiers(path, options, print)); + const textBetweenNodeAndItsId = options.originalText.slice(locStart$h(node), locStart$h(node.id)); // Global declaration looks like this: + // (declare)? global { ... } + + const isGlobalDeclaration = node.id.type === "Identifier" && node.id.name === "global" && !/namespace|module/.test(textBetweenNodeAndItsId); + + if (!isGlobalDeclaration) { + parts.push(isExternalModule || /(?:^|\s)module(?:\s|$)/.test(textBetweenNodeAndItsId) ? "module " : "namespace "); + } + } + + parts.push(print("id")); + + if (bodyIsDeclaration) { + parts.push(print("body")); + } else if (node.body) { + parts.push(" ", group$f(print("body"))); + } else { + parts.push(semi); + } + + return parts; + } + + case "TSConditionalType": + return printTernary$1(path, options, print); + + case "TSInferType": + return ["infer", " ", print("typeParameter")]; + + case "TSIntersectionType": + return printIntersectionType(path, options, print); + + case "TSUnionType": + return printUnionType(path, options, print); + + case "TSFunctionType": + return printFunctionType(path, options, print); + + case "TSTupleType": + return printTupleType(path, options, print); + + case "TSTypeReference": + return [print("typeName"), printTypeParameters(path, options, print, "typeParameters")]; + + case "TSTypeAnnotation": + return print("typeAnnotation"); + + case "TSEmptyBodyFunctionExpression": + return printMethodInternal(path, options, print); + // These are not valid TypeScript. Printing them just for the sake of error recovery. + + case "TSJSDocAllType": + return "*"; + + case "TSJSDocUnknownType": + return "?"; + + case "TSJSDocNullableType": + return ["?", print("typeAnnotation")]; + + case "TSJSDocNonNullableType": + return ["!", print("typeAnnotation")]; + + default: + /* istanbul ignore next */ + throw new Error(`Unknown TypeScript node type: ${JSON.stringify(node.type)}.`); + } +} + +var typescript = { + printTypescript: printTypescript$1 +}; + +const { + hasNewline: hasNewline$2 +} = util$8; +const { + builders: { + join: join$d, + hardline: hardline$h + }, + utils: { + replaceTextEndOfLine: replaceTextEndOfLine$a + } +} = require$$7$3; +const { + isLineComment: isLineComment$1, + isBlockComment: isBlockComment$1 +} = utils$5; +const { + locStart: locStart$g, + locEnd: locEnd$f +} = loc$6; + +function printComment$2(commentPath, options) { + const comment = commentPath.getValue(); + + if (isLineComment$1(comment)) { + // Supports `//`, `#!`, `` + return options.originalText.slice(locStart$g(comment), locEnd$f(comment)).trimEnd(); + } + + if (isBlockComment$1(comment)) { + if (isIndentableBlockComment(comment)) { + const printed = printIndentableBlockComment(comment); // We need to prevent an edge case of a previous trailing comment + // printed as a `lineSuffix` which causes the comments to be + // interleaved. See https://github.com/prettier/prettier/issues/4412 + + if (comment.trailing && !hasNewline$2(options.originalText, locStart$g(comment), { + backwards: true + })) { + return [hardline$h, printed]; + } + + return printed; + } + + const commentEnd = locEnd$f(comment); + const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === "*-/"; + return ["/*", replaceTextEndOfLine$a(comment.value), isInsideFlowComment ? "*-/" : "*/"]; + } + /* istanbul ignore next */ + + + throw new Error("Not a comment: " + JSON.stringify(comment)); +} + +function isIndentableBlockComment(comment) { + // If the comment has multiple lines and every line starts with a star + // we can fix the indentation of each line. The stars in the `/*` and + // `*/` delimiters are not included in the comment value, so add them + // back first. + const lines = `*${comment.value}*`.split("\n"); + return lines.length > 1 && lines.every(line => line.trim()[0] === "*"); +} + +function printIndentableBlockComment(comment) { + const lines = comment.value.split("\n"); + return ["/*", join$d(hardline$h, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"]; +} + +var comment = { + printComment: printComment$2 +}; + +const { + printString: printString$1, + printNumber: printNumber$1 +} = util$8; + +function printLiteral$1(path, options +/*, print*/ +) { + const node = path.getNode(); + + switch (node.type) { + case "RegExpLiteral": + // Babel 6 Literal split + return printRegex(node); + + case "BigIntLiteral": + // babel: node.extra.raw, flow: node.bigint + return printBigInt(node.bigint || node.extra.raw); + + case "NumericLiteral": + // Babel 6 Literal split + return printNumber$1(node.extra.raw); + + case "StringLiteral": + // Babel 6 Literal split + return printString$1(node.extra.raw, options); + + case "NullLiteral": + // Babel 6 Literal split + return "null"; + + case "BooleanLiteral": + // Babel 6 Literal split + return String(node.value); + + case "DecimalLiteral": + return printNumber$1(node.value) + "m"; + + case "Literal": + { + if (node.regex) { + return printRegex(node.regex); + } + + if (node.bigint) { + return printBigInt(node.raw); + } + + if (node.decimal) { + return printNumber$1(node.decimal) + "m"; + } + + const { + value + } = node; + + if (typeof value === "number") { + return printNumber$1(node.raw); + } + + if (typeof value === "string") { + return printString$1(node.raw, options); + } + + return String(value); + } + } +} + +function printBigInt(raw) { + return raw.toLowerCase(); +} + +function printRegex({ + pattern, + flags +}) { + flags = [...flags].sort().join(""); + return `/${pattern}/${flags}`; +} + +var literal = { + printLiteral: printLiteral$1 +}; + +/** @typedef {import("../document").Doc} Doc */ +// TODO(azz): anything that imports from main shouldn't be in a `language-*` dir. + + +const { + printDanglingComments +} = comments$4; +const { + hasNewline: hasNewline$1 +} = util$8; +const { + builders: { + join: join$c, + line: line$e, + hardline: hardline$g, + softline: softline$a, + group: group$e, + indent: indent$8 + }, + utils: { + replaceTextEndOfLine: replaceTextEndOfLine$9 + } +} = require$$7$3; +const embed$9 = embed_1$4; +const clean$b = clean_1$4; +const { + insertPragma: insertPragma$9 +} = pragma$5; +const handleComments = comments; +const pathNeedsParens = needsParens_1; +const preprocess$7 = printPreprocess$3; +const { + hasFlowShorthandAnnotationComment, + hasComment, + CommentCheckFlags, + isTheOnlyJsxElementInMarkdown, + isBlockComment, + isLineComment, + isNextLineEmpty: isNextLineEmpty$4, + needsHardlineAfterDanglingComment, + rawText, + hasIgnoreComment, + isCallExpression, + isMemberExpression +} = utils$5; +const { + locStart: locStart$f, + locEnd: locEnd$e +} = loc$6; +const { + printHtmlBinding, + isVueEventBindingExpression: isVueEventBindingExpression$2 +} = htmlBinding; +const { + printAngular +} = angular; +const { + printJsx, + hasJsxIgnoreComment +} = jsx; +const { + printFlow +} = flow; +const { + printTypescript +} = typescript; +const { + printOptionalToken, + printBindExpressionCallee, + printTypeAnnotation, + adjustClause, + printRestSpread +} = misc$1; +const { + printImportDeclaration, + printExportDeclaration, + printExportAllDeclaration, + printModuleSpecifier +} = module$1; +const { + printTernary +} = ternary; +const { + printTemplateLiteral +} = templateLiteral; +const { + printArray +} = array; +const { + printObject +} = object$1; +const { + printClass, + printClassMethod, + printClassProperty +} = _class; +const { + printProperty +} = property; +const { + printFunction, + printArrowFunction, + printMethod, + printReturnStatement, + printThrowStatement +} = _function; +const { + printCallExpression +} = callExpression; +const { + printVariableDeclarator, + printAssignmentExpression +} = assignment; +const { + printBinaryishExpression +} = binaryish; +const { + printSwitchCaseConsequent +} = statement; +const { + printMemberExpression +} = member; +const { + printBlock: printBlock$2, + printBlockBody +} = block$1; +const { + printComment: printComment$1 +} = comment; +const { + printLiteral +} = literal; +const { + printDecorators +} = decorators; + +function genericPrint$6(path, options, print, args) { + const printed = printPathNoParens(path, options, print, args); + + if (!printed) { + return ""; + } + + const node = path.getValue(); + const { + type + } = node; // Their decorators are handled themselves, and they can't have parentheses + + if (type === "ClassMethod" || type === "ClassPrivateMethod" || type === "ClassProperty" || type === "PropertyDefinition" || type === "TSAbstractPropertyDefinition" || type === "ClassPrivateProperty" || type === "MethodDefinition" || type === "TSAbstractMethodDefinition" || type === "TSDeclareMethod") { + return printed; + } + + const printedDecorators = printDecorators(path, options, print); // Nodes with decorators can't have parentheses and don't need leading semicolons + + if (printedDecorators) { + return group$e([...printedDecorators, printed]); + } + + const needsParens = pathNeedsParens(path, options); + + if (!needsParens) { + return args && args.needsSemi ? [";", printed] : printed; + } + + const parts = [args && args.needsSemi ? ";(" : "(", printed]; + + if (hasFlowShorthandAnnotationComment(node)) { + const [comment] = node.trailingComments; + parts.push(" /*", comment.value.trimStart(), "*/"); + comment.printed = true; + } + + parts.push(")"); + return parts; +} + +function printPathNoParens(path, options, print, args) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + + if (!node) { + return ""; + } + + if (typeof node === "string") { + return node; + } + + for (const printer of [printLiteral, printHtmlBinding, printAngular, printJsx, printFlow, printTypescript]) { + const printed = printer(path, options, print); + + if (typeof printed !== "undefined") { + return printed; + } + } + /** @type{Doc[]} */ + + + let parts = []; + + switch (node.type) { + case "JsExpressionRoot": + return print("node"); + + case "JsonRoot": + return [print("node"), hardline$g]; + + case "File": + // Print @babel/parser's InterpreterDirective here so that + // leading comments on the `Program` node get printed after the hashbang. + if (node.program && node.program.interpreter) { + parts.push(print(["program", "interpreter"])); + } + + parts.push(print("program")); + return parts; + + case "Program": + return printBlockBody(path, options, print); + // Babel extension. + + case "EmptyStatement": + return ""; + + case "ExpressionStatement": + // Detect Flow and TypeScript directives + if (node.directive) { + return [printDirective(node.expression, options), semi]; + } + + if (options.parser === "__vue_event_binding") { + const parent = path.getParentNode(); + + if (parent.type === "Program" && parent.body.length === 1 && parent.body[0] === node) { + return [print("expression"), isVueEventBindingExpression$2(node.expression) ? ";" : ""]; + } + } // Do not append semicolon after the only JSX element in a program + + + return [print("expression"), isTheOnlyJsxElementInMarkdown(options, path) ? "" : semi]; + // Babel non-standard node. Used for Closure-style type casts. See postprocess.js. + + case "ParenthesizedExpression": + { + const shouldHug = !hasComment(node.expression) && (node.expression.type === "ObjectExpression" || node.expression.type === "ArrayExpression"); + + if (shouldHug) { + return ["(", print("expression"), ")"]; + } + + return group$e(["(", indent$8([softline$a, print("expression")]), softline$a, ")"]); + } + + case "AssignmentExpression": + return printAssignmentExpression(path, options, print); + + case "VariableDeclarator": + return printVariableDeclarator(path, options, print); + + case "BinaryExpression": + case "LogicalExpression": + return printBinaryishExpression(path, options, print); + + case "AssignmentPattern": + return [print("left"), " = ", print("right")]; + + case "OptionalMemberExpression": + case "MemberExpression": + { + return printMemberExpression(path, options, print); + } + + case "MetaProperty": + return [print("meta"), ".", print("property")]; + + case "BindExpression": + if (node.object) { + parts.push(print("object")); + } + + parts.push(group$e(indent$8([softline$a, printBindExpressionCallee(path, options, print)]))); + return parts; + + case "Identifier": + { + return [node.name, printOptionalToken(path), printTypeAnnotation(path, options, print)]; + } + + case "V8IntrinsicIdentifier": + return ["%", node.name]; + + case "SpreadElement": + case "SpreadElementPattern": + case "SpreadProperty": + case "SpreadPropertyPattern": + case "RestElement": + return printRestSpread(path, options, print); + + case "FunctionDeclaration": + case "FunctionExpression": + return printFunction(path, print, options, args); + + case "ArrowFunctionExpression": + return printArrowFunction(path, options, print, args); + + case "YieldExpression": + parts.push("yield"); + + if (node.delegate) { + parts.push("*"); + } + + if (node.argument) { + parts.push(" ", print("argument")); + } + + return parts; + + case "AwaitExpression": + { + parts.push("await"); + + if (node.argument) { + parts.push(" ", print("argument")); + const parent = path.getParentNode(); + + if (isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node) { + parts = [indent$8([softline$a, ...parts]), softline$a]; + const parentAwaitOrBlock = path.findAncestor(node => node.type === "AwaitExpression" || node.type === "BlockStatement"); + + if (!parentAwaitOrBlock || parentAwaitOrBlock.type !== "AwaitExpression") { + return group$e(parts); + } + } + } + + return parts; + } + + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + return printExportDeclaration(path, options, print); + + case "ExportAllDeclaration": + return printExportAllDeclaration(path, options, print); + + case "ImportDeclaration": + return printImportDeclaration(path, options, print); + + case "ImportSpecifier": + case "ExportSpecifier": + case "ImportNamespaceSpecifier": + case "ExportNamespaceSpecifier": + case "ImportDefaultSpecifier": + case "ExportDefaultSpecifier": + return printModuleSpecifier(path, options, print); + + case "ImportAttribute": + return [print("key"), ": ", print("value")]; + + case "Import": + return "import"; + + case "BlockStatement": + case "StaticBlock": + case "ClassBody": + return printBlock$2(path, options, print); + + case "ThrowStatement": + return printThrowStatement(path, options, print); + + case "ReturnStatement": + return printReturnStatement(path, options, print); + + case "NewExpression": + case "ImportExpression": + case "OptionalCallExpression": + case "CallExpression": + return printCallExpression(path, options, print); + + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + return printObject(path, options, print); + // Babel 6 + + case "ObjectProperty": // Non-standard AST node type. + + case "Property": + if (node.method || node.kind === "get" || node.kind === "set") { + return printMethod(path, options, print); + } + + return printProperty(path, options, print); + + case "ObjectMethod": + return printMethod(path, options, print); + + case "Decorator": + return ["@", print("expression")]; + + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + return printArray(path, options, print); + + case "SequenceExpression": + { + const parent = path.getParentNode(0); + + if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { + // For ExpressionStatements and for-loop heads, which are among + // the few places a SequenceExpression appears unparenthesized, we want + // to indent expressions after the first. + const parts = []; + path.each((expressionPath, index) => { + if (index === 0) { + parts.push(print()); + } else { + parts.push(",", indent$8([line$e, print()])); + } + }, "expressions"); + return group$e(parts); + } + + return group$e(join$c([",", line$e], path.map(print, "expressions"))); + } + + case "ThisExpression": + return "this"; + + case "Super": + return "super"; + + case "Directive": + return [print("value"), semi]; + // Babel 6 + + case "DirectiveLiteral": + return printDirective(node, options); + + case "UnaryExpression": + parts.push(node.operator); + + if (/[a-z]$/.test(node.operator)) { + parts.push(" "); + } + + if (hasComment(node.argument)) { + parts.push(group$e(["(", indent$8([softline$a, print("argument")]), softline$a, ")"])); + } else { + parts.push(print("argument")); + } + + return parts; + + case "UpdateExpression": + parts.push(print("argument"), node.operator); + + if (node.prefix) { + parts.reverse(); + } + + return parts; + + case "ConditionalExpression": + return printTernary(path, options, print); + + case "VariableDeclaration": + { + const printed = path.map(print, "declarations"); // We generally want to terminate all variable declarations with a + // semicolon, except when they in the () part of for loops. + + const parentNode = path.getParentNode(); + const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; + const hasValue = node.declarations.some(decl => decl.init); + let firstVariable; + + if (printed.length === 1 && !hasComment(node.declarations[0])) { + firstVariable = printed[0]; + } else if (printed.length > 0) { + // Indent first var to comply with eslint one-var rule + firstVariable = indent$8(printed[0]); + } + + parts = [node.declare ? "declare " : "", node.kind, firstVariable ? [" ", firstVariable] : "", indent$8(printed.slice(1).map(p => [",", hasValue && !isParentForLoop ? hardline$g : line$e, p]))]; + + if (!(isParentForLoop && parentNode.body !== node)) { + parts.push(semi); + } + + return group$e(parts); + } + + case "WithStatement": + return group$e(["with (", print("object"), ")", adjustClause(node.body, print("body"))]); + + case "IfStatement": + { + const con = adjustClause(node.consequent, print("consequent")); + const opening = group$e(["if (", group$e([indent$8([softline$a, print("test")]), softline$a]), ")", con]); + parts.push(opening); + + if (node.alternate) { + const commentOnOwnLine = hasComment(node.consequent, CommentCheckFlags.Trailing | CommentCheckFlags.Line) || needsHardlineAfterDanglingComment(node); + const elseOnSameLine = node.consequent.type === "BlockStatement" && !commentOnOwnLine; + parts.push(elseOnSameLine ? " " : hardline$g); + + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push(printDanglingComments(path, options, true), commentOnOwnLine ? hardline$g : " "); + } + + parts.push("else", group$e(adjustClause(node.alternate, print("alternate"), node.alternate.type === "IfStatement"))); + } + + return parts; + } + + case "ForStatement": + { + const body = adjustClause(node.body, print("body")); // We want to keep dangling comments above the loop to stay consistent. + // Any comment positioned between the for statement and the parentheses + // is going to be printed before the statement. + + const dangling = printDanglingComments(path, options, + /* sameLine */ + true); + const printedComments = dangling ? [dangling, softline$a] : ""; + + if (!node.init && !node.test && !node.update) { + return [printedComments, group$e(["for (;;)", body])]; + } + + return [printedComments, group$e(["for (", group$e([indent$8([softline$a, print("init"), ";", line$e, print("test"), ";", line$e, print("update")]), softline$a]), ")", body])]; + } + + case "WhileStatement": + return group$e(["while (", group$e([indent$8([softline$a, print("test")]), softline$a]), ")", adjustClause(node.body, print("body"))]); + + case "ForInStatement": + return group$e(["for (", print("left"), " in ", print("right"), ")", adjustClause(node.body, print("body"))]); + + case "ForOfStatement": + return group$e(["for", node.await ? " await" : "", " (", print("left"), " of ", print("right"), ")", adjustClause(node.body, print("body"))]); + + case "DoWhileStatement": + { + const clause = adjustClause(node.body, print("body")); + const doBody = group$e(["do", clause]); + parts = [doBody]; + + if (node.body.type === "BlockStatement") { + parts.push(" "); + } else { + parts.push(hardline$g); + } + + parts.push("while (", group$e([indent$8([softline$a, print("test")]), softline$a]), ")", semi); + return parts; + } + + case "DoExpression": + return [node.async ? "async " : "", "do ", print("body")]; + + case "BreakStatement": + parts.push("break"); + + if (node.label) { + parts.push(" ", print("label")); + } + + parts.push(semi); + return parts; + + case "ContinueStatement": + parts.push("continue"); + + if (node.label) { + parts.push(" ", print("label")); + } + + parts.push(semi); + return parts; + + case "LabeledStatement": + if (node.body.type === "EmptyStatement") { + return [print("label"), ":;"]; + } + + return [print("label"), ": ", print("body")]; + + case "TryStatement": + return ["try ", print("block"), node.handler ? [" ", print("handler")] : "", node.finalizer ? [" finally ", print("finalizer")] : ""]; + + case "CatchClause": + if (node.param) { + const parameterHasComments = hasComment(node.param, comment => !isBlockComment(comment) || comment.leading && hasNewline$1(options.originalText, locEnd$e(comment)) || comment.trailing && hasNewline$1(options.originalText, locStart$f(comment), { + backwards: true + })); + const param = print("param"); + return ["catch ", parameterHasComments ? ["(", indent$8([softline$a, param]), softline$a, ") "] : ["(", param, ") "], print("body")]; + } + + return ["catch ", print("body")]; + // Note: ignoring n.lexical because it has no printing consequences. + + case "SwitchStatement": + return [group$e(["switch (", indent$8([softline$a, print("discriminant")]), softline$a, ")"]), " {", node.cases.length > 0 ? indent$8([hardline$g, join$c(hardline$g, path.map((casePath, index, cases) => { + const caseNode = casePath.getValue(); + return [print(), index !== cases.length - 1 && isNextLineEmpty$4(caseNode, options) ? hardline$g : ""]; + }, "cases"))]) : "", hardline$g, "}"]; + + case "SwitchCase": + { + if (node.test) { + parts.push("case ", print("test"), ":"); + } else { + parts.push("default:"); + } + + const consequent = node.consequent.filter(node => node.type !== "EmptyStatement"); + + if (consequent.length > 0) { + const cons = printSwitchCaseConsequent(path, options, print); + parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? [" ", cons] : indent$8([hardline$g, cons])); + } + + return parts; + } + // JSX extensions below. + + case "DebuggerStatement": + return ["debugger", semi]; + + case "ClassDeclaration": + case "ClassExpression": + return printClass(path, options, print); + + case "ClassMethod": + case "ClassPrivateMethod": + case "MethodDefinition": + return printClassMethod(path, options, print); + + case "ClassProperty": + case "PropertyDefinition": + case "ClassPrivateProperty": + return printClassProperty(path, options, print); + + case "TemplateElement": + return replaceTextEndOfLine$9(node.value.raw); + + case "TemplateLiteral": + return printTemplateLiteral(path, print, options); + + case "TaggedTemplateExpression": + return [print("tag"), print("typeParameters"), print("quasi")]; + + case "PrivateIdentifier": + return ["#", print("name")]; + + case "PrivateName": + return ["#", print("id")]; + + case "InterpreterDirective": + parts.push("#!", node.value, hardline$g); + + if (isNextLineEmpty$4(node, options)) { + parts.push(hardline$g); + } + + return parts; + // For hack-style pipeline + + case "TopicReference": + return "%"; + + case "ArgumentPlaceholder": + return "?"; + + case "ModuleExpression": + { + parts.push("module {"); + const printed = print("body"); + + if (printed) { + parts.push(indent$8([hardline$g, printed]), hardline$g); + } + + parts.push("}"); + return parts; + } + + default: + /* istanbul ignore next */ + throw new Error("unknown type: " + JSON.stringify(node.type)); + } +} + +function printDirective(node, options) { + const raw = rawText(node); + const rawContent = raw.slice(1, -1); // Check for the alternate quote, to determine if we're allowed to swap + // the quotes on a DirectiveLiteral. + + if (rawContent.includes('"') || rawContent.includes("'")) { + return raw; + } + + const enclosingQuote = options.singleQuote ? "'" : '"'; // Directives are exact code unit sequences, which means that you can't + // change the escape sequences they use. + // See https://github.com/prettier/prettier/issues/1555 + // and https://tc39.github.io/ecma262/#directive-prologue + + return enclosingQuote + rawContent + enclosingQuote; +} + +function canAttachComment$1(node) { + return node.type && !isBlockComment(node) && !isLineComment(node) && node.type !== "EmptyStatement" && node.type !== "TemplateElement" && node.type !== "Import" && // `babel-ts` don't have similar node for `class Foo { bar() /* bat */; }` + node.type !== "TSEmptyBodyFunctionExpression"; +} + +var printerEstree = { + preprocess: preprocess$7, + print: genericPrint$6, + embed: embed$9, + insertPragma: insertPragma$9, + massageAstNode: clean$b, + + hasPrettierIgnore(path) { + return hasIgnoreComment(path) || hasJsxIgnoreComment(path); + }, + + willPrintOwnComments: handleComments.willPrintOwnComments, + canAttachComment: canAttachComment$1, + printComment: printComment$1, + isBlockComment, + handleComments: { + // TODO: Make this as default behavior + avoidAstMutation: true, + ownLine: handleComments.handleOwnLineComment, + endOfLine: handleComments.handleEndOfLineComment, + remaining: handleComments.handleRemainingComment + }, + getCommentChildNodes: handleComments.getCommentChildNodes +}; + +const { + builders: { + hardline: hardline$f, + indent: indent$7, + join: join$b + } +} = require$$7$3; +const preprocess$6 = printPreprocess$3; + +function genericPrint$5(path, options, print) { + const node = path.getValue(); + + switch (node.type) { + case "JsonRoot": + return [print("node"), hardline$f]; + + case "ArrayExpression": + { + if (node.elements.length === 0) { + return "[]"; + } + + const printed = path.map(() => path.getValue() === null ? "null" : print(), "elements"); + return ["[", indent$7([hardline$f, join$b([",", hardline$f], printed)]), hardline$f, "]"]; + } + + case "ObjectExpression": + return node.properties.length === 0 ? "{}" : ["{", indent$7([hardline$f, join$b([",", hardline$f], path.map(print, "properties"))]), hardline$f, "}"]; + + case "ObjectProperty": + return [print("key"), ": ", print("value")]; + + case "UnaryExpression": + return [node.operator === "+" ? "" : node.operator, print("argument")]; + + case "NullLiteral": + return "null"; + + case "BooleanLiteral": + return node.value ? "true" : "false"; + + case "StringLiteral": + case "NumericLiteral": + return JSON.stringify(node.value); + + case "Identifier": + { + const parent = path.getParentNode(); + + if (parent && parent.type === "ObjectProperty" && parent.key === node) { + return JSON.stringify(node.name); + } + + return node.name; + } + + case "TemplateLiteral": + // There is only one `TemplateElement` + return print(["quasis", 0]); + + case "TemplateElement": + return JSON.stringify(node.value.cooked); + + default: + /* istanbul ignore next */ + throw new Error("unknown type: " + JSON.stringify(node.type)); + } +} + +const ignoredProperties$3 = new Set(["start", "end", "extra", "loc", "comments", "leadingComments", "trailingComments", "innerComments", "errors", "range", "tokens"]); + +function clean$a(node, newNode +/*, parent*/ +) { + const { + type + } = node; // We print quoted key + + if (type === "ObjectProperty" && node.key.type === "Identifier") { + newNode.key = { + type: "StringLiteral", + value: node.key.name + }; + return; + } + + if (type === "UnaryExpression" && node.operator === "+") { + return newNode.argument; + } // We print holes in array as `null` + + + if (type === "ArrayExpression") { + for (const [index, element] of node.elements.entries()) { + if (element === null) { + newNode.elements.splice(index, 0, { + type: "NullLiteral" + }); + } + } + + return; + } // We print `TemplateLiteral` as string + + + if (type === "TemplateLiteral") { + return { + type: "StringLiteral", + value: node.quasis[0].value.cooked + }; + } +} + +clean$a.ignoredProperties = ignoredProperties$3; +var printerEstreeJson = { + preprocess: preprocess$6, + print: genericPrint$5, + massageAstNode: clean$a +}; + +const CATEGORY_COMMON = "Common"; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js + +var commonOptions$6 = { + bracketSpacing: { + since: "0.0.0", + category: CATEGORY_COMMON, + type: "boolean", + default: true, + description: "Print spaces between brackets.", + oppositeDescription: "Do not print spaces between brackets." + }, + singleQuote: { + since: "0.0.0", + category: CATEGORY_COMMON, + type: "boolean", + default: false, + description: "Use single quotes instead of double quotes." + }, + proseWrap: { + since: "1.8.2", + category: CATEGORY_COMMON, + type: "choice", + default: [{ + since: "1.8.2", + value: true + }, { + since: "1.9.0", + value: "preserve" + }], + description: "How to wrap prose.", + choices: [{ + since: "1.9.0", + value: "always", + description: "Wrap prose if it exceeds the print width." + }, { + since: "1.9.0", + value: "never", + description: "Do not wrap prose." + }, { + since: "1.9.0", + value: "preserve", + description: "Wrap prose as-is." + }] + }, + bracketSameLine: { + since: "2.4.0", + category: CATEGORY_COMMON, + type: "boolean", + default: false, + description: "Put > of opening tags on the last line instead of on a new line." + } +}; + +const commonOptions$5 = commonOptions$6; +const CATEGORY_JAVASCRIPT = "JavaScript"; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js + +var options$b = { + arrowParens: { + since: "1.9.0", + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: [{ + since: "1.9.0", + value: "avoid" + }, { + since: "2.0.0", + value: "always" + }], + description: "Include parentheses around a sole arrow function parameter.", + choices: [{ + value: "always", + description: "Always include parens. Example: `(x) => x`" + }, { + value: "avoid", + description: "Omit parens when possible. Example: `x => x`" + }] + }, + bracketSameLine: commonOptions$5.bracketSameLine, + bracketSpacing: commonOptions$5.bracketSpacing, + jsxBracketSameLine: { + since: "0.17.0", + category: CATEGORY_JAVASCRIPT, + type: "boolean", + description: "Put > on the last line instead of at a new line.", + deprecated: "2.4.0" + }, + semi: { + since: "1.0.0", + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: true, + description: "Print semicolons.", + oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." + }, + singleQuote: commonOptions$5.singleQuote, + jsxSingleQuote: { + since: "1.15.0", + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: false, + description: "Use single quotes in JSX." + }, + quoteProps: { + since: "1.17.0", + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "as-needed", + description: "Change when properties in objects are quoted.", + choices: [{ + value: "as-needed", + description: "Only add quotes around object properties where required." + }, { + value: "consistent", + description: "If at least one property in an object requires quotes, quote all properties." + }, { + value: "preserve", + description: "Respect the input use of quotes in object properties." + }] + }, + trailingComma: { + since: "0.0.0", + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: [{ + since: "0.0.0", + value: false + }, { + since: "0.19.0", + value: "none" + }, { + since: "2.0.0", + value: "es5" + }], + description: "Print trailing commas wherever possible when multi-line.", + choices: [{ + value: "es5", + description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" + }, { + value: "none", + description: "No trailing commas." + }, { + value: "all", + description: "Trailing commas wherever possible (including function arguments)." + }] + } +}; + +var require$$0$2 = require("./parser-babel.js"); + +var require$$1$1 = require("./parser-flow.js"); + +var require$$2$1 = require("./parser-typescript.js"); + +var require$$3$1 = require("./parser-angular.js"); + +var require$$4$6 = require("./parser-espree.js"); + +var require$$5$3 = require("./parser-meriyah.js"); + +var parsers$d = { + // JS - Babel + get babel() { + return require$$0$2.parsers.babel; + }, + + get "babel-flow"() { + return require$$0$2.parsers["babel-flow"]; + }, + + get "babel-ts"() { + return require$$0$2.parsers["babel-ts"]; + }, + + get json() { + return require$$0$2.parsers.json; + }, + + get json5() { + return require$$0$2.parsers.json5; + }, + + get "json-stringify"() { + return require$$0$2.parsers["json-stringify"]; + }, + + get __js_expression() { + return require$$0$2.parsers.__js_expression; + }, + + get __vue_expression() { + return require$$0$2.parsers.__vue_expression; + }, + + get __vue_event_binding() { + return require$$0$2.parsers.__vue_event_binding; + }, + + // JS - Flow + get flow() { + return require$$1$1.parsers.flow; + }, + + // JS - TypeScript + get typescript() { + return require$$2$1.parsers.typescript; + }, + + // JS - Angular Action + get __ng_action() { + return require$$3$1.parsers.__ng_action; + }, + + // JS - Angular Binding + get __ng_binding() { + return require$$3$1.parsers.__ng_binding; + }, + + // JS - Angular Interpolation + get __ng_interpolation() { + return require$$3$1.parsers.__ng_interpolation; + }, + + // JS - Angular Directive + get __ng_directive() { + return require$$3$1.parsers.__ng_directive; + }, + + // JS - espree + get espree() { + return require$$4$6.parsers.espree; + }, + + // JS - meriyah + get meriyah() { + return require$$5$3.parsers.meriyah; + }, + + // JS - Babel Estree + get __babel_estree() { + return require$$0$2.parsers.__babel_estree; + } + +}; + +var name$f = "JavaScript"; +var type$f = "programming"; +var tmScope$f = "source.js"; +var aceMode$f = "javascript"; +var codemirrorMode$b = "javascript"; +var codemirrorMimeType$b = "text/javascript"; +var color$a = "#f1e05a"; +var aliases$6 = [ + "js", + "node" +]; +var extensions$f = [ + ".js", + "._js", + ".bones", + ".cjs", + ".es", + ".es6", + ".frag", + ".gs", + ".jake", + ".jsb", + ".jscad", + ".jsfl", + ".jsm", + ".jss", + ".jsx", + ".mjs", + ".njs", + ".pac", + ".sjs", + ".ssjs", + ".xsjs", + ".xsjslib" +]; +var filenames$4 = [ + "Jakefile" +]; +var interpreters$1 = [ + "chakra", + "d8", + "gjs", + "js", + "node", + "nodejs", + "qjs", + "rhino", + "v8", + "v8-shell" +]; +var languageId$f = 183; +var require$$5$2 = { + name: name$f, + type: type$f, + tmScope: tmScope$f, + aceMode: aceMode$f, + codemirrorMode: codemirrorMode$b, + codemirrorMimeType: codemirrorMimeType$b, + color: color$a, + aliases: aliases$6, + extensions: extensions$f, + filenames: filenames$4, + interpreters: interpreters$1, + languageId: languageId$f +}; + +var name$e = "TypeScript"; +var type$e = "programming"; +var color$9 = "#2b7489"; +var aliases$5 = [ + "ts" +]; +var interpreters = [ + "deno", + "ts-node" +]; +var extensions$e = [ + ".ts" +]; +var tmScope$e = "source.ts"; +var aceMode$e = "typescript"; +var codemirrorMode$a = "javascript"; +var codemirrorMimeType$a = "application/typescript"; +var languageId$e = 378; +var require$$6$1 = { + name: name$e, + type: type$e, + color: color$9, + aliases: aliases$5, + interpreters: interpreters, + extensions: extensions$e, + tmScope: tmScope$e, + aceMode: aceMode$e, + codemirrorMode: codemirrorMode$a, + codemirrorMimeType: codemirrorMimeType$a, + languageId: languageId$e +}; + +var name$d = "TSX"; +var type$d = "programming"; +var group$d = "TypeScript"; +var extensions$d = [ + ".tsx" +]; +var tmScope$d = "source.tsx"; +var aceMode$d = "javascript"; +var codemirrorMode$9 = "jsx"; +var codemirrorMimeType$9 = "text/jsx"; +var languageId$d = 94901924; +var require$$7$1 = { + name: name$d, + type: type$d, + group: group$d, + extensions: extensions$d, + tmScope: tmScope$d, + aceMode: aceMode$d, + codemirrorMode: codemirrorMode$9, + codemirrorMimeType: codemirrorMimeType$9, + languageId: languageId$d +}; + +var name$c = "JSON"; +var type$c = "data"; +var tmScope$c = "source.json"; +var aceMode$c = "json"; +var codemirrorMode$8 = "javascript"; +var codemirrorMimeType$8 = "application/json"; +var extensions$c = [ + ".json", + ".avsc", + ".geojson", + ".gltf", + ".har", + ".ice", + ".JSON-tmLanguage", + ".jsonl", + ".mcmeta", + ".tfstate", + ".tfstate.backup", + ".topojson", + ".webapp", + ".webmanifest", + ".yy", + ".yyp" +]; +var filenames$3 = [ + ".arcconfig", + ".htmlhintrc", + ".imgbotconfig", + ".tern-config", + ".tern-project", + ".watchmanconfig", + "Pipfile.lock", + "composer.lock", + "mcmod.info" +]; +var languageId$c = 174; +var require$$8 = { + name: name$c, + type: type$c, + tmScope: tmScope$c, + aceMode: aceMode$c, + codemirrorMode: codemirrorMode$8, + codemirrorMimeType: codemirrorMimeType$8, + extensions: extensions$c, + filenames: filenames$3, + languageId: languageId$c +}; + +var name$b = "JSON with Comments"; +var type$b = "data"; +var group$c = "JSON"; +var tmScope$b = "source.js"; +var aceMode$b = "javascript"; +var codemirrorMode$7 = "javascript"; +var codemirrorMimeType$7 = "text/javascript"; +var aliases$4 = [ + "jsonc" +]; +var extensions$b = [ + ".jsonc", + ".sublime-build", + ".sublime-commands", + ".sublime-completions", + ".sublime-keymap", + ".sublime-macro", + ".sublime-menu", + ".sublime-mousemap", + ".sublime-project", + ".sublime-settings", + ".sublime-theme", + ".sublime-workspace", + ".sublime_metrics", + ".sublime_session" +]; +var filenames$2 = [ + ".babelrc", + ".eslintrc.json", + ".jscsrc", + ".jshintrc", + ".jslintrc", + "api-extractor.json", + "devcontainer.json", + "jsconfig.json", + "language-configuration.json", + "tsconfig.json", + "tslint.json" +]; +var languageId$b = 423; +var require$$9 = { + name: name$b, + type: type$b, + group: group$c, + tmScope: tmScope$b, + aceMode: aceMode$b, + codemirrorMode: codemirrorMode$7, + codemirrorMimeType: codemirrorMimeType$7, + aliases: aliases$4, + extensions: extensions$b, + filenames: filenames$2, + languageId: languageId$b +}; + +var name$a = "JSON5"; +var type$a = "data"; +var extensions$a = [ + ".json5" +]; +var tmScope$a = "source.js"; +var aceMode$a = "javascript"; +var codemirrorMode$6 = "javascript"; +var codemirrorMimeType$6 = "application/json"; +var languageId$a = 175; +var require$$10 = { + name: name$a, + type: type$a, + extensions: extensions$a, + tmScope: tmScope$a, + aceMode: aceMode$a, + codemirrorMode: codemirrorMode$6, + codemirrorMimeType: codemirrorMimeType$6, + languageId: languageId$a +}; + +const createLanguage$6 = createLanguage$7; +const estreePrinter = printerEstree; +const estreeJsonPrinter = printerEstreeJson; +const options$a = options$b; +const parsers$c = parsers$d; +const languages$7 = [createLanguage$6(require$$5$2, data => ({ + since: "0.0.0", + parsers: ["babel", "espree", "meriyah", "babel-flow", "babel-ts", "flow", "typescript"], + vscodeLanguageIds: ["javascript", "mongo"], + interpreters: [...data.interpreters, // https://github.com/google/zx + "zx"], + extensions: [...data.extensions.filter(extension => extension !== ".jsx"), // WeiXin Script (Weixin Mini Programs) + // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ + ".wxs"] +})), createLanguage$6(require$$5$2, () => ({ + name: "Flow", + since: "0.0.0", + parsers: ["flow", "babel-flow"], + vscodeLanguageIds: ["javascript"], + aliases: [], + filenames: [], + extensions: [".js.flow"] +})), createLanguage$6(require$$5$2, () => ({ + name: "JSX", + since: "0.0.0", + parsers: ["babel", "babel-flow", "babel-ts", "flow", "typescript", "espree", "meriyah"], + vscodeLanguageIds: ["javascriptreact"], + aliases: undefined, + filenames: undefined, + extensions: [".jsx"], + group: "JavaScript", + interpreters: undefined, + tmScope: "source.js.jsx", + aceMode: "javascript", + codemirrorMode: "jsx", + codemirrorMimeType: "text/jsx", + color: undefined +})), createLanguage$6(require$$6$1, data => ({ + since: "1.4.0", + parsers: ["typescript", "babel-ts"], + vscodeLanguageIds: ["typescript"], + extensions: [...data.extensions, ".mts", ".cts"] +})), createLanguage$6(require$$7$1, () => ({ + since: "1.4.0", + parsers: ["typescript", "babel-ts"], + vscodeLanguageIds: ["typescriptreact"] +})), createLanguage$6(require$$8, () => ({ + name: "JSON.stringify", + since: "1.13.0", + parsers: ["json-stringify"], + vscodeLanguageIds: ["json"], + extensions: [], + // .json file defaults to json instead of json-stringify + filenames: ["package.json", "package-lock.json", "composer.json"] +})), createLanguage$6(require$$8, data => ({ + since: "1.5.0", + parsers: ["json"], + vscodeLanguageIds: ["json"], + extensions: data.extensions.filter(extension => extension !== ".jsonl") +})), createLanguage$6(require$$9, data => ({ + since: "1.5.0", + parsers: ["json"], + vscodeLanguageIds: ["jsonc"], + filenames: [...data.filenames, ".eslintrc"] +})), createLanguage$6(require$$10, () => ({ + since: "1.13.0", + parsers: ["json5"], + vscodeLanguageIds: ["json5"] +}))]; +const printers$5 = { + estree: estreePrinter, + "estree-json": estreeJsonPrinter +}; +var languageJs = { + languages: languages$7, + options: options$a, + printers: printers$5, + parsers: parsers$c +}; + +const { + isFrontMatterNode: isFrontMatterNode$4 +} = util$8; +const getLast$9 = getLast_1; +const ignoredProperties$2 = new Set(["raw", // front-matter +"raws", "sourceIndex", "source", "before", "after", "trailingComma"]); + +function clean$9(ast, newObj, parent) { + if (isFrontMatterNode$4(ast) && ast.lang === "yaml") { + delete newObj.value; + } + + if (ast.type === "css-comment" && parent.type === "css-root" && parent.nodes.length > 0) { + // --insert-pragma + // first non-front-matter comment + if (parent.nodes[0] === ast || isFrontMatterNode$4(parent.nodes[0]) && parent.nodes[1] === ast) { + /** + * something + * + * @format + */ + delete newObj.text; // standalone pragma + + if (/^\*\s*@(?:format|prettier)\s*$/.test(ast.text)) { + return null; + } + } // Last comment is not parsed, when omitting semicolon, #8675 + + + if (parent.type === "css-root" && getLast$9(parent.nodes) === ast) { + return null; + } + } + + if (ast.type === "value-root") { + delete newObj.text; + } + + if (ast.type === "media-query" || ast.type === "media-query-list" || ast.type === "media-feature-expression") { + delete newObj.value; + } + + if (ast.type === "css-rule") { + delete newObj.params; + } + + if (ast.type === "selector-combinator") { + newObj.value = newObj.value.replace(/\s+/g, " "); + } + + if (ast.type === "media-feature") { + newObj.value = newObj.value.replace(/ /g, ""); + } + + if (ast.type === "value-word" && (ast.isColor && ast.isHex || ["initial", "inherit", "unset", "revert"].includes(newObj.value.replace().toLowerCase())) || ast.type === "media-feature" || ast.type === "selector-root-invalid" || ast.type === "selector-pseudo") { + newObj.value = newObj.value.toLowerCase(); + } + + if (ast.type === "css-decl") { + newObj.prop = newObj.prop.toLowerCase(); + } + + if (ast.type === "css-atrule" || ast.type === "css-import") { + newObj.name = newObj.name.toLowerCase(); + } + + if (ast.type === "value-number") { + newObj.unit = newObj.unit.toLowerCase(); + } + + if ((ast.type === "media-feature" || ast.type === "media-keyword" || ast.type === "media-type" || ast.type === "media-unknown" || ast.type === "media-url" || ast.type === "media-value" || ast.type === "selector-attribute" || ast.type === "selector-string" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "value-string") && newObj.value) { + newObj.value = cleanCSSStrings(newObj.value); + } + + if (ast.type === "selector-attribute") { + newObj.attribute = newObj.attribute.trim(); + + if (newObj.namespace) { + if (typeof newObj.namespace === "string") { + newObj.namespace = newObj.namespace.trim(); + + if (newObj.namespace.length === 0) { + newObj.namespace = true; + } + } + } + + if (newObj.value) { + newObj.value = newObj.value.trim().replace(/^["']|["']$/g, ""); + delete newObj.quoted; + } + } + + if ((ast.type === "media-value" || ast.type === "media-type" || ast.type === "value-number" || ast.type === "selector-root-invalid" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "selector-tag") && newObj.value) { + newObj.value = newObj.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g, (match, numStr, unit) => { + const num = Number(numStr); + return Number.isNaN(num) ? match : num + unit.toLowerCase(); + }); + } + + if (ast.type === "selector-tag") { + const lowercasedValue = ast.value.toLowerCase(); + + if (["from", "to"].includes(lowercasedValue)) { + newObj.value = lowercasedValue; + } + } // Workaround when `postcss-values-parser` parse `not`, `and` or `or` keywords as `value-func` + + + if (ast.type === "css-atrule" && ast.name.toLowerCase() === "supports") { + delete newObj.value; + } // Workaround for SCSS nested properties + + + if (ast.type === "selector-unknown") { + delete newObj.value; + } +} + +clean$9.ignoredProperties = ignoredProperties$2; + +function cleanCSSStrings(value) { + return value.replace(/'/g, '"').replace(/\\([^\dA-Fa-f])/g, "$1"); +} + +var clean_1$3 = clean$9; + +const { + builders: { + hardline: hardline$e, + markAsRoot: markAsRoot$3 + } +} = require$$7$3; + +function print$1(node, textToDoc) { + if (node.lang === "yaml") { + const value = node.value.trim(); + const doc = value ? textToDoc(value, { + parser: "yaml" + }, { + stripTrailingHardline: true + }) : ""; + return markAsRoot$3([node.startDelimiter, hardline$e, doc, doc ? hardline$e : "", node.endDelimiter]); + } +} + +var print_1 = print$1; + +const { + builders: { + hardline: hardline$d + } +} = require$$7$3; +const printFrontMatter$2 = print_1; + +function embed$8(path, print, textToDoc +/*, options */ +) { + const node = path.getValue(); + + if (node.type === "front-matter") { + const doc = printFrontMatter$2(node, textToDoc); + return doc ? [doc, hardline$d] : ""; + } +} + +var embed_1$3 = embed$8; + +const frontMatterRegex = new RegExp("^(?-{3}|\\+{3})" + // trailing spaces after delimiters are allowed +"(?[^\\n]*)" + "\\n(?:|(?.*?)\\n)" + // In some markdown processors such as pandoc, +// "..." can be used as the end delimiter for YAML front-matter. +// Adding `\.{3}` make the regex matches `+++\n...`, but we'll exclude it later +"(?\\k|\\.{3})" + "[^\\S\\n]*(?:\\n|$)", "s"); + +function parse(text) { + const match = text.match(frontMatterRegex); + + if (!match) { + return { + content: text + }; + } + + const { + startDelimiter, + language, + value = "", + endDelimiter + } = match.groups; + let lang = language.trim() || "yaml"; + + if (startDelimiter === "+++") { + lang = "toml"; + } // Only allow yaml to parse with a different end delimiter + + + if (lang !== "yaml" && startDelimiter !== endDelimiter) { + return { + content: text + }; + } + + const [raw] = match; + const frontMatter = { + type: "front-matter", + lang, + value, + startDelimiter, + endDelimiter, + raw: raw.replace(/\n$/, "") + }; + return { + frontMatter, + content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) + }; +} + +var parse_1 = parse; + +const jsPragma = pragma$5; +const parseFrontMatter$1 = parse_1; + +function hasPragma$3(text) { + return jsPragma.hasPragma(parseFrontMatter$1(text).content); +} + +function insertPragma$8(text) { + const { + frontMatter, + content + } = parseFrontMatter$1(text); + return (frontMatter ? frontMatter.raw + "\n\n" : "") + jsPragma.insertPragma(content); +} + +var pragma$4 = { + hasPragma: hasPragma$3, + insertPragma: insertPragma$8 +}; + +const { + isNonEmptyArray: isNonEmptyArray$6 +} = util$8; +const colorAdjusterFunctions = new Set(["red", "green", "blue", "alpha", "a", "rgb", "hue", "h", "saturation", "s", "lightness", "l", "whiteness", "w", "blackness", "b", "tint", "shade", "blend", "blenda", "contrast", "hsl", "hsla", "hwb", "hwba"]); +const moduleRuleNames = new Set(["import", "use", "forward"]); + +function getAncestorCounter$1(path, typeOrTypes) { + const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; + let counter = -1; + let ancestorNode; + + while (ancestorNode = path.getParentNode(++counter)) { + if (types.includes(ancestorNode.type)) { + return counter; + } + } + + return -1; +} + +function getAncestorNode$2(path, typeOrTypes) { + const counter = getAncestorCounter$1(path, typeOrTypes); + return counter === -1 ? null : path.getParentNode(counter); +} + +function getPropOfDeclNode$1(path) { + const declAncestorNode = getAncestorNode$2(path, "css-decl"); + return declAncestorNode && declAncestorNode.prop && declAncestorNode.prop.toLowerCase(); +} + +function hasSCSSInterpolation(groupList) { + if (isNonEmptyArray$6(groupList)) { + for (let i = groupList.length - 1; i > 0; i--) { + // If we find `#{`, return true. + if (groupList[i].type === "word" && groupList[i].value === "{" && groupList[i - 1].type === "word" && groupList[i - 1].value.endsWith("#")) { + return true; + } + } + } + + return false; +} + +function hasStringOrFunction(groupList) { + if (isNonEmptyArray$6(groupList)) { + for (let i = 0; i < groupList.length; i++) { + if (groupList[i].type === "string" || groupList[i].type === "func") { + return true; + } + } + } + + return false; +} + +function isSCSS$1(parser, text) { + const hasExplicitParserChoice = parser === "less" || parser === "scss"; + const IS_POSSIBLY_SCSS = /(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; + return hasExplicitParserChoice ? parser === "scss" : IS_POSSIBLY_SCSS.test(text); +} + +function isSCSSVariable(node) { + return Boolean(node && node.type === "word" && node.value.startsWith("$")); +} + +function isWideKeywords$1(value) { + return ["initial", "inherit", "unset", "revert"].includes(value.toLowerCase()); +} + +function isKeyframeAtRuleKeywords$1(path, value) { + const atRuleAncestorNode = getAncestorNode$2(path, "css-atrule"); + return atRuleAncestorNode && atRuleAncestorNode.name && atRuleAncestorNode.name.toLowerCase().endsWith("keyframes") && ["from", "to"].includes(value.toLowerCase()); +} + +function maybeToLowerCase$1(value) { + return value.includes("$") || value.includes("@") || value.includes("#") || value.startsWith("%") || value.startsWith("--") || value.startsWith(":--") || value.includes("(") && value.includes(")") ? value : value.toLowerCase(); +} + +function insideValueFunctionNode$1(path, functionName) { + const funcAncestorNode = getAncestorNode$2(path, "value-func"); + return funcAncestorNode && funcAncestorNode.value && funcAncestorNode.value.toLowerCase() === functionName; +} + +function insideICSSRuleNode$1(path) { + const ruleAncestorNode = getAncestorNode$2(path, "css-rule"); + return ruleAncestorNode && ruleAncestorNode.raws && ruleAncestorNode.raws.selector && (ruleAncestorNode.raws.selector.startsWith(":import") || ruleAncestorNode.raws.selector.startsWith(":export")); +} + +function insideAtRuleNode$1(path, atRuleNameOrAtRuleNames) { + const atRuleNames = Array.isArray(atRuleNameOrAtRuleNames) ? atRuleNameOrAtRuleNames : [atRuleNameOrAtRuleNames]; + const atRuleAncestorNode = getAncestorNode$2(path, "css-atrule"); + return atRuleAncestorNode && atRuleNames.includes(atRuleAncestorNode.name.toLowerCase()); +} + +function insideURLFunctionInImportAtRuleNode$1(path) { + const node = path.getValue(); + const atRuleAncestorNode = getAncestorNode$2(path, "css-atrule"); + return atRuleAncestorNode && atRuleAncestorNode.name === "import" && node.groups[0].value === "url" && node.groups.length === 2; +} + +function isURLFunctionNode$1(node) { + return node.type === "value-func" && node.value.toLowerCase() === "url"; +} + +function isLastNode$1(path, node) { + const parentNode = path.getParentNode(); + /* istanbul ignore next */ + + if (!parentNode) { + return false; + } + + const { + nodes + } = parentNode; + return nodes && nodes.indexOf(node) === nodes.length - 1; +} + +function isDetachedRulesetDeclarationNode$1(node) { + // If a Less file ends up being parsed with the SCSS parser, Less + // variable declarations will be parsed as atrules with names ending + // with a colon, so keep the original case then. + + /* istanbul ignore next */ + if (!node.selector) { + return false; + } + + return typeof node.selector === "string" && /^@.+:.*$/.test(node.selector) || node.selector.value && /^@.+:.*$/.test(node.selector.value); +} + +function isForKeywordNode$1(node) { + return node.type === "value-word" && ["from", "through", "end"].includes(node.value); +} + +function isIfElseKeywordNode$1(node) { + return node.type === "value-word" && ["and", "or", "not"].includes(node.value); +} + +function isEachKeywordNode$1(node) { + return node.type === "value-word" && node.value === "in"; +} + +function isMultiplicationNode$1(node) { + return node.type === "value-operator" && node.value === "*"; +} + +function isDivisionNode$1(node) { + return node.type === "value-operator" && node.value === "/"; +} + +function isAdditionNode$1(node) { + return node.type === "value-operator" && node.value === "+"; +} + +function isSubtractionNode$1(node) { + return node.type === "value-operator" && node.value === "-"; +} + +function isModuloNode(node) { + return node.type === "value-operator" && node.value === "%"; +} + +function isMathOperatorNode$1(node) { + return isMultiplicationNode$1(node) || isDivisionNode$1(node) || isAdditionNode$1(node) || isSubtractionNode$1(node) || isModuloNode(node); +} + +function isEqualityOperatorNode$1(node) { + return node.type === "value-word" && ["==", "!="].includes(node.value); +} + +function isRelationalOperatorNode$1(node) { + return node.type === "value-word" && ["<", ">", "<=", ">="].includes(node.value); +} + +function isSCSSControlDirectiveNode$1(node) { + return node.type === "css-atrule" && ["if", "else", "for", "each", "while"].includes(node.name); +} + +function isSCSSNestedPropertyNode(node) { + /* istanbul ignore next */ + if (!node.selector) { + return false; + } + + return node.selector.replace(/\/\*.*?\*\//, "").replace(/\/\/.*?\n/, "").trim().endsWith(":"); +} + +function isDetachedRulesetCallNode$1(node) { + return node.raws && node.raws.params && /^\(\s*\)$/.test(node.raws.params); +} + +function isTemplatePlaceholderNode$1(node) { + return node.name.startsWith("prettier-placeholder"); +} + +function isTemplatePropNode$1(node) { + return node.prop.startsWith("@prettier-placeholder"); +} + +function isPostcssSimpleVarNode$1(currentNode, nextNode) { + return currentNode.value === "$$" && currentNode.type === "value-func" && nextNode && nextNode.type === "value-word" && !nextNode.raws.before; +} + +function hasComposesNode$1(node) { + return node.value && node.value.type === "value-root" && node.value.group && node.value.group.type === "value-value" && node.prop.toLowerCase() === "composes"; +} + +function hasParensAroundNode$1(node) { + return node.value && node.value.group && node.value.group.group && node.value.group.group.type === "value-paren_group" && node.value.group.group.open !== null && node.value.group.group.close !== null; +} + +function hasEmptyRawBefore$1(node) { + return node.raws && node.raws.before === ""; +} + +function isKeyValuePairNode$1(node) { + return node.type === "value-comma_group" && node.groups && node.groups[1] && node.groups[1].type === "value-colon"; +} + +function isKeyValuePairInParenGroupNode(node) { + return node.type === "value-paren_group" && node.groups && node.groups[0] && isKeyValuePairNode$1(node.groups[0]); +} + +function isSCSSMapItemNode$1(path) { + const node = path.getValue(); // Ignore empty item (i.e. `$key: ()`) + + if (node.groups.length === 0) { + return false; + } + + const parentParentNode = path.getParentNode(1); // Check open parens contain key/value pair (i.e. `(key: value)` and `(key: (value, other-value)`) + + if (!isKeyValuePairInParenGroupNode(node) && !(parentParentNode && isKeyValuePairInParenGroupNode(parentParentNode))) { + return false; + } + + const declNode = getAncestorNode$2(path, "css-decl"); // SCSS map declaration (i.e. `$map: (key: value, other-key: other-value)`) + + if (declNode && declNode.prop && declNode.prop.startsWith("$")) { + return true; + } // List as value of key inside SCSS map (i.e. `$map: (key: (value other-value other-other-value))`) + + + if (isKeyValuePairInParenGroupNode(parentParentNode)) { + return true; + } // SCSS Map is argument of function (i.e. `func((key: value, other-key: other-value))`) + + + if (parentParentNode.type === "value-func") { + return true; + } + + return false; +} + +function isInlineValueCommentNode$1(node) { + return node.type === "value-comment" && node.inline; +} + +function isHashNode$1(node) { + return node.type === "value-word" && node.value === "#"; +} + +function isLeftCurlyBraceNode$1(node) { + return node.type === "value-word" && node.value === "{"; +} + +function isRightCurlyBraceNode$1(node) { + return node.type === "value-word" && node.value === "}"; +} + +function isWordNode$1(node) { + return ["value-word", "value-atword"].includes(node.type); +} + +function isColonNode$1(node) { + return node && node.type === "value-colon"; +} + +function isKeyInValuePairNode$1(node, parentNode) { + if (!isKeyValuePairNode$1(parentNode)) { + return false; + } + + const { + groups + } = parentNode; + const index = groups.indexOf(node); + + if (index === -1) { + return false; + } + + return isColonNode$1(groups[index + 1]); +} + +function isMediaAndSupportsKeywords$1(node) { + return node.value && ["not", "and", "or"].includes(node.value.toLowerCase()); +} + +function isColorAdjusterFuncNode$1(node) { + if (node.type !== "value-func") { + return false; + } + + return colorAdjusterFunctions.has(node.value.toLowerCase()); +} // TODO: only check `less` when we don't use `less` to parse `css` + + +function isLessParser$1(options) { + return options.parser === "css" || options.parser === "less"; +} + +function lastLineHasInlineComment$1(text) { + return /\/\//.test(text.split(/[\n\r]/).pop()); +} + +function stringifyNode(node) { + if (node.groups) { + const open = node.open && node.open.value ? node.open.value : ""; + const groups = node.groups.reduce((previousValue, currentValue, index) => previousValue + stringifyNode(currentValue) + (node.groups[0].type === "comma_group" && index !== node.groups.length - 1 ? "," : ""), ""); + const close = node.close && node.close.value ? node.close.value : ""; + return open + groups + close; + } + + const before = node.raws && node.raws.before ? node.raws.before : ""; + const quote = node.raws && node.raws.quote ? node.raws.quote : ""; + const atword = node.type === "atword" ? "@" : ""; + const value = node.value ? node.value : ""; + const unit = node.unit ? node.unit : ""; + const group = node.group ? stringifyNode(node.group) : ""; + const after = node.raws && node.raws.after ? node.raws.after : ""; + return before + quote + atword + value + quote + unit + group + after; +} + +function isAtWordPlaceholderNode$1(node) { + return node && node.type === "value-atword" && node.value.startsWith("prettier-placeholder-"); +} + +function isModuleRuleName(name) { + return moduleRuleNames.has(name); +} + +function isConfigurationNode$1(node, parentNode) { + if (!node.open || node.open.value !== "(" || !node.close || node.close.value !== ")" || node.groups.some(group => group.type !== "value-comma_group")) { + return false; + } + + if (parentNode.type === "value-comma_group") { + const prevIdx = parentNode.groups.indexOf(node) - 1; + const maybeWithNode = parentNode.groups[prevIdx]; + + if (maybeWithNode && maybeWithNode.type === "value-word" && maybeWithNode.value === "with") { + return true; + } + } + + return false; +} + +function isParenGroupNode$1(node) { + return node.type === "value-paren_group" && node.open && node.open.value === "(" && node.close && node.close.value === ")"; +} + +var utils$4 = { + getAncestorCounter: getAncestorCounter$1, + getAncestorNode: getAncestorNode$2, + getPropOfDeclNode: getPropOfDeclNode$1, + hasSCSSInterpolation, + hasStringOrFunction, + maybeToLowerCase: maybeToLowerCase$1, + insideValueFunctionNode: insideValueFunctionNode$1, + insideICSSRuleNode: insideICSSRuleNode$1, + insideAtRuleNode: insideAtRuleNode$1, + insideURLFunctionInImportAtRuleNode: insideURLFunctionInImportAtRuleNode$1, + isKeyframeAtRuleKeywords: isKeyframeAtRuleKeywords$1, + isWideKeywords: isWideKeywords$1, + isSCSS: isSCSS$1, + isSCSSVariable, + isLastNode: isLastNode$1, + isLessParser: isLessParser$1, + isSCSSControlDirectiveNode: isSCSSControlDirectiveNode$1, + isDetachedRulesetDeclarationNode: isDetachedRulesetDeclarationNode$1, + isRelationalOperatorNode: isRelationalOperatorNode$1, + isEqualityOperatorNode: isEqualityOperatorNode$1, + isMultiplicationNode: isMultiplicationNode$1, + isDivisionNode: isDivisionNode$1, + isAdditionNode: isAdditionNode$1, + isSubtractionNode: isSubtractionNode$1, + isModuloNode, + isMathOperatorNode: isMathOperatorNode$1, + isEachKeywordNode: isEachKeywordNode$1, + isForKeywordNode: isForKeywordNode$1, + isURLFunctionNode: isURLFunctionNode$1, + isIfElseKeywordNode: isIfElseKeywordNode$1, + hasComposesNode: hasComposesNode$1, + hasParensAroundNode: hasParensAroundNode$1, + hasEmptyRawBefore: hasEmptyRawBefore$1, + isSCSSNestedPropertyNode, + isDetachedRulesetCallNode: isDetachedRulesetCallNode$1, + isTemplatePlaceholderNode: isTemplatePlaceholderNode$1, + isTemplatePropNode: isTemplatePropNode$1, + isPostcssSimpleVarNode: isPostcssSimpleVarNode$1, + isKeyValuePairNode: isKeyValuePairNode$1, + isKeyValuePairInParenGroupNode, + isKeyInValuePairNode: isKeyInValuePairNode$1, + isSCSSMapItemNode: isSCSSMapItemNode$1, + isInlineValueCommentNode: isInlineValueCommentNode$1, + isHashNode: isHashNode$1, + isLeftCurlyBraceNode: isLeftCurlyBraceNode$1, + isRightCurlyBraceNode: isRightCurlyBraceNode$1, + isWordNode: isWordNode$1, + isColonNode: isColonNode$1, + isMediaAndSupportsKeywords: isMediaAndSupportsKeywords$1, + isColorAdjusterFuncNode: isColorAdjusterFuncNode$1, + lastLineHasInlineComment: lastLineHasInlineComment$1, + stringifyNode, + isAtWordPlaceholderNode: isAtWordPlaceholderNode$1, + isModuleRuleName, + isConfigurationNode: isConfigurationNode$1, + isParenGroupNode: isParenGroupNode$1 +}; + +var lineColumnToIndex$1 = function (lineColumn, text) { + let index = 0; + + for (let i = 0; i < lineColumn.line - 1; ++i) { + index = text.indexOf("\n", index) + 1; + } + + return index + lineColumn.column; +}; + +const lineColumnToIndex = lineColumnToIndex$1; +const { + getLast: getLast$8, + skipEverythingButNewLine +} = util$8; + +function calculateLocStart(node, text) { + // value-* nodes have this + if (typeof node.sourceIndex === "number") { + return node.sourceIndex; + } + + return node.source ? lineColumnToIndex(node.source.start, text) - 1 : null; +} + +function calculateLocEnd(node, text) { + if (node.type === "css-comment" && node.inline) { + return skipEverythingButNewLine(text, node.source.startOffset); + } + + const endNode = node.nodes && getLast$8(node.nodes); + + if (endNode && node.source && !node.source.end) { + node = endNode; + } + + if (node.source && node.source.end) { + return lineColumnToIndex(node.source.end, text); + } + + return null; +} + +function calculateLoc(node, text) { + if (node.source) { + node.source.startOffset = calculateLocStart(node, text); + node.source.endOffset = calculateLocEnd(node, text); + } + + for (const key in node) { + const child = node[key]; + + if (key === "source" || !child || typeof child !== "object") { + continue; + } + + if (child.type === "value-root" || child.type === "value-unknown") { + calculateValueNodeLoc(child, getValueRootOffset(node), child.text || child.value); + } else { + calculateLoc(child, text); + } + } +} + +function calculateValueNodeLoc(node, rootOffset, text) { + if (node.source) { + node.source.startOffset = calculateLocStart(node, text) + rootOffset; + node.source.endOffset = calculateLocEnd(node, text) + rootOffset; + } + + for (const key in node) { + const child = node[key]; + + if (key === "source" || !child || typeof child !== "object") { + continue; + } + + calculateValueNodeLoc(child, rootOffset, text); + } +} + +function getValueRootOffset(node) { + let result = node.source.startOffset; + + if (typeof node.prop === "string") { + result += node.prop.length; + } + + if (node.type === "css-atrule" && typeof node.name === "string") { + result += 1 + node.name.length + node.raws.afterName.match(/^\s*:?\s*/)[0].length; + } + + if (node.type !== "css-atrule" && node.raws && typeof node.raws.between === "string") { + result += node.raws.between.length; + } + + return result; +} +/** + * Workaround for a bug: quotes and asterisks in inline comments corrupt loc data of subsequent nodes. + * This function replaces the quotes and asterisks with spaces. Later, when the comments are printed, + * their content is extracted from the original text. + * - https://github.com/prettier/prettier/issues/7780 + * - https://github.com/shellscape/postcss-less/issues/145 + * - https://github.com/prettier/prettier/issues/8130 + * @param text {string} + */ + + +function replaceQuotesInInlineComments(text) { + /** @typedef { 'initial' | 'single-quotes' | 'double-quotes' | 'url' | 'comment-block' | 'comment-inline' } State */ + + /** @type {State} */ + let state = "initial"; + /** @type {State} */ + + let stateToReturnFromQuotes = "initial"; + let inlineCommentStartIndex; + let inlineCommentContainsQuotes = false; + const inlineCommentsToReplace = []; + + for (let i = 0; i < text.length; i++) { + const c = text[i]; + + switch (state) { + case "initial": + if (c === "'") { + state = "single-quotes"; + continue; + } + + if (c === '"') { + state = "double-quotes"; + continue; + } + + if ((c === "u" || c === "U") && text.slice(i, i + 4).toLowerCase() === "url(") { + state = "url"; + i += 3; + continue; + } + + if (c === "*" && text[i - 1] === "/") { + state = "comment-block"; + continue; + } + + if (c === "/" && text[i - 1] === "/") { + state = "comment-inline"; + inlineCommentStartIndex = i - 1; + continue; + } + + continue; + + case "single-quotes": + if (c === "'" && text[i - 1] !== "\\") { + state = stateToReturnFromQuotes; + stateToReturnFromQuotes = "initial"; + } + + if (c === "\n" || c === "\r") { + return text; // invalid input + } + + continue; + + case "double-quotes": + if (c === '"' && text[i - 1] !== "\\") { + state = stateToReturnFromQuotes; + stateToReturnFromQuotes = "initial"; + } + + if (c === "\n" || c === "\r") { + return text; // invalid input + } + + continue; + + case "url": + if (c === ")") { + state = "initial"; + } + + if (c === "\n" || c === "\r") { + return text; // invalid input + } + + if (c === "'") { + state = "single-quotes"; + stateToReturnFromQuotes = "url"; + continue; + } + + if (c === '"') { + state = "double-quotes"; + stateToReturnFromQuotes = "url"; + continue; + } + + continue; + + case "comment-block": + if (c === "/" && text[i - 1] === "*") { + state = "initial"; + } + + continue; + + case "comment-inline": + if (c === '"' || c === "'" || c === "*") { + inlineCommentContainsQuotes = true; + } + + if (c === "\n" || c === "\r") { + if (inlineCommentContainsQuotes) { + inlineCommentsToReplace.push([inlineCommentStartIndex, i]); + } + + state = "initial"; + inlineCommentContainsQuotes = false; + } + + continue; + } + } + + for (const [start, end] of inlineCommentsToReplace) { + text = text.slice(0, start) + text.slice(start, end).replace(/["'*]/g, " ") + text.slice(end); + } + + return text; +} + +function locStart$e(node) { + return node.source.startOffset; +} + +function locEnd$d(node) { + return node.source.endOffset; +} + +var loc$5 = { + locStart: locStart$e, + locEnd: locEnd$d, + calculateLoc, + replaceQuotesInInlineComments +}; + +const getLast$7 = getLast_1; +const { + printNumber, + printString, + hasNewline, + isFrontMatterNode: isFrontMatterNode$3, + isNextLineEmpty: isNextLineEmpty$3, + isNonEmptyArray: isNonEmptyArray$5 +} = util$8; +const { + builders: { + join: join$a, + line: line$d, + hardline: hardline$c, + softline: softline$9, + group: group$b, + fill: fill$6, + indent: indent$6, + dedent: dedent$2, + ifBreak: ifBreak$8, + breakParent: breakParent$5 + }, + utils: { + removeLines, + getDocParts: getDocParts$5 + } +} = require$$7$3; +const clean$8 = clean_1$3; +const embed$7 = embed_1$3; +const { + insertPragma: insertPragma$7 +} = pragma$4; +const { + getAncestorNode: getAncestorNode$1, + getPropOfDeclNode, + maybeToLowerCase, + insideValueFunctionNode, + insideICSSRuleNode, + insideAtRuleNode, + insideURLFunctionInImportAtRuleNode, + isKeyframeAtRuleKeywords, + isWideKeywords, + isSCSS, + isLastNode, + isLessParser, + isSCSSControlDirectiveNode, + isDetachedRulesetDeclarationNode, + isRelationalOperatorNode, + isEqualityOperatorNode, + isMultiplicationNode, + isDivisionNode, + isAdditionNode, + isSubtractionNode, + isMathOperatorNode, + isEachKeywordNode, + isForKeywordNode, + isURLFunctionNode, + isIfElseKeywordNode, + hasComposesNode, + hasParensAroundNode, + hasEmptyRawBefore, + isKeyValuePairNode, + isKeyInValuePairNode, + isDetachedRulesetCallNode, + isTemplatePlaceholderNode, + isTemplatePropNode, + isPostcssSimpleVarNode, + isSCSSMapItemNode, + isInlineValueCommentNode, + isHashNode, + isLeftCurlyBraceNode, + isRightCurlyBraceNode, + isWordNode, + isColonNode, + isMediaAndSupportsKeywords, + isColorAdjusterFuncNode, + lastLineHasInlineComment, + isAtWordPlaceholderNode, + isConfigurationNode, + isParenGroupNode +} = utils$4; +const { + locStart: locStart$d, + locEnd: locEnd$c +} = loc$5; + +function shouldPrintComma(options) { + return options.trailingComma === "es5" || options.trailingComma === "all"; +} + +function genericPrint$4(path, options, print) { + const node = path.getValue(); + /* istanbul ignore if */ + + if (!node) { + return ""; + } + + if (typeof node === "string") { + return node; + } + + switch (node.type) { + case "front-matter": + return [node.raw, hardline$c]; + + case "css-root": + { + const nodes = printNodeSequence(path, options, print); + const after = node.raws.after.trim(); + return [nodes, after ? ` ${after}` : "", getDocParts$5(nodes).length > 0 ? hardline$c : ""]; + } + + case "css-comment": + { + const isInlineComment = node.inline || node.raws.inline; + const text = options.originalText.slice(locStart$d(node), locEnd$c(node)); + return isInlineComment ? text.trimEnd() : text; + } + + case "css-rule": + { + return [print("selector"), node.important ? " !important" : "", node.nodes ? [node.selector && node.selector.type === "selector-unknown" && lastLineHasInlineComment(node.selector.value) ? line$d : " ", "{", node.nodes.length > 0 ? indent$6([hardline$c, printNodeSequence(path, options, print)]) : "", hardline$c, "}", isDetachedRulesetDeclarationNode(node) ? ";" : ""] : ";"]; + } + + case "css-decl": + { + const parentNode = path.getParentNode(); + const { + between: rawBetween + } = node.raws; + const trimmedBetween = rawBetween.trim(); + const isColon = trimmedBetween === ":"; + let value = hasComposesNode(node) ? removeLines(print("value")) : print("value"); + + if (!isColon && lastLineHasInlineComment(trimmedBetween)) { + value = indent$6([hardline$c, dedent$2(value)]); + } + + return [node.raws.before.replace(/[\s;]/g, ""), insideICSSRuleNode(path) ? node.prop : maybeToLowerCase(node.prop), trimmedBetween.startsWith("//") ? " " : "", trimmedBetween, node.extend ? "" : " ", isLessParser(options) && node.extend && node.selector ? ["extend(", print("selector"), ")"] : "", value, node.raws.important ? node.raws.important.replace(/\s*!\s*important/i, " !important") : node.important ? " !important" : "", node.raws.scssDefault ? node.raws.scssDefault.replace(/\s*!default/i, " !default") : node.scssDefault ? " !default" : "", node.raws.scssGlobal ? node.raws.scssGlobal.replace(/\s*!global/i, " !global") : node.scssGlobal ? " !global" : "", node.nodes ? [" {", indent$6([softline$9, printNodeSequence(path, options, print)]), softline$9, "}"] : isTemplatePropNode(node) && !parentNode.raws.semicolon && options.originalText[locEnd$c(node) - 1] !== ";" ? "" : options.__isHTMLStyleAttribute && isLastNode(path, node) ? ifBreak$8(";") : ";"]; + } + + case "css-atrule": + { + const parentNode = path.getParentNode(); + const isTemplatePlaceholderNodeWithoutSemiColon = isTemplatePlaceholderNode(node) && !parentNode.raws.semicolon && options.originalText[locEnd$c(node) - 1] !== ";"; + + if (isLessParser(options)) { + if (node.mixin) { + return [print("selector"), node.important ? " !important" : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; + } + + if (node.function) { + return [node.name, print("params"), isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; + } + + if (node.variable) { + return ["@", node.name, ": ", node.value ? print("value") : "", node.raws.between.trim() ? node.raws.between.trim() + " " : "", node.nodes ? ["{", indent$6([node.nodes.length > 0 ? softline$9 : "", printNodeSequence(path, options, print)]), softline$9, "}"] : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; + } + } + + return ["@", // If a Less file ends up being parsed with the SCSS parser, Less + // variable declarations will be parsed as at-rules with names ending + // with a colon, so keep the original case then. + isDetachedRulesetCallNode(node) || node.name.endsWith(":") ? node.name : maybeToLowerCase(node.name), node.params ? [isDetachedRulesetCallNode(node) ? "" : isTemplatePlaceholderNode(node) ? node.raws.afterName === "" ? "" : node.name.endsWith(":") ? " " : /^\s*\n\s*\n/.test(node.raws.afterName) ? [hardline$c, hardline$c] : /^\s*\n/.test(node.raws.afterName) ? hardline$c : " " : " ", print("params")] : "", node.selector ? indent$6([" ", print("selector")]) : "", node.value ? group$b([" ", print("value"), isSCSSControlDirectiveNode(node) ? hasParensAroundNode(node) ? " " : line$d : ""]) : node.name === "else" ? " " : "", node.nodes ? [isSCSSControlDirectiveNode(node) ? "" : node.selector && !node.selector.nodes && typeof node.selector.value === "string" && lastLineHasInlineComment(node.selector.value) || !node.selector && typeof node.params === "string" && lastLineHasInlineComment(node.params) ? line$d : " ", "{", indent$6([node.nodes.length > 0 ? softline$9 : "", printNodeSequence(path, options, print)]), softline$9, "}"] : isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; + } + // postcss-media-query-parser + + case "media-query-list": + { + const parts = []; + path.each(childPath => { + const node = childPath.getValue(); + + if (node.type === "media-query" && node.value === "") { + return; + } + + parts.push(print()); + }, "nodes"); + return group$b(indent$6(join$a(line$d, parts))); + } + + case "media-query": + { + return [join$a(" ", path.map(print, "nodes")), isLastNode(path, node) ? "" : ","]; + } + + case "media-type": + { + return adjustNumbers(adjustStrings(node.value, options)); + } + + case "media-feature-expression": + { + if (!node.nodes) { + return node.value; + } + + return ["(", ...path.map(print, "nodes"), ")"]; + } + + case "media-feature": + { + return maybeToLowerCase(adjustStrings(node.value.replace(/ +/g, " "), options)); + } + + case "media-colon": + { + return [node.value, " "]; + } + + case "media-value": + { + return adjustNumbers(adjustStrings(node.value, options)); + } + + case "media-keyword": + { + return adjustStrings(node.value, options); + } + + case "media-url": + { + return adjustStrings(node.value.replace(/^url\(\s+/gi, "url(").replace(/\s+\)$/g, ")"), options); + } + + case "media-unknown": + { + return node.value; + } + // postcss-selector-parser + + case "selector-root": + { + return group$b([insideAtRuleNode(path, "custom-selector") ? [getAncestorNode$1(path, "css-atrule").customSelector, line$d] : "", join$a([",", insideAtRuleNode(path, ["extend", "custom-selector", "nest"]) ? line$d : hardline$c], path.map(print, "nodes"))]); + } + + case "selector-selector": + { + return group$b(indent$6(path.map(print, "nodes"))); + } + + case "selector-comment": + { + return node.value; + } + + case "selector-string": + { + return adjustStrings(node.value, options); + } + + case "selector-tag": + { + const parentNode = path.getParentNode(); + const index = parentNode && parentNode.nodes.indexOf(node); + const prevNode = index && parentNode.nodes[index - 1]; + return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", prevNode.type === "selector-nesting" ? node.value : adjustNumbers(isKeyframeAtRuleKeywords(path, node.value) ? node.value.toLowerCase() : node.value)]; + } + + case "selector-id": + { + return ["#", node.value]; + } + + case "selector-class": + { + return [".", adjustNumbers(adjustStrings(node.value, options))]; + } + + case "selector-attribute": + { + return ["[", node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.attribute.trim(), node.operator ? node.operator : "", node.value ? quoteAttributeValue(adjustStrings(node.value.trim(), options), options) : "", node.insensitive ? " i" : "", "]"]; + } + + case "selector-combinator": + { + if (node.value === "+" || node.value === ">" || node.value === "~" || node.value === ">>>") { + const parentNode = path.getParentNode(); + const leading = parentNode.type === "selector-selector" && parentNode.nodes[0] === node ? "" : line$d; + return [leading, node.value, isLastNode(path, node) ? "" : " "]; + } + + const leading = node.value.trim().startsWith("(") ? line$d : ""; + const value = adjustNumbers(adjustStrings(node.value.trim(), options)) || line$d; + return [leading, value]; + } + + case "selector-universal": + { + return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.value]; + } + + case "selector-pseudo": + { + return [maybeToLowerCase(node.value), isNonEmptyArray$5(node.nodes) ? ["(", join$a(", ", path.map(print, "nodes")), ")"] : ""]; + } + + case "selector-nesting": + { + return node.value; + } + + case "selector-unknown": + { + const ruleAncestorNode = getAncestorNode$1(path, "css-rule"); // Nested SCSS property + + if (ruleAncestorNode && ruleAncestorNode.isSCSSNesterProperty) { + return adjustNumbers(adjustStrings(maybeToLowerCase(node.value), options)); + } // originalText has to be used for Less, see replaceQuotesInInlineComments in loc.js + + + const parentNode = path.getParentNode(); + + if (parentNode.raws && parentNode.raws.selector) { + const start = locStart$d(parentNode); + const end = start + parentNode.raws.selector.length; + return options.originalText.slice(start, end).trim(); + } // Same reason above + + + const grandParent = path.getParentNode(1); + + if (parentNode.type === "value-paren_group" && grandParent && grandParent.type === "value-func" && grandParent.value === "selector") { + const start = locStart$d(parentNode.open) + 1; + const end = locEnd$c(parentNode.close) - 1; + const selector = options.originalText.slice(start, end).trim(); + return lastLineHasInlineComment(selector) ? [breakParent$5, selector] : selector; + } + + return node.value; + } + // postcss-values-parser + + case "value-value": + case "value-root": + { + return print("group"); + } + + case "value-comment": + { + return options.originalText.slice(locStart$d(node), locEnd$c(node)); + } + + case "value-comma_group": + { + const parentNode = path.getParentNode(); + const parentParentNode = path.getParentNode(1); + const declAncestorProp = getPropOfDeclNode(path); + const isGridValue = declAncestorProp && parentNode.type === "value-value" && (declAncestorProp === "grid" || declAncestorProp.startsWith("grid-template")); + const atRuleAncestorNode = getAncestorNode$1(path, "css-atrule"); + const isControlDirective = atRuleAncestorNode && isSCSSControlDirectiveNode(atRuleAncestorNode); + const hasInlineComment = node.groups.some(node => isInlineValueCommentNode(node)); + const printed = path.map(print, "groups"); + const parts = []; + const insideURLFunction = insideValueFunctionNode(path, "url"); + let insideSCSSInterpolationInString = false; + let didBreak = false; + + for (let i = 0; i < node.groups.length; ++i) { + parts.push(printed[i]); + const iPrevNode = node.groups[i - 1]; + const iNode = node.groups[i]; + const iNextNode = node.groups[i + 1]; + const iNextNextNode = node.groups[i + 2]; + + if (insideURLFunction) { + if (iNextNode && isAdditionNode(iNextNode) || isAdditionNode(iNode)) { + parts.push(" "); + } + + continue; + } // Ignore SCSS @forward wildcard suffix + + + if (insideAtRuleNode(path, "forward") && iNode.type === "value-word" && iNode.value && iPrevNode !== undefined && iPrevNode.type === "value-word" && iPrevNode.value === "as" && iNextNode.type === "value-operator" && iNextNode.value === "*") { + continue; + } // Ignore after latest node (i.e. before semicolon) + + + if (!iNextNode) { + continue; + } // styled.div` background: var(--${one}); ` + + + if (iNode.type === "value-word" && iNode.value.endsWith("-") && isAtWordPlaceholderNode(iNextNode)) { + continue; + } // Ignore spaces before/after string interpolation (i.e. `"#{my-fn("_")}"`) + + + const isStartSCSSInterpolationInString = iNode.type === "value-string" && iNode.value.startsWith("#{"); + const isEndingSCSSInterpolationInString = insideSCSSInterpolationInString && iNextNode.type === "value-string" && iNextNode.value.endsWith("}"); + + if (isStartSCSSInterpolationInString || isEndingSCSSInterpolationInString) { + insideSCSSInterpolationInString = !insideSCSSInterpolationInString; + continue; + } + + if (insideSCSSInterpolationInString) { + continue; + } // Ignore colon (i.e. `:`) + + + if (isColonNode(iNode) || isColonNode(iNextNode)) { + continue; + } // Ignore `@` in Less (i.e. `@@var;`) + + + if (iNode.type === "value-atword" && iNode.value === "") { + continue; + } // Ignore `~` in Less (i.e. `content: ~"^//* some horrible but needed css hack";`) + + + if (iNode.value === "~") { + continue; + } // Ignore escape `\` + + + if (iNode.value && iNode.value.includes("\\") && iNextNode && iNextNode.type !== "value-comment") { + continue; + } // Ignore escaped `/` + + + if (iPrevNode && iPrevNode.value && iPrevNode.value.indexOf("\\") === iPrevNode.value.length - 1 && iNode.type === "value-operator" && iNode.value === "/") { + continue; + } // Ignore `\` (i.e. `$variable: \@small;`) + + + if (iNode.value === "\\") { + continue; + } // Ignore `$$` (i.e. `background-color: $$(style)Color;`) + + + if (isPostcssSimpleVarNode(iNode, iNextNode)) { + continue; + } // Ignore spaces after `#` and after `{` and before `}` in SCSS interpolation (i.e. `#{variable}`) + + + if (isHashNode(iNode) || isLeftCurlyBraceNode(iNode) || isRightCurlyBraceNode(iNextNode) || isLeftCurlyBraceNode(iNextNode) && hasEmptyRawBefore(iNextNode) || isRightCurlyBraceNode(iNode) && hasEmptyRawBefore(iNextNode)) { + continue; + } // Ignore css variables and interpolation in SCSS (i.e. `--#{$var}`) + + + if (iNode.value === "--" && isHashNode(iNextNode)) { + continue; + } // Formatting math operations + + + const isMathOperator = isMathOperatorNode(iNode); + const isNextMathOperator = isMathOperatorNode(iNextNode); // Print spaces before and after math operators beside SCSS interpolation as is + // (i.e. `#{$var}+5`, `#{$var} +5`, `#{$var}+ 5`, `#{$var} + 5`) + // (i.e. `5+#{$var}`, `5 +#{$var}`, `5+ #{$var}`, `5 + #{$var}`) + + if ((isMathOperator && isHashNode(iNextNode) || isNextMathOperator && isRightCurlyBraceNode(iNode)) && hasEmptyRawBefore(iNextNode)) { + continue; + } // absolute paths are only parsed as one token if they are part of url(/abs/path) call + // but if you have custom -fb-url(/abs/path/) then it is parsed as "division /" and rest + // of the path. We don't want to put a space after that first division in this case. + + + if (!iPrevNode && isDivisionNode(iNode)) { + continue; + } // Print spaces before and after addition and subtraction math operators as is in `calc` function + // due to the fact that it is not valid syntax + // (i.e. `calc(1px+1px)`, `calc(1px+ 1px)`, `calc(1px +1px)`, `calc(1px + 1px)`) + + + if (insideValueFunctionNode(path, "calc") && (isAdditionNode(iNode) || isAdditionNode(iNextNode) || isSubtractionNode(iNode) || isSubtractionNode(iNextNode)) && hasEmptyRawBefore(iNextNode)) { + continue; + } // Print spaces after `+` and `-` in color adjuster functions as is (e.g. `color(red l(+ 20%))`) + // Adjusters with signed numbers (e.g. `color(red l(+20%))`) output as-is. + + + const isColorAdjusterNode = (isAdditionNode(iNode) || isSubtractionNode(iNode)) && i === 0 && (iNextNode.type === "value-number" || iNextNode.isHex) && parentParentNode && isColorAdjusterFuncNode(parentParentNode) && !hasEmptyRawBefore(iNextNode); + const requireSpaceBeforeOperator = iNextNextNode && iNextNextNode.type === "value-func" || iNextNextNode && isWordNode(iNextNextNode) || iNode.type === "value-func" || isWordNode(iNode); + const requireSpaceAfterOperator = iNextNode.type === "value-func" || isWordNode(iNextNode) || iPrevNode && iPrevNode.type === "value-func" || iPrevNode && isWordNode(iPrevNode); // Formatting `/`, `+`, `-` sign + + if (!(isMultiplicationNode(iNextNode) || isMultiplicationNode(iNode)) && !insideValueFunctionNode(path, "calc") && !isColorAdjusterNode && (isDivisionNode(iNextNode) && !requireSpaceBeforeOperator || isDivisionNode(iNode) && !requireSpaceAfterOperator || isAdditionNode(iNextNode) && !requireSpaceBeforeOperator || isAdditionNode(iNode) && !requireSpaceAfterOperator || isSubtractionNode(iNextNode) || isSubtractionNode(iNode)) && (hasEmptyRawBefore(iNextNode) || isMathOperator && (!iPrevNode || iPrevNode && isMathOperatorNode(iPrevNode)))) { + continue; + } // Add `hardline` after inline comment (i.e. `// comment\n foo: bar;`) + + + if (isInlineValueCommentNode(iNode)) { + if (parentNode.type === "value-paren_group") { + parts.push(dedent$2(hardline$c)); + continue; + } + + parts.push(hardline$c); + continue; + } // Handle keywords in SCSS control directive + + + if (isControlDirective && (isEqualityOperatorNode(iNextNode) || isRelationalOperatorNode(iNextNode) || isIfElseKeywordNode(iNextNode) || isEachKeywordNode(iNode) || isForKeywordNode(iNode))) { + parts.push(" "); + continue; + } // At-rule `namespace` should be in one line + + + if (atRuleAncestorNode && atRuleAncestorNode.name.toLowerCase() === "namespace") { + parts.push(" "); + continue; + } // Formatting `grid` property + + + if (isGridValue) { + if (iNode.source && iNextNode.source && iNode.source.start.line !== iNextNode.source.start.line) { + parts.push(hardline$c); + didBreak = true; + } else { + parts.push(" "); + } + + continue; + } // Add `space` before next math operation + // Note: `grip` property have `/` delimiter and it is not math operation, so + // `grid` property handles above + + + if (isNextMathOperator) { + parts.push(" "); + continue; + } // allow function(returns-list($list)...) + + + if (iNextNode && iNextNode.value === "...") { + continue; + } + + if (isAtWordPlaceholderNode(iNode) && isAtWordPlaceholderNode(iNextNode) && locEnd$c(iNode) === locStart$d(iNextNode)) { + continue; + } + + if (isAtWordPlaceholderNode(iNode) && isParenGroupNode(iNextNode) && locEnd$c(iNode) === locStart$d(iNextNode.open)) { + parts.push(softline$9); + continue; + } + + if (iNode.value === "with" && isParenGroupNode(iNextNode)) { + parts.push(" "); + continue; + } // Be default all values go through `line` + + + parts.push(line$d); + } + + if (hasInlineComment) { + parts.push(breakParent$5); + } + + if (didBreak) { + parts.unshift(hardline$c); + } + + if (isControlDirective) { + return group$b(indent$6(parts)); + } // Indent is not needed for import url when url is very long + // and node has two groups + // when type is value-comma_group + // example @import url("verylongurl") projection,tv + + + if (insideURLFunctionInImportAtRuleNode(path)) { + return group$b(fill$6(parts)); + } + + return group$b(indent$6(fill$6(parts))); + } + + case "value-paren_group": + { + const parentNode = path.getParentNode(); + + if (parentNode && isURLFunctionNode(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) { + return [node.open ? print("open") : "", join$a(",", path.map(print, "groups")), node.close ? print("close") : ""]; + } + + if (!node.open) { + const printed = path.map(print, "groups"); + const res = []; + + for (let i = 0; i < printed.length; i++) { + if (i !== 0) { + res.push([",", line$d]); + } + + res.push(printed[i]); + } + + return group$b(indent$6(fill$6(res))); + } + + const isSCSSMapItem = isSCSSMapItemNode(path); + const lastItem = getLast$7(node.groups); + const isLastItemComment = lastItem && lastItem.type === "value-comment"; + const isKey = isKeyInValuePairNode(node, parentNode); + const isConfiguration = isConfigurationNode(node, parentNode); + const shouldBreak = isConfiguration || isSCSSMapItem && !isKey; + const shouldDedent = isConfiguration || isKey; + const printed = group$b([node.open ? print("open") : "", indent$6([softline$9, join$a([",", line$d], path.map(childPath => { + const node = childPath.getValue(); + const printed = print(); // Key/Value pair in open paren already indented + + if (isKeyValuePairNode(node) && node.type === "value-comma_group" && node.groups && node.groups[0].type !== "value-paren_group" && node.groups[2] && node.groups[2].type === "value-paren_group") { + const parts = getDocParts$5(printed.contents.contents); + parts[1] = group$b(parts[1]); + return group$b(dedent$2(printed)); + } + + return printed; + }, "groups"))]), ifBreak$8(!isLastItemComment && isSCSS(options.parser, options.originalText) && isSCSSMapItem && shouldPrintComma(options) ? "," : ""), softline$9, node.close ? print("close") : ""], { + shouldBreak + }); + return shouldDedent ? dedent$2(printed) : printed; + } + + case "value-func": + { + return [node.value, insideAtRuleNode(path, "supports") && isMediaAndSupportsKeywords(node) ? " " : "", print("group")]; + } + + case "value-paren": + { + return node.value; + } + + case "value-number": + { + return [printCssNumber(node.value), maybeToLowerCase(node.unit)]; + } + + case "value-operator": + { + return node.value; + } + + case "value-word": + { + if (node.isColor && node.isHex || isWideKeywords(node.value)) { + return node.value.toLowerCase(); + } + + return node.value; + } + + case "value-colon": + { + const parentNode = path.getParentNode(); + const index = parentNode && parentNode.groups.indexOf(node); + const prevNode = index && parentNode.groups[index - 1]; + return [node.value, // Don't add spaces on escaped colon `:`, e.g: grid-template-rows: [row-1-00\:00] auto; + prevNode && typeof prevNode.value === "string" && getLast$7(prevNode.value) === "\\" || // Don't add spaces on `:` in `url` function (i.e. `url(fbglyph: cross-outline, fig-white)`) + insideValueFunctionNode(path, "url") ? "" : line$d]; + } + // TODO: confirm this code is dead + + /* istanbul ignore next */ + + case "value-comma": + { + return [node.value, " "]; + } + + case "value-string": + { + return printString(node.raws.quote + node.value + node.raws.quote, options); + } + + case "value-atword": + { + return ["@", node.value]; + } + + case "value-unicode-range": + { + return node.value; + } + + case "value-unknown": + { + return node.value; + } + + default: + /* istanbul ignore next */ + throw new Error(`Unknown postcss type ${JSON.stringify(node.type)}`); + } +} + +function printNodeSequence(path, options, print) { + const parts = []; + path.each((pathChild, i, nodes) => { + const prevNode = nodes[i - 1]; + + if (prevNode && prevNode.type === "css-comment" && prevNode.text.trim() === "prettier-ignore") { + const childNode = pathChild.getValue(); + parts.push(options.originalText.slice(locStart$d(childNode), locEnd$c(childNode))); + } else { + parts.push(print()); + } + + if (i !== nodes.length - 1) { + if (nodes[i + 1].type === "css-comment" && !hasNewline(options.originalText, locStart$d(nodes[i + 1]), { + backwards: true + }) && !isFrontMatterNode$3(nodes[i]) || nodes[i + 1].type === "css-atrule" && nodes[i + 1].name === "else" && nodes[i].type !== "css-comment") { + parts.push(" "); + } else { + parts.push(options.__isHTMLStyleAttribute ? line$d : hardline$c); + + if (isNextLineEmpty$3(options.originalText, pathChild.getValue(), locEnd$c) && !isFrontMatterNode$3(nodes[i])) { + parts.push(hardline$c); + } + } + } + }, "nodes"); + return parts; +} + +const STRING_REGEX = /(["'])(?:(?!\1)[^\\]|\\.)*\1/gs; +const NUMBER_REGEX = /(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g; +const STANDARD_UNIT_REGEX = /[A-Za-z]+/g; +const WORD_PART_REGEX = /[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g; +const ADJUST_NUMBERS_REGEX = new RegExp(STRING_REGEX.source + "|" + `(${WORD_PART_REGEX.source})?` + `(${NUMBER_REGEX.source})` + `(${STANDARD_UNIT_REGEX.source})?`, "g"); + +function adjustStrings(value, options) { + return value.replace(STRING_REGEX, match => printString(match, options)); +} + +function quoteAttributeValue(value, options) { + const quote = options.singleQuote ? "'" : '"'; + return value.includes('"') || value.includes("'") ? value : quote + value + quote; +} + +function adjustNumbers(value) { + return value.replace(ADJUST_NUMBERS_REGEX, (match, quote, wordPart, number, unit) => !wordPart && number ? printCssNumber(number) + maybeToLowerCase(unit || "") : match); +} + +function printCssNumber(rawNumber) { + return printNumber(rawNumber) // Remove trailing `.0`. + .replace(/\.0(?=$|e)/, ""); +} + +var printerPostcss = { + print: genericPrint$4, + embed: embed$7, + insertPragma: insertPragma$7, + massageAstNode: clean$8 +}; + +const commonOptions$4 = commonOptions$6; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js + +var options$9 = { + singleQuote: commonOptions$4.singleQuote +}; + +var parsers$b = { + // TODO: switch these to just `postcss` and use `language` instead. + get css() { + return require("./parser-postcss.js").parsers.css; + }, + + get less() { + return require("./parser-postcss.js").parsers.less; + }, + + get scss() { + return require("./parser-postcss.js").parsers.scss; + } + +}; + +var name$9 = "CSS"; +var type$9 = "markup"; +var tmScope$9 = "source.css"; +var aceMode$9 = "css"; +var codemirrorMode$5 = "css"; +var codemirrorMimeType$5 = "text/css"; +var color$8 = "#563d7c"; +var extensions$9 = [ + ".css" +]; +var languageId$9 = 50; +var require$$4$5 = { + name: name$9, + type: type$9, + tmScope: tmScope$9, + aceMode: aceMode$9, + codemirrorMode: codemirrorMode$5, + codemirrorMimeType: codemirrorMimeType$5, + color: color$8, + extensions: extensions$9, + languageId: languageId$9 +}; + +var name$8 = "PostCSS"; +var type$8 = "markup"; +var tmScope$8 = "source.postcss"; +var group$a = "CSS"; +var extensions$8 = [ + ".pcss", + ".postcss" +]; +var aceMode$8 = "text"; +var languageId$8 = 262764437; +var require$$5$1 = { + name: name$8, + type: type$8, + tmScope: tmScope$8, + group: group$a, + extensions: extensions$8, + aceMode: aceMode$8, + languageId: languageId$8 +}; + +var name$7 = "Less"; +var type$7 = "markup"; +var color$7 = "#1d365d"; +var extensions$7 = [ + ".less" +]; +var tmScope$7 = "source.css.less"; +var aceMode$7 = "less"; +var codemirrorMode$4 = "css"; +var codemirrorMimeType$4 = "text/css"; +var languageId$7 = 198; +var require$$6 = { + name: name$7, + type: type$7, + color: color$7, + extensions: extensions$7, + tmScope: tmScope$7, + aceMode: aceMode$7, + codemirrorMode: codemirrorMode$4, + codemirrorMimeType: codemirrorMimeType$4, + languageId: languageId$7 +}; + +var name$6 = "SCSS"; +var type$6 = "markup"; +var color$6 = "#c6538c"; +var tmScope$6 = "source.css.scss"; +var aceMode$6 = "scss"; +var codemirrorMode$3 = "css"; +var codemirrorMimeType$3 = "text/x-scss"; +var extensions$6 = [ + ".scss" +]; +var languageId$6 = 329; +var require$$7 = { + name: name$6, + type: type$6, + color: color$6, + tmScope: tmScope$6, + aceMode: aceMode$6, + codemirrorMode: codemirrorMode$3, + codemirrorMimeType: codemirrorMimeType$3, + extensions: extensions$6, + languageId: languageId$6 +}; + +const createLanguage$5 = createLanguage$7; +const printer$5 = printerPostcss; +const options$8 = options$9; +const parsers$a = parsers$b; +const languages$6 = [createLanguage$5(require$$4$5, data => ({ + since: "1.4.0", + parsers: ["css"], + vscodeLanguageIds: ["css"], + extensions: [...data.extensions, // `WeiXin Style Sheets`(Weixin Mini Programs) + // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ + ".wxss"] +})), createLanguage$5(require$$5$1, () => ({ + since: "1.4.0", + parsers: ["css"], + vscodeLanguageIds: ["postcss"] +})), createLanguage$5(require$$6, () => ({ + since: "1.4.0", + parsers: ["less"], + vscodeLanguageIds: ["less"] +})), createLanguage$5(require$$7, () => ({ + since: "1.4.0", + parsers: ["scss"], + vscodeLanguageIds: ["scss"] +}))]; +const printers$4 = { + postcss: printer$5 +}; +var languageCss = { + languages: languages$6, + options: options$8, + printers: printers$4, + parsers: parsers$a +}; + +function locStart$c(node) { + return node.loc.start.offset; +} + +function locEnd$b(node) { + return node.loc.end.offset; +} + +var loc$4 = { + locStart: locStart$c, + locEnd: locEnd$b +}; + +function clean$7(ast, newNode +/*, parent*/ +) { + // (Glimmer/HTML) ignore TextNode + if (ast.type === "TextNode") { + const trimmed = ast.chars.trim(); + + if (!trimmed) { + return null; + } + + newNode.chars = trimmed.replace(/[\t\n\f\r ]+/g, " "); + } // `class` is reformatted + + + if (ast.type === "AttrNode" && ast.name.toLowerCase() === "class") { + delete newNode.value; + } +} + +clean$7.ignoredProperties = new Set(["loc", "selfClosing"]); +var clean_1$2 = clean$7; + +var require$$0$1 = [ + "area", + "base", + "basefont", + "bgsound", + "br", + "col", + "command", + "embed", + "frame", + "hr", + "image", + "img", + "input", + "isindex", + "keygen", + "link", + "menuitem", + "meta", + "nextid", + "param", + "source", + "track", + "wbr" +]; + +const htmlVoidElements = require$$0$1; +const getLast$6 = getLast_1; + +function isLastNodeOfSiblings$1(path) { + const node = path.getValue(); + const parentNode = path.getParentNode(0); + + if (isParentOfSomeType$1(path, ["ElementNode"]) && getLast$6(parentNode.children) === node) { + return true; + } + + if (isParentOfSomeType$1(path, ["Block"]) && getLast$6(parentNode.body) === node) { + return true; + } + + return false; +} + +function isUppercase(string) { + return string.toUpperCase() === string; +} + +function isGlimmerComponent(node) { + return isNodeOfSomeType$1(node, ["ElementNode"]) && typeof node.tag === "string" && node.tag[0] !== ":" && (isUppercase(node.tag[0]) || node.tag.includes(".")); +} + +const voidTags = new Set(htmlVoidElements); + +function isVoid$1(node) { + return isGlimmerComponent(node) && node.children.every(node => isWhitespaceNode$1(node)) || voidTags.has(node.tag); +} + +function isWhitespaceNode$1(node) { + return isNodeOfSomeType$1(node, ["TextNode"]) && !/\S/.test(node.chars); +} + +function isNodeOfSomeType$1(node, types) { + return node && types.includes(node.type); +} + +function isParentOfSomeType$1(path, types) { + const parentNode = path.getParentNode(0); + return isNodeOfSomeType$1(parentNode, types); +} + +function isPreviousNodeOfSomeType$1(path, types) { + const previousNode = getPreviousNode$1(path); + return isNodeOfSomeType$1(previousNode, types); +} + +function isNextNodeOfSomeType$1(path, types) { + const nextNode = getNextNode$1(path); + return isNodeOfSomeType$1(nextNode, types); +} + +function getSiblingNode(path, offset) { + const node = path.getValue(); + const parentNode = path.getParentNode(0) || {}; + const children = parentNode.children || parentNode.body || parentNode.parts || []; + const index = children.indexOf(node); + return index !== -1 && children[index + offset]; +} + +function getPreviousNode$1(path, lookBack = 1) { + return getSiblingNode(path, -lookBack); +} + +function getNextNode$1(path) { + return getSiblingNode(path, 1); +} + +function isPrettierIgnoreNode(node) { + return isNodeOfSomeType$1(node, ["MustacheCommentStatement"]) && typeof node.value === "string" && node.value.trim() === "prettier-ignore"; +} + +function hasPrettierIgnore$8(path) { + const node = path.getValue(); + const previousPreviousNode = getPreviousNode$1(path, 2); + return isPrettierIgnoreNode(node) || isPrettierIgnoreNode(previousPreviousNode); +} + +var utils$3 = { + getNextNode: getNextNode$1, + getPreviousNode: getPreviousNode$1, + hasPrettierIgnore: hasPrettierIgnore$8, + isLastNodeOfSiblings: isLastNodeOfSiblings$1, + isNextNodeOfSomeType: isNextNodeOfSomeType$1, + isNodeOfSomeType: isNodeOfSomeType$1, + isParentOfSomeType: isParentOfSomeType$1, + isPreviousNodeOfSomeType: isPreviousNodeOfSomeType$1, + isVoid: isVoid$1, + isWhitespaceNode: isWhitespaceNode$1 +}; + +const { + builders: { + dedent: dedent$1, + fill: fill$5, + group: group$9, + hardline: hardline$b, + ifBreak: ifBreak$7, + indent: indent$5, + join: join$9, + line: line$c, + softline: softline$8 + }, + utils: { + getDocParts: getDocParts$4, + replaceTextEndOfLine: replaceTextEndOfLine$8 + } +} = require$$7$3; +const { + getPreferredQuote, + isNonEmptyArray: isNonEmptyArray$4 +} = util$8; +const { + locStart: locStart$b, + locEnd: locEnd$a +} = loc$4; +const clean$6 = clean_1$2; +const { + getNextNode, + getPreviousNode, + hasPrettierIgnore: hasPrettierIgnore$7, + isLastNodeOfSiblings, + isNextNodeOfSomeType, + isNodeOfSomeType, + isParentOfSomeType, + isPreviousNodeOfSomeType, + isVoid, + isWhitespaceNode +} = utils$3; +const NEWLINES_TO_PRESERVE_MAX = 2; // Formatter based on @glimmerjs/syntax's built-in test formatter: +// https://github.com/glimmerjs/glimmer-vm/blob/master/packages/%40glimmer/syntax/lib/generation/print.ts + +function print(path, options, print) { + const node = path.getValue(); + /* istanbul ignore if*/ + + if (!node) { + return ""; + } + + if (hasPrettierIgnore$7(path)) { + return options.originalText.slice(locStart$b(node), locEnd$a(node)); + } + + const favoriteQuote = options.singleQuote ? "'" : '"'; + + switch (node.type) { + case "Block": + case "Program": + case "Template": + { + return group$9(path.map(print, "body")); + } + + case "ElementNode": + { + const startingTag = group$9(printStartingTag(path, print)); + const escapeNextElementNode = options.htmlWhitespaceSensitivity === "ignore" && isNextNodeOfSomeType(path, ["ElementNode"]) ? softline$8 : ""; + + if (isVoid(node)) { + return [startingTag, escapeNextElementNode]; + } + + const endingTag = [""]; + + if (node.children.length === 0) { + return [startingTag, indent$5(endingTag), escapeNextElementNode]; + } + + if (options.htmlWhitespaceSensitivity === "ignore") { + return [startingTag, indent$5(printChildren$5(path, options, print)), hardline$b, indent$5(endingTag), escapeNextElementNode]; + } + + return [startingTag, indent$5(group$9(printChildren$5(path, options, print))), indent$5(endingTag), escapeNextElementNode]; + } + + case "BlockStatement": + { + const pp = path.getParentNode(1); + const isElseIf = pp && pp.inverse && pp.inverse.body.length === 1 && pp.inverse.body[0] === node && pp.inverse.body[0].path.parts[0] === "if"; + + if (isElseIf) { + return [printElseIfBlock(path, print), printProgram(path, print, options), printInverse(path, print, options)]; + } + + return [printOpenBlock(path, print), group$9([printProgram(path, print, options), printInverse(path, print, options), printCloseBlock(path, print, options)])]; + } + + case "ElementModifierStatement": + { + return group$9(["{{", printPathAndParams(path, print), "}}"]); + } + + case "MustacheStatement": + { + return group$9([printOpeningMustache(node), printPathAndParams(path, print), printClosingMustache(node)]); + } + + case "SubExpression": + { + return group$9(["(", printSubExpressionPathAndParams(path, print), softline$8, ")"]); + } + + case "AttrNode": + { + const isText = node.value.type === "TextNode"; + const isEmptyText = isText && node.value.chars === ""; // If the text is empty and the value's loc start and end offsets are the + // same, there is no value for this AttrNode and it should be printed + // without the `=""`. Example: `` -> `` + + if (isEmptyText && locStart$b(node.value) === locEnd$a(node.value)) { + return node.name; + } // Let's assume quotes inside the content of text nodes are already + // properly escaped with entities, otherwise the parse wouldn't have parsed them. + + + const quote = isText ? getPreferredQuote(node.value.chars, favoriteQuote).quote : node.value.type === "ConcatStatement" ? getPreferredQuote(node.value.parts.filter(part => part.type === "TextNode").map(part => part.chars).join(""), favoriteQuote).quote : ""; + const valueDoc = print("value"); + return [node.name, "=", quote, node.name === "class" && quote ? group$9(indent$5(valueDoc)) : valueDoc, quote]; + } + + case "ConcatStatement": + { + return path.map(print, "parts"); + } + + case "Hash": + { + return join$9(line$c, path.map(print, "pairs")); + } + + case "HashPair": + { + return [node.key, "=", print("value")]; + } + + case "TextNode": + { + /* if `{{my-component}}` (or any text containing "{{") + * makes it to the TextNode, it means it was escaped, + * so let's print it escaped, ie.; `\{{my-component}}` */ + let text = node.chars.replace(/{{/g, "\\{{"); + const attrName = getCurrentAttributeName(path); + + if (attrName) { + // TODO: format style and srcset attributes + if (attrName === "class") { + const formattedClasses = text.trim().split(/\s+/).join(" "); + let leadingSpace = false; + let trailingSpace = false; + + if (isParentOfSomeType(path, ["ConcatStatement"])) { + if (isPreviousNodeOfSomeType(path, ["MustacheStatement"]) && /^\s/.test(text)) { + leadingSpace = true; + } + + if (isNextNodeOfSomeType(path, ["MustacheStatement"]) && /\s$/.test(text) && formattedClasses !== "") { + trailingSpace = true; + } + } + + return [leadingSpace ? line$c : "", formattedClasses, trailingSpace ? line$c : ""]; + } + + return replaceTextEndOfLine$8(text); + } + + const whitespacesOnlyRE = /^[\t\n\f\r ]*$/; + const isWhitespaceOnly = whitespacesOnlyRE.test(text); + const isFirstElement = !getPreviousNode(path); + const isLastElement = !getNextNode(path); + + if (options.htmlWhitespaceSensitivity !== "ignore") { + // https://infra.spec.whatwg.org/#ascii-whitespace + const leadingWhitespacesRE = /^[\t\n\f\r ]*/; + const trailingWhitespacesRE = /[\t\n\f\r ]*$/; // let's remove the file's final newline + // https://github.com/ember-cli/ember-new-output/blob/1a04c67ddd02ccb35e0ff41bb5cbce34b31173ef/.editorconfig#L16 + + const shouldTrimTrailingNewlines = isLastElement && isParentOfSomeType(path, ["Template"]); + const shouldTrimLeadingNewlines = isFirstElement && isParentOfSomeType(path, ["Template"]); + + if (isWhitespaceOnly) { + if (shouldTrimLeadingNewlines || shouldTrimTrailingNewlines) { + return ""; + } + + let breaks = [line$c]; + const newlines = countNewLines(text); + + if (newlines) { + breaks = generateHardlines(newlines); + } + + if (isLastNodeOfSiblings(path)) { + breaks = breaks.map(newline => dedent$1(newline)); + } + + return breaks; + } + + const [lead] = text.match(leadingWhitespacesRE); + const [tail] = text.match(trailingWhitespacesRE); + let leadBreaks = []; + + if (lead) { + leadBreaks = [line$c]; + const leadingNewlines = countNewLines(lead); + + if (leadingNewlines) { + leadBreaks = generateHardlines(leadingNewlines); + } + + text = text.replace(leadingWhitespacesRE, ""); + } + + let trailBreaks = []; + + if (tail) { + if (!shouldTrimTrailingNewlines) { + trailBreaks = [line$c]; + const trailingNewlines = countNewLines(tail); + + if (trailingNewlines) { + trailBreaks = generateHardlines(trailingNewlines); + } + + if (isLastNodeOfSiblings(path)) { + trailBreaks = trailBreaks.map(hardline => dedent$1(hardline)); + } + } + + text = text.replace(trailingWhitespacesRE, ""); + } + + return [...leadBreaks, fill$5(getTextValueParts$3(text)), ...trailBreaks]; + } + + const lineBreaksCount = countNewLines(text); + let leadingLineBreaksCount = countLeadingNewLines(text); + let trailingLineBreaksCount = countTrailingNewLines(text); + + if ((isFirstElement || isLastElement) && isWhitespaceOnly && isParentOfSomeType(path, ["Block", "ElementNode", "Template"])) { + return ""; + } + + if (isWhitespaceOnly && lineBreaksCount) { + leadingLineBreaksCount = Math.min(lineBreaksCount, NEWLINES_TO_PRESERVE_MAX); + trailingLineBreaksCount = 0; + } else { + if (isNextNodeOfSomeType(path, ["BlockStatement", "ElementNode"])) { + trailingLineBreaksCount = Math.max(trailingLineBreaksCount, 1); + } + + if (isPreviousNodeOfSomeType(path, ["BlockStatement", "ElementNode"])) { + leadingLineBreaksCount = Math.max(leadingLineBreaksCount, 1); + } + } + + let leadingSpace = ""; + let trailingSpace = ""; + + if (trailingLineBreaksCount === 0 && isNextNodeOfSomeType(path, ["MustacheStatement"])) { + trailingSpace = " "; + } + + if (leadingLineBreaksCount === 0 && isPreviousNodeOfSomeType(path, ["MustacheStatement"])) { + leadingSpace = " "; + } + + if (isFirstElement) { + leadingLineBreaksCount = 0; + leadingSpace = ""; + } + + if (isLastElement) { + trailingLineBreaksCount = 0; + trailingSpace = ""; + } + + text = text.replace(/^[\t\n\f\r ]+/g, leadingSpace).replace(/[\t\n\f\r ]+$/, trailingSpace); + return [...generateHardlines(leadingLineBreaksCount), fill$5(getTextValueParts$3(text)), ...generateHardlines(trailingLineBreaksCount)]; + } + + case "MustacheCommentStatement": + { + const start = locStart$b(node); + const end = locEnd$a(node); // Starts with `{{~` + + const isLeftWhiteSpaceSensitive = options.originalText.charAt(start + 2) === "~"; // Ends with `{{~` + + const isRightWhitespaceSensitive = options.originalText.charAt(end - 3) === "~"; + const dashes = node.value.includes("}}") ? "--" : ""; + return ["{{", isLeftWhiteSpaceSensitive ? "~" : "", "!", dashes, node.value, dashes, isRightWhitespaceSensitive ? "~" : "", "}}"]; + } + + case "PathExpression": + { + return node.original; + } + + case "BooleanLiteral": + { + return String(node.value); + } + + case "CommentStatement": + { + return [""]; + } + + case "StringLiteral": + { + if (needsOppositeQuote(path)) { + const printFavoriteQuote = !options.singleQuote ? "'" : '"'; + return printStringLiteral(node.value, printFavoriteQuote); + } + + return printStringLiteral(node.value, favoriteQuote); + } + + case "NumberLiteral": + { + return String(node.value); + } + + case "UndefinedLiteral": + { + return "undefined"; + } + + case "NullLiteral": + { + return "null"; + } + + /* istanbul ignore next */ + + default: + throw new Error("unknown glimmer type: " + JSON.stringify(node.type)); + } +} +/* ElementNode print helpers */ + + +function sortByLoc(a, b) { + return locStart$b(a) - locStart$b(b); +} + +function printStartingTag(path, print) { + const node = path.getValue(); + const types = ["attributes", "modifiers", "comments"].filter(property => isNonEmptyArray$4(node[property])); + const attributes = types.flatMap(type => node[type]).sort(sortByLoc); + + for (const attributeType of types) { + path.each(attributePath => { + const index = attributes.indexOf(attributePath.getValue()); + attributes.splice(index, 1, [line$c, print()]); + }, attributeType); + } + + if (isNonEmptyArray$4(node.blockParams)) { + attributes.push(line$c, printBlockParams(node)); + } + + return ["<", node.tag, indent$5(attributes), printStartingTagEndMarker(node)]; +} + +function printChildren$5(path, options, print) { + const node = path.getValue(); + const isEmpty = node.children.every(node => isWhitespaceNode(node)); + + if (options.htmlWhitespaceSensitivity === "ignore" && isEmpty) { + return ""; + } + + return path.map((childPath, childIndex) => { + const printedChild = print(); + + if (childIndex === 0 && options.htmlWhitespaceSensitivity === "ignore") { + return [softline$8, printedChild]; + } + + return printedChild; + }, "children"); +} + +function printStartingTagEndMarker(node) { + if (isVoid(node)) { + return ifBreak$7([softline$8, "/>"], [" />", softline$8]); + } + + return ifBreak$7([softline$8, ">"], ">"); +} +/* MustacheStatement print helpers */ + + +function printOpeningMustache(node) { + const mustache = node.escaped === false ? "{{{" : "{{"; + const strip = node.strip && node.strip.open ? "~" : ""; + return [mustache, strip]; +} + +function printClosingMustache(node) { + const mustache = node.escaped === false ? "}}}" : "}}"; + const strip = node.strip && node.strip.close ? "~" : ""; + return [strip, mustache]; +} +/* BlockStatement print helpers */ + + +function printOpeningBlockOpeningMustache(node) { + const opening = printOpeningMustache(node); + const strip = node.openStrip.open ? "~" : ""; + return [opening, strip, "#"]; +} + +function printOpeningBlockClosingMustache(node) { + const closing = printClosingMustache(node); + const strip = node.openStrip.close ? "~" : ""; + return [strip, closing]; +} + +function printClosingBlockOpeningMustache(node) { + const opening = printOpeningMustache(node); + const strip = node.closeStrip.open ? "~" : ""; + return [opening, strip, "/"]; +} + +function printClosingBlockClosingMustache(node) { + const closing = printClosingMustache(node); + const strip = node.closeStrip.close ? "~" : ""; + return [strip, closing]; +} + +function printInverseBlockOpeningMustache(node) { + const opening = printOpeningMustache(node); + const strip = node.inverseStrip.open ? "~" : ""; + return [opening, strip]; +} + +function printInverseBlockClosingMustache(node) { + const closing = printClosingMustache(node); + const strip = node.inverseStrip.close ? "~" : ""; + return [strip, closing]; +} + +function printOpenBlock(path, print) { + const node = path.getValue(); + const openingMustache = printOpeningBlockOpeningMustache(node); + const closingMustache = printOpeningBlockClosingMustache(node); + const attributes = [printPath(path, print)]; + const params = printParams(path, print); + + if (params) { + attributes.push(line$c, params); + } + + if (isNonEmptyArray$4(node.program.blockParams)) { + const block = printBlockParams(node.program); + attributes.push(line$c, block); + } + + return group$9([openingMustache, indent$5(attributes), softline$8, closingMustache]); +} + +function printElseBlock(node, options) { + return [options.htmlWhitespaceSensitivity === "ignore" ? hardline$b : "", printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]; +} + +function printElseIfBlock(path, print) { + const parentNode = path.getParentNode(1); + return [printInverseBlockOpeningMustache(parentNode), "else if ", printParams(path, print), printInverseBlockClosingMustache(parentNode)]; +} + +function printCloseBlock(path, print, options) { + const node = path.getValue(); + + if (options.htmlWhitespaceSensitivity === "ignore") { + const escape = blockStatementHasOnlyWhitespaceInProgram(node) ? softline$8 : hardline$b; + return [escape, printClosingBlockOpeningMustache(node), print("path"), printClosingBlockClosingMustache(node)]; + } + + return [printClosingBlockOpeningMustache(node), print("path"), printClosingBlockClosingMustache(node)]; +} + +function blockStatementHasOnlyWhitespaceInProgram(node) { + return isNodeOfSomeType(node, ["BlockStatement"]) && node.program.body.every(node => isWhitespaceNode(node)); +} + +function blockStatementHasElseIf(node) { + return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === "if"; +} + +function blockStatementHasElse(node) { + return isNodeOfSomeType(node, ["BlockStatement"]) && node.inverse; +} + +function printProgram(path, print, options) { + const node = path.getValue(); + + if (blockStatementHasOnlyWhitespaceInProgram(node)) { + return ""; + } + + const program = print("program"); + + if (options.htmlWhitespaceSensitivity === "ignore") { + return indent$5([hardline$b, program]); + } + + return indent$5(program); +} + +function printInverse(path, print, options) { + const node = path.getValue(); + const inverse = print("inverse"); + const printed = options.htmlWhitespaceSensitivity === "ignore" ? [hardline$b, inverse] : inverse; + + if (blockStatementHasElseIf(node)) { + return printed; + } + + if (blockStatementHasElse(node)) { + return [printElseBlock(node, options), indent$5(printed)]; + } + + return ""; +} +/* TextNode print helpers */ + + +function getTextValueParts$3(value) { + return getDocParts$4(join$9(line$c, splitByHtmlWhitespace$1(value))); +} + +function splitByHtmlWhitespace$1(string) { + return string.split(/[\t\n\f\r ]+/); +} + +function getCurrentAttributeName(path) { + for (let depth = 0; depth < 2; depth++) { + const parentNode = path.getParentNode(depth); + + if (parentNode && parentNode.type === "AttrNode") { + return parentNode.name.toLowerCase(); + } + } +} + +function countNewLines(string) { + /* istanbul ignore next */ + string = typeof string === "string" ? string : ""; + return string.split("\n").length - 1; +} + +function countLeadingNewLines(string) { + /* istanbul ignore next */ + string = typeof string === "string" ? string : ""; + const newLines = (string.match(/^([^\S\n\r]*[\n\r])+/g) || [])[0] || ""; + return countNewLines(newLines); +} + +function countTrailingNewLines(string) { + /* istanbul ignore next */ + string = typeof string === "string" ? string : ""; + const newLines = (string.match(/([\n\r][^\S\n\r]*)+$/g) || [])[0] || ""; + return countNewLines(newLines); +} + +function generateHardlines(number = 0) { + return Array.from({ + length: Math.min(number, NEWLINES_TO_PRESERVE_MAX) + }).fill(hardline$b); +} +/* StringLiteral print helpers */ + +/** @typedef {import("../common/util").Quote} Quote */ + +/** + * Prints a string literal with the correct surrounding quotes based on + * `options.singleQuote` and the number of escaped quotes contained in + * the string literal. This function is the glimmer equivalent of `printString` + * in `common/util`, but has differences because of the way escaped characters + * are treated in hbs string literals. + * @param {string} stringLiteral - the string literal value + * @param {Quote} favoriteQuote - the user's preferred quote: `'` or `"` + */ + + +function printStringLiteral(stringLiteral, favoriteQuote) { + const { + quote, + regex + } = getPreferredQuote(stringLiteral, favoriteQuote); + return [quote, stringLiteral.replace(regex, `\\${quote}`), quote]; +} + +function needsOppositeQuote(path) { + let index = 0; + let parentNode = path.getParentNode(index); + + while (parentNode && isNodeOfSomeType(parentNode, ["SubExpression"])) { + index++; + parentNode = path.getParentNode(index); + } + + if (parentNode && isNodeOfSomeType(path.getParentNode(index + 1), ["ConcatStatement"]) && isNodeOfSomeType(path.getParentNode(index + 2), ["AttrNode"])) { + return true; + } + + return false; +} +/* SubExpression print helpers */ + + +function printSubExpressionPathAndParams(path, print) { + const p = printPath(path, print); + const params = printParams(path, print); + + if (!params) { + return p; + } + + return indent$5([p, line$c, group$9(params)]); +} +/* misc. print helpers */ + + +function printPathAndParams(path, print) { + const p = printPath(path, print); + const params = printParams(path, print); + + if (!params) { + return p; + } + + return [indent$5([p, line$c, params]), softline$8]; +} + +function printPath(path, print) { + return print("path"); +} + +function printParams(path, print) { + const node = path.getValue(); + const parts = []; + + if (node.params.length > 0) { + const params = path.map(print, "params"); + parts.push(...params); + } + + if (node.hash && node.hash.pairs.length > 0) { + const hash = print("hash"); + parts.push(hash); + } + + if (parts.length === 0) { + return ""; + } + + return join$9(line$c, parts); +} + +function printBlockParams(node) { + return ["as |", node.blockParams.join(" "), "|"]; +} + +var printerGlimmer = { + print, + massageAstNode: clean$6 +}; + +var parsers$9 = { + get glimmer() { + return require("./parser-glimmer.js").parsers.glimmer; + } + +}; + +var name$5 = "Handlebars"; +var type$5 = "markup"; +var color$5 = "#f7931e"; +var aliases$3 = [ + "hbs", + "htmlbars" +]; +var extensions$5 = [ + ".handlebars", + ".hbs" +]; +var tmScope$5 = "text.html.handlebars"; +var aceMode$5 = "handlebars"; +var languageId$5 = 155; +var require$$3 = { + name: name$5, + type: type$5, + color: color$5, + aliases: aliases$3, + extensions: extensions$5, + tmScope: tmScope$5, + aceMode: aceMode$5, + languageId: languageId$5 +}; + +const createLanguage$4 = createLanguage$7; +const printer$4 = printerGlimmer; +const parsers$8 = parsers$9; +const languages$5 = [createLanguage$4(require$$3, () => ({ + since: "2.3.0", + parsers: ["glimmer"], + vscodeLanguageIds: ["handlebars"] +}))]; +const printers$3 = { + glimmer: printer$4 +}; +var languageHandlebars = { + languages: languages$5, + printers: printers$3, + parsers: parsers$8 +}; + +function hasPragma$2(text) { + return /^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/.test(text); +} + +function insertPragma$6(text) { + return "# @format\n\n" + text; +} + +var pragma$3 = { + hasPragma: hasPragma$2, + insertPragma: insertPragma$6 +}; + +function locStart$a(node) { + if (typeof node.start === "number") { + return node.start; + } + + return node.loc && node.loc.start; +} + +function locEnd$9(node) { + if (typeof node.end === "number") { + return node.end; + } + + return node.loc && node.loc.end; +} + +var loc$3 = { + locStart: locStart$a, + locEnd: locEnd$9 +}; + +const { + builders: { + join: join$8, + hardline: hardline$a, + line: line$b, + softline: softline$7, + group: group$8, + indent: indent$4, + ifBreak: ifBreak$6 + } +} = require$$7$3; +const { + isNextLineEmpty: isNextLineEmpty$2, + isNonEmptyArray: isNonEmptyArray$3 +} = util$8; +const { + insertPragma: insertPragma$5 +} = pragma$3; +const { + locStart: locStart$9, + locEnd: locEnd$8 +} = loc$3; + +function genericPrint$3(path, options, print) { + const node = path.getValue(); + + if (!node) { + return ""; + } + + if (typeof node === "string") { + return node; + } + + switch (node.kind) { + case "Document": + { + const parts = []; + path.each((pathChild, index, definitions) => { + parts.push(print()); + + if (index !== definitions.length - 1) { + parts.push(hardline$a); + + if (isNextLineEmpty$2(options.originalText, pathChild.getValue(), locEnd$8)) { + parts.push(hardline$a); + } + } + }, "definitions"); + return [...parts, hardline$a]; + } + + case "OperationDefinition": + { + const hasOperation = options.originalText[locStart$9(node)] !== "{"; + const hasName = Boolean(node.name); + return [hasOperation ? node.operation : "", hasOperation && hasName ? [" ", print("name")] : "", hasOperation && !hasName && isNonEmptyArray$3(node.variableDefinitions) ? " " : "", isNonEmptyArray$3(node.variableDefinitions) ? group$8(["(", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.map(print, "variableDefinitions"))]), softline$7, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? !hasOperation && !hasName ? "" : " " : "", print("selectionSet")]; + } + + case "FragmentDefinition": + { + return ["fragment ", print("name"), isNonEmptyArray$3(node.variableDefinitions) ? group$8(["(", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.map(print, "variableDefinitions"))]), softline$7, ")"]) : "", " on ", print("typeCondition"), printDirectives(path, print, node), " ", print("selectionSet")]; + } + + case "SelectionSet": + { + return ["{", indent$4([hardline$a, join$8(hardline$a, path.call(selectionsPath => printSequence(selectionsPath, options, print), "selections"))]), hardline$a, "}"]; + } + + case "Field": + { + return group$8([node.alias ? [print("alias"), ": "] : "", print("name"), node.arguments.length > 0 ? group$8(["(", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$7, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? " " : "", print("selectionSet")]); + } + + case "Name": + { + return node.value; + } + + case "StringValue": + { + if (node.block) { + return ['"""', hardline$a, join$8(hardline$a, node.value.replace(/"""/g, "\\$&").split("\n")), hardline$a, '"""']; + } + + return ['"', node.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']; + } + + case "IntValue": + case "FloatValue": + case "EnumValue": + { + return node.value; + } + + case "BooleanValue": + { + return node.value ? "true" : "false"; + } + + case "NullValue": + { + return "null"; + } + + case "Variable": + { + return ["$", print("name")]; + } + + case "ListValue": + { + return group$8(["[", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.map(print, "values"))]), softline$7, "]"]); + } + + case "ObjectValue": + { + return group$8(["{", options.bracketSpacing && node.fields.length > 0 ? " " : "", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.map(print, "fields"))]), softline$7, ifBreak$6("", options.bracketSpacing && node.fields.length > 0 ? " " : ""), "}"]); + } + + case "ObjectField": + case "Argument": + { + return [print("name"), ": ", print("value")]; + } + + case "Directive": + { + return ["@", print("name"), node.arguments.length > 0 ? group$8(["(", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$7, ")"]) : ""]; + } + + case "NamedType": + { + return print("name"); + } + + case "VariableDefinition": + { + return [print("variable"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; + } + + case "ObjectTypeExtension": + case "ObjectTypeDefinition": + { + return [print("description"), node.description ? hardline$a : "", node.kind === "ObjectTypeExtension" ? "extend " : "", "type ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent$4([hardline$a, join$8(hardline$a, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))]), hardline$a, "}"] : ""]; + } + + case "FieldDefinition": + { + return [print("description"), node.description ? hardline$a : "", print("name"), node.arguments.length > 0 ? group$8(["(", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$7, ")"]) : "", ": ", print("type"), printDirectives(path, print, node)]; + } + + case "DirectiveDefinition": + { + return [print("description"), node.description ? hardline$a : "", "directive ", "@", print("name"), node.arguments.length > 0 ? group$8(["(", indent$4([softline$7, join$8([ifBreak$6("", ", "), softline$7], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$7, ")"]) : "", node.repeatable ? " repeatable" : "", " on ", join$8(" | ", path.map(print, "locations"))]; + } + + case "EnumTypeExtension": + case "EnumTypeDefinition": + { + return [print("description"), node.description ? hardline$a : "", node.kind === "EnumTypeExtension" ? "extend " : "", "enum ", print("name"), printDirectives(path, print, node), node.values.length > 0 ? [" {", indent$4([hardline$a, join$8(hardline$a, path.call(valuesPath => printSequence(valuesPath, options, print), "values"))]), hardline$a, "}"] : ""]; + } + + case "EnumValueDefinition": + { + return [print("description"), node.description ? hardline$a : "", print("name"), printDirectives(path, print, node)]; + } + + case "InputValueDefinition": + { + return [print("description"), node.description ? node.description.block ? hardline$a : line$b : "", print("name"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; + } + + case "InputObjectTypeExtension": + case "InputObjectTypeDefinition": + { + return [print("description"), node.description ? hardline$a : "", node.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", print("name"), printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent$4([hardline$a, join$8(hardline$a, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))]), hardline$a, "}"] : ""]; + } + + case "SchemaDefinition": + { + return ["schema", printDirectives(path, print, node), " {", node.operationTypes.length > 0 ? indent$4([hardline$a, join$8(hardline$a, path.call(opsPath => printSequence(opsPath, options, print), "operationTypes"))]) : "", hardline$a, "}"]; + } + + case "OperationTypeDefinition": + { + return [print("operation"), ": ", print("type")]; + } + + case "InterfaceTypeExtension": + case "InterfaceTypeDefinition": + { + return [print("description"), node.description ? hardline$a : "", node.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent$4([hardline$a, join$8(hardline$a, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))]), hardline$a, "}"] : ""]; + } + + case "FragmentSpread": + { + return ["...", print("name"), printDirectives(path, print, node)]; + } + + case "InlineFragment": + { + return ["...", node.typeCondition ? [" on ", print("typeCondition")] : "", printDirectives(path, print, node), " ", print("selectionSet")]; + } + + case "UnionTypeExtension": + case "UnionTypeDefinition": + { + return group$8([print("description"), node.description ? hardline$a : "", group$8([node.kind === "UnionTypeExtension" ? "extend " : "", "union ", print("name"), printDirectives(path, print, node), node.types.length > 0 ? [" =", ifBreak$6("", " "), indent$4([ifBreak$6([line$b, " "]), join$8([line$b, "| "], path.map(print, "types"))])] : ""])]); + } + + case "ScalarTypeExtension": + case "ScalarTypeDefinition": + { + return [print("description"), node.description ? hardline$a : "", node.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", print("name"), printDirectives(path, print, node)]; + } + + case "NonNullType": + { + return [print("type"), "!"]; + } + + case "ListType": + { + return ["[", print("type"), "]"]; + } + + default: + /* istanbul ignore next */ + throw new Error("unknown graphql type: " + JSON.stringify(node.kind)); + } +} + +function printDirectives(path, print, node) { + if (node.directives.length === 0) { + return ""; + } + + const printed = join$8(line$b, path.map(print, "directives")); + + if (node.kind === "FragmentDefinition" || node.kind === "OperationDefinition") { + return group$8([line$b, printed]); + } + + return [" ", group$8(indent$4([softline$7, printed]))]; +} + +function printSequence(sequencePath, options, print) { + const count = sequencePath.getValue().length; + return sequencePath.map((path, i) => { + const printed = print(); + + if (isNextLineEmpty$2(options.originalText, path.getValue(), locEnd$8) && i < count - 1) { + return [printed, hardline$a]; + } + + return printed; + }); +} + +function canAttachComment(node) { + return node.kind && node.kind !== "Comment"; +} + +function printComment(commentPath) { + const comment = commentPath.getValue(); + + if (comment.kind === "Comment") { + return "#" + comment.value.trimEnd(); + } + /* istanbul ignore next */ + + + throw new Error("Not a comment: " + JSON.stringify(comment)); +} + +function printInterfaces(path, options, print) { + const node = path.getNode(); + const parts = []; + const { + interfaces + } = node; + const printed = path.map(node => print(node), "interfaces"); + + for (let index = 0; index < interfaces.length; index++) { + const interfaceNode = interfaces[index]; + parts.push(printed[index]); + const nextInterfaceNode = interfaces[index + 1]; + + if (nextInterfaceNode) { + const textBetween = options.originalText.slice(interfaceNode.loc.end, nextInterfaceNode.loc.start); + const hasComment = textBetween.includes("#"); + const separator = textBetween.replace(/#.*/g, "").trim(); + parts.push(separator === "," ? "," : " &", hasComment ? line$b : " "); + } + } + + return parts; +} + +function + /*node, newNode , parent*/ +clean$5() {} + +clean$5.ignoredProperties = new Set(["loc", "comments"]); + +function hasPrettierIgnore$6(path) { + const node = path.getValue(); + return node && Array.isArray(node.comments) && node.comments.some(comment => comment.value.trim() === "prettier-ignore"); +} + +var printerGraphql = { + print: genericPrint$3, + massageAstNode: clean$5, + hasPrettierIgnore: hasPrettierIgnore$6, + insertPragma: insertPragma$5, + printComment, + canAttachComment +}; + +const commonOptions$3 = commonOptions$6; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js + +var options$7 = { + bracketSpacing: commonOptions$3.bracketSpacing +}; + +var parsers$7 = { + get graphql() { + return require("./parser-graphql.js").parsers.graphql; + } + +}; + +var name$4 = "GraphQL"; +var type$4 = "data"; +var color$4 = "#e10098"; +var extensions$4 = [ + ".graphql", + ".gql", + ".graphqls" +]; +var tmScope$4 = "source.graphql"; +var aceMode$4 = "text"; +var languageId$4 = 139; +var require$$4$4 = { + name: name$4, + type: type$4, + color: color$4, + extensions: extensions$4, + tmScope: tmScope$4, + aceMode: aceMode$4, + languageId: languageId$4 +}; + +const createLanguage$3 = createLanguage$7; +const printer$3 = printerGraphql; +const options$6 = options$7; +const parsers$6 = parsers$7; +const languages$4 = [createLanguage$3(require$$4$4, () => ({ + since: "1.5.0", + parsers: ["graphql"], + vscodeLanguageIds: ["graphql"] +}))]; +const printers$2 = { + graphql: printer$3 +}; +var languageGraphql = { + languages: languages$4, + options: options$6, + printers: printers$2, + parsers: parsers$6 +}; + +function locStart$8(node) { + return node.position.start.offset; +} + +function locEnd$7(node) { + return node.position.end.offset; +} + +var loc$2 = { + locStart: locStart$8, + locEnd: locEnd$7 +}; + +var require$$2 = { + "cjkPattern": "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", + "kPattern": "[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]", + "punctuationPattern": "[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]" +}; + +const { + getLast: getLast$5 +} = util$8; +const { + locStart: locStart$7, + locEnd: locEnd$6 +} = loc$2; +const { + cjkPattern, + kPattern, + punctuationPattern: punctuationPattern$1 +} = require$$2; +const INLINE_NODE_TYPES$1 = ["liquidNode", "inlineCode", "emphasis", "esComment", "strong", "delete", "wikiLink", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; +const INLINE_NODE_WRAPPER_TYPES$1 = [...INLINE_NODE_TYPES$1, "tableCell", "paragraph", "heading"]; +const kRegex = new RegExp(kPattern); +const punctuationRegex = new RegExp(punctuationPattern$1); +/** + * split text into whitespaces and words + * @param {string} text + */ + +function splitText$2(text, options) { + const KIND_NON_CJK = "non-cjk"; + const KIND_CJ_LETTER = "cj-letter"; + const KIND_K_LETTER = "k-letter"; + const KIND_CJK_PUNCTUATION = "cjk-punctuation"; + /** @type {Array<{ type: "whitespace", value: " " | "\n" | "" } | { type: "word", value: string }>} */ + + const nodes = []; + const tokens = (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern})\n(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/); + + for (const [index, token] of tokens.entries()) { + // whitespace + if (index % 2 === 1) { + nodes.push({ + type: "whitespace", + value: /\n/.test(token) ? "\n" : " " + }); + continue; + } // word separated by whitespace + + + if ((index === 0 || index === tokens.length - 1) && token === "") { + continue; + } + + const innerTokens = token.split(new RegExp(`(${cjkPattern})`)); + + for (const [innerIndex, innerToken] of innerTokens.entries()) { + if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === "") { + continue; + } // non-CJK word + + + if (innerIndex % 2 === 0) { + if (innerToken !== "") { + appendNode({ + type: "word", + value: innerToken, + kind: KIND_NON_CJK, + hasLeadingPunctuation: punctuationRegex.test(innerToken[0]), + hasTrailingPunctuation: punctuationRegex.test(getLast$5(innerToken)) + }); + } + + continue; + } // CJK character + + + appendNode(punctuationRegex.test(innerToken) ? { + type: "word", + value: innerToken, + kind: KIND_CJK_PUNCTUATION, + hasLeadingPunctuation: true, + hasTrailingPunctuation: true + } : { + type: "word", + value: innerToken, + kind: kRegex.test(innerToken) ? KIND_K_LETTER : KIND_CJ_LETTER, + hasLeadingPunctuation: false, + hasTrailingPunctuation: false + }); + } + } + + return nodes; + + function appendNode(node) { + const lastNode = getLast$5(nodes); + + if (lastNode && lastNode.type === "word") { + if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) { + nodes.push({ + type: "whitespace", + value: " " + }); + } else if (!isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && // disallow leading/trailing full-width whitespace + ![lastNode.value, node.value].some(value => /\u3000/.test(value))) { + nodes.push({ + type: "whitespace", + value: "" + }); + } + } + + nodes.push(node); + + function isBetween(kind1, kind2) { + return lastNode.kind === kind1 && node.kind === kind2 || lastNode.kind === kind2 && node.kind === kind1; + } + } +} + +function getOrderedListItemInfo$1(orderListItem, originalText) { + const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/); + return { + numberText, + marker, + leadingSpaces + }; +} + +function hasGitDiffFriendlyOrderedList$1(node, options) { + if (!node.ordered) { + return false; + } + + if (node.children.length < 2) { + return false; + } + + const firstNumber = Number(getOrderedListItemInfo$1(node.children[0], options.originalText).numberText); + const secondNumber = Number(getOrderedListItemInfo$1(node.children[1], options.originalText).numberText); + + if (firstNumber === 0 && node.children.length > 2) { + const thirdNumber = Number(getOrderedListItemInfo$1(node.children[2], options.originalText).numberText); + return secondNumber === 1 && thirdNumber === 1; + } + + return secondNumber === 1; +} // The final new line should not include in value +// https://github.com/remarkjs/remark/issues/512 + + +function getFencedCodeBlockValue$2(node, originalText) { + const { + value + } = node; + + if (node.position.end.offset === originalText.length && value.endsWith("\n") && // Code block has no end mark + originalText.endsWith("\n")) { + return value.slice(0, -1); + } + + return value; +} + +function mapAst$1(ast, handler) { + return function preorder(node, index, parentStack) { + const newNode = Object.assign({}, handler(node, index, parentStack)); + + if (newNode.children) { + newNode.children = newNode.children.map((child, index) => preorder(child, index, [newNode, ...parentStack])); + } + + return newNode; + }(ast, null, []); +} + +function isAutolink$1(node) { + if (!node || node.type !== "link" || node.children.length !== 1) { + return false; + } + + const child = node.children[0]; + return child && locStart$7(node) === locStart$7(child) && locEnd$6(node) === locEnd$6(child); +} + +var utils$2 = { + mapAst: mapAst$1, + splitText: splitText$2, + punctuationPattern: punctuationPattern$1, + getFencedCodeBlockValue: getFencedCodeBlockValue$2, + getOrderedListItemInfo: getOrderedListItemInfo$1, + hasGitDiffFriendlyOrderedList: hasGitDiffFriendlyOrderedList$1, + INLINE_NODE_TYPES: INLINE_NODE_TYPES$1, + INLINE_NODE_WRAPPER_TYPES: INLINE_NODE_WRAPPER_TYPES$1, + isAutolink: isAutolink$1 +}; + +const { + inferParserByLanguage: inferParserByLanguage$1, + getMaxContinuousCount: getMaxContinuousCount$1 +} = util$8; +const { + builders: { + hardline: hardline$9, + markAsRoot: markAsRoot$2 + }, + utils: { + replaceEndOfLine + } +} = require$$7$3; +const printFrontMatter$1 = print_1; +const { + getFencedCodeBlockValue: getFencedCodeBlockValue$1 +} = utils$2; + +function embed$6(path, print, textToDoc, options) { + const node = path.getValue(); + + if (node.type === "code" && node.lang !== null) { + const parser = inferParserByLanguage$1(node.lang, options); + + if (parser) { + const styleUnit = options.__inJsTemplate ? "~" : "`"; + const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$1(node.value, styleUnit) + 1)); + const newOptions = { + parser + }; + + if (node.lang === "tsx") { + newOptions.filepath = "dummy.tsx"; + } + + const doc = textToDoc(getFencedCodeBlockValue$1(node, options.originalText), newOptions, { + stripTrailingHardline: true + }); + return markAsRoot$2([style, node.lang, node.meta ? " " + node.meta : "", hardline$9, replaceEndOfLine(doc), hardline$9, style]); + } + } + + switch (node.type) { + case "front-matter": + return printFrontMatter$1(node, textToDoc); + // MDX + + case "importExport": + return [textToDoc(node.value, { + parser: "babel" + }, { + stripTrailingHardline: true + }), hardline$9]; + + case "jsx": + return textToDoc(`<$>${node.value}`, { + parser: "__js_expression", + rootMarker: "mdx" + }, { + stripTrailingHardline: true + }); + } + + return null; +} + +var embed_1$2 = embed$6; + +const parseFrontMatter = parse_1; +const pragmas = ["format", "prettier"]; + +function startWithPragma$1(text) { + const pragma = `@(${pragmas.join("|")})`; + const regex = new RegExp([``, `{\\s*\\/\\*\\s*${pragma}\\s*\\*\\/\\s*}`, ``].join("|"), "m"); + const matched = text.match(regex); + return matched && matched.index === 0; +} + +var pragma$2 = { + startWithPragma: startWithPragma$1, + hasPragma: text => startWithPragma$1(parseFrontMatter(text).content.trimStart()), + insertPragma: text => { + const extracted = parseFrontMatter(text); + const pragma = ``; + return extracted.frontMatter ? `${extracted.frontMatter.raw}\n\n${pragma}\n\n${extracted.content}` : `${pragma}\n\n${extracted.content}`; + } +}; + +const getLast$4 = getLast_1; +const { + getOrderedListItemInfo, + mapAst, + splitText: splitText$1 +} = utils$2; // 0x0 ~ 0x10ffff + +const isSingleCharRegex = /^.$/su; + +function preprocess$5(ast, options) { + ast = restoreUnescapedCharacter(ast, options); + ast = mergeContinuousTexts(ast); + ast = transformInlineCode(ast); + ast = transformIndentedCodeblockAndMarkItsParentList(ast, options); + ast = markAlignedList(ast, options); + ast = splitTextIntoSentences(ast, options); + ast = transformImportExport(ast); + ast = mergeContinuousImportExport(ast); + return ast; +} + +function transformImportExport(ast) { + return mapAst(ast, node => { + if (node.type !== "import" && node.type !== "export") { + return node; + } + + return Object.assign(Object.assign({}, node), {}, { + type: "importExport" + }); + }); +} + +function transformInlineCode(ast) { + return mapAst(ast, node => { + if (node.type !== "inlineCode") { + return node; + } + + return Object.assign(Object.assign({}, node), {}, { + value: node.value.replace(/\s+/g, " ") + }); + }); +} + +function restoreUnescapedCharacter(ast, options) { + return mapAst(ast, node => node.type !== "text" || node.value === "*" || node.value === "_" || // handle these cases in printer + !isSingleCharRegex.test(node.value) || node.position.end.offset - node.position.start.offset === node.value.length ? node : Object.assign(Object.assign({}, node), {}, { + value: options.originalText.slice(node.position.start.offset, node.position.end.offset) + })); +} + +function mergeContinuousImportExport(ast) { + return mergeChildren(ast, (prevNode, node) => prevNode.type === "importExport" && node.type === "importExport", (prevNode, node) => ({ + type: "importExport", + value: prevNode.value + "\n\n" + node.value, + position: { + start: prevNode.position.start, + end: node.position.end + } + })); +} + +function mergeChildren(ast, shouldMerge, mergeNode) { + return mapAst(ast, node => { + if (!node.children) { + return node; + } + + const children = node.children.reduce((current, child) => { + const lastChild = getLast$4(current); + + if (lastChild && shouldMerge(lastChild, child)) { + current.splice(-1, 1, mergeNode(lastChild, child)); + } else { + current.push(child); + } + + return current; + }, []); + return Object.assign(Object.assign({}, node), {}, { + children + }); + }); +} + +function mergeContinuousTexts(ast) { + return mergeChildren(ast, (prevNode, node) => prevNode.type === "text" && node.type === "text", (prevNode, node) => ({ + type: "text", + value: prevNode.value + node.value, + position: { + start: prevNode.position.start, + end: node.position.end + } + })); +} + +function splitTextIntoSentences(ast, options) { + return mapAst(ast, (node, index, [parentNode]) => { + if (node.type !== "text") { + return node; + } + + let { + value + } = node; + + if (parentNode.type === "paragraph") { + if (index === 0) { + value = value.trimStart(); + } + + if (index === parentNode.children.length - 1) { + value = value.trimEnd(); + } + } + + return { + type: "sentence", + position: node.position, + children: splitText$1(value, options) + }; + }); +} + +function transformIndentedCodeblockAndMarkItsParentList(ast, options) { + return mapAst(ast, (node, index, parentStack) => { + if (node.type === "code") { + // the first char may point to `\n`, e.g. `\n\t\tbar`, just ignore it + const isIndented = /^\n?(?: {4,}|\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset)); + node.isIndented = isIndented; + + if (isIndented) { + for (let i = 0; i < parentStack.length; i++) { + const parent = parentStack[i]; // no need to check checked items + + if (parent.hasIndentedCodeblock) { + break; + } + + if (parent.type === "list") { + parent.hasIndentedCodeblock = true; + } + } + } + } + + return node; + }); +} + +function markAlignedList(ast, options) { + return mapAst(ast, (node, index, parentStack) => { + if (node.type === "list" && node.children.length > 0) { + // if one of its parents is not aligned, it's not possible to be aligned in sub-lists + for (let i = 0; i < parentStack.length; i++) { + const parent = parentStack[i]; + + if (parent.type === "list" && !parent.isAligned) { + node.isAligned = false; + return node; + } + } + + node.isAligned = isAligned(node); + } + + return node; + }); + + function getListItemStart(listItem) { + return listItem.children.length === 0 ? -1 : listItem.children[0].position.start.column - 1; + } + + function isAligned(list) { + if (!list.ordered) { + /** + * - 123 + * - 123 + */ + return true; + } + + const [firstItem, secondItem] = list.children; + const firstInfo = getOrderedListItemInfo(firstItem, options.originalText); + + if (firstInfo.leadingSpaces.length > 1) { + /** + * 1. 123 + * + * 1. 123 + * 1. 123 + */ + return true; + } + + const firstStart = getListItemStart(firstItem); + + if (firstStart === -1) { + /** + * 1. + * + * 1. + * 1. + */ + return false; + } + + if (list.children.length === 1) { + /** + * aligned: + * + * 11. 123 + * + * not aligned: + * + * 1. 123 + */ + return firstStart % options.tabWidth === 0; + } + + const secondStart = getListItemStart(secondItem); + + if (firstStart !== secondStart) { + /** + * 11. 123 + * 1. 123 + * + * 1. 123 + * 11. 123 + */ + return false; + } + + if (firstStart % options.tabWidth === 0) { + /** + * 11. 123 + * 12. 123 + */ + return true; + } + /** + * aligned: + * + * 11. 123 + * 1. 123 + * + * not aligned: + * + * 1. 123 + * 2. 123 + */ + + + const secondInfo = getOrderedListItemInfo(secondItem, options.originalText); + return secondInfo.leadingSpaces.length > 1; + } +} + +var printPreprocess$2 = preprocess$5; + +const { + isFrontMatterNode: isFrontMatterNode$2 +} = util$8; +const { + startWithPragma +} = pragma$2; +const ignoredProperties$1 = new Set(["position", "raw" // front-matter +]); + +function clean$4(ast, newObj, parent) { + // for codeblock + if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { + delete newObj.value; + } + + if (ast.type === "list") { + delete newObj.isAligned; + } + + if (ast.type === "list" || ast.type === "listItem") { + delete newObj.spread; + delete newObj.loose; + } // texts can be splitted or merged + + + if (ast.type === "text") { + return null; + } + + if (ast.type === "inlineCode") { + newObj.value = ast.value.replace(/[\t\n ]+/g, " "); + } + + if (ast.type === "wikiLink") { + newObj.value = ast.value.trim().replace(/[\t\n]+/g, " "); + } + + if (ast.type === "definition" || ast.type === "linkReference") { + newObj.label = ast.label.trim().replace(/[\t\n ]+/g, " ").toLowerCase(); + } + + if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { + newObj.title = ast.title.replace(/\\(["')])/g, "$1"); + } // for insert pragma + + + if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode$2(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && startWithPragma(ast.value)) { + return null; + } +} + +clean$4.ignoredProperties = ignoredProperties$1; +var clean_1$1 = clean$4; + +const { + getLast: getLast$3, + getMinNotPresentContinuousCount, + getMaxContinuousCount, + getStringWidth, + isNonEmptyArray: isNonEmptyArray$2 +} = util$8; +const { + builders: { + breakParent: breakParent$4, + join: join$7, + line: line$a, + literalline: literalline$3, + markAsRoot: markAsRoot$1, + hardline: hardline$8, + softline: softline$6, + ifBreak: ifBreak$5, + fill: fill$4, + align: align$1, + indent: indent$3, + group: group$7, + hardlineWithoutBreakParent + }, + utils: { + normalizeDoc, + replaceTextEndOfLine: replaceTextEndOfLine$7 + }, + printer: { + printDocToString + } +} = require$$7$3; +const embed$5 = embed_1$2; +const { + insertPragma: insertPragma$4 +} = pragma$2; +const { + locStart: locStart$6, + locEnd: locEnd$5 +} = loc$2; +const preprocess$4 = printPreprocess$2; +const clean$3 = clean_1$1; +const { + getFencedCodeBlockValue, + hasGitDiffFriendlyOrderedList, + splitText, + punctuationPattern, + INLINE_NODE_TYPES, + INLINE_NODE_WRAPPER_TYPES, + isAutolink +} = utils$2; +/** + * @typedef {import("../document").Doc} Doc + */ + +const TRAILING_HARDLINE_NODES = new Set(["importExport"]); +const SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link", "wikiLink"]; +const SIBLING_NODE_TYPES = new Set(["listItem", "definition", "footnoteDefinition"]); + +function genericPrint$2(path, options, print) { + const node = path.getValue(); + + if (shouldRemainTheSameContent(path)) { + return splitText(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map(node => node.type === "word" ? node.value : node.value === "" ? "" : printLine(path, node.value, options)); + } + + switch (node.type) { + case "front-matter": + return options.originalText.slice(node.position.start.offset, node.position.end.offset); + + case "root": + if (node.children.length === 0) { + return ""; + } + + return [normalizeDoc(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode$2(node).type) ? hardline$8 : ""]; + + case "paragraph": + return printChildren$4(path, options, print, { + postprocessor: fill$4 + }); + + case "sentence": + return printChildren$4(path, options, print); + + case "word": + { + let escapedValue = node.value.replace(/\*/g, "\\$&") // escape all `*` + .replace(new RegExp([`(^|${punctuationPattern})(_+)`, `(_+)(${punctuationPattern}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); // escape all `_` except concating with non-punctuation, e.g. `1_2_3` is not considered emphasis + + const isFirstSentence = (node, name, index) => node.type === "sentence" && index === 0; + + const isLastChildAutolink = (node, name, index) => isAutolink(node.children[index - 1]); + + if (escapedValue !== node.value && (path.match(undefined, isFirstSentence, isLastChildAutolink) || path.match(undefined, isFirstSentence, (node, name, index) => node.type === "emphasis" && index === 0, isLastChildAutolink))) { + // backslash is parsed as part of autolinks, so we need to remove it + escapedValue = escapedValue.replace(/^(\\?[*_])+/, prefix => prefix.replace(/\\/g, "")); + } + + return escapedValue; + } + + case "whitespace": + { + const parentNode = path.getParentNode(); + const index = parentNode.children.indexOf(node); + const nextNode = parentNode.children[index + 1]; + const proseWrap = // leading char that may cause different syntax + nextNode && /^>|^(?:[*+-]|#{1,6}|\d+[).])$/.test(nextNode.value) ? "never" : options.proseWrap; + return printLine(path, node.value, { + proseWrap + }); + } + + case "emphasis": + { + let style; + + if (isAutolink(node.children[0])) { + style = options.originalText[node.position.start.offset]; + } else { + const parentNode = path.getParentNode(); + const index = parentNode.children.indexOf(node); + const prevNode = parentNode.children[index - 1]; + const nextNode = parentNode.children[index + 1]; + const hasPrevOrNextWord = // `1*2*3` is considered emphasis but `1_2_3` is not + prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast$3(prevNode.children).type === "word" && !getLast$3(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; + style = hasPrevOrNextWord || getAncestorNode(path, "emphasis") ? "*" : "_"; + } + + return [style, printChildren$4(path, options, print), style]; + } + + case "strong": + return ["**", printChildren$4(path, options, print), "**"]; + + case "delete": + return ["~~", printChildren$4(path, options, print), "~~"]; + + case "inlineCode": + { + const backtickCount = getMinNotPresentContinuousCount(node.value, "`"); + const style = "`".repeat(backtickCount || 1); + const gap = backtickCount && !/^\s/.test(node.value) ? " " : ""; + return [style, gap, node.value, gap, style]; + } + + case "wikiLink": + { + let contents = ""; + + if (options.proseWrap === "preserve") { + contents = node.value; + } else { + contents = node.value.replace(/[\t\n]+/g, " "); + } + + return ["[[", contents, "]]"]; + } + + case "link": + switch (options.originalText[node.position.start.offset]) { + case "<": + { + const mailto = "mailto:"; + const url = // is parsed as { url: "mailto:hello@example.com" } + node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url; + return ["<", url, ">"]; + } + + case "[": + return ["[", printChildren$4(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; + + default: + return options.originalText.slice(node.position.start.offset, node.position.end.offset); + } + + case "image": + return ["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; + + case "blockquote": + return ["> ", align$1("> ", printChildren$4(path, options, print))]; + + case "heading": + return ["#".repeat(node.depth) + " ", printChildren$4(path, options, print)]; + + case "code": + { + if (node.isIndented) { + // indented code block + const alignment = " ".repeat(4); + return align$1(alignment, [alignment, ...replaceTextEndOfLine$7(node.value, hardline$8)]); + } // fenced code block + + + const styleUnit = options.__inJsTemplate ? "~" : "`"; + const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount(node.value, styleUnit) + 1)); + return [style, node.lang || "", node.meta ? " " + node.meta : "", hardline$8, ...replaceTextEndOfLine$7(getFencedCodeBlockValue(node, options.originalText), hardline$8), hardline$8, style]; + } + + case "html": + { + const parentNode = path.getParentNode(); + const value = parentNode.type === "root" && getLast$3(parentNode.children) === node ? node.value.trimEnd() : node.value; + const isHtmlComment = /^$/s.test(value); + return replaceTextEndOfLine$7(value, // @ts-expect-error + isHtmlComment ? hardline$8 : markAsRoot$1(literalline$3)); + } + + case "list": + { + const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode()); + const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList(node, options); + return printChildren$4(path, options, print, { + processor: (childPath, index) => { + const prefix = getPrefix(); + const childNode = childPath.getValue(); + + if (childNode.children.length === 2 && childNode.children[1].type === "html" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) { + return [prefix, printListItem(childPath, options, print, prefix)]; + } + + return [prefix, align$1(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]; + + function getPrefix() { + const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? ". " : ") ") : nthSiblingIndex % 2 === 0 ? "- " : "* "; + return node.isAligned || + /* workaround for https://github.com/remarkjs/remark/issues/315 */ + node.hasIndentedCodeblock ? alignListPrefix(rawPrefix, options) : rawPrefix; + } + } + }); + } + + case "thematicBreak": + { + const counter = getAncestorCounter(path, "list"); + + if (counter === -1) { + return "---"; + } + + const nthSiblingIndex = getNthListSiblingIndex(path.getParentNode(counter), path.getParentNode(counter + 1)); + return nthSiblingIndex % 2 === 0 ? "***" : "---"; + } + + case "linkReference": + return ["[", printChildren$4(path, options, print), "]", node.referenceType === "full" ? ["[", node.identifier, "]"] : node.referenceType === "collapsed" ? "[]" : ""]; + + case "imageReference": + switch (node.referenceType) { + case "full": + return ["![", node.alt || "", "][", node.identifier, "]"]; + + default: + return ["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]; + } + + case "definition": + { + const lineOrSpace = options.proseWrap === "always" ? line$a : " "; + return group$7(["[", node.identifier, "]:", indent$3([lineOrSpace, printUrl(node.url), node.title === null ? "" : [lineOrSpace, printTitle(node.title, options, false)]])]); + } + // `footnote` requires `.use(footnotes, {inlineNotes: true})`, we are not using this option + // https://github.com/remarkjs/remark-footnotes#optionsinlinenotes + + /* istanbul ignore next */ + + case "footnote": + return ["[^", printChildren$4(path, options, print), "]"]; + + case "footnoteReference": + return ["[^", node.identifier, "]"]; + + case "footnoteDefinition": + { + const nextNode = path.getParentNode().children[path.getName() + 1]; + const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === "paragraph" && (options.proseWrap === "never" || options.proseWrap === "preserve" && node.children[0].position.start.line === node.children[0].position.end.line); + return ["[^", node.identifier, "]: ", shouldInlineFootnote ? printChildren$4(path, options, print) : group$7([align$1(" ".repeat(4), printChildren$4(path, options, print, { + processor: (childPath, index) => index === 0 ? group$7([softline$6, print()]) : print() + })), nextNode && nextNode.type === "footnoteDefinition" ? softline$6 : ""])]; + } + + case "table": + return printTable(path, options, print); + + case "tableCell": + return printChildren$4(path, options, print); + + case "break": + return /\s/.test(options.originalText[node.position.start.offset]) ? [" ", markAsRoot$1(literalline$3)] : ["\\", hardline$8]; + + case "liquidNode": + return replaceTextEndOfLine$7(node.value, hardline$8); + // MDX + // fallback to the original text if multiparser failed + // or `embeddedLanguageFormatting: "off"` + + case "importExport": + return [node.value, hardline$8]; + + case "esComment": + return ["{/* ", node.value, " */}"]; + + case "jsx": + return node.value; + + case "math": + return ["$$", hardline$8, node.value ? [...replaceTextEndOfLine$7(node.value, hardline$8), hardline$8] : "", "$$"]; + + case "inlineMath": + { + // remark-math trims content but we don't want to remove whitespaces + // since it's very possible that it's recognized as math accidentally + return options.originalText.slice(locStart$6(node), locEnd$5(node)); + } + + case "tableRow": // handled in "table" + + case "listItem": // handled in "list" + + default: + /* istanbul ignore next */ + throw new Error(`Unknown markdown type ${JSON.stringify(node.type)}`); + } +} + +function printListItem(path, options, print, listPrefix) { + const node = path.getValue(); + const prefix = node.checked === null ? "" : node.checked ? "[x] " : "[ ] "; + return [prefix, printChildren$4(path, options, print, { + processor: (childPath, index) => { + if (index === 0 && childPath.getValue().type !== "list") { + return align$1(" ".repeat(prefix.length), print()); + } + + const alignment = " ".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3) // 4+ will cause indented code block + ); + return [alignment, align$1(alignment, print())]; + } + })]; +} + +function alignListPrefix(prefix, options) { + const additionalSpaces = getAdditionalSpaces(); + return prefix + " ".repeat(additionalSpaces >= 4 ? 0 : additionalSpaces // 4+ will cause indented code block + ); + + function getAdditionalSpaces() { + const restSpaces = prefix.length % options.tabWidth; + return restSpaces === 0 ? 0 : options.tabWidth - restSpaces; + } +} + +function getNthListSiblingIndex(node, parentNode) { + return getNthSiblingIndex(node, parentNode, siblingNode => siblingNode.ordered === node.ordered); +} + +function getNthSiblingIndex(node, parentNode, condition) { + let index = -1; + + for (const childNode of parentNode.children) { + if (childNode.type === node.type && condition(childNode)) { + index++; + } else { + index = -1; + } + + if (childNode === node) { + return index; + } + } +} + +function getAncestorCounter(path, typeOrTypes) { + const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; + let counter = -1; + let ancestorNode; + + while (ancestorNode = path.getParentNode(++counter)) { + if (types.includes(ancestorNode.type)) { + return counter; + } + } + + return -1; +} + +function getAncestorNode(path, typeOrTypes) { + const counter = getAncestorCounter(path, typeOrTypes); + return counter === -1 ? null : path.getParentNode(counter); +} + +function printLine(path, value, options) { + if (options.proseWrap === "preserve" && value === "\n") { + return hardline$8; + } + + const isBreakable = options.proseWrap === "always" && !getAncestorNode(path, SINGLE_LINE_NODE_TYPES); + return value !== "" ? isBreakable ? line$a : " " : isBreakable ? softline$6 : ""; +} + +function printTable(path, options, print) { + const node = path.getValue(); + const columnMaxWidths = []; // { [rowIndex: number]: { [columnIndex: number]: {text: string, width: number} } } + + const contents = path.map(rowPath => rowPath.map((cellPath, columnIndex) => { + const text = printDocToString(print(), options).formatted; + const width = getStringWidth(text); + columnMaxWidths[columnIndex] = Math.max(columnMaxWidths[columnIndex] || 3, // minimum width = 3 (---, :--, :-:, --:) + width); + return { + text, + width + }; + }, "children"), "children"); + const alignedTable = printTableContents( + /* isCompact */ + false); + + if (options.proseWrap !== "never") { + return [breakParent$4, alignedTable]; + } // Only if the --prose-wrap never is set and it exceeds the print width. + + + const compactTable = printTableContents( + /* isCompact */ + true); + return [breakParent$4, group$7(ifBreak$5(compactTable, alignedTable))]; + + function printTableContents(isCompact) { + /** @type{Doc[]} */ + const parts = [printRow(contents[0], isCompact), printAlign(isCompact)]; + + if (contents.length > 1) { + parts.push(join$7(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents, isCompact)))); + } + + return join$7(hardlineWithoutBreakParent, parts); + } + + function printAlign(isCompact) { + const align = columnMaxWidths.map((width, index) => { + const align = node.align[index]; + const first = align === "center" || align === "left" ? ":" : "-"; + const last = align === "center" || align === "right" ? ":" : "-"; + const middle = isCompact ? "-" : "-".repeat(width - 2); + return `${first}${middle}${last}`; + }); + return `| ${align.join(" | ")} |`; + } + + function printRow(rowContents, isCompact) { + const columns = rowContents.map(({ + text, + width + }, columnIndex) => { + if (isCompact) { + return text; + } + + const spaces = columnMaxWidths[columnIndex] - width; + const align = node.align[columnIndex]; + let before = 0; + + if (align === "right") { + before = spaces; + } else if (align === "center") { + before = Math.floor(spaces / 2); + } + + const after = spaces - before; + return `${" ".repeat(before)}${text}${" ".repeat(after)}`; + }); + return `| ${columns.join(" | ")} |`; + } +} + +function printRoot(path, options, print) { + /** @typedef {{ index: number, offset: number }} IgnorePosition */ + + /** @type {Array<{start: IgnorePosition, end: IgnorePosition}>} */ + const ignoreRanges = []; + /** @type {IgnorePosition | null} */ + + let ignoreStart = null; + const { + children + } = path.getValue(); + + for (const [index, childNode] of children.entries()) { + switch (isPrettierIgnore$2(childNode)) { + case "start": + if (ignoreStart === null) { + ignoreStart = { + index, + offset: childNode.position.end.offset + }; + } + + break; + + case "end": + if (ignoreStart !== null) { + ignoreRanges.push({ + start: ignoreStart, + end: { + index, + offset: childNode.position.start.offset + } + }); + ignoreStart = null; + } + + break; + } + } + + return printChildren$4(path, options, print, { + processor: (childPath, index) => { + if (ignoreRanges.length > 0) { + const ignoreRange = ignoreRanges[0]; + + if (index === ignoreRange.start.index) { + return [children[ignoreRange.start.index].value, options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), children[ignoreRange.end.index].value]; + } + + if (ignoreRange.start.index < index && index < ignoreRange.end.index) { + return false; + } + + if (index === ignoreRange.end.index) { + ignoreRanges.shift(); + return false; + } + } + + return print(); + } + }); +} + +function printChildren$4(path, options, print, events = {}) { + const { + postprocessor + } = events; + + const processor = events.processor || (() => print()); + + const node = path.getValue(); + const parts = []; + let lastChildNode; + path.each((childPath, index) => { + const childNode = childPath.getValue(); + const result = processor(childPath, index); + + if (result !== false) { + const data = { + parts, + prevNode: lastChildNode, + parentNode: node, + options + }; + + if (shouldPrePrintHardline(childNode, data)) { + parts.push(hardline$8); // Can't find a case to pass `shouldPrePrintTripleHardline` + + /* istanbul ignore next */ + + if (lastChildNode && TRAILING_HARDLINE_NODES.has(lastChildNode.type)) { + if (shouldPrePrintTripleHardline(childNode, data)) { + parts.push(hardline$8); + } + } else { + if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) { + parts.push(hardline$8); + } + + if (shouldPrePrintTripleHardline(childNode, data)) { + parts.push(hardline$8); + } + } + } + + parts.push(result); + lastChildNode = childNode; + } + }, "children"); + return postprocessor ? postprocessor(parts) : parts; +} + +function getLastDescendantNode$2(node) { + let current = node; + + while (isNonEmptyArray$2(current.children)) { + current = getLast$3(current.children); + } + + return current; +} +/** @return {false | 'next' | 'start' | 'end'} */ + + +function isPrettierIgnore$2(node) { + let match; + + if (node.type === "html") { + match = node.value.match(/^$/); + } else { + let comment; + + if (node.type === "esComment") { + comment = node; + } else if (node.type === "paragraph" && node.children.length === 1 && node.children[0].type === "esComment") { + comment = node.children[0]; + } + + if (comment) { + match = comment.value.match(/^prettier-ignore(?:-(start|end))?$/); + } + } + + return match ? match[1] ? match[1] : "next" : false; +} + +function shouldPrePrintHardline(node, data) { + const isFirstNode = data.parts.length === 0; + const isInlineNode = INLINE_NODE_TYPES.includes(node.type); + const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES.includes(data.parentNode.type); + return !isFirstNode && !isInlineNode && !isInlineHTML; +} + +function shouldPrePrintDoubleHardline(node, data) { + const isSequence = (data.prevNode && data.prevNode.type) === node.type; + const isSiblingNode = isSequence && SIBLING_NODE_TYPES.has(node.type); + const isInTightListItem = data.parentNode.type === "listItem" && !data.parentNode.loose; + const isPrevNodeLooseListItem = data.prevNode && data.prevNode.type === "listItem" && data.prevNode.loose; + const isPrevNodePrettierIgnore = isPrettierIgnore$2(data.prevNode) === "next"; + const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === "html" && data.prevNode && data.prevNode.type === "html" && data.prevNode.position.end.line + 1 === node.position.start.line; + const isHtmlDirectAfterListItem = node.type === "html" && data.parentNode.type === "listItem" && data.prevNode && data.prevNode.type === "paragraph" && data.prevNode.position.end.line + 1 === node.position.start.line; + return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem); +} + +function shouldPrePrintTripleHardline(node, data) { + const isPrevNodeList = data.prevNode && data.prevNode.type === "list"; + const isIndentedCode = node.type === "code" && node.isIndented; + return isPrevNodeList && isIndentedCode; +} + +function shouldRemainTheSameContent(path) { + const ancestorNode = getAncestorNode(path, ["linkReference", "imageReference"]); + return ancestorNode && (ancestorNode.type !== "linkReference" || ancestorNode.referenceType !== "full"); +} +/** + * @param {string} url + * @param {string[] | string} [dangerousCharOrChars] + * @returns {string} + */ + + +function printUrl(url, dangerousCharOrChars = []) { + const dangerousChars = [" ", ...(Array.isArray(dangerousCharOrChars) ? dangerousCharOrChars : [dangerousCharOrChars])]; + return new RegExp(dangerousChars.map(x => `\\${x}`).join("|")).test(url) ? `<${url}>` : url; +} + +function printTitle(title, options, printSpace = true) { + if (!title) { + return ""; + } + + if (printSpace) { + return " " + printTitle(title, options, false); + } // title is escaped after `remark-parse` v7 + + + title = title.replace(/\\(["')])/g, "$1"); + + if (title.includes('"') && title.includes("'") && !title.includes(")")) { + return `(${title})`; // avoid escaped quotes + } // faster than using RegExps: https://jsperf.com/performance-of-match-vs-split + + + const singleCount = title.split("'").length - 1; + const doubleCount = title.split('"').length - 1; + const quote = singleCount > doubleCount ? '"' : doubleCount > singleCount ? "'" : options.singleQuote ? "'" : '"'; + title = title.replace(/\\/, "\\\\"); + title = title.replace(new RegExp(`(${quote})`, "g"), "\\$1"); + return `${quote}${title}${quote}`; +} + +function clamp(value, min, max) { + return value < min ? min : value > max ? max : value; +} + +function hasPrettierIgnore$5(path) { + const index = Number(path.getName()); + + if (index === 0) { + return false; + } + + const prevNode = path.getParentNode().children[index - 1]; + return isPrettierIgnore$2(prevNode) === "next"; +} + +var printerMarkdown = { + preprocess: preprocess$4, + print: genericPrint$2, + embed: embed$5, + massageAstNode: clean$3, + hasPrettierIgnore: hasPrettierIgnore$5, + insertPragma: insertPragma$4 +}; + +const commonOptions$2 = commonOptions$6; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js + +var options$5 = { + proseWrap: commonOptions$2.proseWrap, + singleQuote: commonOptions$2.singleQuote +}; + +var parsers$5 = { + /* istanbul ignore next */ + get remark() { + return require("./parser-markdown.js").parsers.remark; + }, + + get markdown() { + return require("./parser-markdown.js").parsers.remark; + }, + + get mdx() { + return require("./parser-markdown.js").parsers.mdx; + } + +}; + +var name$3 = "Markdown"; +var type$3 = "prose"; +var color$3 = "#083fa1"; +var aliases$2 = [ + "pandoc" +]; +var aceMode$3 = "markdown"; +var codemirrorMode$2 = "gfm"; +var codemirrorMimeType$2 = "text/x-gfm"; +var wrap = true; +var extensions$3 = [ + ".md", + ".markdown", + ".mdown", + ".mdwn", + ".mdx", + ".mkd", + ".mkdn", + ".mkdown", + ".ronn", + ".scd", + ".workbook" +]; +var filenames$1 = [ + "contents.lr" +]; +var tmScope$3 = "source.gfm"; +var languageId$3 = 222; +var require$$4$3 = { + name: name$3, + type: type$3, + color: color$3, + aliases: aliases$2, + aceMode: aceMode$3, + codemirrorMode: codemirrorMode$2, + codemirrorMimeType: codemirrorMimeType$2, + wrap: wrap, + extensions: extensions$3, + filenames: filenames$1, + tmScope: tmScope$3, + languageId: languageId$3 +}; + +const createLanguage$2 = createLanguage$7; +const printer$2 = printerMarkdown; +const options$4 = options$5; +const parsers$4 = parsers$5; +const languages$3 = [createLanguage$2(require$$4$3, data => ({ + since: "1.8.0", + parsers: ["markdown"], + vscodeLanguageIds: ["markdown"], + filenames: [...data.filenames, "README"], + extensions: data.extensions.filter(extension => extension !== ".mdx") +})), createLanguage$2(require$$4$3, () => ({ + name: "MDX", + since: "1.15.0", + parsers: ["mdx"], + vscodeLanguageIds: ["mdx"], + filenames: [], + extensions: [".mdx"] +}))]; +const printers$1 = { + mdast: printer$2 +}; +var languageMarkdown = { + languages: languages$3, + options: options$4, + printers: printers$1, + parsers: parsers$4 +}; + +const { + isFrontMatterNode: isFrontMatterNode$1 +} = util$8; +const ignoredProperties = new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan"]); + +function clean$2(ast, newNode) { + if (ast.type === "text" || ast.type === "comment") { + return null; + } // may be formatted by multiparser + + + if (isFrontMatterNode$1(ast) || ast.type === "yaml" || ast.type === "toml") { + return null; + } + + if (ast.type === "attribute") { + delete newNode.value; + } + + if (ast.type === "docType") { + delete newNode.value; + } +} + +clean$2.ignoredProperties = ignoredProperties; +var clean_1 = clean$2; + +var require$$0 = [ + "a", + "abbr", + "acronym", + "address", + "applet", + "area", + "article", + "aside", + "audio", + "b", + "base", + "basefont", + "bdi", + "bdo", + "bgsound", + "big", + "blink", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "center", + "cite", + "code", + "col", + "colgroup", + "command", + "content", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "dir", + "div", + "dl", + "dt", + "element", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "font", + "footer", + "form", + "frame", + "frameset", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "image", + "img", + "input", + "ins", + "isindex", + "kbd", + "keygen", + "label", + "legend", + "li", + "link", + "listing", + "main", + "map", + "mark", + "marquee", + "math", + "menu", + "menuitem", + "meta", + "meter", + "multicol", + "nav", + "nextid", + "nobr", + "noembed", + "noframes", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "plaintext", + "pre", + "progress", + "q", + "rb", + "rbc", + "rp", + "rt", + "rtc", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "shadow", + "slot", + "small", + "source", + "spacer", + "span", + "strike", + "strong", + "style", + "sub", + "summary", + "sup", + "svg", + "table", + "tbody", + "td", + "template", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "tt", + "u", + "ul", + "var", + "video", + "wbr", + "xmp" +]; + +var a = [ + "accesskey", + "charset", + "coords", + "download", + "href", + "hreflang", + "name", + "ping", + "referrerpolicy", + "rel", + "rev", + "shape", + "tabindex", + "target", + "type" +]; +var abbr = [ + "title" +]; +var applet = [ + "align", + "alt", + "archive", + "code", + "codebase", + "height", + "hspace", + "name", + "object", + "vspace", + "width" +]; +var area = [ + "accesskey", + "alt", + "coords", + "download", + "href", + "hreflang", + "nohref", + "ping", + "referrerpolicy", + "rel", + "shape", + "tabindex", + "target", + "type" +]; +var audio = [ + "autoplay", + "controls", + "crossorigin", + "loop", + "muted", + "preload", + "src" +]; +var base = [ + "href", + "target" +]; +var basefont = [ + "color", + "face", + "size" +]; +var bdo = [ + "dir" +]; +var blockquote = [ + "cite" +]; +var body = [ + "alink", + "background", + "bgcolor", + "link", + "text", + "vlink" +]; +var br = [ + "clear" +]; +var button = [ + "accesskey", + "autofocus", + "disabled", + "form", + "formaction", + "formenctype", + "formmethod", + "formnovalidate", + "formtarget", + "name", + "tabindex", + "type", + "value" +]; +var canvas = [ + "height", + "width" +]; +var caption = [ + "align" +]; +var col = [ + "align", + "char", + "charoff", + "span", + "valign", + "width" +]; +var colgroup = [ + "align", + "char", + "charoff", + "span", + "valign", + "width" +]; +var data = [ + "value" +]; +var del = [ + "cite", + "datetime" +]; +var details = [ + "open" +]; +var dfn = [ + "title" +]; +var dialog = [ + "open" +]; +var dir = [ + "compact" +]; +var div = [ + "align" +]; +var dl = [ + "compact" +]; +var embed$4 = [ + "height", + "src", + "type", + "width" +]; +var fieldset = [ + "disabled", + "form", + "name" +]; +var font = [ + "color", + "face", + "size" +]; +var form = [ + "accept", + "accept-charset", + "action", + "autocomplete", + "enctype", + "method", + "name", + "novalidate", + "target" +]; +var frame = [ + "frameborder", + "longdesc", + "marginheight", + "marginwidth", + "name", + "noresize", + "scrolling", + "src" +]; +var frameset = [ + "cols", + "rows" +]; +var h1 = [ + "align" +]; +var h2 = [ + "align" +]; +var h3 = [ + "align" +]; +var h4 = [ + "align" +]; +var h5 = [ + "align" +]; +var h6 = [ + "align" +]; +var head = [ + "profile" +]; +var hr = [ + "align", + "noshade", + "size", + "width" +]; +var html = [ + "manifest", + "version" +]; +var iframe = [ + "align", + "allow", + "allowfullscreen", + "allowpaymentrequest", + "allowusermedia", + "frameborder", + "height", + "loading", + "longdesc", + "marginheight", + "marginwidth", + "name", + "referrerpolicy", + "sandbox", + "scrolling", + "src", + "srcdoc", + "width" +]; +var img = [ + "align", + "alt", + "border", + "crossorigin", + "decoding", + "height", + "hspace", + "ismap", + "loading", + "longdesc", + "name", + "referrerpolicy", + "sizes", + "src", + "srcset", + "usemap", + "vspace", + "width" +]; +var input = [ + "accept", + "accesskey", + "align", + "alt", + "autocomplete", + "autofocus", + "checked", + "dirname", + "disabled", + "form", + "formaction", + "formenctype", + "formmethod", + "formnovalidate", + "formtarget", + "height", + "ismap", + "list", + "max", + "maxlength", + "min", + "minlength", + "multiple", + "name", + "pattern", + "placeholder", + "readonly", + "required", + "size", + "src", + "step", + "tabindex", + "title", + "type", + "usemap", + "value", + "width" +]; +var ins = [ + "cite", + "datetime" +]; +var isindex = [ + "prompt" +]; +var label = [ + "accesskey", + "for", + "form" +]; +var legend = [ + "accesskey", + "align" +]; +var li = [ + "type", + "value" +]; +var link = [ + "as", + "charset", + "color", + "crossorigin", + "disabled", + "href", + "hreflang", + "imagesizes", + "imagesrcset", + "integrity", + "media", + "nonce", + "referrerpolicy", + "rel", + "rev", + "sizes", + "target", + "title", + "type" +]; +var map = [ + "name" +]; +var menu = [ + "compact" +]; +var meta = [ + "charset", + "content", + "http-equiv", + "name", + "scheme" +]; +var meter = [ + "high", + "low", + "max", + "min", + "optimum", + "value" +]; +var object = [ + "align", + "archive", + "border", + "classid", + "codebase", + "codetype", + "data", + "declare", + "form", + "height", + "hspace", + "name", + "standby", + "tabindex", + "type", + "typemustmatch", + "usemap", + "vspace", + "width" +]; +var ol = [ + "compact", + "reversed", + "start", + "type" +]; +var optgroup = [ + "disabled", + "label" +]; +var option = [ + "disabled", + "label", + "selected", + "value" +]; +var output = [ + "for", + "form", + "name" +]; +var p = [ + "align" +]; +var param = [ + "name", + "type", + "value", + "valuetype" +]; +var pre = [ + "width" +]; +var progress = [ + "max", + "value" +]; +var q = [ + "cite" +]; +var script = [ + "async", + "charset", + "crossorigin", + "defer", + "integrity", + "language", + "nomodule", + "nonce", + "referrerpolicy", + "src", + "type" +]; +var select = [ + "autocomplete", + "autofocus", + "disabled", + "form", + "multiple", + "name", + "required", + "size", + "tabindex" +]; +var slot = [ + "name" +]; +var source = [ + "media", + "sizes", + "src", + "srcset", + "type" +]; +var style = [ + "media", + "nonce", + "title", + "type" +]; +var table = [ + "align", + "bgcolor", + "border", + "cellpadding", + "cellspacing", + "frame", + "rules", + "summary", + "width" +]; +var tbody = [ + "align", + "char", + "charoff", + "valign" +]; +var td = [ + "abbr", + "align", + "axis", + "bgcolor", + "char", + "charoff", + "colspan", + "headers", + "height", + "nowrap", + "rowspan", + "scope", + "valign", + "width" +]; +var textarea = [ + "accesskey", + "autocomplete", + "autofocus", + "cols", + "dirname", + "disabled", + "form", + "maxlength", + "minlength", + "name", + "placeholder", + "readonly", + "required", + "rows", + "tabindex", + "wrap" +]; +var tfoot = [ + "align", + "char", + "charoff", + "valign" +]; +var th = [ + "abbr", + "align", + "axis", + "bgcolor", + "char", + "charoff", + "colspan", + "headers", + "height", + "nowrap", + "rowspan", + "scope", + "valign", + "width" +]; +var thead = [ + "align", + "char", + "charoff", + "valign" +]; +var time = [ + "datetime" +]; +var tr = [ + "align", + "bgcolor", + "char", + "charoff", + "valign" +]; +var track = [ + "default", + "kind", + "label", + "src", + "srclang" +]; +var ul = [ + "compact", + "type" +]; +var video = [ + "autoplay", + "controls", + "crossorigin", + "height", + "loop", + "muted", + "playsinline", + "poster", + "preload", + "src", + "width" +]; +var require$$1 = { + "*": [ + "accesskey", + "autocapitalize", + "autofocus", + "class", + "contenteditable", + "dir", + "draggable", + "enterkeyhint", + "hidden", + "id", + "inputmode", + "is", + "itemid", + "itemprop", + "itemref", + "itemscope", + "itemtype", + "lang", + "nonce", + "slot", + "spellcheck", + "style", + "tabindex", + "title", + "translate" +], + a: a, + abbr: abbr, + applet: applet, + area: area, + audio: audio, + base: base, + basefont: basefont, + bdo: bdo, + blockquote: blockquote, + body: body, + br: br, + button: button, + canvas: canvas, + caption: caption, + col: col, + colgroup: colgroup, + data: data, + del: del, + details: details, + dfn: dfn, + dialog: dialog, + dir: dir, + div: div, + dl: dl, + embed: embed$4, + fieldset: fieldset, + font: font, + form: form, + frame: frame, + frameset: frameset, + h1: h1, + h2: h2, + h3: h3, + h4: h4, + h5: h5, + h6: h6, + head: head, + hr: hr, + html: html, + iframe: iframe, + img: img, + input: input, + ins: ins, + isindex: isindex, + label: label, + legend: legend, + li: li, + link: link, + map: map, + menu: menu, + meta: meta, + meter: meter, + object: object, + ol: ol, + optgroup: optgroup, + option: option, + output: output, + p: p, + param: param, + pre: pre, + progress: progress, + q: q, + script: script, + select: select, + slot: slot, + source: source, + style: style, + table: table, + tbody: tbody, + td: td, + textarea: textarea, + tfoot: tfoot, + th: th, + thead: thead, + time: time, + tr: tr, + track: track, + ul: ul, + video: video +}; + +var require$$4$2 = { + "CSS_DISPLAY_TAGS": { + "area": "none", + "base": "none", + "basefont": "none", + "datalist": "none", + "head": "none", + "link": "none", + "meta": "none", + "noembed": "none", + "noframes": "none", + "param": "block", + "rp": "none", + "script": "block", + "source": "block", + "style": "none", + "template": "inline", + "track": "block", + "title": "none", + "html": "block", + "body": "block", + "address": "block", + "blockquote": "block", + "center": "block", + "div": "block", + "figure": "block", + "figcaption": "block", + "footer": "block", + "form": "block", + "header": "block", + "hr": "block", + "legend": "block", + "listing": "block", + "main": "block", + "p": "block", + "plaintext": "block", + "pre": "block", + "xmp": "block", + "slot": "contents", + "ruby": "ruby", + "rt": "ruby-text", + "article": "block", + "aside": "block", + "h1": "block", + "h2": "block", + "h3": "block", + "h4": "block", + "h5": "block", + "h6": "block", + "hgroup": "block", + "nav": "block", + "section": "block", + "dir": "block", + "dd": "block", + "dl": "block", + "dt": "block", + "ol": "block", + "ul": "block", + "li": "list-item", + "table": "table", + "caption": "table-caption", + "colgroup": "table-column-group", + "col": "table-column", + "thead": "table-header-group", + "tbody": "table-row-group", + "tfoot": "table-footer-group", + "tr": "table-row", + "td": "table-cell", + "th": "table-cell", + "fieldset": "block", + "button": "inline-block", + "details": "block", + "summary": "block", + "dialog": "block", + "meter": "inline-block", + "progress": "inline-block", + "object": "inline-block", + "video": "inline-block", + "audio": "inline-block", + "select": "inline-block", + "option": "block", + "optgroup": "block" + }, + "CSS_DISPLAY_DEFAULT": "inline", + "CSS_WHITE_SPACE_TAGS": { + "listing": "pre", + "plaintext": "pre", + "pre": "pre", + "xmp": "pre", + "nobr": "nowrap", + "table": "initial", + "textarea": "pre-wrap" + }, + "CSS_WHITE_SPACE_DEFAULT": "normal" +}; + +/** + * @typedef {import("../common/ast-path")} AstPath + */ + + +const htmlTagNames = require$$0; +const htmlElementAttributes = require$$1; +const { + inferParserByLanguage, + isFrontMatterNode +} = util$8; +const { + builders: { + line: line$9, + hardline: hardline$7, + join: join$6 + }, + utils: { + getDocParts: getDocParts$3, + replaceTextEndOfLine: replaceTextEndOfLine$6 + } +} = require$$7$3; +const { + CSS_DISPLAY_TAGS, + CSS_DISPLAY_DEFAULT, + CSS_WHITE_SPACE_TAGS, + CSS_WHITE_SPACE_DEFAULT +} = require$$4$2; +const HTML_TAGS = arrayToMap(htmlTagNames); +const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes, arrayToMap); // https://infra.spec.whatwg.org/#ascii-whitespace + +const HTML_WHITESPACE = new Set(["\t", "\n", "\f", "\r", " "]); + +const htmlTrimStart = string => string.replace(/^[\t\n\f\r ]+/, ""); + +const htmlTrimEnd = string => string.replace(/[\t\n\f\r ]+$/, ""); + +const htmlTrim$1 = string => htmlTrimStart(htmlTrimEnd(string)); + +const htmlTrimLeadingBlankLines = string => string.replace(/^[\t\f\r ]*?\n/g, ""); + +const htmlTrimPreserveIndentation$1 = string => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); + +const splitByHtmlWhitespace = string => string.split(/[\t\n\f\r ]+/); + +const getLeadingHtmlWhitespace = string => string.match(/^[\t\n\f\r ]*/)[0]; + +const getLeadingAndTrailingHtmlWhitespace$1 = string => { + const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s); + return { + leadingWhitespace, + trailingWhitespace, + text + }; +}; + +const hasHtmlWhitespace$1 = string => /[\t\n\f\r ]/.test(string); + +function arrayToMap(array) { + const map = Object.create(null); + + for (const value of array) { + map[value] = true; + } + + return map; +} + +function mapObject(object, fn) { + const newObject = Object.create(null); + + for (const [key, value] of Object.entries(object)) { + newObject[key] = fn(value, key); + } + + return newObject; +} + +function shouldPreserveContent$2(node, options) { + // unterminated node in ie conditional comment + // e.g. + if (node.type === "ieConditionalComment" && node.lastChild && !node.lastChild.isSelfClosing && !node.lastChild.endSourceSpan) { + return true; + } // incomplete html in ie conditional comment + // e.g. + + + if (node.type === "ieConditionalComment" && !node.complete) { + return true; + } // TODO: handle non-text children in
+
+
+  if (isPreLikeNode$1(node) && node.children.some(child => child.type !== "text" && child.type !== "interpolation")) {
+    return true;
+  }
+
+  if (isVueNonHtmlBlock$1(node, options) && !isScriptLikeTag$2(node) && node.type !== "interpolation") {
+    return true;
+  }
+
+  return false;
+}
+
+function hasPrettierIgnore$4(node) {
+  /* istanbul ignore next */
+  if (node.type === "attribute") {
+    return false;
+  }
+  /* istanbul ignore next */
+
+
+  if (!node.parent) {
+    return false;
+  }
+
+  if (typeof node.index !== "number" || node.index === 0) {
+    return false;
+  }
+
+  const prevNode = node.parent.children[node.index - 1];
+  return isPrettierIgnore$1(prevNode);
+}
+
+function isPrettierIgnore$1(node) {
+  return node.type === "comment" && node.value.trim() === "prettier-ignore";
+}
+/** there's no opening/closing tag or it's considered not breakable */
+
+
+function isTextLikeNode$2(node) {
+  return node.type === "text" || node.type === "comment";
+}
+
+function isScriptLikeTag$2(node) {
+  return node.type === "element" && (node.fullName === "script" || node.fullName === "style" || node.fullName === "svg:style" || isUnknownNamespace(node) && (node.name === "script" || node.name === "style"));
+}
+
+function canHaveInterpolation$1(node) {
+  return node.children && !isScriptLikeTag$2(node);
+}
+
+function isWhitespaceSensitiveNode$1(node) {
+  return isScriptLikeTag$2(node) || node.type === "interpolation" || isIndentationSensitiveNode$1(node);
+}
+
+function isIndentationSensitiveNode$1(node) {
+  return getNodeCssStyleWhiteSpace(node).startsWith("pre");
+}
+
+function isLeadingSpaceSensitiveNode$1(node, options) {
+  const isLeadingSpaceSensitive = _isLeadingSpaceSensitiveNode();
+
+  if (isLeadingSpaceSensitive && !node.prev && node.parent && node.parent.tagDefinition && node.parent.tagDefinition.ignoreFirstLf) {
+    return node.type === "interpolation";
+  }
+
+  return isLeadingSpaceSensitive;
+
+  function _isLeadingSpaceSensitiveNode() {
+    if (isFrontMatterNode(node)) {
+      return false;
+    }
+
+    if ((node.type === "text" || node.type === "interpolation") && node.prev && (node.prev.type === "text" || node.prev.type === "interpolation")) {
+      return true;
+    }
+
+    if (!node.parent || node.parent.cssDisplay === "none") {
+      return false;
+    }
+
+    if (isPreLikeNode$1(node.parent)) {
+      return true;
+    }
+
+    if (!node.prev && (node.parent.type === "root" || isPreLikeNode$1(node) && node.parent || isScriptLikeTag$2(node.parent) || isVueCustomBlock$1(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
+      return false;
+    }
+
+    if (node.prev && !isNextLeadingSpaceSensitiveCssDisplay(node.prev.cssDisplay)) {
+      return false;
+    }
+
+    return true;
+  }
+}
+
+function isTrailingSpaceSensitiveNode$1(node, options) {
+  if (isFrontMatterNode(node)) {
+    return false;
+  }
+
+  if ((node.type === "text" || node.type === "interpolation") && node.next && (node.next.type === "text" || node.next.type === "interpolation")) {
+    return true;
+  }
+
+  if (!node.parent || node.parent.cssDisplay === "none") {
+    return false;
+  }
+
+  if (isPreLikeNode$1(node.parent)) {
+    return true;
+  }
+
+  if (!node.next && (node.parent.type === "root" || isPreLikeNode$1(node) && node.parent || isScriptLikeTag$2(node.parent) || isVueCustomBlock$1(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
+    return false;
+  }
+
+  if (node.next && !isPrevTrailingSpaceSensitiveCssDisplay(node.next.cssDisplay)) {
+    return false;
+  }
+
+  return true;
+}
+
+function isDanglingSpaceSensitiveNode$1(node) {
+  return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag$2(node);
+}
+
+function forceNextEmptyLine$1(node) {
+  return isFrontMatterNode(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line;
+}
+/** firstChild leadingSpaces and lastChild trailingSpaces */
+
+
+function forceBreakContent$1(node) {
+  return forceBreakChildren$1(node) || node.type === "element" && node.children.length > 0 && (["body", "script", "style"].includes(node.name) || node.children.some(child => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild));
+}
+/** spaces between children */
+
+
+function forceBreakChildren$1(node) {
+  return node.type === "element" && node.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell");
+}
+
+function preferHardlineAsLeadingSpaces$1(node) {
+  return preferHardlineAsSurroundingSpaces(node) || node.prev && preferHardlineAsTrailingSpaces(node.prev) || hasSurroundingLineBreak(node);
+}
+
+function preferHardlineAsTrailingSpaces(node) {
+  return preferHardlineAsSurroundingSpaces(node) || node.type === "element" && node.fullName === "br" || hasSurroundingLineBreak(node);
+}
+
+function hasSurroundingLineBreak(node) {
+  return hasLeadingLineBreak(node) && hasTrailingLineBreak(node);
+}
+
+function hasLeadingLineBreak(node) {
+  return node.hasLeadingSpaces && (node.prev ? node.prev.sourceSpan.end.line < node.sourceSpan.start.line : node.parent.type === "root" || node.parent.startSourceSpan.end.line < node.sourceSpan.start.line);
+}
+
+function hasTrailingLineBreak(node) {
+  return node.hasTrailingSpaces && (node.next ? node.next.sourceSpan.start.line > node.sourceSpan.end.line : node.parent.type === "root" || node.parent.endSourceSpan && node.parent.endSourceSpan.start.line > node.sourceSpan.end.line);
+}
+
+function preferHardlineAsSurroundingSpaces(node) {
+  switch (node.type) {
+    case "ieConditionalComment":
+    case "comment":
+    case "directive":
+      return true;
+
+    case "element":
+      return ["script", "select"].includes(node.name);
+  }
+
+  return false;
+}
+
+function getLastDescendant$1(node) {
+  return node.lastChild ? getLastDescendant$1(node.lastChild) : node;
+}
+
+function hasNonTextChild(node) {
+  return node.children && node.children.some(child => child.type !== "text");
+}
+
+function _inferScriptParser(node) {
+  const {
+    type,
+    lang
+  } = node.attrMap;
+
+  if (type === "module" || type === "text/javascript" || type === "text/babel" || type === "application/javascript" || lang === "jsx") {
+    return "babel";
+  }
+
+  if (type === "application/x-typescript" || lang === "ts" || lang === "tsx") {
+    return "typescript";
+  }
+
+  if (type === "text/markdown") {
+    return "markdown";
+  }
+
+  if (type === "text/html") {
+    return "html";
+  }
+
+  if (type && (type.endsWith("json") || type.endsWith("importmap"))) {
+    return "json";
+  }
+
+  if (type === "text/x-handlebars-template") {
+    return "glimmer";
+  }
+}
+
+function inferStyleParser(node) {
+  const {
+    lang
+  } = node.attrMap;
+
+  if (!lang || lang === "postcss" || lang === "css") {
+    return "css";
+  }
+
+  if (lang === "scss") {
+    return "scss";
+  }
+
+  if (lang === "less") {
+    return "less";
+  }
+}
+
+function inferScriptParser$1(node, options) {
+  if (node.name === "script" && !node.attrMap.src) {
+    if (!node.attrMap.lang && !node.attrMap.type) {
+      return "babel";
+    }
+
+    return _inferScriptParser(node);
+  }
+
+  if (node.name === "style") {
+    return inferStyleParser(node);
+  }
+
+  if (options && isVueNonHtmlBlock$1(node, options)) {
+    return _inferScriptParser(node) || !("src" in node.attrMap) && inferParserByLanguage(node.attrMap.lang, options);
+  }
+}
+
+function isBlockLikeCssDisplay(cssDisplay) {
+  return cssDisplay === "block" || cssDisplay === "list-item" || cssDisplay.startsWith("table");
+}
+
+function isFirstChildLeadingSpaceSensitiveCssDisplay(cssDisplay) {
+  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
+}
+
+function isLastChildTrailingSpaceSensitiveCssDisplay(cssDisplay) {
+  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
+}
+
+function isPrevTrailingSpaceSensitiveCssDisplay(cssDisplay) {
+  return !isBlockLikeCssDisplay(cssDisplay);
+}
+
+function isNextLeadingSpaceSensitiveCssDisplay(cssDisplay) {
+  return !isBlockLikeCssDisplay(cssDisplay);
+}
+
+function isDanglingSpaceSensitiveCssDisplay(cssDisplay) {
+  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
+}
+
+function isPreLikeNode$1(node) {
+  return getNodeCssStyleWhiteSpace(node).startsWith("pre");
+}
+/**
+ * @param {AstPath} path
+ * @param {(any) => boolean} predicate
+ */
+
+
+function countParents$1(path, predicate) {
+  let counter = 0;
+
+  for (let i = path.stack.length - 1; i >= 0; i--) {
+    const value = path.stack[i];
+
+    if (value && typeof value === "object" && !Array.isArray(value) && predicate(value)) {
+      counter++;
+    }
+  }
+
+  return counter;
+}
+
+function hasParent(node, fn) {
+  let current = node;
+
+  while (current) {
+    if (fn(current)) {
+      return true;
+    }
+
+    current = current.parent;
+  }
+
+  return false;
+}
+
+function getNodeCssStyleDisplay$1(node, options) {
+  if (node.prev && node.prev.type === "comment") {
+    // 
+    const match = node.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);
+
+    if (match) {
+      return match[1];
+    }
+  }
+
+  let isInSvgForeignObject = false;
+
+  if (node.type === "element" && node.namespace === "svg") {
+    if (hasParent(node, parent => parent.fullName === "svg:foreignObject")) {
+      isInSvgForeignObject = true;
+    } else {
+      return node.name === "svg" ? "inline-block" : "block";
+    }
+  }
+
+  switch (options.htmlWhitespaceSensitivity) {
+    case "strict":
+      return "inline";
+
+    case "ignore":
+      return "block";
+
+    default:
+      {
+        // See https://github.com/prettier/prettier/issues/8151
+        if (options.parser === "vue" && node.parent && node.parent.type === "root") {
+          return "block";
+        }
+
+        return node.type === "element" && (!node.namespace || isInSvgForeignObject || isUnknownNamespace(node)) && CSS_DISPLAY_TAGS[node.name] || CSS_DISPLAY_DEFAULT;
+      }
+  }
+}
+
+function isUnknownNamespace(node) {
+  return node.type === "element" && !node.hasExplicitNamespace && !["html", "svg"].includes(node.namespace);
+}
+
+function getNodeCssStyleWhiteSpace(node) {
+  return node.type === "element" && (!node.namespace || isUnknownNamespace(node)) && CSS_WHITE_SPACE_TAGS[node.name] || CSS_WHITE_SPACE_DEFAULT;
+}
+
+function getMinIndentation(text) {
+  let minIndentation = Number.POSITIVE_INFINITY;
+
+  for (const lineText of text.split("\n")) {
+    if (lineText.length === 0) {
+      continue;
+    }
+
+    if (!HTML_WHITESPACE.has(lineText[0])) {
+      return 0;
+    }
+
+    const indentation = getLeadingHtmlWhitespace(lineText).length;
+
+    if (lineText.length === indentation) {
+      continue;
+    }
+
+    if (indentation < minIndentation) {
+      minIndentation = indentation;
+    }
+  }
+
+  return minIndentation === Number.POSITIVE_INFINITY ? 0 : minIndentation;
+}
+
+function dedentString$1(text, minIndent = getMinIndentation(text)) {
+  return minIndent === 0 ? text : text.split("\n").map(lineText => lineText.slice(minIndent)).join("\n");
+}
+
+function countChars$1(text, char) {
+  let counter = 0;
+
+  for (let i = 0; i < text.length; i++) {
+    if (text[i] === char) {
+      counter++;
+    }
+  }
+
+  return counter;
+}
+
+function unescapeQuoteEntities$2(text) {
+  return text.replace(/'/g, "'").replace(/"/g, '"');
+} // top-level elements (excluding