diff --git a/Configuration.mk b/Configuration.mk
index a952a8b..1be0264 100644
--- a/Configuration.mk
+++ b/Configuration.mk
@@ -67,6 +67,7 @@ ENABLED += -DENABLE_ERROR
ENABLED += -DENABLE_UNSIGNED
ENABLED += -DENABLE_MALLOC
ENABLED += -DENABLE_BLOCKS
+ENABLED += -DENABLE_IOCTL
DEVICES ?=
DEVICES += interface/ll.retro
@@ -87,6 +88,7 @@ DEVICES += interface/future.retro
DEVICES += interface/block.retro
DEVICES += interface/deprecated.retro
DEVICES += interface/error.retro
+DEVICES += interface/ioctl.retro
DEVICES += interface/final.retro
DEVICES += interface/library.retro
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 3076382..03bf815 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -37,6 +37,7 @@
- filesystem device no longer included if ENABLE_FILES not
defined
- formatting cleanups
+ - added ioctl device
Future Notes
diff --git a/doc/Glossary-Concise.txt b/doc/Glossary-Concise.txt
index 449aaa0..046e3ed 100644
--- a/doc/Glossary-Concise.txt
+++ b/doc/Glossary-Concise.txt
@@ -187,6 +187,9 @@ Return device ID for floating point.
DEVICE:IMAGE D: -n A: - F: -
Return device ID for image writer.
+DEVICE:IOCTL D: -n A: - F: -
+Return device ID for Unix IOCTL interface.
+
DEVICE:KEYBOARD D: -n A: - F: -
Return device ID for Keyboard input.
@@ -208,9 +211,6 @@ Reserved device ID.
DEVICE:RESERVED13 D: -n A: - F: -
Reserved device ID.
-DEVICE:RESERVED14 D: -n A: - F: -
-Reserved device ID.
-
DEVICE:RESERVED6 D: -n A: - F: -
Reserved device ID.
diff --git a/doc/Glossary-Names-and-Stack.txt b/doc/Glossary-Names-and-Stack.txt
index 2eaf33a..48137e1 100644
--- a/doc/Glossary-Names-and-Stack.txt
+++ b/doc/Glossary-Names-and-Stack.txt
@@ -61,6 +61,7 @@ DEVICE:FFI D: -n A: - F: -
DEVICE:FILES D: -n A: - F: -
DEVICE:FLOATS D: -n A: - F: -
DEVICE:IMAGE D: -n A: - F: -
+DEVICE:IOCTL D: -n A: - F: -
DEVICE:KEYBOARD D: -n A: - F: -
DEVICE:MALLOC D: -n A: - F: -
DEVICE:MULTICORE D: -n A: - F: -
@@ -68,7 +69,6 @@ DEVICE:OUTPUT D: -n A: - F: -
DEVICE:RESERVED11 D: -n A: - F: -
DEVICE:RESERVED12 D: -n A: - F: -
DEVICE:RESERVED13 D: -n A: - F: -
-DEVICE:RESERVED14 D: -n A: - F: -
DEVICE:RESERVED6 D: -n A: - F: -
DEVICE:RNG D: -n A: - F: -
DEVICE:SCRIPTING D: -n A: - F: -
diff --git a/doc/Glossary.html b/doc/Glossary.html
index e3b2d86..b539f6c 100644
--- a/doc/Glossary.html
+++ b/doc/Glossary.html
@@ -466,6 +466,13 @@
Return device ID for image writer.
Return device ID for Unix IOCTL interface.
+Reserved device ID.
Reserved device ID.
-Data: -n
Addr: -
diff --git a/doc/Glossary.txt b/doc/Glossary.txt
index 88b7670..ea29a89 100644
--- a/doc/Glossary.txt
+++ b/doc/Glossary.txt
@@ -724,6 +724,17 @@ Return device ID for image writer.
Class: class:data | Namespace: DEVICE | Interface Layer: rre
------------------------------------------------------------------------
+DEVICE:IOCTL
+
+ Data: -n
+ Addr: -
+ Float: -
+
+Return device ID for Unix IOCTL interface.
+
+Class: class:data | Namespace: DEVICE | Interface Layer: rre
+------------------------------------------------------------------------
+
DEVICE:KEYBOARD
Data: -n
@@ -801,17 +812,6 @@ Reserved device ID.
Class: class:data | Namespace: DEVICE | Interface Layer: rre
------------------------------------------------------------------------
-DEVICE:RESERVED14
-
- Data: -n
- Addr: -
- Float: -
-
-Reserved device ID.
-
-Class: class:data | Namespace: DEVICE | Interface Layer: rre
-------------------------------------------------------------------------
-
DEVICE:RESERVED6
Data: -n
diff --git a/doc/words.tsv b/doc/words.tsv
index d0d3e7d..170dd53 100644
--- a/doc/words.tsv
+++ b/doc/words.tsv
@@ -61,6 +61,7 @@ DEVICE:FFI -n - - Return device ID for foreign function interface. class:data
DEVICE:FILES -n - - Return device ID for filesystem access. class:data {n/a} {n/a} DEVICE rre
DEVICE:FLOATS -n - - Return device ID for floating point. class:data {n/a} {n/a} DEVICE rre
DEVICE:IMAGE -n - - Return device ID for image writer. class:data {n/a} {n/a} DEVICE rre
+DEVICE:IOCTL -n - - Return device ID for Unix IOCTL interface. class:data {n/a} {n/a} DEVICE rre
DEVICE:KEYBOARD -n - - Return device ID for Keyboard input. class:data {n/a} {n/a} DEVICE rre
DEVICE:MALLOC -n - - Return device ID for memory allocator. class:data {n/a} {n/a} DEVICE rre
DEVICE:MULTICORE -n - - Return device ID for multicore support. class:data {n/a} {n/a} DEVICE rre
@@ -68,7 +69,6 @@ DEVICE:OUTPUT -n - - Return device ID for Output device. class:data {n/a} {n/a
DEVICE:RESERVED11 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED12 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED13 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
-DEVICE:RESERVED14 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED6 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RNG -n - - Return device ID for random number generator. class:data {n/a} {n/a} DEVICE rre
DEVICE:SCRIPTING -n - - Return device ID for scripting support. class:data {n/a} {n/a} DEVICE rre
diff --git a/interface/devices.retro b/interface/devices.retro
index 462c003..5309905 100644
--- a/interface/devices.retro
+++ b/interface/devices.retro
@@ -13,7 +13,7 @@
#11 'DEVICE:RESERVED11 const
#12 'DEVICE:RESERVED12 const
#13 'DEVICE:RESERVED13 const
-#14 'DEVICE:RESERVED14 const
+#14 'DEVICE:IOCTL const
#15 'DEVICE:MALLOC const
#1000 'DEVICE:IMAGE const
#1234 'DEVICE:ERROR const
@@ -29,7 +29,7 @@ dup 'DEVICE:MULTICORE d:set-source
dup 'DEVICE:ERROR d:set-source
dup 'DEVICE:IMAGE d:set-source
dup 'DEVICE:MALLOC d:set-source
-dup 'DEVICE:RESERVED14 d:set-source
+dup 'DEVICE:IOCTL d:set-source
dup 'DEVICE:RESERVED13 d:set-source
dup 'DEVICE:RESERVED12 d:set-source
dup 'DEVICE:RESERVED11 d:set-source
diff --git a/interface/ioctl.retro b/interface/ioctl.retro
new file mode 100644
index 0000000..36d12f8
--- /dev/null
+++ b/interface/ioctl.retro
@@ -0,0 +1,12 @@
+~~~
+:ioctl:operation
+ DEVICE:IOCTL io:scan-for
+ dup n:negative? [ drop 'Error:_ioctl_device_not_found s:put nl ] if;
+ io:invoke ;
+
+:ioctl:term-size (-nn) #0 ioctl:operation ;
+:ioctl:set-cbreak (-) #1 ioctl:operation ;
+:ioctl:set-lbreak (-) #2 ioctl:operation ;
+:ioctl:save-state (-) #3 ioctl:operation ;
+:ioctl:restore-state (-) #4 ioctl:operation ;
+~~~
diff --git a/vm/nga-c/config.h b/vm/nga-c/config.h
index b71c5ff..951a12b 100644
--- a/vm/nga-c/config.h
+++ b/vm/nga-c/config.h
@@ -26,6 +26,7 @@
#define ENABLE_UNSIGNED
#define ENABLE_MALLOC
#define ENABLE_BLOCKS
+#define ENABLE_IOCTL
#endif
#ifdef ENABLE_MULTICORE
diff --git a/vm/nga-c/dev-ioctl.c b/vm/nga-c/dev-ioctl.c
new file mode 100644
index 0000000..7e159ca
--- /dev/null
+++ b/vm/nga-c/dev-ioctl.c
@@ -0,0 +1,65 @@
+/**************************************************************
+ _ __ _ _
+ _ __ ___| |_ _ __ ___ / _| ___ _ __| |_| |__
+ | '__/ _ \ __| '__/ _ \| |_ / _ \| '__| __| '_ \
+ | | | __/ |_| | | (_) | _| (_) | | | |_| | | |
+ |_| \___|\__|_| \___/|_| \___/|_| \__|_| |_|
+ for nga
+
+ (c) Charles Childers, Luke Parrish, Marc Simpsonn,
+ Jay Skeer, Kenneth Keating
+
+**************************************************************/
+
+#ifdef ENABLE_IOCTL
+#include
+#include
+
+void ioctl_get_terminal_size(NgaState *vm) {
+ struct winsize size;
+ ioctl(STDOUT_FILENO, TIOCGWINSZ, &size);
+ stack_push(vm, size.ws_row);
+ stack_push(vm, size.ws_col);
+}
+
+void ioctl_set_character_breaking_mode(NgaState *vm) {
+ struct termios term;
+ tcgetattr(STDIN_FILENO, &term);
+ term.c_iflag |= BRKINT;
+ tcsetattr(STDIN_FILENO, TCSANOW, &term);
+}
+
+void ioctl_set_line_buffered_mode(NgaState *vm) {
+ struct termios term;
+ tcgetattr(STDIN_FILENO, &term);
+ term.c_lflag |= ICANON;
+ tcsetattr(STDIN_FILENO, TCSANOW, &term);
+}
+
+struct termios savedTermState;
+
+void ioctl_save_current_state(NgaState *vm) {
+ tcgetattr(STDIN_FILENO, &savedTermState);
+}
+
+void ioctl_restore_saved_state(NgaState *vm) {
+ tcsetattr(STDIN_FILENO, TCSANOW, &savedTermState);
+}
+
+Handler IOCTLActions[] = {
+ ioctl_get_terminal_size,
+ ioctl_set_character_breaking_mode,
+ ioctl_set_line_buffered_mode,
+ ioctl_save_current_state,
+ ioctl_restore_saved_state
+};
+
+V query_ioctl(NgaState *vm) {
+ stack_push(vm, 0);
+ stack_push(vm, DEVICE_IOCTL);
+}
+
+V io_ioctl(NgaState *vm) {
+ IOCTLActions[stack_pop(vm)](vm);
+}
+#endif
diff --git a/vm/nga-c/devices.h b/vm/nga-c/devices.h
index 35b9798..f245b52 100644
--- a/vm/nga-c/devices.h
+++ b/vm/nga-c/devices.h
@@ -12,7 +12,7 @@
#define DEVICE_RESERVED11 11
#define DEVICE_RESERVED12 12
#define DEVICE_RESERVED13 13
-#define DEVICE_RESERVED14 14
+#define DEVICE_IOCTL 14
#define DEVICE_MALLOC 15
#define DEVICE_IMAGE 1000
diff --git a/vm/nga-c/image.c b/vm/nga-c/image.c
index 1fe18bb..0ff3f21 100644
--- a/vm/nga-c/image.c
+++ b/vm/nga-c/image.c
@@ -10,8 +10,8 @@
#define CELL_MAX LLONG_MAX - 1
#endif
#endif
-CELL ngaImageCells = 20803;
-CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10,1,10,2,10,3,10,
+CELL ngaImageCells = 21012;
+CELL ngaImage[] = { 1793,11537,20974,21011,202409,417,389,1249,1535,0,11583,0,10,1,10,2,10,3,10,
4,10,5,10,6,10,7,10,8,10,11,10,12,10,13,10,14,10,15,10,
16,10,17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,68223234,
1,2575,85000450,1,656912,163,180,268505089,65,64,285281281,0,65,2063,10,101384453,0,9,10,68485378,
@@ -20,9 +20,9 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
1,251790353,101777669,1,17565186,109,524545,113,66,167838467,-1,134287105,3,61,659457,3,459023,130,2049,58,
25,2049,130,1793,137,2049,137,117506307,0,130,0,524545,28,135,168820993,0,149,1642241,149,134283523,
13,135,1793,130,524545,2049,130,1793,130,16846593,149,163,180,1793,66,16846593,149,135,180,1793,
- 66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20072,17108737,3,2,524559,130,
- 2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19613,8246457295145463473,167841793,
- 216,11,17826049,0,216,2,15,25,524546,18736,134287105,217,29,2305,218,459023,226,2049,4819,134287361,
+ 66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20281,17108737,3,2,524559,130,
+ 2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19822,8246457295145463473,167841793,
+ 216,11,17826049,0,216,2,15,25,524546,18731,134287105,217,29,2305,218,459023,226,2049,4819,134287361,
217,221,659201,216,10,659969,7,2049,58,25,17694978,58,244,9,84152833,48,319750404,243,117507601,246,
184618754,45,25,16974851,-1,168886532,1,134284289,1,259,134284289,0,246,660227,32,0,0,115,105,103,
105,108,58,105,0,285278479,276,6,2576,524546,104,1641217,1,167838467,273,2049,288,2049,284,524545,
@@ -170,7 +170,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
110,58,105,110,99,0,659713,1,10,3114,3139,168,12432,210720197721,110,58,100,101,99,0,
659969,1,10,3128,3158,168,12432,8246617666422322998,110,58,98,101,116,119,101,101,110,63,0,67503109,
1793,3166,67503109,67503109,2049,3106,10,1,3161,2049,2241,11,10,3142,3187,168,12432,249861296566813883,83,99,
- 111,112,101,76,105,115,116,0,20487,20600,10,3172,3198,168,12432,5864091,123,123,0,2049,
+ 111,112,101,76,105,115,116,0,20696,20809,10,3172,3198,168,12432,5864091,123,123,0,2049,
1576,2,1,3187,2049,61,16,10,3190,3225,168,12432,-6305314778776785742,45,45,45,114,101,118,101,
97,108,45,45,45,0,2049,1576,1,3187,2049,3125,16,10,3207,3241,168,12432,5864159,125,
125,0,1,3187,2049,58,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281,
@@ -225,7 +225,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
4211,2049,2229,4097,4000,10,4184,4242,156,12432,-4600587576916820603,84,101,109,112,83,116,114,105,110,
103,115,0,32,4225,4262,156,12432,7474516786580364824,84,101,109,112,83,116,114,105,110,103,77,
97,120,0,512,4243,4276,168,12432,229440420829967,83,84,82,73,78,71,83,0,2049,1545,3841,
- 4242,3841,4262,19,18,10,4263,4298,156,0,0,67,117,114,114,101,110,116,0,0,
+ 4242,3841,4262,19,18,10,4263,4298,156,0,0,67,117,114,114,101,110,116,0,1,
10,4285,4315,168,0,0,115,58,112,111,105,110,116,101,114,0,3841,4298,3841,4262,
19,2049,4276,17,10,4300,4336,168,0,0,115,58,110,101,120,116,0,1,4298,2049,
3816,3841,4298,3841,4242,11,1793,4352,1,0,4097,4298,10,1,4347,9,10,4263,4368,168,
@@ -528,7 +528,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
2049,2740,1,417,1,17,2049,66,10,1,10276,2049,2229,2049,3125,10,1,10269,2049,2449,
2049,417,10,10145,10318,168,12432,8246849872898570441,115,58,101,118,97,108,117,97,116,101,0,2049,
10210,2049,5517,2049,10210,2,2049,10234,2049,10267,10,10302,10338,156,0,0,76,80,0,0,
- 10330,10350,156,0,0,73,110,100,101,120,0,0,14,0,0,0,0,0,0,0,
+ 10330,10350,156,0,0,73,110,100,101,120,0,0,15,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,10339,10392,168,0,0,110,101,120,116,0,3841,10338,1,10350,17,2049,3816,
10,10382,10410,168,0,0,112,114,101,112,0,1,10338,2049,3816,1,0,3841,10338,1,
@@ -599,7 +599,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
114,33,0,2049,11665,16,10,11692,11716,168,12101,6385111390,99,100,114,64,0,2049,11675,15,
10,11706,11730,168,12101,6385111359,99,100,114,33,0,2049,11675,16,10,11720,11743,168,12101,193454780,
69,78,68,0,10,11734,11760,168,12101,8246317064958091121,102,108,108,58,99,114,101,97,116,101,
- 0,1,11743,2049,11641,10,11744,11772,156,0,177687,114,0,18950,11744,11789,168,12101,8246317065617826724,102,
+ 0,1,11743,2049,11641,10,11744,11772,156,0,177687,114,0,18945,11744,11789,168,12101,8246317065617826724,102,
108,108,58,116,111,45,101,110,100,0,2,4097,11772,1793,11814,2049,11716,2,1,11743,
12,2,1793,11807,67502597,4097,11772,10,1,11803,1,2172,2049,66,10,1,11794,2049,2372,3841,
11772,10,11773,11843,168,12101,4204933718218055169,102,108,108,58,97,112,112,101,110,100,47,118,97,
@@ -618,8 +618,8 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
12101,229465928304278,102,108,108,58,112,117,116,0,1793,12096,2049,10853,2049,10807,10,1,12091,2049,
11940,10,105,110,116,101,114,102,97,99,101,47,108,108,46,114,101,116,114,111,
0,105,110,105,116,0,12120,12362,12076,12145,156,12340,-2744922491217532500,115,58,100,101,100,117,112,
- 46,100,97,116,97,0,12125,12127,12154,156,0,5863786,116,49,0,508416,12146,12163,156,0,
- 5863787,116,50,0,19587,12127,12186,168,12340,-1192507208876296873,115,58,100,101,100,117,112,46,114,101,
+ 46,100,97,116,97,0,12125,12127,12154,156,0,5863786,116,49,0,508928,12146,12163,156,0,
+ 5863787,116,50,0,19796,12127,12186,168,12340,-1192507208876296873,115,58,100,101,100,117,112,46,114,101,
103,105,115,116,101,114,0,2049,4445,3841,12145,4,1,11843,2049,2241,10,12164,12218,168,
12340,-1192507805573830048,115,58,100,101,100,117,112,46,100,101,102,105,110,101,100,63,0,4097,
12154,1,0,4097,12163,3841,12145,1793,12238,3841,12154,2049,118,3841,12163,22,4097,12163,10,1,
@@ -633,422 +633,432 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
99,101,0,1,12310,2049,2229,2049,236,2049,186,16,10,105,110,116,101,114,102,97,
99,101,47,115,111,117,114,99,101,115,46,114,101,116,114,111,0,12392,12430,98,
117,105,108,100,46,114,101,116,114,111,0,12418,12444,114,101,116,114,111,46,102,
- 111,114,116,104,0,12432,12886,12364,0,156,12862,-2419379730924625824,68,69,86,73,67,69,58,79,
- 85,84,80,85,84,0,12446,1,156,12862,3179875372589939872,68,69,86,73,67,69,58,75,69,
- 89,66,79,65,82,68,0,12465,2,156,12862,-2419379731287713704,68,69,86,73,67,69,58,70,
- 76,79,65,84,83,0,12486,4,156,12862,-5104244739232646654,68,69,86,73,67,69,58,70,73,
- 76,69,83,0,12505,3,156,12862,-2419379731444253395,68,69,86,73,67,69,58,66,76,79,67,
- 75,83,0,12523,5,156,12862,-5104244739236093413,68,69,86,73,67,69,58,67,76,79,67,75,
- 0,12542,6,156,12862,-5744567309556069531,68,69,86,73,67,69,58,82,69,83,69,82,86,69,
- 68,54,0,12560,7,156,12862,-2419379730775816680,68,69,86,73,67,69,58,83,79,67,75,69,
- 84,0,12582,8,156,12862,-4626612040269427085,68,69,86,73,67,69,58,85,78,73,88,0,12601,
- 9,156,12862,-5744565989521702654,68,69,86,73,67,69,58,83,67,82,73,80,84,73,78,71,
- 0,12618,10,156,12862,8244683305011325430,68,69,86,73,67,69,58,82,78,71,0,12640,11,156,
- 12862,-5103280478254778479,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,49,49,0,
- 12656,12,156,12862,-5103280478254778478,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,
- 49,50,0,12679,13,156,12862,-5103280478254778477,68,69,86,73,67,69,58,82,69,83,69,82,
- 86,69,68,49,51,0,12702,14,156,12862,-5103280478254778476,68,69,86,73,67,69,58,82,69,
- 83,69,82,86,69,68,49,52,0,12725,15,156,12862,-2419379731026907097,68,69,86,73,67,69,
- 58,77,65,76,76,79,67,0,12748,1000,156,12862,-5104244739228957070,68,69,86,73,67,69,58,
- 73,77,65,71,69,0,12767,1234,156,12862,-5104244739233502279,68,69,86,73,67,69,58,69,82,
- 82,79,82,0,12785,8000,156,12862,-5744573668168662717,68,69,86,73,67,69,58,77,85,76,84,
- 73,67,79,82,69,0,12803,8100,156,12862,8244683305011312100,68,69,86,73,67,69,58,70,70,
- 73,0,12825,8101,156,12862,3179875810170796684,68,69,86,73,67,69,58,85,78,83,73,71,78,
- 69,68,0,105,110,116,101,114,102,97,99,101,47,100,101,118,105,99,101,115,
- 46,114,101,116,114,111,0,12862,15046,12841,12909,168,15016,-6845980351726443322,102,108,111,97,116,58,
- 111,112,101,114,97,116,105,111,110,0,1,2,2049,10731,2,2049,2761,1793,12967,3,
- 2049,4417,69,114,114,111,114,58,32,102,108,111,97,116,105,110,103,32,112,111,
- 105,110,116,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,
- 0,1,12921,2049,10837,2049,10794,10,1,12918,2049,2862,2049,10712,10,12888,12990,168,15016,8246618443670464787,
- 110,58,116,111,45,102,108,111,97,116,0,1,0,2049,12909,10,12974,13011,168,15016,
- 8246850501092474552,115,58,116,111,45,102,108,111,97,116,0,1,1,2049,12909,10,12995,13033,168,
- 15016,-4575005096076366594,102,58,116,111,45,110,117,109,98,101,114,0,1,2,2049,12909,10,13016,
- 13055,168,15016,-4575005095881687956,102,58,116,111,45,115,116,114,105,110,103,0,2049,4396,2,1,
- 3,2049,12909,10,13038,13072,168,15016,193490032,102,58,43,0,1,4,2049,12909,10,13063,13086,
- 168,15016,193490034,102,58,45,0,1,5,2049,12909,10,13077,13100,168,15016,193490031,102,58,42,
- 0,1,6,2049,12909,10,13091,13114,168,15016,193490036,102,58,47,0,1,7,2049,12909,10,
- 13105,13132,168,15016,229463966214663,102,58,102,108,111,111,114,0,1,8,2049,12909,10,13119,13152,
- 168,15016,249886255052186944,102,58,99,101,105,108,105,110,103,0,1,9,2049,12909,10,13137,13169,
- 168,15016,6953453994383,102,58,115,113,114,116,0,1,10,2049,12909,10,13157,13185,168,15016,210710711802,
- 102,58,101,113,63,0,1,11,2049,12909,10,13174,13202,168,15016,6953451465639,102,58,45,101,
- 113,63,0,1,12,2049,12909,10,13190,13218,168,15016,210710719524,102,58,108,116,63,0,1,
- 13,2049,12909,10,13207,13234,168,15016,210710714079,102,58,103,116,63,0,1,14,2049,12909,10,
- 13223,13252,168,15016,229463963592506,102,58,100,101,112,116,104,0,1,15,2049,12909,10,13239,13268,
- 168,15016,210710710894,102,58,100,117,112,0,1,16,2049,12909,10,13257,13285,168,15016,6953453456314,102,
- 58,100,114,111,112,0,1,17,2049,12909,10,13273,13302,168,15016,6953454000352,102,58,115,119,
- 97,112,0,1,18,2049,12909,10,13290,13318,168,15016,210710719399,102,58,108,111,103,0,1,
- 19,2049,12909,10,13307,13336,168,15016,229463978190066,102,58,112,111,119,101,114,0,1,20,2049,
- 12909,10,13323,13352,168,15016,210710726831,102,58,115,105,110,0,1,21,2049,12909,10,13341,13368,
- 168,15016,210710727656,102,58,116,97,110,0,1,22,2049,12909,10,13357,13384,168,15016,210710709610,102,
- 58,99,111,115,0,1,23,2049,12909,10,13373,13401,168,15016,6953453349392,102,58,97,115,105,
- 110,0,1,24,2049,12909,10,13389,13418,168,15016,6953453332171,102,58,97,99,111,115,0,1,
- 25,2049,12909,10,13406,13435,168,15016,6953453350217,102,58,97,116,97,110,0,1,26,2049,12909,
- 10,13423,13452,168,15016,6953453890949,102,58,112,117,115,104,0,1,27,2049,12909,10,13440,13468,
- 168,15016,210710723764,102,58,112,111,112,0,1,28,2049,12909,10,13457,13487,168,15016,7572310679561435,102,
- 58,97,100,101,112,116,104,0,1,29,2049,12909,10,13473,13504,168,15016,6953453855649,102,58,
- 111,118,101,114,0,2049,13452,2049,13268,2049,13468,2049,13302,10,13492,13525,168,15016,6953454034172,102,
- 58,116,117,99,107,0,2049,13268,2049,13452,2049,13302,2049,13468,10,13513,13545,168,15016,210710721388,
- 102,58,110,105,112,0,2049,13302,2049,13285,10,13534,13567,168,15016,-4575027385529052237,102,58,100,114,
- 111,112,45,112,97,105,114,0,2049,13285,2049,13285,10,13550,13588,168,15016,8246246480203571943,102,58,
- 100,117,112,45,112,97,105,114,0,2049,13504,2049,13504,10,13572,13604,168,15016,210710725946,102,
- 58,114,111,116,0,2049,13452,2049,13302,2049,13468,2049,13302,10,13593,13626,180,15016,229482595734757,115,
- 105,103,105,108,58,46,0,2049,1913,1,4445,1,4368,2049,66,1,13011,2049,168,10,
- 13613,13653,168,15016,7572311399974070,102,58,115,113,117,97,114,101,0,2049,13268,2049,13100,10,13639,
- 13675,168,15016,-4575010631505066633,102,58,112,111,115,105,116,105,118,101,63,0,1,0,2049,12990,
- 2049,13234,10,13658,13699,168,15016,-4575013886317431657,102,58,110,101,103,97,116,105,118,101,63,0,
- 1,0,2049,12990,2049,13218,10,13682,13720,168,15016,7572311189563001,102,58,110,101,103,97,116,101,
- 0,1,-1,2049,12990,2049,13100,10,13706,13738,168,15016,210710707003,102,58,97,98,115,0,2049,
- 13268,2049,13699,1,13720,9,10,13727,13757,168,15016,210710723966,102,58,112,117,116,0,2049,13055,
- 2049,10837,10,13746,13772,168,15016,6385172350,102,58,80,73,0,2049,4417,51,46,49,52,49,
- 53,57,50,54,53,52,0,1,13774,2049,13011,10,13762,13800,168,15016,193490058,102,58,69,
- 0,2049,4417,50,46,55,49,56,50,56,49,56,50,56,0,1,13802,2049,13011,10,
- 13791,13830,168,15016,210710685186,102,58,78,65,78,0,2049,4417,48,0,1,13832,2049,13011,2049,
- 4417,48,0,1,13840,2049,13011,2049,13114,10,13819,13860,168,15016,210710680162,102,58,73,78,70,
- 0,2049,4417,49,46,48,0,1,13862,2049,13011,2049,4417,48,0,1,13872,2049,13011,2049,
- 13114,10,13849,13893,168,15016,6953451433999,102,58,45,73,78,70,0,2049,4417,45,49,46,48,
- 0,1,13895,2049,13011,2049,4417,48,0,1,13906,2049,13011,2049,13114,10,13881,13927,168,15016,
- 6953453797089,102,58,110,97,110,63,0,2049,13268,2049,13202,10,13915,13944,168,15016,6953453631297,102,58,
- 105,110,102,63,0,2049,13860,2049,13185,10,13932,13962,168,15016,229463898507918,102,58,45,105,110,
- 102,63,0,2049,13893,2049,13185,10,13949,13980,168,15016,229463980560013,102,58,114,111,117,110,100,
- 0,2049,13268,2049,13699,1793,14001,2049,4417,48,46,53,0,1,13988,2049,13011,2049,13086,2049,
- 13152,10,1,13986,1793,14020,2049,4417,48,46,53,0,1,14007,2049,13011,2049,13072,2049,13132,
- 10,1,14005,2049,66,10,13967,14036,168,15016,210710720297,102,58,109,105,110,0,2049,13588,2049,
- 13218,1,13285,1,13545,2049,66,10,14025,14058,168,15016,210710720043,102,58,109,97,120,0,2049,
- 13588,2049,13234,1,13285,1,13545,2049,66,10,14047,14082,168,15016,229463973220004,102,58,108,105,109,
- 105,116,0,2049,13302,2049,13452,2049,14036,2049,13468,2049,14058,10,14069,14109,168,15016,8246246374547107374,102,
- 58,98,101,116,119,101,101,110,63,0,2049,13604,2049,13268,2049,13452,2049,13604,2049,13604,
- 2049,14082,2049,13468,2049,13185,10,14093,14137,168,15016,210710716095,102,58,105,110,99,0,2049,4417,
- 49,0,1,14139,2049,13011,2049,13072,10,14126,14159,168,15016,210710710353,102,58,100,101,99,0,
- 2049,4417,49,0,1,14161,2049,13011,2049,13086,10,14148,14182,168,15016,6953453401985,102,58,99,97,
- 115,101,0,2049,13504,2049,13185,1793,14194,2049,13285,8,1,-1,10,1,14188,1793,14202,3,
- 1,0,10,1,14198,2049,66,25,6,771,10,14170,14222,168,15016,6953453985302,102,58,115,105,
- 103,110,0,2049,13268,2049,4417,48,0,1,14226,2049,13011,2049,13185,1793,14241,1,0,2049,
- 13285,10,1,14236,2049,2862,2049,4417,48,0,1,14247,2049,13011,2049,13234,1793,14260,1,1,
- 10,1,14257,1793,14267,1,-1,10,1,14264,2049,66,10,14210,9223372036854775805,156,15016,210709498186,101,58,
- 77,65,88,0,14272,-9223372036854775805,156,15016,210709498440,101,58,77,73,78,0,14283,-9223372036854775807,156,15016,210709499265,
- 101,58,78,65,78,0,14294,9223372036854775806,156,15016,210709494241,101,58,73,78,70,0,14305,-9223372036854775806,156,
- 15016,6953412298606,101,58,45,73,78,70,0,14316,14338,168,15016,6385137393,101,58,110,63,0,1,
- -9223372036854775805,2049,3125,1,9223372036854775805,2049,3139,2049,3158,10,14328,14361,168,15016,6953414626089,101,58,109,97,120,
- 63,0,1,9223372036854775805,11,10,14349,14377,168,15016,6953414634471,101,58,109,105,110,63,0,1,-9223372036854775805,
- 11,10,14365,14394,168,15016,229462698216771,101,58,122,101,114,111,63,0,2049,2722,10,14381,14409,
- 168,15016,6953414661696,101,58,110,97,110,63,0,1,-9223372036854775807,11,10,14397,14425,168,15016,6953414495904,101,
- 58,105,110,102,63,0,1,9223372036854775806,11,10,14413,14442,168,15016,229462607039949,101,58,45,105,110,
- 102,63,0,1,-9223372036854775806,11,10,14429,14458,168,15016,6953414278252,101,58,99,108,105,112,0,1,
- -9223372036854775805,1,9223372036854775805,2049,3106,10,14446,14475,168,15016,6385171963,102,58,69,49,0,1793,14477,2049,4417,
- 49,46,101,53,0,1,14479,2049,13011,10,14465,14508,168,15016,-1561378222854156682,102,58,115,105,103,
- 110,101,100,45,115,113,114,116,0,2049,13268,2049,14222,2049,13738,2049,13169,2049,12990,2049,
- 13100,10,14489,14542,168,15016,-3240429906897787043,102,58,115,105,103,110,101,100,45,115,113,117,97,
- 114,101,0,2049,13268,2049,14222,2049,13268,2049,13100,2049,12990,2049,13100,10,14521,14569,168,0,
- 7572308662409552,102,58,45,115,104,105,102,116,0,2049,14475,2049,13100,10,14555,14588,168,0,7572308584138766,
- 102,58,43,115,104,105,102,116,0,2049,14475,2049,13114,10,14574,14608,168,0,249886182735593054,102,
- 58,43,101,110,99,111,100,101,0,2049,14508,2049,14569,10,14593,14628,168,0,249886185318528992,102,
- 58,45,101,110,99,111,100,101,0,2049,13268,2049,14222,2049,14588,2049,13268,2049,13100,2049,
- 12990,2049,13100,10,14521,14655,168,15016,6953454025850,102,58,116,111,45,101,0,2049,13268,2049,13927,
- 1793,14666,2049,13285,1,-9223372036854775807,10,1,14661,2049,2862,2049,13268,2049,13944,1793,14681,2049,13285,1,
- 9223372036854775806,10,1,14676,2049,2862,2049,13268,2049,13962,1793,14696,2049,13285,1,-9223372036854775806,10,1,14691,2049,
- 2862,2049,14608,2049,13980,2049,13033,2049,14458,1,-9223372036854775805,1,13285,2049,2554,1,9223372036854775805,1,13285,2049,
- 2554,10,14643,14733,168,15016,6953414890458,101,58,116,111,45,102,0,1,-9223372036854775807,1,13830,2049,2554,
- 1,9223372036854775806,1,13860,2049,2554,1,-9223372036854775806,1,13893,2049,2554,2049,12990,2049,14628,10,14721,14769,168,
- 15016,229463981919218,102,58,115,116,111,114,101,0,1,14655,2049,2229,16,10,14756,14788,168,15016,
- 229463965968143,102,58,102,101,116,99,104,0,15,2049,14733,10,14775,14810,168,15016,-3401946998789110658,102,58,
- 100,117,109,112,45,115,116,97,99,107,0,2049,13252,2,1,13452,2049,2449,1793,14828,
- 2049,13468,2049,13268,2049,13757,2049,10807,10,1,14819,2049,2449,10,14792,14852,168,15016,-1583786518488284545,102,
- 58,100,117,109,112,45,97,115,116,97,99,107,0,2049,13487,2,1,13468,2049,2449,
- 1793,14870,2049,13268,2049,13757,2049,10807,2049,13452,10,1,14861,2049,2449,10,14833,14886,168,15016,
- 210709538045,101,58,112,117,116,0,1,9223372036854775805,1793,14903,2049,4417,101,58,77,65,88,0,1,
- 14892,2049,10837,10,1,14890,2049,2554,1,-9223372036854775805,1793,14924,2049,4417,101,58,77,73,78,0,
- 1,14913,2049,10837,10,1,14911,2049,2554,1,0,1793,14943,2049,4417,101,58,48,0,1,
- 14934,2049,10837,10,1,14932,2049,2554,1,-9223372036854775807,1793,14964,2049,4417,101,58,78,65,78,0,
- 1,14953,2049,10837,10,1,14951,2049,2554,1,9223372036854775806,1793,14985,2049,4417,101,58,73,78,70,
- 0,1,14974,2049,10837,10,1,14972,2049,2554,1,-9223372036854775806,1793,15007,2049,4417,101,58,45,73,
- 78,70,0,1,14995,2049,10837,10,1,14993,2049,2554,2049,14733,2049,13757,10,105,110,116,
- 101,114,102,97,99,101,47,102,108,111,97,116,105,110,103,112,111,105,110,116,
- 46,114,101,116,114,111,0,15016,15893,14875,15068,168,15866,8056574075740390096,102,105,108,101,58,111,
- 112,101,114,97,116,105,111,110,0,1,4,2049,10731,2,2049,2761,1793,15117,3,2049,
- 4417,69,114,114,111,114,58,32,102,105,108,101,115,32,100,101,118,105,99,101,
- 32,110,111,116,32,102,111,117,110,100,0,1,15080,2049,10837,2049,10794,10,1,15077,
- 2049,2862,2049,10712,10,15048,0,156,15866,6953509466161,102,105,108,101,58,82,0,15124,1,156,
- 15866,6953509466166,102,105,108,101,58,87,0,15136,2,156,15866,6953509466144,102,105,108,101,58,65,
- 0,15148,3,156,15866,229465812383356,102,105,108,101,58,82,43,0,15160,15188,168,15866,249888269686595441,102,
- 105,108,101,58,111,112,101,110,0,1,0,2049,15068,10,15173,15209,168,15866,8246312899643285909,102,
- 105,108,101,58,99,108,111,115,101,0,1,1,2049,15068,10,15193,15229,168,15866,249888269686691131,
- 102,105,108,101,58,114,101,97,100,0,1,2,2049,15068,10,15214,15250,168,15866,8246312899667213450,
- 102,105,108,101,58,119,114,105,116,101,0,1,3,2049,15068,10,15234,15270,168,15866,
- 249888269686763376,102,105,108,101,58,116,101,108,108,0,1,4,2049,15068,10,15255,15290,168,15866,
- 249888269686727207,102,105,108,101,58,115,101,101,107,0,1,5,2049,15068,10,15275,15310,168,15866,
- 249888269686732250,102,105,108,101,58,115,105,122,101,0,1,6,2049,15068,10,15295,15332,168,15866,
- -4572835417384127758,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049,15068,10,15315,15353,
- 168,15866,8246312899646850209,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,15068,10,15337,
- 15379,168,15866,7612651040925696305,102,105,108,101,58,114,101,97,100,47,98,121,116,101,115,0,
- 1,9,2049,15068,10,15358,15406,168,15866,-7028659436281878592,102,105,108,101,58,119,114,105,116,101,
- 47,98,121,116,101,115,0,1,10,2049,15068,10,15384,15428,168,15866,-4572835416836630931,102,105,108,
- 101,58,114,101,97,100,47,99,0,1,11,2049,15068,10,15411,15451,168,15866,-3329616158956188292,102,
- 105,108,101,58,119,114,105,116,101,47,99,0,1,12,2049,15068,10,15433,15474,168,
- 15866,-3329616181967816770,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049,15188,2,
- 2049,2740,1793,15488,2049,15209,2049,2527,10,1,15483,1793,15496,3,2049,2541,10,1,15492,2049,
- 66,10,15456,15528,168,15866,-4283841618960457812,102,105,108,101,58,111,112,101,110,45,102,111,114,
- 45,114,101,97,100,105,110,103,0,1,0,2049,15188,2,2049,15310,4,10,15501,15563,
- 168,15866,2106155595587003402,102,105,108,101,58,111,112,101,110,45,102,111,114,45,97,112,112,
- 101,110,100,0,1,2,2049,15188,2,2049,15310,4,10,15537,15599,168,15866,-4283841611984295498,102,105,
- 108,101,58,111,112,101,110,45,102,111,114,45,119,114,105,116,105,110,103,0,
- 1,1,2049,15188,10,15572,15613,156,0,193455704,70,73,68,0,0,15604,15624,156,0,6384542144,
- 83,105,122,101,0,0,15614,15637,156,0,6952054634723,65,99,116,105,111,110,0,0,15625,
- 15649,168,0,210644670123,45,101,111,102,63,0,3841,15613,2049,15270,3841,15624,13,10,15638,15671,
- 168,0,7572809360530097,112,114,101,115,101,114,118,101,0,1,15613,1793,15682,1,15624,1,27,
- 2049,3919,10,1,15675,2049,3919,10,15572,15707,168,15866,8056577820387649264,102,105,108,101,58,114,101,
- 97,100,45,108,105,110,101,0,2049,1977,4,1,13,2049,15068,2049,1977,10,15687,15741,
- 168,15866,-8859848394595038695,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,
- 101,0,1793,15772,4097,15637,2049,15528,4097,15613,4097,15624,1793,15763,3841,15613,2049,15707,3841,15637,
- 8,2049,15649,10,1,15753,2049,2372,3841,15613,2049,15209,10,1,15743,2049,15671,10,15717,15786,
- 156,0,193455704,70,73,68,0,0,15717,15803,168,15866,8246312899662267157,102,105,108,101,58,115,108,
- 117,114,112,0,1793,15830,4,2049,4179,2049,15528,4097,15786,1793,15821,3841,15786,2049,15229,2049,
- 4079,10,1,15814,2049,2449,3841,15786,2049,15209,10,1,15805,2049,4205,10,15787,15850,168,15866,
- 249888269686739198,102,105,108,101,58,115,112,101,119,0,2049,15599,4,1793,15859,67502597,2049,15250,10,
- 1,15855,2049,4686,2049,15209,10,105,110,116,101,114,102,97,99,101,47,102,105,108,
- 101,115,121,115,116,101,109,46,114,101,116,114,111,0,15866,16630,15835,15916,168,16609,
- 4299348465103751587,105,111,58,117,110,105,120,45,115,121,115,99,97,108,108,0,1,8,2049,
- 10731,2,2049,2761,1793,15964,3,2049,4417,69,114,114,111,114,58,32,85,78,73,88,
- 32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,15928,
- 2049,10837,2049,10794,10,1,15925,2049,2862,2049,10712,10,15895,15988,168,16609,-4549633084047572696,117,110,105,
- 120,58,115,121,115,116,101,109,0,1,0,2049,15916,10,15971,16008,168,16609,249909575776928405,117,
- 110,105,120,58,102,111,114,107,0,1,1,2049,15916,10,15993,16029,168,16609,8247016000637760504,117,
- 110,105,120,58,101,120,101,99,48,0,1,2,2049,15916,10,16013,16050,168,16609,8247016000637760505,
- 117,110,105,120,58,101,120,101,99,49,0,1,3,2049,15916,10,16034,16071,168,16609,
- 8247016000637760506,117,110,105,120,58,101,120,101,99,50,0,1,4,2049,15916,10,16055,16092,168,
- 16609,8247016000637760507,117,110,105,120,58,101,120,101,99,51,0,1,5,2049,15916,10,16076,16112,
- 168,16609,249909575776901981,117,110,105,120,58,101,120,105,116,0,1,6,2049,15916,10,16097,16134,
- 168,16609,-4549633084540884128,117,110,105,120,58,103,101,116,112,105,100,0,1,7,2049,15916,10,
- 16117,16154,168,16609,249909575777523800,117,110,105,120,58,119,97,105,116,0,1,8,2049,15916,10,
- 16139,16174,168,16609,249909575777101359,117,110,105,120,58,107,105,108,108,0,1,9,2049,15916,10,
- 16159,16195,168,16609,8247016000650494309,117,110,105,120,58,112,111,112,101,110,0,1,10,2049,15916,
- 10,16179,16217,168,16609,-4549633084191325687,117,110,105,120,58,112,99,108,111,115,101,0,1,11,
- 2049,15916,10,16200,16238,168,16609,8247016000634812845,117,110,105,120,58,99,104,100,105,114,0,1,
- 13,2049,15916,10,16222,16260,168,16609,-4549633084540895924,117,110,105,120,58,103,101,116,101,110,118,
- 0,1,14,2049,15916,10,16243,16282,168,16609,-4549633084169702651,117,110,105,120,58,112,117,116,101,
- 110,118,0,1,15,2049,15916,10,16265,16303,168,16609,8247016000653932284,117,110,105,120,58,115,108,
- 101,101,112,0,1,16,2049,15916,10,16287,16326,168,16609,-2563939202030369066,117,110,105,120,58,101,
- 120,101,99,117,116,101,0,1,17,2049,15916,10,16308,16346,168,16609,249909575777281169,117,110,105,
- 120,58,112,105,112,101,0,1,0,2049,16195,1,15707,1,16217,2049,2255,10,16331,16375,
- 168,16609,-2563939200175176882,117,110,105,120,58,103,101,116,45,99,119,100,0,2049,4417,112,119,
- 100,0,1,16377,2049,16346,2049,6999,2049,4417,47,0,1,16389,2049,4666,10,16357,16425,168,
- 16609,-2316844556017942917,117,110,105,120,58,99,111,117,110,116,45,102,105,108,101,115,45,105,
- 110,45,99,119,100,0,2049,4417,108,115,32,45,49,32,124,32,119,99,32,45,
- 108,0,1,16427,2049,16346,2049,6999,2049,266,10,16396,16474,168,16609,-4594486429310984907,117,110,105,120,
- 58,102,111,114,45,101,97,99,104,45,102,105,108,101,0,2049,4417,108,115,32,
- 45,49,32,45,112,0,1,16476,1,0,2049,16195,2049,16425,1793,16509,1793,16504,2049,15707,
- 2049,4368,67502597,8,10,1,16497,2049,2241,10,1,16495,2049,2449,2049,16217,3,10,16450,16528,
- 168,0,210728208851,115,116,97,114,116,0,4,2049,4179,1,0,2049,16195,10,16517,16546,168,
- 0,6385651009,114,101,97,100,0,2,2049,15229,2,2049,4079,2049,2722,10,16536,16567,168,0,
- 6953509544294,102,105,110,105,115,104,0,2049,16217,2049,4157,10,16450,16593,168,16609,1204178398703148788,117,110,
- 105,120,58,115,108,117,114,112,45,112,105,112,101,0,1793,16604,2049,16528,1,16546,
- 2049,2397,2049,16567,10,1,16595,2049,4205,10,105,110,116,101,114,102,97,99,101,47,
- 117,110,105,120,46,114,101,116,114,111,0,16609,16720,16572,16646,168,16700,7572652289159374,110,58,
- 114,97,110,100,111,109,0,1,10,2049,10731,2,2049,2761,1793,16693,3,2049,4417,69,
- 114,114,111,114,58,32,82,78,71,32,100,101,118,105,99,101,32,110,111,116,
- 32,102,111,117,110,100,0,1,16658,2049,10837,2049,10794,10,1,16655,2049,2862,2049,10712,
- 10,105,110,116,101,114,102,97,99,101,47,114,110,103,46,114,101,116,114,111,
- 0,16700,17131,16632,16743,168,17109,4482520117059041020,99,108,111,99,107,58,111,112,101,114,97,116,
- 105,111,110,0,1,5,2049,10731,2,2049,2761,1793,16792,3,2049,4417,69,114,114,111,
- 114,58,32,99,108,111,99,107,32,100,101,118,105,99,101,32,110,111,116,32,
- 102,111,117,110,100,0,1,16755,2049,10837,2049,10794,10,1,16752,2049,2862,2049,10712,10,
- 16722,16820,168,17109,4482526860617352831,99,108,111,99,107,58,116,105,109,101,115,116,97,109,112,
- 0,1,0,2049,16743,10,16799,16840,168,17109,249884182168395049,99,108,111,99,107,58,100,97,121,
- 0,1,1,2049,16743,10,16825,16862,168,17109,-4577286724249897519,99,108,111,99,107,58,109,111,110,
- 116,104,0,1,2,2049,16743,10,16845,16883,168,17109,8246178011557794972,99,108,111,99,107,58,121,
- 101,97,114,0,1,3,2049,16743,10,16867,16904,168,17109,8246178011557195593,99,108,111,99,107,58,
- 104,111,117,114,0,1,4,2049,16743,10,16888,16927,168,17109,-3476509310577319139,99,108,111,99,107,
- 58,109,105,110,117,116,101,0,1,5,2049,16743,10,16909,16950,168,17109,-3476509310347652505,99,108,
- 111,99,107,58,115,101,99,111,110,100,0,1,6,2049,16743,10,16932,16974,168,17109,
- -4044342796047171665,99,108,111,99,107,58,117,116,99,58,100,97,121,0,1,7,2049,16743,10,
- 16955,17000,168,17109,4482528721224061399,99,108,111,99,107,58,117,116,99,58,109,111,110,116,104,
- 0,1,8,2049,16743,10,16979,17025,168,17109,-4336103753589045278,99,108,111,99,107,58,117,116,99,
- 58,121,101,97,114,0,1,9,2049,16743,10,17005,17050,168,17109,-4336103753589644657,99,108,111,99,
- 107,58,117,116,99,58,104,111,117,114,0,1,10,2049,16743,10,17030,17077,168,17109,
- 349495210710499299,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,
- 2049,16743,10,17055,17104,168,17109,349495210940165933,99,108,111,99,107,58,117,116,99,58,115,101,
- 99,111,110,100,0,1,12,2049,16743,10,105,110,116,101,114,102,97,99,101,47,
- 99,108,111,99,107,46,114,101,116,114,111,0,17109,17533,17082,17155,168,0,1976442044545254821,115,
- 99,114,105,112,116,58,111,112,101,114,97,116,105,111,110,0,1,9,2049,10731,
- 2,2049,2761,1793,17208,3,2049,4417,69,114,114,111,114,58,32,115,99,114,105,112,
- 116,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,
- 100,0,1,17167,2049,10837,2049,10794,10,1,17164,2049,2862,2049,10712,10,17082,17237,168,17507,
- 1976422442775525130,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,0,1,0,
- 2049,17155,10,17215,17267,168,17507,7012485947518414468,115,99,114,105,112,116,58,103,101,116,45,97,
- 114,103,117,109,101,110,116,0,2049,4396,4,1,1,2049,17155,10,17242,17288,168,17507,
- 229469872107401,105,110,99,108,117,100,101,0,1,2,2049,17155,10,17275,17310,168,17507,-4553194680242110987,115,
- 99,114,105,112,116,58,110,97,109,101,0,2049,4396,1,3,2049,17155,10,17293,17342,
- 168,17507,6834827170184619652,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,102,105,
- 108,101,0,2049,4396,1,4,2049,17155,10,17317,17374,180,17507,6834827170184835340,115,99,114,105,112,
- 116,58,99,117,114,114,101,110,116,45,108,105,110,101,0,1,5,2049,17155,2049,
- 156,10,17349,17407,168,17507,-4964876483161304491,115,99,114,105,112,116,58,105,103,110,111,114,101,
- 45,116,111,45,101,111,108,0,1,6,2049,17155,10,17381,17438,168,17507,-112287744780050755,115,99,
- 114,105,112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,101,0,1,
- 7,2049,17155,10,17412,17454,168,17507,210706230653,97,98,111,114,116,0,1,149,2049,3883,1,
- 8,2049,17155,10,17443,17493,168,17507,-7741142524340576066,115,99,114,105,112,116,58,99,117,114,114,
- 101,110,116,45,108,105,110,101,45,116,101,120,116,0,2049,4396,1793,17502,1,9,
- 2049,17155,10,1,17497,2049,2241,10,105,110,116,101,114,102,97,99,101,47,115,99,
- 114,105,112,116,105,110,103,46,114,101,116,114,111,0,17507,17989,17463,17557,168,17991,
- 1183117598919957017,115,111,99,107,101,116,58,111,112,101,114,97,116,105,111,110,0,1,7,
- 2049,10731,2,2049,2761,1793,17714,3,2049,4417,69,114,114,111,114,58,32,115,111,99,
- 107,101,116,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,
- 0,1,17569,2049,10837,2049,10794,2049,4417,83,101,101,32,104,116,116,112,115,58,47,
- 47,114,101,116,114,111,102,111,114,116,104,46,111,114,103,47,115,117,112,112,
- 111,114,116,47,50,48,50,50,46,49,47,83,79,67,75,69,84,83,46,109,
- 100,0,1,17608,2049,10837,2049,10794,2049,4417,102,111,114,32,105,110,115,116,114,117,
- 99,116,105,111,110,115,32,111,110,32,101,110,97,98,108,105,110,103,32,115,
- 111,99,107,101,116,115,46,0,1,17669,2049,10837,2049,10794,10,1,17566,2049,2862,2049,
- 10712,10,17535,17747,168,17965,-7671511728383126910,115,111,99,107,101,116,58,103,101,116,104,111,115,
- 116,98,121,110,97,109,101,0,1,0,2049,17557,10,17721,17771,168,17965,4328757989659661596,115,111,
- 99,107,101,116,58,99,114,101,97,116,101,0,1,1,2049,17557,10,17752,17793,168,
- 17965,-4552658767528245371,115,111,99,107,101,116,58,98,105,110,100,0,1,2,2049,17557,10,17776,
- 17817,168,17965,4328757990001730167,115,111,99,107,101,116,58,108,105,115,116,101,110,0,1,3,
- 2049,17557,10,17798,17841,168,17965,4328757989563534360,115,111,99,107,101,116,58,97,99,99,101,112,
- 116,0,1,4,2049,17557,10,17822,17866,168,17965,-4724938931013862254,115,111,99,107,101,116,58,99,
- 111,110,110,101,99,116,0,1,5,2049,17557,10,17846,17888,168,17965,-4552658767527638798,115,111,99,
- 107,101,116,58,115,101,110,100,0,1,6,2049,17557,10,17871,17910,168,17965,-4552658767527675080,115,
- 111,99,107,101,116,58,114,101,99,118,0,1,7,2049,17557,10,17893,17933,168,17965,
- -2663786738754388898,115,111,99,107,101,116,58,99,108,111,115,101,0,1,8,2049,17557,10,17915,
- 17960,168,17965,1183100690560715498,115,111,99,107,101,116,58,99,111,110,102,105,103,117,114,101,
- 0,1,9,2049,17557,10,105,110,116,101,114,102,97,99,101,47,115,111,99,107,
- 101,116,115,46,114,101,116,114,111,0,17965,18008,115,111,99,107,101,116,58,111,
- 112,101,114,97,116,105,111,110,0,17991,18218,17938,18023,168,18192,229469862290528,105,111,58,99,
- 111,114,101,0,1,8000,2049,10731,2049,10712,10,18010,18045,168,18192,249884313919988732,99,111,114,101,
- 58,105,110,105,116,0,1,0,2049,18023,10,18030,18066,168,18192,8246182359371694326,99,111,114,101,
- 58,115,116,97,114,116,0,1,1,2049,18023,10,18050,18087,168,18192,8246182359367475558,99,111,114,
- 101,58,112,97,117,115,101,0,1,2,2049,18023,10,18071,18116,168,18192,8337299194488917014,99,111,
- 114,101,58,112,97,117,115,101,45,99,117,114,114,101,110,116,0,1,3,2049,
- 18023,10,18092,18138,168,18192,-4577143246433635687,99,111,114,101,58,114,101,115,117,109,101,0,1,
- 4,2049,18023,10,18121,18162,168,18192,-3888095465377135055,99,111,114,101,58,114,101,97,100,47,114,
- 101,103,0,1,5,2049,18023,10,18143,18187,168,18192,820065755623810592,99,111,114,101,58,119,114,
- 105,116,101,47,114,101,103,0,1,6,2049,18023,10,105,110,116,101,114,102,97,
- 99,101,47,109,117,108,116,105,99,111,114,101,46,114,101,116,114,111,0,18192,
- 18375,18167,18239,168,18355,644988671245709381,102,102,105,58,111,112,101,114,97,116,105,111,110,0,
- 1,8100,2049,10731,2,2049,2761,1793,18286,3,2049,4417,69,114,114,111,114,58,32,70,
- 70,73,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,
- 1,18251,2049,10837,2049,10794,10,1,18248,2049,2862,2049,10712,10,18220,18307,168,18355,7572367767785414,102,
- 102,105,58,111,112,101,110,0,1,0,2049,18239,10,18293,18329,168,18355,-4572980637897979592,102,102,
- 105,58,109,97,112,45,115,121,109,0,1,1,2049,18239,10,18312,18350,168,18355,8246308498881747296,
- 102,102,105,58,105,110,118,111,107,101,0,1,2,2049,18239,10,105,110,116,101,
- 114,102,97,99,101,47,102,102,105,46,114,101,116,114,111,0,18355,18706,18334,18393,
- 168,18681,8247016409221251463,117,110,115,105,103,110,101,100,58,43,0,1,0,1,8101,2049,10731,
- 2049,10712,17,10,18377,18419,168,18681,8247016409221251465,117,110,115,105,103,110,101,100,58,45,0,
- 1,0,1,8101,2049,10731,2049,10712,18,10,18403,18445,168,18681,8247016409221251462,117,110,115,105,103,
- 110,101,100,58,42,0,1,0,1,8101,2049,10731,2049,10712,19,10,18429,18474,168,18681,
- 7638409966457829387,117,110,115,105,103,110,101,100,58,47,109,111,100,0,1,0,1,8101,2049,
- 10731,2049,10712,20,10,18455,18502,168,18681,-2563494254608726831,117,110,115,105,103,110,101,100,58,101,
- 113,63,0,1,0,1,8101,2049,10731,2049,10712,11,10,18484,18531,168,18681,7638409966457748830,117,110,
- 115,105,103,110,101,100,58,45,101,113,63,0,1,0,1,8101,2049,10731,2049,10712,
- 12,10,18512,18559,168,18681,-2563494254608719109,117,110,115,105,103,110,101,100,58,108,116,63,0,
- 1,0,1,8101,2049,10731,2049,10712,13,10,18541,18587,168,18681,-2563494254608724554,117,110,115,105,103,
- 110,101,100,58,103,116,63,0,1,0,1,8101,2049,10731,2049,10712,14,10,18569,18617,
- 168,18681,-6186888138744896262,117,110,115,105,103,110,101,100,58,115,104,105,102,116,0,1,0,
- 1,8101,2049,10731,2049,10712,24,10,18597,18647,168,18681,-6186888138833512267,117,110,115,105,103,110,101,
- 100,58,42,47,109,111,100,0,1,1,1,0,1,8101,2049,10731,2,2049,10712,2049,
- 10712,10,18627,18672,168,18681,210639169918,42,47,109,111,100,0,1,1,1,8101,2049,10731,2049,
- 10712,10,105,110,116,101,114,102,97,99,101,47,117,110,115,105,103,110,101,100,
- 46,114,101,116,114,111,0,18681,18832,18661,18726,168,18809,-3502245454587251943,100,58,117,115,101,45,
- 104,97,115,104,101,115,0,1,29,1,236,1,5,18,16,1793,18740,2049,188,15,
- 10,1,18736,1,236,1,8,18,16,1,2049,1,236,16,1,4819,1,236,2049,3125,
- 16,10,18708,18780,168,18809,-4893635544173424761,100,58,117,115,101,45,115,116,114,105,110,103,115,
- 0,1,118,1,236,1,5,18,16,1,190,1,236,1,8,18,16,1,0,1,
- 236,16,1,0,1,236,2049,3125,16,10,105,110,116,101,114,102,97,99,101,47,
- 102,117,116,117,114,101,46,114,101,116,114,111,0,18809,18950,18761,18852,168,0,-3527051417241377258,
- 98,108,111,99,107,58,105,110,118,111,107,101,0,1,3,2049,10731,2049,10712,10,
- 18761,18875,168,18927,8246131600073141446,98,108,111,99,107,58,114,101,97,100,0,1,0,2049,18852,
- 10,18859,18897,168,18927,-4578818303223200395,98,108,111,99,107,58,119,114,105,116,101,0,1,1,
- 2049,18852,10,18880,18922,168,18927,-4036225629868593021,98,108,111,99,107,58,115,101,116,45,102,105,
- 108,101,0,1,2,2049,18852,10,105,110,116,101,114,102,97,99,101,47,98,108,
- 111,99,107,115,46,114,101,116,114,111,0,18927,19611,18902,18973,168,19197,4283726481136624767,101,114,
- 114,58,115,101,116,45,104,97,110,100,108,101,114,0,1,1234,2049,10731,2,2049,
- 2761,1793,19031,3,2049,4417,69,114,114,111,114,58,32,101,114,114,111,114,32,104,
- 97,110,100,108,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,
- 111,117,110,100,0,1,18985,2049,10837,2049,10794,10,1,18982,2049,2862,1,0,4,2049,
- 10712,10,18952,19054,168,19197,229464878751060,101,114,114,58,100,115,117,0,2049,10869,2049,10794,2049,
- 4417,69,82,82,79,82,58,32,68,83,85,58,32,68,65,84,65,32,83,84,
- 65,67,75,32,85,78,68,69,82,70,76,79,87,0,1,19060,2049,10837,2049,10794,
- 2049,10986,10,19041,19115,168,19197,229464878751054,101,114,114,58,100,115,111,0,2049,10869,2049,10794,
- 2049,4417,69,82,82,79,82,58,32,68,83,79,58,32,68,65,84,65,32,83,
- 84,65,67,75,32,79,86,69,82,70,76,79,87,0,1,19121,2049,10837,2049,10794,
- 2049,10986,10,19102,19184,168,19197,-6210978877792005319,101,114,114,58,115,101,116,45,100,101,102,97,
- 117,108,116,115,0,1,19054,1,1,2049,18973,1,19115,1,2,2049,18973,10,105,110,
- 116,101,114,102,97,99,101,47,101,114,114,111,114,46,114,101,116,114,111,0,
- 1793,19240,1,192,1,2,17,8,2049,1576,2049,190,3841,11568,8,2049,1576,2049,188,16,
- 10,1,19221,19162,19252,168,19587,6384117006,72,79,77,69,0,2049,1977,1,4096,17,10,37,
- 115,47,46,99,111,110,102,105,103,47,114,101,116,114,111,102,111,114,116,104,
- 47,108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,0,19242,19258,
- 156,19587,6061648467740287960,108,105,98,114,97,114,121,58,46,67,79,78,70,73,71,0,46,
- 47,108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,0,19297,19318,
- 156,19587,-4563659402581934926,108,105,98,114,97,114,121,58,67,87,68,0,19337,19371,168,19587,-4563659402581898990,
- 108,105,98,114,97,114,121,58,99,119,100,0,1,19318,2049,8190,10,19354,19397,168,
- 19587,6061648469031755928,108,105,98,114,97,114,121,58,46,99,111,110,102,105,103,0,2049,4417,
- 72,79,77,69,0,1,19399,2049,19252,2049,16260,2049,19252,1,19258,2049,8190,10,19376,19439,
- 168,19587,-2879782938503308011,108,105,98,114,97,114,121,58,102,105,108,101,110,97,109,101,0,
- 2,2049,19371,2,2049,15474,1793,19449,772,10,1,19447,2049,2862,3,2049,19397,2,2049,15474,
- 1793,19462,10,1,19461,2049,2862,3,2049,4396,10,19417,19493,168,19587,-2799120562421764174,108,105,98,114,
- 97,114,121,58,99,111,110,116,97,105,110,115,63,0,1,19371,1,19397,2049,2255,
- 1,15474,2049,2285,22,10,19470,19523,168,19587,-3026807695525939020,108,105,98,114,97,114,121,58,108,
- 111,97,100,0,2,2049,19493,1793,19533,2049,19439,2049,17288,10,1,19528,1793,19582,2049,4417,
- 69,82,82,79,82,58,32,76,105,98,114,97,114,121,32,96,37,115,96,32,
- 119,97,115,32,110,111,116,32,102,111,117,110,100,0,1,19539,2049,8190,2049,10837,
- 2049,10794,10,1,19537,2049,66,10,105,110,116,101,114,102,97,99,101,47,108,105,
- 98,114,97,114,121,46,114,101,116,114,111,0,19587,11743,19505,19629,168,19836,8246457295145463473,105,
- 109,97,103,101,58,115,97,118,101,0,1,1000,2049,10731,2049,10712,10,19613,19647,168,
- 0,210711039690,101,100,105,116,63,0,2,1793,19654,1,8,11,10,1,19650,1793,19662,1,
- 127,11,10,1,19658,2049,2255,22,10,19636,19680,168,0,6953539406400,103,97,116,104,101,114,
- 0,2049,19647,1,17,1,4079,2049,66,10,19668,19700,168,0,210709415765,99,121,99,108,101,
- 0,2049,10968,2049,2217,4,8,2049,2644,25,3,2049,19680,1,19700,7,10,19613,19733,168,
- 19836,-4557881830897049127,112,97,114,115,101,45,117,110,116,105,108,0,1793,19745,2049,4396,2049,4179,
- 2049,19700,771,2049,4041,10,1,19735,2049,4205,10,19716,19761,168,19836,210726130610,115,58,103,101,
- 116,0,1793,19783,1793,19769,1,13,11,10,1,19765,1793,19777,1,10,11,10,1,19773,
- 2049,2255,22,10,1,19763,2049,19733,10,19750,19799,168,19836,210708950412,99,108,101,97,114,0,
- 2049,4417,92,94,91,50,74,92,94,91,48,59,48,72,0,1,19801,2049,8190,2049,
- 10837,10,19788,19829,180,19836,5861507,47,47,0,2049,17407,1,11002,2049,3868,10,105,110,116,
- 101,114,102,97,99,101,47,114,101,116,114,111,45,117,110,105,120,46,114,101,
- 116,114,111,0,19821,19876,156,0,229441520490121,83,111,117,114,99,101,115,0,3,20125,20319,
- 20510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 111,114,116,104,0,12432,12881,12364,0,156,12857,-2419379730924625824,68,69,86,73,67,69,58,79,
+ 85,84,80,85,84,0,12446,1,156,12857,3179875372589939872,68,69,86,73,67,69,58,75,69,
+ 89,66,79,65,82,68,0,12465,2,156,12857,-2419379731287713704,68,69,86,73,67,69,58,70,
+ 76,79,65,84,83,0,12486,4,156,12857,-5104244739232646654,68,69,86,73,67,69,58,70,73,
+ 76,69,83,0,12505,3,156,12857,-2419379731444253395,68,69,86,73,67,69,58,66,76,79,67,
+ 75,83,0,12523,5,156,12857,-5104244739236093413,68,69,86,73,67,69,58,67,76,79,67,75,
+ 0,12542,6,156,12857,-5744567309556069531,68,69,86,73,67,69,58,82,69,83,69,82,86,69,
+ 68,54,0,12560,7,156,12857,-2419379730775816680,68,69,86,73,67,69,58,83,79,67,75,69,
+ 84,0,12582,8,156,12857,-4626612040269427085,68,69,86,73,67,69,58,85,78,73,88,0,12601,
+ 9,156,12857,-5744565989521702654,68,69,86,73,67,69,58,83,67,82,73,80,84,73,78,71,
+ 0,12618,10,156,12857,8244683305011325430,68,69,86,73,67,69,58,82,78,71,0,12640,11,156,
+ 12857,-5103280478254778479,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,49,49,0,
+ 12656,12,156,12857,-5103280478254778478,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,
+ 49,50,0,12679,13,156,12857,-5103280478254778477,68,69,86,73,67,69,58,82,69,83,69,82,
+ 86,69,68,49,51,0,12702,14,156,12857,-5104244739228882582,68,69,86,73,67,69,58,73,79,
+ 67,84,76,0,12725,15,156,12857,-2419379731026907097,68,69,86,73,67,69,58,77,65,76,76,
+ 79,67,0,12743,1000,156,12857,-5104244739228957070,68,69,86,73,67,69,58,73,77,65,71,69,
+ 0,12762,1234,156,12857,-5104244739233502279,68,69,86,73,67,69,58,69,82,82,79,82,0,12780,
+ 8000,156,12857,-5744573668168662717,68,69,86,73,67,69,58,77,85,76,84,73,67,79,82,69,
+ 0,12798,8100,156,12857,8244683305011312100,68,69,86,73,67,69,58,70,70,73,0,12820,8101,156,
+ 12857,3179875810170796684,68,69,86,73,67,69,58,85,78,83,73,71,78,69,68,0,105,110,
+ 116,101,114,102,97,99,101,47,100,101,118,105,99,101,115,46,114,101,116,114,
+ 111,0,12857,15041,12836,12904,168,15011,-6845980351726443322,102,108,111,97,116,58,111,112,101,114,97,
+ 116,105,111,110,0,1,2,2049,10731,2,2049,2761,1793,12962,3,2049,4417,69,114,114,
+ 111,114,58,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,100,
+ 101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,12916,2049,10837,
+ 2049,10794,10,1,12913,2049,2862,2049,10712,10,12883,12985,168,15011,8246618443670464787,110,58,116,111,45,
+ 102,108,111,97,116,0,1,0,2049,12904,10,12969,13006,168,15011,8246850501092474552,115,58,116,111,
+ 45,102,108,111,97,116,0,1,1,2049,12904,10,12990,13028,168,15011,-4575005096076366594,102,58,116,
+ 111,45,110,117,109,98,101,114,0,1,2,2049,12904,10,13011,13050,168,15011,-4575005095881687956,102,
+ 58,116,111,45,115,116,114,105,110,103,0,2049,4396,2,1,3,2049,12904,10,13033,
+ 13067,168,15011,193490032,102,58,43,0,1,4,2049,12904,10,13058,13081,168,15011,193490034,102,58,
+ 45,0,1,5,2049,12904,10,13072,13095,168,15011,193490031,102,58,42,0,1,6,2049,12904,
+ 10,13086,13109,168,15011,193490036,102,58,47,0,1,7,2049,12904,10,13100,13127,168,15011,229463966214663,
+ 102,58,102,108,111,111,114,0,1,8,2049,12904,10,13114,13147,168,15011,249886255052186944,102,58,
+ 99,101,105,108,105,110,103,0,1,9,2049,12904,10,13132,13164,168,15011,6953453994383,102,58,
+ 115,113,114,116,0,1,10,2049,12904,10,13152,13180,168,15011,210710711802,102,58,101,113,63,
+ 0,1,11,2049,12904,10,13169,13197,168,15011,6953451465639,102,58,45,101,113,63,0,1,12,
+ 2049,12904,10,13185,13213,168,15011,210710719524,102,58,108,116,63,0,1,13,2049,12904,10,13202,
+ 13229,168,15011,210710714079,102,58,103,116,63,0,1,14,2049,12904,10,13218,13247,168,15011,229463963592506,
+ 102,58,100,101,112,116,104,0,1,15,2049,12904,10,13234,13263,168,15011,210710710894,102,58,
+ 100,117,112,0,1,16,2049,12904,10,13252,13280,168,15011,6953453456314,102,58,100,114,111,112,
+ 0,1,17,2049,12904,10,13268,13297,168,15011,6953454000352,102,58,115,119,97,112,0,1,18,
+ 2049,12904,10,13285,13313,168,15011,210710719399,102,58,108,111,103,0,1,19,2049,12904,10,13302,
+ 13331,168,15011,229463978190066,102,58,112,111,119,101,114,0,1,20,2049,12904,10,13318,13347,168,
+ 15011,210710726831,102,58,115,105,110,0,1,21,2049,12904,10,13336,13363,168,15011,210710727656,102,58,
+ 116,97,110,0,1,22,2049,12904,10,13352,13379,168,15011,210710709610,102,58,99,111,115,0,
+ 1,23,2049,12904,10,13368,13396,168,15011,6953453349392,102,58,97,115,105,110,0,1,24,2049,
+ 12904,10,13384,13413,168,15011,6953453332171,102,58,97,99,111,115,0,1,25,2049,12904,10,13401,
+ 13430,168,15011,6953453350217,102,58,97,116,97,110,0,1,26,2049,12904,10,13418,13447,168,15011,
+ 6953453890949,102,58,112,117,115,104,0,1,27,2049,12904,10,13435,13463,168,15011,210710723764,102,58,
+ 112,111,112,0,1,28,2049,12904,10,13452,13482,168,15011,7572310679561435,102,58,97,100,101,112,
+ 116,104,0,1,29,2049,12904,10,13468,13499,168,15011,6953453855649,102,58,111,118,101,114,0,
+ 2049,13447,2049,13263,2049,13463,2049,13297,10,13487,13520,168,15011,6953454034172,102,58,116,117,99,107,
+ 0,2049,13263,2049,13447,2049,13297,2049,13463,10,13508,13540,168,15011,210710721388,102,58,110,105,112,
+ 0,2049,13297,2049,13280,10,13529,13562,168,15011,-4575027385529052237,102,58,100,114,111,112,45,112,97,
+ 105,114,0,2049,13280,2049,13280,10,13545,13583,168,15011,8246246480203571943,102,58,100,117,112,45,112,
+ 97,105,114,0,2049,13499,2049,13499,10,13567,13599,168,15011,210710725946,102,58,114,111,116,0,
+ 2049,13447,2049,13297,2049,13463,2049,13297,10,13588,13621,180,15011,229482595734757,115,105,103,105,108,58,
+ 46,0,2049,1913,1,4445,1,4368,2049,66,1,13006,2049,168,10,13608,13648,168,15011,7572311399974070,
+ 102,58,115,113,117,97,114,101,0,2049,13263,2049,13095,10,13634,13670,168,15011,-4575010631505066633,102,
+ 58,112,111,115,105,116,105,118,101,63,0,1,0,2049,12985,2049,13229,10,13653,13694,
+ 168,15011,-4575013886317431657,102,58,110,101,103,97,116,105,118,101,63,0,1,0,2049,12985,2049,
+ 13213,10,13677,13715,168,15011,7572311189563001,102,58,110,101,103,97,116,101,0,1,-1,2049,12985,
+ 2049,13095,10,13701,13733,168,15011,210710707003,102,58,97,98,115,0,2049,13263,2049,13694,1,13715,
+ 9,10,13722,13752,168,15011,210710723966,102,58,112,117,116,0,2049,13050,2049,10837,10,13741,13767,
+ 168,15011,6385172350,102,58,80,73,0,2049,4417,51,46,49,52,49,53,57,50,54,53,
+ 52,0,1,13769,2049,13006,10,13757,13795,168,15011,193490058,102,58,69,0,2049,4417,50,46,
+ 55,49,56,50,56,49,56,50,56,0,1,13797,2049,13006,10,13786,13825,168,15011,210710685186,
+ 102,58,78,65,78,0,2049,4417,48,0,1,13827,2049,13006,2049,4417,48,0,1,13835,
+ 2049,13006,2049,13109,10,13814,13855,168,15011,210710680162,102,58,73,78,70,0,2049,4417,49,46,
+ 48,0,1,13857,2049,13006,2049,4417,48,0,1,13867,2049,13006,2049,13109,10,13844,13888,168,
+ 15011,6953451433999,102,58,45,73,78,70,0,2049,4417,45,49,46,48,0,1,13890,2049,13006,
+ 2049,4417,48,0,1,13901,2049,13006,2049,13109,10,13876,13922,168,15011,6953453797089,102,58,110,97,
+ 110,63,0,2049,13263,2049,13197,10,13910,13939,168,15011,6953453631297,102,58,105,110,102,63,0,
+ 2049,13855,2049,13180,10,13927,13957,168,15011,229463898507918,102,58,45,105,110,102,63,0,2049,13888,
+ 2049,13180,10,13944,13975,168,15011,229463980560013,102,58,114,111,117,110,100,0,2049,13263,2049,13694,
+ 1793,13996,2049,4417,48,46,53,0,1,13983,2049,13006,2049,13081,2049,13147,10,1,13981,1793,
+ 14015,2049,4417,48,46,53,0,1,14002,2049,13006,2049,13067,2049,13127,10,1,14000,2049,66,
+ 10,13962,14031,168,15011,210710720297,102,58,109,105,110,0,2049,13583,2049,13213,1,13280,1,13540,
+ 2049,66,10,14020,14053,168,15011,210710720043,102,58,109,97,120,0,2049,13583,2049,13229,1,13280,
+ 1,13540,2049,66,10,14042,14077,168,15011,229463973220004,102,58,108,105,109,105,116,0,2049,13297,
+ 2049,13447,2049,14031,2049,13463,2049,14053,10,14064,14104,168,15011,8246246374547107374,102,58,98,101,116,119,
+ 101,101,110,63,0,2049,13599,2049,13263,2049,13447,2049,13599,2049,13599,2049,14077,2049,13463,2049,
+ 13180,10,14088,14132,168,15011,210710716095,102,58,105,110,99,0,2049,4417,49,0,1,14134,2049,
+ 13006,2049,13067,10,14121,14154,168,15011,210710710353,102,58,100,101,99,0,2049,4417,49,0,1,
+ 14156,2049,13006,2049,13081,10,14143,14177,168,15011,6953453401985,102,58,99,97,115,101,0,2049,13499,
+ 2049,13180,1793,14189,2049,13280,8,1,-1,10,1,14183,1793,14197,3,1,0,10,1,14193,
+ 2049,66,25,6,771,10,14165,14217,168,15011,6953453985302,102,58,115,105,103,110,0,2049,13263,
+ 2049,4417,48,0,1,14221,2049,13006,2049,13180,1793,14236,1,0,2049,13280,10,1,14231,2049,
+ 2862,2049,4417,48,0,1,14242,2049,13006,2049,13229,1793,14255,1,1,10,1,14252,1793,14262,
+ 1,-1,10,1,14259,2049,66,10,14205,9223372036854775805,156,15011,210709498186,101,58,77,65,88,0,14267,
+ -9223372036854775805,156,15011,210709498440,101,58,77,73,78,0,14278,-9223372036854775807,156,15011,210709499265,101,58,78,65,78,
+ 0,14289,9223372036854775806,156,15011,210709494241,101,58,73,78,70,0,14300,-9223372036854775806,156,15011,6953412298606,101,58,45,
+ 73,78,70,0,14311,14333,168,15011,6385137393,101,58,110,63,0,1,-9223372036854775805,2049,3125,1,9223372036854775805,
+ 2049,3139,2049,3158,10,14323,14356,168,15011,6953414626089,101,58,109,97,120,63,0,1,9223372036854775805,11,
+ 10,14344,14372,168,15011,6953414634471,101,58,109,105,110,63,0,1,-9223372036854775805,11,10,14360,14389,168,
+ 15011,229462698216771,101,58,122,101,114,111,63,0,2049,2722,10,14376,14404,168,15011,6953414661696,101,58,
+ 110,97,110,63,0,1,-9223372036854775807,11,10,14392,14420,168,15011,6953414495904,101,58,105,110,102,63,
+ 0,1,9223372036854775806,11,10,14408,14437,168,15011,229462607039949,101,58,45,105,110,102,63,0,1,-9223372036854775806,
+ 11,10,14424,14453,168,15011,6953414278252,101,58,99,108,105,112,0,1,-9223372036854775805,1,9223372036854775805,2049,3106,
+ 10,14441,14470,168,15011,6385171963,102,58,69,49,0,1793,14472,2049,4417,49,46,101,53,0,
+ 1,14474,2049,13006,10,14460,14503,168,15011,-1561378222854156682,102,58,115,105,103,110,101,100,45,115,
+ 113,114,116,0,2049,13263,2049,14217,2049,13733,2049,13164,2049,12985,2049,13095,10,14484,14537,168,
+ 15011,-3240429906897787043,102,58,115,105,103,110,101,100,45,115,113,117,97,114,101,0,2049,13263,
+ 2049,14217,2049,13263,2049,13095,2049,12985,2049,13095,10,14516,14564,168,0,7572308662409552,102,58,45,115,
+ 104,105,102,116,0,2049,14470,2049,13095,10,14550,14583,168,0,7572308584138766,102,58,43,115,104,
+ 105,102,116,0,2049,14470,2049,13109,10,14569,14603,168,0,249886182735593054,102,58,43,101,110,99,
+ 111,100,101,0,2049,14503,2049,14564,10,14588,14623,168,0,249886185318528992,102,58,45,101,110,99,
+ 111,100,101,0,2049,13263,2049,14217,2049,14583,2049,13263,2049,13095,2049,12985,2049,13095,10,14516,
+ 14650,168,15011,6953454025850,102,58,116,111,45,101,0,2049,13263,2049,13922,1793,14661,2049,13280,1,
+ -9223372036854775807,10,1,14656,2049,2862,2049,13263,2049,13939,1793,14676,2049,13280,1,9223372036854775806,10,1,14671,2049,
+ 2862,2049,13263,2049,13957,1793,14691,2049,13280,1,-9223372036854775806,10,1,14686,2049,2862,2049,14603,2049,13975,
+ 2049,13028,2049,14453,1,-9223372036854775805,1,13280,2049,2554,1,9223372036854775805,1,13280,2049,2554,10,14638,14728,168,
+ 15011,6953414890458,101,58,116,111,45,102,0,1,-9223372036854775807,1,13825,2049,2554,1,9223372036854775806,1,13855,2049,
+ 2554,1,-9223372036854775806,1,13888,2049,2554,2049,12985,2049,14623,10,14716,14764,168,15011,229463981919218,102,58,115,
+ 116,111,114,101,0,1,14650,2049,2229,16,10,14751,14783,168,15011,229463965968143,102,58,102,101,
+ 116,99,104,0,15,2049,14728,10,14770,14805,168,15011,-3401946998789110658,102,58,100,117,109,112,45,
+ 115,116,97,99,107,0,2049,13247,2,1,13447,2049,2449,1793,14823,2049,13463,2049,13263,2049,
+ 13752,2049,10807,10,1,14814,2049,2449,10,14787,14847,168,15011,-1583786518488284545,102,58,100,117,109,112,
+ 45,97,115,116,97,99,107,0,2049,13482,2,1,13463,2049,2449,1793,14865,2049,13263,2049,
+ 13752,2049,10807,2049,13447,10,1,14856,2049,2449,10,14828,14881,168,15011,210709538045,101,58,112,117,
+ 116,0,1,9223372036854775805,1793,14898,2049,4417,101,58,77,65,88,0,1,14887,2049,10837,10,1,
+ 14885,2049,2554,1,-9223372036854775805,1793,14919,2049,4417,101,58,77,73,78,0,1,14908,2049,10837,10,
+ 1,14906,2049,2554,1,0,1793,14938,2049,4417,101,58,48,0,1,14929,2049,10837,10,1,
+ 14927,2049,2554,1,-9223372036854775807,1793,14959,2049,4417,101,58,78,65,78,0,1,14948,2049,10837,10,
+ 1,14946,2049,2554,1,9223372036854775806,1793,14980,2049,4417,101,58,73,78,70,0,1,14969,2049,10837,
+ 10,1,14967,2049,2554,1,-9223372036854775806,1793,15002,2049,4417,101,58,45,73,78,70,0,1,14990,
+ 2049,10837,10,1,14988,2049,2554,2049,14728,2049,13752,10,105,110,116,101,114,102,97,99,
+ 101,47,102,108,111,97,116,105,110,103,112,111,105,110,116,46,114,101,116,114,
+ 111,0,15011,15888,14870,15063,168,15861,8056574075740390096,102,105,108,101,58,111,112,101,114,97,116,
+ 105,111,110,0,1,4,2049,10731,2,2049,2761,1793,15112,3,2049,4417,69,114,114,111,
+ 114,58,32,102,105,108,101,115,32,100,101,118,105,99,101,32,110,111,116,32,
+ 102,111,117,110,100,0,1,15075,2049,10837,2049,10794,10,1,15072,2049,2862,2049,10712,10,
+ 15043,0,156,15861,6953509466161,102,105,108,101,58,82,0,15119,1,156,15861,6953509466166,102,105,108,
+ 101,58,87,0,15131,2,156,15861,6953509466144,102,105,108,101,58,65,0,15143,3,156,15861,
+ 229465812383356,102,105,108,101,58,82,43,0,15155,15183,168,15861,249888269686595441,102,105,108,101,58,111,
+ 112,101,110,0,1,0,2049,15063,10,15168,15204,168,15861,8246312899643285909,102,105,108,101,58,99,
+ 108,111,115,101,0,1,1,2049,15063,10,15188,15224,168,15861,249888269686691131,102,105,108,101,58,
+ 114,101,97,100,0,1,2,2049,15063,10,15209,15245,168,15861,8246312899667213450,102,105,108,101,58,
+ 119,114,105,116,101,0,1,3,2049,15063,10,15229,15265,168,15861,249888269686763376,102,105,108,101,
+ 58,116,101,108,108,0,1,4,2049,15063,10,15250,15285,168,15861,249888269686727207,102,105,108,101,
+ 58,115,101,101,107,0,1,5,2049,15063,10,15270,15305,168,15861,249888269686732250,102,105,108,101,
+ 58,115,105,122,101,0,1,6,2049,15063,10,15290,15327,168,15861,-4572835417384127758,102,105,108,101,
+ 58,100,101,108,101,116,101,0,1,7,2049,15063,10,15310,15348,168,15861,8246312899646850209,102,105,
+ 108,101,58,102,108,117,115,104,0,1,8,2049,15063,10,15332,15374,168,15861,7612651040925696305,102,
+ 105,108,101,58,114,101,97,100,47,98,121,116,101,115,0,1,9,2049,15063,10,
+ 15353,15401,168,15861,-7028659436281878592,102,105,108,101,58,119,114,105,116,101,47,98,121,116,101,
+ 115,0,1,10,2049,15063,10,15379,15423,168,15861,-4572835416836630931,102,105,108,101,58,114,101,97,
+ 100,47,99,0,1,11,2049,15063,10,15406,15446,168,15861,-3329616158956188292,102,105,108,101,58,119,
+ 114,105,116,101,47,99,0,1,12,2049,15063,10,15428,15469,168,15861,-3329616181967816770,102,105,108,
+ 101,58,101,120,105,115,116,115,63,0,1,0,2049,15183,2,2049,2740,1793,15483,2049,
+ 15204,2049,2527,10,1,15478,1793,15491,3,2049,2541,10,1,15487,2049,66,10,15451,15523,168,
+ 15861,-4283841618960457812,102,105,108,101,58,111,112,101,110,45,102,111,114,45,114,101,97,100,
+ 105,110,103,0,1,0,2049,15183,2,2049,15305,4,10,15496,15558,168,15861,2106155595587003402,102,105,
+ 108,101,58,111,112,101,110,45,102,111,114,45,97,112,112,101,110,100,0,1,
+ 2,2049,15183,2,2049,15305,4,10,15532,15594,168,15861,-4283841611984295498,102,105,108,101,58,111,112,
+ 101,110,45,102,111,114,45,119,114,105,116,105,110,103,0,1,1,2049,15183,10,
+ 15567,15608,156,0,193455704,70,73,68,0,0,15599,15619,156,0,6384542144,83,105,122,101,0,
+ 0,15609,15632,156,0,6952054634723,65,99,116,105,111,110,0,0,15620,15644,168,0,210644670123,45,
+ 101,111,102,63,0,3841,15608,2049,15265,3841,15619,13,10,15633,15666,168,0,7572809360530097,112,114,
+ 101,115,101,114,118,101,0,1,15608,1793,15677,1,15619,1,27,2049,3919,10,1,15670,
+ 2049,3919,10,15567,15702,168,15861,8056577820387649264,102,105,108,101,58,114,101,97,100,45,108,105,
+ 110,101,0,2049,1977,4,1,13,2049,15063,2049,1977,10,15682,15736,168,15861,-8859848394595038695,102,105,
+ 108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,15767,4097,
+ 15632,2049,15523,4097,15608,4097,15619,1793,15758,3841,15608,2049,15702,3841,15632,8,2049,15644,10,1,
+ 15748,2049,2372,3841,15608,2049,15204,10,1,15738,2049,15666,10,15712,15781,156,0,193455704,70,73,
+ 68,0,0,15712,15798,168,15861,8246312899662267157,102,105,108,101,58,115,108,117,114,112,0,1793,
+ 15825,4,2049,4179,2049,15523,4097,15781,1793,15816,3841,15781,2049,15224,2049,4079,10,1,15809,2049,
+ 2449,3841,15781,2049,15204,10,1,15800,2049,4205,10,15782,15845,168,15861,249888269686739198,102,105,108,101,
+ 58,115,112,101,119,0,2049,15594,4,1793,15854,67502597,2049,15245,10,1,15850,2049,4686,2049,
+ 15204,10,105,110,116,101,114,102,97,99,101,47,102,105,108,101,115,121,115,116,
+ 101,109,46,114,101,116,114,111,0,15861,16625,15830,15911,168,16604,4299348465103751587,105,111,58,117,
+ 110,105,120,45,115,121,115,99,97,108,108,0,1,8,2049,10731,2,2049,2761,1793,
+ 15959,3,2049,4417,69,114,114,111,114,58,32,85,78,73,88,32,100,101,118,105,
+ 99,101,32,110,111,116,32,102,111,117,110,100,0,1,15923,2049,10837,2049,10794,10,
+ 1,15920,2049,2862,2049,10712,10,15890,15983,168,16604,-4549633084047572696,117,110,105,120,58,115,121,115,
+ 116,101,109,0,1,0,2049,15911,10,15966,16003,168,16604,249909575776928405,117,110,105,120,58,102,
+ 111,114,107,0,1,1,2049,15911,10,15988,16024,168,16604,8247016000637760504,117,110,105,120,58,101,
+ 120,101,99,48,0,1,2,2049,15911,10,16008,16045,168,16604,8247016000637760505,117,110,105,120,58,
+ 101,120,101,99,49,0,1,3,2049,15911,10,16029,16066,168,16604,8247016000637760506,117,110,105,120,
+ 58,101,120,101,99,50,0,1,4,2049,15911,10,16050,16087,168,16604,8247016000637760507,117,110,105,
+ 120,58,101,120,101,99,51,0,1,5,2049,15911,10,16071,16107,168,16604,249909575776901981,117,110,
+ 105,120,58,101,120,105,116,0,1,6,2049,15911,10,16092,16129,168,16604,-4549633084540884128,117,110,
+ 105,120,58,103,101,116,112,105,100,0,1,7,2049,15911,10,16112,16149,168,16604,249909575777523800,
+ 117,110,105,120,58,119,97,105,116,0,1,8,2049,15911,10,16134,16169,168,16604,249909575777101359,
+ 117,110,105,120,58,107,105,108,108,0,1,9,2049,15911,10,16154,16190,168,16604,8247016000650494309,
+ 117,110,105,120,58,112,111,112,101,110,0,1,10,2049,15911,10,16174,16212,168,16604,
+ -4549633084191325687,117,110,105,120,58,112,99,108,111,115,101,0,1,11,2049,15911,10,16195,16233,
+ 168,16604,8247016000634812845,117,110,105,120,58,99,104,100,105,114,0,1,13,2049,15911,10,16217,
+ 16255,168,16604,-4549633084540895924,117,110,105,120,58,103,101,116,101,110,118,0,1,14,2049,15911,
+ 10,16238,16277,168,16604,-4549633084169702651,117,110,105,120,58,112,117,116,101,110,118,0,1,15,
+ 2049,15911,10,16260,16298,168,16604,8247016000653932284,117,110,105,120,58,115,108,101,101,112,0,1,
+ 16,2049,15911,10,16282,16321,168,16604,-2563939202030369066,117,110,105,120,58,101,120,101,99,117,116,
+ 101,0,1,17,2049,15911,10,16303,16341,168,16604,249909575777281169,117,110,105,120,58,112,105,112,
+ 101,0,1,0,2049,16190,1,15702,1,16212,2049,2255,10,16326,16370,168,16604,-2563939200175176882,117,110,
+ 105,120,58,103,101,116,45,99,119,100,0,2049,4417,112,119,100,0,1,16372,2049,
+ 16341,2049,6999,2049,4417,47,0,1,16384,2049,4666,10,16352,16420,168,16604,-2316844556017942917,117,110,105,
+ 120,58,99,111,117,110,116,45,102,105,108,101,115,45,105,110,45,99,119,100,
+ 0,2049,4417,108,115,32,45,49,32,124,32,119,99,32,45,108,0,1,16422,2049,
+ 16341,2049,6999,2049,266,10,16391,16469,168,16604,-4594486429310984907,117,110,105,120,58,102,111,114,45,
+ 101,97,99,104,45,102,105,108,101,0,2049,4417,108,115,32,45,49,32,45,112,
+ 0,1,16471,1,0,2049,16190,2049,16420,1793,16504,1793,16499,2049,15702,2049,4368,67502597,8,10,
+ 1,16492,2049,2241,10,1,16490,2049,2449,2049,16212,3,10,16445,16523,168,0,210728208851,115,116,
+ 97,114,116,0,4,2049,4179,1,0,2049,16190,10,16512,16541,168,0,6385651009,114,101,97,
+ 100,0,2,2049,15224,2,2049,4079,2049,2722,10,16531,16562,168,0,6953509544294,102,105,110,105,
+ 115,104,0,2049,16212,2049,4157,10,16445,16588,168,16604,1204178398703148788,117,110,105,120,58,115,108,
+ 117,114,112,45,112,105,112,101,0,1793,16599,2049,16523,1,16541,2049,2397,2049,16562,10,
+ 1,16590,2049,4205,10,105,110,116,101,114,102,97,99,101,47,117,110,105,120,46,
+ 114,101,116,114,111,0,16604,16715,16567,16641,168,16695,7572652289159374,110,58,114,97,110,100,111,
+ 109,0,1,10,2049,10731,2,2049,2761,1793,16688,3,2049,4417,69,114,114,111,114,58,
+ 32,82,78,71,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,
+ 100,0,1,16653,2049,10837,2049,10794,10,1,16650,2049,2862,2049,10712,10,105,110,116,101,
+ 114,102,97,99,101,47,114,110,103,46,114,101,116,114,111,0,16695,17126,16627,16738,
+ 168,17104,4482520117059041020,99,108,111,99,107,58,111,112,101,114,97,116,105,111,110,0,1,
+ 5,2049,10731,2,2049,2761,1793,16787,3,2049,4417,69,114,114,111,114,58,32,99,108,
+ 111,99,107,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,
+ 0,1,16750,2049,10837,2049,10794,10,1,16747,2049,2862,2049,10712,10,16717,16815,168,17104,4482526860617352831,
+ 99,108,111,99,107,58,116,105,109,101,115,116,97,109,112,0,1,0,2049,16738,
+ 10,16794,16835,168,17104,249884182168395049,99,108,111,99,107,58,100,97,121,0,1,1,2049,16738,
+ 10,16820,16857,168,17104,-4577286724249897519,99,108,111,99,107,58,109,111,110,116,104,0,1,2,
+ 2049,16738,10,16840,16878,168,17104,8246178011557794972,99,108,111,99,107,58,121,101,97,114,0,1,
+ 3,2049,16738,10,16862,16899,168,17104,8246178011557195593,99,108,111,99,107,58,104,111,117,114,0,
+ 1,4,2049,16738,10,16883,16922,168,17104,-3476509310577319139,99,108,111,99,107,58,109,105,110,117,
+ 116,101,0,1,5,2049,16738,10,16904,16945,168,17104,-3476509310347652505,99,108,111,99,107,58,115,
+ 101,99,111,110,100,0,1,6,2049,16738,10,16927,16969,168,17104,-4044342796047171665,99,108,111,99,
+ 107,58,117,116,99,58,100,97,121,0,1,7,2049,16738,10,16950,16995,168,17104,4482528721224061399,
+ 99,108,111,99,107,58,117,116,99,58,109,111,110,116,104,0,1,8,2049,16738,
+ 10,16974,17020,168,17104,-4336103753589045278,99,108,111,99,107,58,117,116,99,58,121,101,97,114,
+ 0,1,9,2049,16738,10,17000,17045,168,17104,-4336103753589644657,99,108,111,99,107,58,117,116,99,
+ 58,104,111,117,114,0,1,10,2049,16738,10,17025,17072,168,17104,349495210710499299,99,108,111,99,
+ 107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,2049,16738,10,17050,17099,
+ 168,17104,349495210940165933,99,108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,
+ 1,12,2049,16738,10,105,110,116,101,114,102,97,99,101,47,99,108,111,99,107,
+ 46,114,101,116,114,111,0,17104,17528,17077,17150,168,0,1976442044545254821,115,99,114,105,112,116,
+ 58,111,112,101,114,97,116,105,111,110,0,1,9,2049,10731,2,2049,2761,1793,17203,
+ 3,2049,4417,69,114,114,111,114,58,32,115,99,114,105,112,116,105,110,103,32,
+ 100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,17162,2049,
+ 10837,2049,10794,10,1,17159,2049,2862,2049,10712,10,17077,17232,168,17502,1976422442775525130,115,99,114,105,
+ 112,116,58,97,114,103,117,109,101,110,116,115,0,1,0,2049,17150,10,17210,17262,
+ 168,17502,7012485947518414468,115,99,114,105,112,116,58,103,101,116,45,97,114,103,117,109,101,
+ 110,116,0,2049,4396,4,1,1,2049,17150,10,17237,17283,168,17502,229469872107401,105,110,99,108,
+ 117,100,101,0,1,2,2049,17150,10,17270,17305,168,17502,-4553194680242110987,115,99,114,105,112,116,
+ 58,110,97,109,101,0,2049,4396,1,3,2049,17150,10,17288,17337,168,17502,6834827170184619652,115,99,
+ 114,105,112,116,58,99,117,114,114,101,110,116,45,102,105,108,101,0,2049,4396,
+ 1,4,2049,17150,10,17312,17369,180,17502,6834827170184835340,115,99,114,105,112,116,58,99,117,114,
+ 114,101,110,116,45,108,105,110,101,0,1,5,2049,17150,2049,156,10,17344,17402,168,
+ 17502,-4964876483161304491,115,99,114,105,112,116,58,105,103,110,111,114,101,45,116,111,45,101,
+ 111,108,0,1,6,2049,17150,10,17376,17433,168,17502,-112287744780050755,115,99,114,105,112,116,58,
+ 97,98,111,114,116,45,105,110,99,108,117,100,101,0,1,7,2049,17150,10,17407,
+ 17449,168,17502,210706230653,97,98,111,114,116,0,1,149,2049,3883,1,8,2049,17150,10,17438,
+ 17488,168,17502,-7741142524340576066,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,
+ 105,110,101,45,116,101,120,116,0,2049,4396,1793,17497,1,9,2049,17150,10,1,17492,
+ 2049,2241,10,105,110,116,101,114,102,97,99,101,47,115,99,114,105,112,116,105,
+ 110,103,46,114,101,116,114,111,0,17502,17984,17458,17552,168,17986,1183117598919957017,115,111,99,107,
+ 101,116,58,111,112,101,114,97,116,105,111,110,0,1,7,2049,10731,2,2049,2761,
+ 1793,17709,3,2049,4417,69,114,114,111,114,58,32,115,111,99,107,101,116,32,100,
+ 101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,17564,2049,10837,
+ 2049,10794,2049,4417,83,101,101,32,104,116,116,112,115,58,47,47,114,101,116,114,
+ 111,102,111,114,116,104,46,111,114,103,47,115,117,112,112,111,114,116,47,50,
+ 48,50,50,46,49,47,83,79,67,75,69,84,83,46,109,100,0,1,17603,2049,
+ 10837,2049,10794,2049,4417,102,111,114,32,105,110,115,116,114,117,99,116,105,111,110,
+ 115,32,111,110,32,101,110,97,98,108,105,110,103,32,115,111,99,107,101,116,
+ 115,46,0,1,17664,2049,10837,2049,10794,10,1,17561,2049,2862,2049,10712,10,17530,17742,168,
+ 17960,-7671511728383126910,115,111,99,107,101,116,58,103,101,116,104,111,115,116,98,121,110,97,
+ 109,101,0,1,0,2049,17552,10,17716,17766,168,17960,4328757989659661596,115,111,99,107,101,116,58,
+ 99,114,101,97,116,101,0,1,1,2049,17552,10,17747,17788,168,17960,-4552658767528245371,115,111,99,
+ 107,101,116,58,98,105,110,100,0,1,2,2049,17552,10,17771,17812,168,17960,4328757990001730167,115,
+ 111,99,107,101,116,58,108,105,115,116,101,110,0,1,3,2049,17552,10,17793,17836,
+ 168,17960,4328757989563534360,115,111,99,107,101,116,58,97,99,99,101,112,116,0,1,4,2049,
+ 17552,10,17817,17861,168,17960,-4724938931013862254,115,111,99,107,101,116,58,99,111,110,110,101,99,
+ 116,0,1,5,2049,17552,10,17841,17883,168,17960,-4552658767527638798,115,111,99,107,101,116,58,115,
+ 101,110,100,0,1,6,2049,17552,10,17866,17905,168,17960,-4552658767527675080,115,111,99,107,101,116,
+ 58,114,101,99,118,0,1,7,2049,17552,10,17888,17928,168,17960,-2663786738754388898,115,111,99,107,
+ 101,116,58,99,108,111,115,101,0,1,8,2049,17552,10,17910,17955,168,17960,1183100690560715498,115,
+ 111,99,107,101,116,58,99,111,110,102,105,103,117,114,101,0,1,9,2049,17552,
+ 10,105,110,116,101,114,102,97,99,101,47,115,111,99,107,101,116,115,46,114,
+ 101,116,114,111,0,17960,18003,115,111,99,107,101,116,58,111,112,101,114,97,116,
+ 105,111,110,0,17986,18213,17933,18018,168,18187,229469862290528,105,111,58,99,111,114,101,0,1,
+ 8000,2049,10731,2049,10712,10,18005,18040,168,18187,249884313919988732,99,111,114,101,58,105,110,105,116,
+ 0,1,0,2049,18018,10,18025,18061,168,18187,8246182359371694326,99,111,114,101,58,115,116,97,114,
+ 116,0,1,1,2049,18018,10,18045,18082,168,18187,8246182359367475558,99,111,114,101,58,112,97,117,
+ 115,101,0,1,2,2049,18018,10,18066,18111,168,18187,8337299194488917014,99,111,114,101,58,112,97,
+ 117,115,101,45,99,117,114,114,101,110,116,0,1,3,2049,18018,10,18087,18133,168,
+ 18187,-4577143246433635687,99,111,114,101,58,114,101,115,117,109,101,0,1,4,2049,18018,10,18116,
+ 18157,168,18187,-3888095465377135055,99,111,114,101,58,114,101,97,100,47,114,101,103,0,1,5,
+ 2049,18018,10,18138,18182,168,18187,820065755623810592,99,111,114,101,58,119,114,105,116,101,47,114,
+ 101,103,0,1,6,2049,18018,10,105,110,116,101,114,102,97,99,101,47,109,117,
+ 108,116,105,99,111,114,101,46,114,101,116,114,111,0,18187,18370,18162,18234,168,18350,
+ 644988671245709381,102,102,105,58,111,112,101,114,97,116,105,111,110,0,1,8100,2049,10731,2,
+ 2049,2761,1793,18281,3,2049,4417,69,114,114,111,114,58,32,70,70,73,32,100,101,
+ 118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,18246,2049,10837,2049,
+ 10794,10,1,18243,2049,2862,2049,10712,10,18215,18302,168,18350,7572367767785414,102,102,105,58,111,112,
+ 101,110,0,1,0,2049,18234,10,18288,18324,168,18350,-4572980637897979592,102,102,105,58,109,97,112,
+ 45,115,121,109,0,1,1,2049,18234,10,18307,18345,168,18350,8246308498881747296,102,102,105,58,105,
+ 110,118,111,107,101,0,1,2,2049,18234,10,105,110,116,101,114,102,97,99,101,
+ 47,102,102,105,46,114,101,116,114,111,0,18350,18701,18329,18388,168,18676,8247016409221251463,117,110,
+ 115,105,103,110,101,100,58,43,0,1,0,1,8101,2049,10731,2049,10712,17,10,18372,
+ 18414,168,18676,8247016409221251465,117,110,115,105,103,110,101,100,58,45,0,1,0,1,8101,2049,
+ 10731,2049,10712,18,10,18398,18440,168,18676,8247016409221251462,117,110,115,105,103,110,101,100,58,42,
+ 0,1,0,1,8101,2049,10731,2049,10712,19,10,18424,18469,168,18676,7638409966457829387,117,110,115,105,
+ 103,110,101,100,58,47,109,111,100,0,1,0,1,8101,2049,10731,2049,10712,20,10,
+ 18450,18497,168,18676,-2563494254608726831,117,110,115,105,103,110,101,100,58,101,113,63,0,1,0,
+ 1,8101,2049,10731,2049,10712,11,10,18479,18526,168,18676,7638409966457748830,117,110,115,105,103,110,101,
+ 100,58,45,101,113,63,0,1,0,1,8101,2049,10731,2049,10712,12,10,18507,18554,168,
+ 18676,-2563494254608719109,117,110,115,105,103,110,101,100,58,108,116,63,0,1,0,1,8101,2049,
+ 10731,2049,10712,13,10,18536,18582,168,18676,-2563494254608724554,117,110,115,105,103,110,101,100,58,103,
+ 116,63,0,1,0,1,8101,2049,10731,2049,10712,14,10,18564,18612,168,18676,-6186888138744896262,117,110,
+ 115,105,103,110,101,100,58,115,104,105,102,116,0,1,0,1,8101,2049,10731,2049,
+ 10712,24,10,18592,18642,168,18676,-6186888138833512267,117,110,115,105,103,110,101,100,58,42,47,109,
+ 111,100,0,1,1,1,0,1,8101,2049,10731,2,2049,10712,2049,10712,10,18622,18667,168,
+ 18676,210639169918,42,47,109,111,100,0,1,1,1,8101,2049,10731,2049,10712,10,105,110,116,
+ 101,114,102,97,99,101,47,117,110,115,105,103,110,101,100,46,114,101,116,114,
+ 111,0,18676,18827,18656,18721,168,18804,-3502245454587251943,100,58,117,115,101,45,104,97,115,104,101,
+ 115,0,1,29,1,236,1,5,18,16,1793,18735,2049,188,15,10,1,18731,1,236,
+ 1,8,18,16,1,2049,1,236,16,1,4819,1,236,2049,3125,16,10,18703,18775,168,
+ 18804,-4893635544173424761,100,58,117,115,101,45,115,116,114,105,110,103,115,0,1,118,1,236,
+ 1,5,18,16,1,190,1,236,1,8,18,16,1,0,1,236,16,1,0,1,
+ 236,2049,3125,16,10,105,110,116,101,114,102,97,99,101,47,102,117,116,117,114,
+ 101,46,114,101,116,114,111,0,18804,18945,18756,18847,168,0,-3527051417241377258,98,108,111,99,107,
+ 58,105,110,118,111,107,101,0,1,3,2049,10731,2049,10712,10,18756,18870,168,18922,8246131600073141446,
+ 98,108,111,99,107,58,114,101,97,100,0,1,0,2049,18847,10,18854,18892,168,18922,
+ -4578818303223200395,98,108,111,99,107,58,119,114,105,116,101,0,1,1,2049,18847,10,18875,18917,
+ 168,18922,-4036225629868593021,98,108,111,99,107,58,115,101,116,45,102,105,108,101,0,1,2,
+ 2049,18847,10,105,110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,46,
+ 114,101,116,114,111,0,18922,19820,18897,18968,168,19192,4283726481136624767,101,114,114,58,115,101,116,
+ 45,104,97,110,100,108,101,114,0,1,1234,2049,10731,2,2049,2761,1793,19026,3,2049,
+ 4417,69,114,114,111,114,58,32,101,114,114,111,114,32,104,97,110,100,108,105,
+ 110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,
+ 1,18980,2049,10837,2049,10794,10,1,18977,2049,2862,1,0,4,2049,10712,10,18947,19049,168,
+ 19192,229464878751060,101,114,114,58,100,115,117,0,2049,10869,2049,10794,2049,4417,69,82,82,79,
+ 82,58,32,68,83,85,58,32,68,65,84,65,32,83,84,65,67,75,32,85,
+ 78,68,69,82,70,76,79,87,0,1,19055,2049,10837,2049,10794,2049,10986,10,19036,19110,
+ 168,19192,229464878751054,101,114,114,58,100,115,111,0,2049,10869,2049,10794,2049,4417,69,82,82,
+ 79,82,58,32,68,83,79,58,32,68,65,84,65,32,83,84,65,67,75,32,
+ 79,86,69,82,70,76,79,87,0,1,19116,2049,10837,2049,10794,2049,10986,10,19097,19179,
+ 168,19192,-6210978877792005319,101,114,114,58,115,101,116,45,100,101,102,97,117,108,116,115,0,
+ 1,19049,1,1,2049,18968,1,19110,1,2,2049,18968,10,105,110,116,101,114,102,97,
+ 99,101,47,101,114,114,111,114,46,114,101,116,114,111,0,19157,19235,168,0,-1159954141530329845,
+ 105,111,99,116,108,58,111,112,101,114,97,116,105,111,110,0,1,14,2049,10731,
+ 2,2049,2761,1793,19284,3,2049,4417,69,114,114,111,114,58,32,105,111,99,116,108,
+ 32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,19247,
+ 2049,10837,2049,10794,10,1,19244,2049,2862,2049,10712,10,19214,19312,168,0,-1159947561758408230,105,111,99,
+ 116,108,58,116,101,114,109,45,115,105,122,101,0,1,0,2049,19235,10,19291,19339,
+ 168,0,-1384827797416383269,105,111,99,116,108,58,115,101,116,45,99,98,114,101,97,107,0,
+ 1,1,2049,19235,10,19317,19366,168,0,-1384827797064164732,105,111,99,116,108,58,115,101,116,45,
+ 108,98,114,101,97,107,0,1,2,2049,19235,10,19344,19393,168,0,-1384833267584846441,105,111,99,
+ 116,108,58,115,97,118,101,45,115,116,97,116,101,0,1,3,2049,19235,10,19371,
+ 19423,168,0,1092846777098631660,105,111,99,116,108,58,114,101,115,116,111,114,101,45,115,116,
+ 97,116,101,0,1,4,2049,19235,10,1793,19449,1,192,1,2,17,8,2049,1576,2049,
+ 190,3841,11568,8,2049,1576,2049,188,16,10,1,19430,19398,19461,168,19796,6384117006,72,79,77,
+ 69,0,2049,1977,1,4096,17,10,37,115,47,46,99,111,110,102,105,103,47,114,
+ 101,116,114,111,102,111,114,116,104,47,108,105,98,114,97,114,121,47,37,115,
+ 46,114,101,116,114,111,0,19451,19467,156,19796,6061648467740287960,108,105,98,114,97,114,121,58,
+ 46,67,79,78,70,73,71,0,46,47,108,105,98,114,97,114,121,47,37,115,
+ 46,114,101,116,114,111,0,19506,19527,156,19796,-4563659402581934926,108,105,98,114,97,114,121,58,
+ 67,87,68,0,19546,19580,168,19796,-4563659402581898990,108,105,98,114,97,114,121,58,99,119,100,
+ 0,1,19527,2049,8190,10,19563,19606,168,19796,6061648469031755928,108,105,98,114,97,114,121,58,46,
+ 99,111,110,102,105,103,0,2049,4417,72,79,77,69,0,1,19608,2049,19461,2049,16255,
+ 2049,19461,1,19467,2049,8190,10,19585,19648,168,19796,-2879782938503308011,108,105,98,114,97,114,121,58,
+ 102,105,108,101,110,97,109,101,0,2,2049,19580,2,2049,15469,1793,19658,772,10,1,
+ 19656,2049,2862,3,2049,19606,2,2049,15469,1793,19671,10,1,19670,2049,2862,3,2049,4396,10,
+ 19626,19702,168,19796,-2799120562421764174,108,105,98,114,97,114,121,58,99,111,110,116,97,105,110,
+ 115,63,0,1,19580,1,19606,2049,2255,1,15469,2049,2285,22,10,19679,19732,168,19796,-3026807695525939020,
+ 108,105,98,114,97,114,121,58,108,111,97,100,0,2,2049,19702,1793,19742,2049,19648,
+ 2049,17283,10,1,19737,1793,19791,2049,4417,69,82,82,79,82,58,32,76,105,98,114,
+ 97,114,121,32,96,37,115,96,32,119,97,115,32,110,111,116,32,102,111,117,
+ 110,100,0,1,19748,2049,8190,2049,10837,2049,10794,10,1,19746,2049,66,10,105,110,116,
+ 101,114,102,97,99,101,47,108,105,98,114,97,114,121,46,114,101,116,114,111,
+ 0,19796,11743,19714,19838,168,20045,8246457295145463473,105,109,97,103,101,58,115,97,118,101,0,1,
+ 1000,2049,10731,2049,10712,10,19822,19856,168,0,210711039690,101,100,105,116,63,0,2,1793,19863,
+ 1,8,11,10,1,19859,1793,19871,1,127,11,10,1,19867,2049,2255,22,10,19845,19889,
+ 168,0,6953539406400,103,97,116,104,101,114,0,2049,19856,1,17,1,4079,2049,66,10,19877,
+ 19909,168,0,210709415765,99,121,99,108,101,0,2049,10968,2049,2217,4,8,2049,2644,25,3,
+ 2049,19889,1,19909,7,10,19822,19942,168,20045,-4557881830897049127,112,97,114,115,101,45,117,110,116,
+ 105,108,0,1793,19954,2049,4396,2049,4179,2049,19909,771,2049,4041,10,1,19944,2049,4205,10,
+ 19925,19970,168,20045,210726130610,115,58,103,101,116,0,1793,19992,1793,19978,1,13,11,10,1,
+ 19974,1793,19986,1,10,11,10,1,19982,2049,2255,22,10,1,19972,2049,19942,10,19959,20008,
+ 168,20045,210708950412,99,108,101,97,114,0,2049,4417,92,94,91,50,74,92,94,91,48,
+ 59,48,72,0,1,20010,2049,8190,2049,10837,10,19997,20038,180,20045,5861507,47,47,0,2049,
+ 17402,1,11002,2049,3868,10,105,110,116,101,114,102,97,99,101,47,114,101,116,114,
+ 111,45,117,110,105,120,46,114,101,116,114,111,0,20030,20085,156,0,229441520490121,83,111,
+ 117,114,99,101,115,0,3,20334,20528,20719,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,19863,20016,168,0,6953711201841,107,110,111,119,110,63,0,2,1,19876,
- 2049,9030,10,20004,20033,168,0,210716136861,105,110,100,101,120,0,1,19876,4,2049,9670,1,
- 19876,4,2049,9176,10,20022,20056,168,0,6953974036516,114,101,99,111,114,100,0,2049,4445,2,
- 1,19876,2049,3816,3841,19876,1,19876,17,16,10,1793,20123,2049,17342,2049,20016,1793,20081,2049,
- 20033,10,1,20078,1793,20088,2049,20056,10,1,20085,2049,66,1793,20101,1,192,1,2,17,
- 8,10,1,20094,2049,2229,2049,1576,2049,186,16,2049,1576,2049,190,3841,11568,8,2049,1576,
- 2049,188,16,10,1,20072,100,105,99,116,45,119,111,114,100,115,45,108,105,115,
- 116,105,110,103,46,102,111,114,116,104,0,19821,20163,168,20125,229461403550098,100,58,119,111,
- 114,100,115,0,1793,20172,2049,190,2049,10837,2049,10807,10,1,20165,2049,8435,10,20150,20195,
- 168,20125,-3502157631813457253,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1977,2049,5517,
- 1793,20226,2049,190,2,2049,1977,2049,5230,1793,20215,2049,10837,2049,10807,10,1,20210,1793,20221,
- 3,10,1,20219,2049,66,10,1,20201,2049,8435,10,20177,20252,168,20125,2818131571306626127,100,105,115,
- 112,108,97,121,45,105,102,45,108,101,102,116,0,2,2049,1977,2049,5463,1793,20264,
- 2049,10837,2049,10807,10,1,20259,1793,20270,3,10,1,20268,2049,66,10,20177,20303,168,20125,
- 2947807019553410009,100,58,119,111,114,100,115,45,98,101,103,105,110,110,105,110,103,45,119,
- 105,116,104,0,2049,1977,2049,5517,1793,20314,2049,190,2049,20252,10,1,20309,2049,8435,10,
- 101,120,116,101,110,115,105,111,110,115,47,100,111,117,98,108,101,46,114,101,
- 116,114,111,0,20275,20359,168,20319,8246228896775126019,100,111,117,98,108,101,58,118,97,114,0,
- 2049,2075,4,2049,130,2049,130,10,20343,20385,168,20319,-3421095308458227740,100,111,117,98,108,101,58,
- 102,101,116,99,104,0,2049,58,4,15,10,20367,20408,168,20319,-3421095308442276665,100,111,117,98,
- 108,101,58,115,116,111,114,101,0,1,19,2049,2229,2049,61,16,10,20390,20434,168,
- 20319,-3421095308461432127,100,111,117,98,108,101,58,99,111,110,115,116,0,2049,20359,1,20385,2049,
- 8404,10,20416,20458,168,20319,-4575607512064199915,100,111,117,98,108,101,58,115,119,97,112,0,67503109,
- 5,67503109,6,10,20441,20479,168,20319,8246228896775106679,100,111,117,98,108,101,58,100,105,112,0,
- 67503109,67503109,5,5,8,6,6,10,20463,20503,168,20319,8246228896775123014,100,111,117,98,108,101,58,
- 115,105,112,0,1,2217,2049,2229,2049,20479,10,101,120,116,101,110,115,105,111,110,
- 115,47,109,97,108,108,111,99,46,114,101,116,114,111,0,20487,20550,168,20510,8246632143337714634,
- 109,101,109,58,105,110,118,111,107,101,0,1,15,2049,10731,2049,10712,10,20534,0,
- 156,20510,210667451248,65,76,76,79,67,0,20557,1,156,20510,6384048135,70,82,69,69,0,20568,
- 2,156,20510,210689088690,83,84,79,82,69,0,20578,3,156,20510,210673137615,70,69,84,67,72,
- 0,20589,4,156,20510,6952683137271,82,69,83,73,90,69,0,20487,20627,168,20510,249897943727936361,109,101,
- 109,58,97,108,108,111,99,0,1,0,2049,20550,10,20612,20647,168,20510,249897943749573803,109,101,
- 109,58,115,116,111,114,101,0,1,2,2049,20550,10,20632,20667,168,20510,249897943733622728,109,101,
- 109,58,102,101,116,99,104,0,1,3,2049,20550,10,20652,20686,168,20510,7572664961638592,109,101,
- 109,58,102,114,101,101,0,1,1,2049,20550,10,20672,20707,168,20510,8246632143679146032,109,101,109,
- 58,114,101,115,105,122,101,0,1,4,2049,20550,10,20691,20727,168,20510,249897943730056489,109,101,
- 109,58,99,101,108,108,43,0,1,8,19,17,10,20712,20754,168,20510,1050530996183190288,109,101,
- 109,58,102,101,116,99,104,45,100,111,117,98,108,101,0,2,1,1,2049,20727,
- 15,5,2049,20667,6,10,20732,20787,168,20510,1730340976492540563,109,101,109,58,115,116,111,114,101,
- 45,100,111,117,98,108,101,0,5,5,2049,2217,1,1,2049,20727,6,2049,20647,6,
- 2049,20647,10,0 };
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,20072,20225,168,0,6953711201841,107,
+ 110,111,119,110,63,0,2,1,20085,2049,9030,10,20213,20242,168,0,210716136861,105,110,100,
+ 101,120,0,1,20085,4,2049,9670,1,20085,4,2049,9176,10,20231,20265,168,0,6953974036516,114,
+ 101,99,111,114,100,0,2049,4445,2,1,20085,2049,3816,3841,20085,1,20085,17,16,10,
+ 1793,20332,2049,17337,2049,20225,1793,20290,2049,20242,10,1,20287,1793,20297,2049,20265,10,1,20294,
+ 2049,66,1793,20310,1,192,1,2,17,8,10,1,20303,2049,2229,2049,1576,2049,186,16,
+ 2049,1576,2049,190,3841,11568,8,2049,1576,2049,188,16,10,1,20281,100,105,99,116,45,
+ 119,111,114,100,115,45,108,105,115,116,105,110,103,46,102,111,114,116,104,0,
+ 20030,20372,168,20334,229461403550098,100,58,119,111,114,100,115,0,1793,20381,2049,190,2049,10837,2049,
+ 10807,10,1,20374,2049,8435,10,20359,20404,168,20334,-3502157631813457253,100,58,119,111,114,100,115,45,
+ 119,105,116,104,0,2049,1977,2049,5517,1793,20435,2049,190,2,2049,1977,2049,5230,1793,20424,
+ 2049,10837,2049,10807,10,1,20419,1793,20430,3,10,1,20428,2049,66,10,1,20410,2049,8435,
+ 10,20386,20461,168,20334,2818131571306626127,100,105,115,112,108,97,121,45,105,102,45,108,101,102,
+ 116,0,2,2049,1977,2049,5463,1793,20473,2049,10837,2049,10807,10,1,20468,1793,20479,3,10,
+ 1,20477,2049,66,10,20386,20512,168,20334,2947807019553410009,100,58,119,111,114,100,115,45,98,101,
+ 103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1977,2049,5517,1793,20523,2049,
+ 190,2049,20461,10,1,20518,2049,8435,10,101,120,116,101,110,115,105,111,110,115,47,
+ 100,111,117,98,108,101,46,114,101,116,114,111,0,20484,20568,168,20528,8246228896775126019,100,111,
+ 117,98,108,101,58,118,97,114,0,2049,2075,4,2049,130,2049,130,10,20552,20594,168,
+ 20528,-3421095308458227740,100,111,117,98,108,101,58,102,101,116,99,104,0,2049,58,4,15,10,
+ 20576,20617,168,20528,-3421095308442276665,100,111,117,98,108,101,58,115,116,111,114,101,0,1,19,
+ 2049,2229,2049,61,16,10,20599,20643,168,20528,-3421095308461432127,100,111,117,98,108,101,58,99,111,
+ 110,115,116,0,2049,20568,1,20594,2049,8404,10,20625,20667,168,20528,-4575607512064199915,100,111,117,98,
+ 108,101,58,115,119,97,112,0,67503109,5,67503109,6,10,20650,20688,168,20528,8246228896775106679,100,111,
+ 117,98,108,101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,20672,20712,168,
+ 20528,8246228896775123014,100,111,117,98,108,101,58,115,105,112,0,1,2217,2049,2229,2049,20688,10,
+ 101,120,116,101,110,115,105,111,110,115,47,109,97,108,108,111,99,46,114,101,
+ 116,114,111,0,20696,20759,168,20719,8246632143337714634,109,101,109,58,105,110,118,111,107,101,0,
+ 1,15,2049,10731,2049,10712,10,20743,0,156,20719,210667451248,65,76,76,79,67,0,20766,1,
+ 156,20719,6384048135,70,82,69,69,0,20777,2,156,20719,210689088690,83,84,79,82,69,0,20787,
+ 3,156,20719,210673137615,70,69,84,67,72,0,20798,4,156,20719,6952683137271,82,69,83,73,90,
+ 69,0,20696,20836,168,20719,249897943727936361,109,101,109,58,97,108,108,111,99,0,1,0,2049,
+ 20759,10,20821,20856,168,20719,249897943749573803,109,101,109,58,115,116,111,114,101,0,1,2,2049,
+ 20759,10,20841,20876,168,20719,249897943733622728,109,101,109,58,102,101,116,99,104,0,1,3,2049,
+ 20759,10,20861,20895,168,20719,7572664961638592,109,101,109,58,102,114,101,101,0,1,1,2049,20759,
+ 10,20881,20916,168,20719,8246632143679146032,109,101,109,58,114,101,115,105,122,101,0,1,4,2049,
+ 20759,10,20900,20936,168,20719,249897943730056489,109,101,109,58,99,101,108,108,43,0,1,8,19,
+ 17,10,20921,20963,168,20719,1050530996183190288,109,101,109,58,102,101,116,99,104,45,100,111,117,
+ 98,108,101,0,2,1,1,2049,20936,15,5,2049,20876,6,10,20941,20996,168,20719,1730340976492540563,
+ 109,101,109,58,115,116,111,114,101,45,100,111,117,98,108,101,0,5,5,2049,
+ 2217,1,1,2049,20936,6,2049,20856,6,2049,20856,10,0 };
diff --git a/vm/nga-c/retro.c b/vm/nga-c/retro.c
index dbcd30c..3c57d98 100644
--- a/vm/nga-c/retro.c
+++ b/vm/nga-c/retro.c
@@ -151,6 +151,10 @@ IO(malloc)
IO(blocks)
#endif
+#ifdef ENABLE_IOCTL
+IO(ioctl)
+#endif
+
IO(image)
V load_embedded_image(NgaState *);
@@ -282,6 +286,10 @@ V guard(NgaState *vm, int n, int m, int diff) {
}
#endif
+#ifdef ENABLE_IOCTL
+#include "dev-ioctl.c"
+#endif
+
#ifdef ENABLE_MALLOC
#ifdef BIT64
#include "dev-malloc.c"
@@ -1013,6 +1021,9 @@ V register_devices(NgaState *vm) {
#ifdef ENABLE_ERROR
register_device(vm, io_error, query_error);
#endif
+#ifdef ENABLE_IOCTL
+ register_device(vm, io_ioctl, query_ioctl);
+#endif
}
V register_signal_handlers() {