diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index e578149..55812dc 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -27,3 +27,5 @@ Unix
- sys:name (now script:name)
- sys:argc (now script:arguments)
- sys:argv (now script:get-argument)
+- renamed
+ - io:file-operation (now file:operation)
diff --git a/doc/Glossary-Concise.txt b/doc/Glossary-Concise.txt
index 6d4f7ca..769eeac 100644
--- a/doc/Glossary-Concise.txt
+++ b/doc/Glossary-Concise.txt
@@ -871,6 +871,9 @@ Open a file for reading. Returns the size (NOS) and a file ID (TOS)
file:open-for-writing D: s-n A: - F: -
Open a file for writing. Returns the file ID
+file:operation D: ...n- A: - F: -
+Trigger a file I/O operation. This is not intended to be used directly.
+
file:read D: h-c A: - F: -
Given a file handle, read and return the next character in it.
@@ -940,9 +943,6 @@ Trigger a clock operation. This is not intended to be used directly.
io:enumerate D: -n A: - F: -
Return the number of I/O devices.
-io:file-operation D: ...n- A: - F: -
-Trigger a file I/O operation. This is not intended to be used directly.
-
io:float-operation D: ...n- A: - F: -
Trigger a floating point operation. This is not intended to be used directly.
diff --git a/doc/Glossary-Names-and-Stack.txt b/doc/Glossary-Names-and-Stack.txt
index b194541..bd9f970 100644
--- a/doc/Glossary-Names-and-Stack.txt
+++ b/doc/Glossary-Names-and-Stack.txt
@@ -289,6 +289,7 @@ file:open D: sm-h A: - F: -
file:open-for-append D: s-nn A: - F: -
file:open-for-reading D: s-nn A: - F: -
file:open-for-writing D: s-n A: - F: -
+file:operation D: ...n- A: - F: -
file:read D: h-c A: - F: -
file:read-line D: f-s A: - F: -
file:seek D: nh- A: - F: -
@@ -312,7 +313,6 @@ indexed-times D: nq- A: - F: -
interpret D: s- A: - F: -
io:clock-operation D: ...n- A: - F: -
io:enumerate D: -n A: - F: -
-io:file-operation D: ...n- A: - F: -
io:float-operation D: ...n- A: - F: -
io:invoke D: n- A: - F: -
io:query D: n-mN A: - F: -
diff --git a/doc/Glossary.html b/doc/Glossary.html
index bdefde6..cee39d0 100644
--- a/doc/Glossary.html
+++ b/doc/Glossary.html
@@ -2171,6 +2171,13 @@
Open a file for writing. Returns the file ID
Trigger a file I/O operation. This is not intended to be used directly.
+Return the number of I/O devices.
Trigger a file I/O operation. This is not intended to be used directly.
-Data: ...n-
Addr: -
diff --git a/doc/Glossary.txt b/doc/Glossary.txt
index 8b54fdb..0b1225b 100644
--- a/doc/Glossary.txt
+++ b/doc/Glossary.txt
@@ -3361,6 +3361,17 @@ Open a file for writing. Returns the file ID
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
+file:operation
+
+ Data: ...n-
+ Addr: -
+ Float: -
+
+Trigger a file I/O operation. This is not intended to be used directly.
+
+Class: class:word | Namespace: file | Interface Layer: rre
+------------------------------------------------------------------------
+
file:read
Data: h-c
@@ -3631,17 +3642,6 @@ Return the number of I/O devices.
Class: class:word | Namespace: io | Interface Layer: all
------------------------------------------------------------------------
-io:file-operation
-
- Data: ...n-
- Addr: -
- Float: -
-
-Trigger a file I/O operation. This is not intended to be used directly.
-
-Class: class:word | Namespace: io | Interface Layer: rre
-------------------------------------------------------------------------
-
io:float-operation
Data: ...n-
diff --git a/doc/words.tsv b/doc/words.tsv
index 3787ab7..67a456f 100644
--- a/doc/words.tsv
+++ b/doc/words.tsv
@@ -289,6 +289,7 @@ file:open sm-h - - Open a named file (s) with the given mode (m). Returns a hand
file:open-for-append s-nn - - Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS) class:word {n/a} {n/a} file rre
file:open-for-reading s-nn - - Open a file for reading. Returns the size (NOS) and a file ID (TOS) class:word {n/a} {n/a} file rre
file:open-for-writing s-n - - Open a file for writing. Returns the file ID class:word {n/a} {n/a} file rre
+file:operation ...n- - - Trigger a file I/O operation. This is not intended to be used directly. class:word {n/a} {n/a} file rre
file:read h-c - - Given a file handle, read and return the next character in it. class:word {n/a} {n/a} file rre
file:read-line f-s - - Given a file handle, read a line and return a pointer to it. class:word {n/a} {n/a} file rre
file:seek nh- - - Move the current offset into a file to the specified one. class:word {n/a} {n/a} file rre
@@ -312,7 +313,6 @@ indexed-times nq- - - Run a quote the specified number of times, tracking the lo
interpret s- - - Interpret a single input token. class:word '#100 interpret\n 'words interpret {n/a} global all
io:clock-operation ...n- - - Trigger a clock operation. This is not intended to be used directly. class:word {n/a} {n/a} io rre
io:enumerate -n - - Return the number of I/O devices. class:word {n/a} {n/a} io all
-io:file-operation ...n- - - Trigger a file I/O operation. This is not intended to be used directly. class:word {n/a} {n/a} io rre
io:float-operation ...n- - - Trigger a floating point operation. This is not intended to be used directly. class:word {n/a} {n/a} io rre
io:invoke n- - - Invoke an interaction with an I/O device. class:word {n/a} {n/a} io all
io:query n-mN - - Ask an I/O device to identify itself. Returns a version (m) and device ID (N). class:word {n/a} {n/a} io all
diff --git a/interface/filesystem.retro b/interface/filesystem.retro
index edf2832..1cbd55c 100644
--- a/interface/filesystem.retro
+++ b/interface/filesystem.retro
@@ -1,5 +1,12 @@
# File I/O
+The file device (device type 4) adds support for generic file I/O
+that is similar to the C standard library on Unix. On a Unix host
+these are very thin wrappers over fopen(), fclose(), etc. For non
+Unix hosts, implementing these may take much more work, and it may
+be preferable to design a file I/O device that models the host
+expectations.
+
~~~
{{
'Files var
@@ -9,16 +16,10 @@
[ drop 'IO_DEVICE_TYPE_0004_NOT_FOUND s:put nl ]
[ !Files ] choose ] if ;
---reveal---
- :io:file-operation identify @Files io:invoke ;
+ :file:operation identify @Files io:invoke ;
}}
~~~
-This implements words for interfacing with the POSIX file I/O words if
-you are using an interface supporting them. All of these are in the
-`file:` namespace.
-
-These are pretty much direct wrappers for fopen(), fclose(), etc.
-
First up, constants for the file modes.
| # | Used For |
@@ -35,59 +36,59 @@ First up, constants for the file modes.
#3 'file:R+ const
~~~
-For opening a file, provide the file name and mode. This will return a
-number identifying the file handle.
+For opening a file, provide the file name and mode. This will return
+a number identifying the file handle.
~~~
-:file:open (sm-h) #0 io:file-operation ;
+:file:open (sm-h) #0 file:operation ;
~~~
Given a file handle, close the file.
~~~
-:file:close (h-) #1 io:file-operation ;
+:file:close (h-) #1 file:operation ;
~~~
Given a file handle, read a character.
~~~
-:file:read (h-c) #2 io:file-operation ;
+:file:read (h-c) #2 file:operation ;
~~~
Write a character to an open file.
~~~
-:file:write (ch-) #3 io:file-operation ;
+:file:write (ch-) #3 file:operation ;
~~~
Return the current pointer within a file.
~~~
-:file:tell (h-n) #4 io:file-operation ;
+:file:tell (h-n) #4 file:operation ;
~~~
Move the file pointer to the specified location.
~~~
-:file:seek (nh-) #5 io:file-operation ;
+:file:seek (nh-) #5 file:operation ;
~~~
Return the size of the opened file.
~~~
-:file:size (h-n) #6 io:file-operation ;
+:file:size (h-n) #6 file:operation ;
~~~
Given a file name, delete the file.
~~~
-:file:delete (s-) #7 io:file-operation ;
+:file:delete (s-) #7 file:operation ;
~~~
Flush pending writes to disk.
~~~
-:file:flush (f-) #8 io:file-operation ;
+:file:flush (f-) #8 file:operation ;
~~~
Given a file name, return `TRUE` if it exists or `FALSE` otherwise.
@@ -99,6 +100,7 @@ Given a file name, return `TRUE` if it exists or `FALSE` otherwise.
[ drop FALSE ] choose ;
~~~
+
~~~
:file:open (s-nn)
file:R file:open dup file:size swap ;
diff --git a/vm/nga-c/retro-image.c b/vm/nga-c/retro-image.c
index 585d8e4..61f4a8c 100644
--- a/vm/nga-c/retro-image.c
+++ b/vm/nga-c/retro-image.c
@@ -2,8 +2,8 @@
#ifndef CELL
#define CELL int32_t
#endif
-CELL ngaImageCells = 15169;
-CELL ngaImage[] = { 1793,14582,15126,15168,202010,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
+CELL ngaImageCells = 15166;
+CELL ngaImage[] = { 1793,14579,15123,15165,202010,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
7,10,8,10,9,10,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,10,68223234,1,2575,
85000450,1,656912,139,138,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74,
@@ -12,7 +12,7 @@ CELL ngaImage[] = { 1793,14582,15126,15168,202010,0,10,1,10,2,10,3,10,4,10,5,10,
2049,112,117506307,0,105,0,524545,25,110,168820993,0,124,1642241,124,134283523,7,110,1793,105,7,
524545,2049,105,1793,105,16846593,124,139,138,1793,64,16846593,124,110,138,1793,64,7,10,659713,
1,659713,2,659713,3,1793,166,17108737,3,2,524559,105,2049,105,2049,105,2049,119,168820998,2,
- 13755,1025,167841793,179,5,17826049,0,179,2,15,25,524546,162,134287105,180,93,2305,181,459023,189,
+ 13752,1025,167841793,179,5,17826049,0,179,2,15,25,524546,162,134287105,180,93,2305,181,459023,189,
134287361,180,184,659201,179,2049,56,25,84152833,48,286458116,10,459014,204,184618754,45,25,16974851,-1,168886532,
1,134284289,1,213,134284289,0,204,660227,32,0,0,112,114,101,102,105,120,58,105,0,
285278479,230,7,2576,524546,79,1641217,1,167838467,227,2049,243,2049,239,524545,230,199,17826050,229,0,
@@ -160,7 +160,7 @@ CELL ngaImage[] = { 1793,14582,15126,15168,202010,0,10,1,10,2,10,3,10,4,10,5,10,
983556,1793,3087,1,21,2049,2100,10,1,3082,2049,2100,4100,10,3065,3105,144,118,58,117,
112,100,97,116,101,0,4,1793,3112,15,4,8,10,1,3108,2049,2110,16,10,3093,
3126,144,99,111,112,121,0,1793,3135,285278725,1,33951492,268767489,1,6,10,1,3128,2049,2275,
- 771,10,3118,3154,144,83,99,111,112,101,76,105,115,116,0,15032,15084,10,3141,3163,
+ 771,10,3118,3154,144,83,99,111,112,101,76,105,115,116,0,15029,15081,10,3141,3163,
144,123,123,0,2049,1570,2,1,3154,2049,59,16,10,3157,3188,144,45,45,45,114,
101,118,101,97,108,45,45,45,0,2049,1570,1,3154,2049,2890,16,10,3172,3202,144,
125,125,0,1,3154,2049,56,4,15,11,1793,3216,3841,3154,4097,2,10,1,3211,1793,
@@ -473,292 +473,292 @@ CELL ngaImage[] = { 1793,14582,15126,15168,202010,0,10,1,10,2,10,3,10,4,10,5,10,
9401,1,4,2049,9139,2,2049,2562,1793,9389,3,2049,3646,73,79,32,68,69,86,73,
67,69,32,84,89,80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,
78,68,0,1,9352,2049,9235,2049,9198,10,1,9349,1793,9396,4097,9321,10,1,9393,2049,
- 64,10,1,9340,9,10,9295,9426,144,105,111,58,102,105,108,101,45,111,112,101,
- 114,97,116,105,111,110,0,2049,9334,3841,9321,2049,9122,10,9405,0,131,102,105,108,
- 101,58,82,0,9433,1,131,102,105,108,101,58,87,0,9443,2,131,102,105,108,
- 101,58,65,0,9453,3,131,102,105,108,101,58,82,43,0,9463,9487,144,102,105,
- 108,101,58,111,112,101,110,0,1,0,2049,9426,10,9474,9506,144,102,105,108,101,
- 58,99,108,111,115,101,0,1,1,2049,9426,10,9492,9524,144,102,105,108,101,58,
- 114,101,97,100,0,1,2,2049,9426,10,9511,9543,144,102,105,108,101,58,119,114,
- 105,116,101,0,1,3,2049,9426,10,9529,9561,144,102,105,108,101,58,116,101,108,
- 108,0,1,4,2049,9426,10,9548,9579,144,102,105,108,101,58,115,101,101,107,0,
- 1,5,2049,9426,10,9566,9597,144,102,105,108,101,58,115,105,122,101,0,1,6,
- 2049,9426,10,9584,9617,144,102,105,108,101,58,100,101,108,101,116,101,0,1,7,
- 2049,9426,10,9602,9636,144,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,
- 9426,10,9622,9657,144,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,
- 2049,9487,2,2049,2543,1793,9671,2049,9506,2049,2350,10,1,9666,1793,9679,3,2049,2362,10,
- 1,9675,2049,64,10,9641,9710,144,102,105,108,101,58,111,112,101,110,60,102,111,
- 114,45,114,101,97,100,105,110,103,62,0,1,0,2049,9487,2,2049,9597,4,10,
- 9684,9744,144,102,105,108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,
- 101,110,100,62,0,1,2,2049,9487,2,2049,9597,4,10,9719,9779,144,102,105,108,
- 101,58,111,112,101,110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,
- 1,1,2049,9487,10,9753,9809,144,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,9487,2,2049,9597,4,10,9784,
- 9842,144,102,105,108,101,58,111,112,101,110,45,102,111,114,45,97,112,112,101,
- 110,100,0,1,2,2049,9487,2,2049,9597,4,10,9818,9876,144,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,
- 9487,10,9851,9888,131,70,73,68,0,0,9881,9897,131,83,105,122,101,0,0,9889,
- 9908,131,65,99,116,105,111,110,0,0,9898,9919,131,66,117,102,102,101,114,0,
- 0,9909,9929,144,45,101,111,102,63,0,3841,9888,2049,9561,3841,9897,13,10,9920,9949,
- 144,112,114,101,115,101,114,118,101,0,1,9888,1793,9960,1,9897,1,21,2049,3079,
- 10,1,9953,2049,3079,10,9851,9983,144,102,105,108,101,58,114,101,97,100,45,108,
- 105,110,101,0,4097,9888,1793,10040,2049,1874,2,4097,9919,2049,3428,1793,10032,3841,9888,2049,
- 9524,2,2049,3336,1793,10009,1,13,11,10,1,10005,1793,10017,1,10,11,10,1,10013,
- 1793,10025,1,0,11,10,1,10021,2049,2159,22,22,10,1,9996,2049,2250,2049,3360,3,
- 10,1,9987,2049,3452,3841,9919,10,9965,10069,144,102,105,108,101,58,102,111,114,45,
- 101,97,99,104,45,108,105,110,101,0,1793,10100,4097,9908,2049,9809,4097,9888,4097,9897,
- 1793,10091,3841,9888,2049,9983,3841,9908,8,2049,9929,10,1,10081,2049,2227,3841,9888,2049,9506,
- 10,1,10071,2049,9949,10,10047,10112,131,70,73,68,0,0,10047,10127,144,102,105,108,
- 101,58,115,108,117,114,112,0,1793,10154,4,2049,3428,2049,9809,4097,10112,1793,10145,3841,
- 10112,2049,9524,2049,3336,10,1,10138,2049,2275,3841,10112,2049,9506,10,1,10129,2049,3452,10,
- 10113,10172,144,102,105,108,101,58,115,112,101,119,0,2049,9876,4,1793,10181,67502597,2049,
- 9543,10,1,10177,2049,3870,2049,9506,10,10159,10195,131,70,80,85,0,0,10188,10208,144,
- 105,100,101,110,116,105,102,121,0,3841,10195,2049,2527,1793,10275,1,2,2049,9139,2,
- 2049,2562,1793,10263,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,
- 69,32,48,48,48,50,32,78,79,84,32,70,79,85,78,68,0,1,10226,2049,
- 9235,2049,9198,10,1,10223,1793,10270,4097,10195,10,1,10267,2049,64,10,1,10214,9,10,
- 10159,10301,144,105,111,58,102,108,111,97,116,45,111,112,101,114,97,116,105,111,
- 110,0,2049,10208,3841,10195,2049,9122,10,10279,10322,144,110,58,116,111,45,102,108,111,
- 97,116,0,1,0,2049,10301,10,10308,10341,144,115,58,116,111,45,102,108,111,97,
- 116,0,1,1,2049,10301,10,10327,10361,144,102,58,116,111,45,110,117,109,98,101,
- 114,0,1,2,2049,10301,10,10346,10381,144,102,58,116,111,45,115,116,114,105,110,
- 103,0,2049,3627,2,1,3,2049,10301,10,10366,10396,144,102,58,43,0,1,4,2049,
- 10301,10,10389,10408,144,102,58,45,0,1,5,2049,10301,10,10401,10420,144,102,58,42,
- 0,1,6,2049,10301,10,10413,10432,144,102,58,47,0,1,7,2049,10301,10,10425,10448,
- 144,102,58,102,108,111,111,114,0,1,8,2049,10301,10,10437,10466,144,102,58,99,
- 101,105,108,105,110,103,0,1,9,2049,10301,10,10453,10481,144,102,58,115,113,114,
- 116,0,1,10,2049,10301,10,10471,10495,144,102,58,101,113,63,0,1,11,2049,10301,
- 10,10486,10510,144,102,58,45,101,113,63,0,1,12,2049,10301,10,10500,10524,144,102,
- 58,108,116,63,0,1,13,2049,10301,10,10515,10538,144,102,58,103,116,63,0,1,
- 14,2049,10301,10,10529,10554,144,102,58,100,101,112,116,104,0,1,15,2049,10301,10,
- 10543,10568,144,102,58,100,117,112,0,1,16,2049,10301,10,10559,10583,144,102,58,100,
- 114,111,112,0,1,17,2049,10301,10,10573,10598,144,102,58,115,119,97,112,0,1,
- 18,2049,10301,10,10588,10612,144,102,58,108,111,103,0,1,19,2049,10301,10,10603,10628,
- 144,102,58,112,111,119,101,114,0,1,20,2049,10301,10,10617,10642,144,102,58,115,
- 105,110,0,1,21,2049,10301,10,10633,10656,144,102,58,99,111,115,0,1,22,2049,
- 10301,10,10647,10670,144,102,58,116,97,110,0,1,23,2049,10301,10,10661,10685,144,102,
- 58,97,115,105,110,0,1,24,2049,10301,10,10675,10700,144,102,58,97,99,111,115,
- 0,1,25,2049,10301,10,10690,10715,144,102,58,97,116,97,110,0,1,26,2049,10301,
- 10,10705,10730,144,102,58,112,117,115,104,0,1,27,2049,10301,10,10720,10744,144,102,
- 58,112,111,112,0,1,28,2049,10301,10,10735,10761,144,102,58,97,100,101,112,116,
- 104,0,1,29,2049,10301,10,10749,10778,144,102,58,115,113,117,97,114,101,0,2049,
- 10568,2049,10420,10,10766,10793,144,102,58,111,118,101,114,0,2049,10730,2049,10568,2049,10744,
- 2049,10598,10,10783,10812,144,102,58,116,117,99,107,0,2049,10568,2049,10730,2049,10598,2049,
- 10744,10,10802,10830,144,102,58,110,105,112,0,2049,10598,2049,10583,10,10821,10850,144,102,
- 58,100,114,111,112,45,112,97,105,114,0,2049,10583,2049,10583,10,10835,10869,144,102,
- 58,100,117,112,45,112,97,105,114,0,2049,10793,2049,10793,10,10855,10883,144,102,58,
- 114,111,116,0,2049,10730,2049,10598,2049,10744,2049,10598,10,10874,10907,144,102,58,112,111,
- 115,105,116,105,118,101,63,0,1,0,2049,10322,2049,10538,10,10892,10929,144,102,58,
- 110,101,103,97,116,105,118,101,63,0,1,0,2049,10322,2049,10524,10,10914,10948,144,
- 102,58,110,101,103,97,116,101,0,1,-1,2049,10322,2049,10420,10,10936,10964,144,102,
- 58,97,98,115,0,2049,10568,2049,10929,1,10948,9,10,10955,10984,156,112,114,101,102,
- 105,120,58,46,0,2049,1815,1,3672,1,3601,2049,64,1,10341,2049,144,10,10972,11006,
- 144,102,58,112,117,116,0,2049,10381,2049,9235,10,10997,11019,144,102,58,80,73,0,
- 2049,3646,51,46,49,52,49,53,57,50,0,1,11021,2049,10341,10,11011,11042,144,102,
- 58,69,0,2049,3646,50,46,55,49,56,50,56,49,0,1,11044,2049,10341,10,11035,
- 11067,144,102,58,78,65,78,0,2049,3646,48,0,1,11069,2049,10341,2049,3646,48,0,
- 1,11077,2049,10341,2049,10432,10,11058,11095,144,102,58,73,78,70,0,2049,3646,49,46,
- 48,0,1,11097,2049,10341,2049,3646,48,0,1,11107,2049,10341,2049,10432,10,11086,11126,144,
- 102,58,45,73,78,70,0,2049,3646,45,49,46,48,0,1,11128,2049,10341,2049,3646,
- 48,0,1,11139,2049,10341,2049,10432,10,11116,11158,144,102,58,110,97,110,63,0,2049,
- 10568,2049,10510,10,11148,11173,144,102,58,105,110,102,63,0,2049,11095,2049,10495,10,11163,
- 11189,144,102,58,45,105,110,102,63,0,2049,11126,2049,10495,10,11178,11205,144,102,58,
- 114,111,117,110,100,0,2049,10568,2049,10929,1793,11226,2049,3646,48,46,53,0,1,11213,
- 2049,10341,2049,10408,2049,10466,10,1,11211,1793,11245,2049,3646,48,46,53,0,1,11232,2049,
- 10341,2049,10396,2049,10448,10,1,11230,2049,64,10,11194,11259,144,102,58,109,105,110,0,
- 2049,10869,2049,10524,1,10583,1,10830,2049,64,10,11250,11279,144,102,58,109,97,120,0,
- 2049,10869,2049,10538,1,10583,1,10830,2049,64,10,11270,11301,144,102,58,108,105,109,105,
- 116,0,2049,10598,2049,10730,2049,11259,2049,10744,2049,11279,10,11290,11326,144,102,58,98,101,
- 116,119,101,101,110,63,0,2049,10883,2049,10568,2049,10730,2049,10883,2049,10883,2049,11301,2049,
- 10744,2049,10495,10,11312,11352,144,102,58,105,110,99,0,2049,3646,49,0,1,11354,2049,
- 10341,2049,10396,10,11343,11372,144,102,58,100,101,99,0,2049,3646,49,0,1,11374,2049,
- 10341,2049,10408,10,11363,11393,144,102,58,99,97,115,101,0,2049,10793,2049,10495,1793,11405,
- 2049,10583,8,1,-1,10,1,11399,1793,11413,3,1,0,10,1,11409,2049,64,25,6,
- 771,10,11383,11431,144,102,58,115,105,103,110,0,2049,10568,2049,3646,48,0,1,11435,
- 2049,10341,2049,10495,1793,11450,1,0,2049,10583,10,1,11445,2049,2653,2049,3646,48,0,1,
- 11456,2049,10341,2049,10538,1793,11469,1,1,10,1,11466,1793,11476,1,-1,10,1,11473,2049,
- 64,10,11421,2147483645,131,101,58,77,65,88,0,11481,-2147483645,131,101,58,77,73,78,0,
- 11490,-2147483647,131,101,58,78,65,78,0,11499,2147483646,131,101,58,73,78,70,0,11508,-2147483646,
- 131,101,58,45,73,78,70,0,11517,11535,144,101,58,110,63,0,1,-2147483645,2049,2890,
- 1,2147483645,2049,2903,2049,2921,10,11527,11556,144,101,58,109,97,120,63,0,1,2147483645,11,
- 10,11546,11570,144,101,58,109,105,110,63,0,1,-2147483645,11,10,11560,11585,144,101,58,
- 122,101,114,111,63,0,2049,2527,10,11574,11598,144,101,58,110,97,110,63,0,1,
- -2147483647,11,10,11588,11612,144,101,58,105,110,102,63,0,1,2147483646,11,10,11602,11627,144,
- 101,58,45,105,110,102,63,0,1,-2147483646,11,10,11616,11641,144,101,58,99,108,105,
- 112,0,1,-2147483645,1,2147483645,2049,2873,10,11631,11656,144,102,58,69,49,0,1793,11658,2049,
- 3646,49,46,101,53,0,1,11660,2049,10341,10,11648,11682,144,102,58,45,115,104,105,
- 102,116,0,2049,11656,2049,10420,10,11670,11699,144,102,58,43,115,104,105,102,116,0,
- 2049,11656,2049,10432,10,11687,11721,144,102,58,115,105,103,110,101,100,45,115,113,114,
- 116,0,2049,10568,2049,11431,2049,10964,2049,10481,2049,10322,2049,10420,10,11704,11747,144,102,58,
- 43,101,110,99,111,100,101,0,2049,11721,2049,11682,10,11734,11765,144,102,58,45,101,
- 110,99,111,100,101,0,2049,10568,2049,11431,2049,11699,2049,10568,2049,10420,2049,10322,2049,10420,
- 10,11752,11799,144,102,58,115,105,103,110,101,100,45,115,113,117,97,114,101,0,
- 2049,10568,2049,11431,2049,10568,2049,10420,2049,10322,2049,10420,10,11780,11822,144,102,58,116,111,
- 45,101,0,2049,10568,2049,11158,1793,11833,2049,10583,1,-2147483647,10,1,11828,2049,2653,2049,10568,
- 2049,11173,1793,11848,2049,10583,1,2147483646,10,1,11843,2049,2653,2049,10568,2049,11189,1793,11863,2049,
- 10583,1,-2147483646,10,1,11858,2049,2653,2049,11747,2049,11205,2049,10361,2049,11641,1,-2147483645,1793,11882,
- 2049,10583,10,1,11879,2049,2373,1,2147483645,1793,11893,2049,10583,10,1,11890,2049,2373,10,11812,
- 11908,144,101,58,116,111,45,102,0,1,-2147483647,1793,11915,2049,11067,10,1,11912,2049,2373,
- 1,2147483646,1793,11926,2049,11095,10,1,11923,2049,2373,1,-2147483646,1793,11937,2049,11126,10,1,11934,
- 2049,2373,2049,10322,2049,11765,10,11898,11957,144,102,58,115,116,111,114,101,0,1793,11962,
- 2049,11822,10,1,11959,2049,2100,16,10,11946,11979,144,102,58,102,101,116,99,104,0,
- 15,2049,11908,10,11968,11999,144,102,58,100,117,109,112,45,115,116,97,99,107,0,
- 2049,10554,2,1,10730,2049,2275,1793,12017,2049,10744,2049,10568,2049,11006,2049,9209,10,1,12008,
- 2049,2275,10,11983,12039,144,102,58,100,117,109,112,45,97,115,116,97,99,107,0,
- 2049,10761,2,1,10744,2049,2275,1793,12057,2049,10568,2049,11006,2049,9209,2049,10730,10,1,12048,
- 2049,2275,10,12022,12071,144,101,58,112,117,116,0,1,2147483645,1793,12088,2049,3646,101,58,
- 77,65,88,0,1,12077,2049,9235,10,1,12075,2049,2373,1,-2147483645,1793,12109,2049,3646,101,
- 58,77,73,78,0,1,12098,2049,9235,10,1,12096,2049,2373,1,0,1793,12128,2049,3646,
- 101,58,48,0,1,12119,2049,9235,10,1,12117,2049,2373,1,-2147483647,1793,12149,2049,3646,101,
- 58,78,65,78,0,1,12138,2049,9235,10,1,12136,2049,2373,1,2147483646,1793,12170,2049,3646,
- 101,58,73,78,70,0,1,12159,2049,9235,10,1,12157,2049,2373,1,-2147483646,1793,12192,2049,
- 3646,101,58,45,73,78,70,0,1,12180,2049,9235,10,1,12178,2049,2373,2049,11908,2049,
- 11006,10,12062,12209,131,85,110,105,120,0,0,12201,12222,144,105,100,101,110,116,105,
- 102,121,0,3841,12209,2049,2527,1793,12289,1,8,2049,9139,2,2049,2562,1793,12277,3,2049,
- 3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,56,
- 32,78,79,84,32,70,79,85,78,68,0,1,12240,2049,9235,2049,9198,10,1,12237,
- 1793,12284,4097,12209,10,1,12281,2049,64,10,1,12228,9,10,12062,12312,144,105,111,58,
- 117,110,105,120,45,115,121,115,99,97,108,108,0,2049,12222,3841,12209,2049,9122,10,
- 12293,12334,144,117,110,105,120,58,115,121,115,116,101,109,0,1,0,2049,12312,10,
- 12319,12352,144,117,110,105,120,58,102,111,114,107,0,1,1,2049,12312,10,12339,12371,
- 144,117,110,105,120,58,101,120,101,99,48,0,1,2,2049,12312,10,12357,12390,144,
- 117,110,105,120,58,101,120,101,99,49,0,1,3,2049,12312,10,12376,12409,144,117,
- 110,105,120,58,101,120,101,99,50,0,1,4,2049,12312,10,12395,12428,144,117,110,
- 105,120,58,101,120,101,99,51,0,1,5,2049,12312,10,12414,12446,144,117,110,105,
- 120,58,101,120,105,116,0,1,6,2049,12312,10,12433,12466,144,117,110,105,120,58,
- 103,101,116,112,105,100,0,1,7,2049,12312,10,12451,12484,144,117,110,105,120,58,
- 119,97,105,116,0,1,8,2049,12312,10,12471,12502,144,117,110,105,120,58,107,105,
- 108,108,0,1,9,2049,12312,10,12489,12521,144,117,110,105,120,58,112,111,112,101,
- 110,0,1,10,2049,12312,10,12507,12541,144,117,110,105,120,58,112,99,108,111,115,
- 101,0,1,11,2049,12312,10,12526,12560,144,117,110,105,120,58,99,104,100,105,114,
- 0,1,13,2049,12312,10,12546,12580,144,117,110,105,120,58,103,101,116,101,110,118,
- 0,1,14,2049,12312,10,12565,12600,144,117,110,105,120,58,112,117,116,101,110,118,
- 0,1,15,2049,12312,10,12585,12619,144,117,110,105,120,58,115,108,101,101,112,0,
- 1,16,2049,12312,10,12605,12640,144,117,110,105,120,58,103,101,116,45,99,119,100,
- 0,2049,3646,112,119,100,0,1,12642,1,0,2049,12521,2,2049,9983,2049,5990,4,2049,
- 12541,2049,3646,47,0,1,12662,2049,3852,10,12624,12696,144,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,3646,108,
- 115,32,45,49,32,124,32,119,99,32,45,108,0,1,12698,1,0,2049,12521,2,
- 2049,9983,2049,5990,2049,220,4,2049,12541,10,12669,12751,144,117,110,105,120,58,102,111,
- 114,45,101,97,99,104,45,102,105,108,101,0,2049,3646,108,115,32,45,49,32,
- 45,112,0,1,12753,1,0,2049,12521,2049,12696,1793,12786,1793,12781,2049,9983,2049,3601,67502597,
- 8,10,1,12774,2049,2110,10,1,12772,2049,2275,2049,12541,3,10,12729,12803,144,115,116,
- 97,114,116,0,4,2049,3428,1,0,2049,12521,10,12794,12819,144,114,101,97,100,0,
- 2,2049,9524,2,2049,3336,2049,2527,10,12811,12838,144,102,105,110,105,115,104,0,2049,
- 12541,2049,3408,10,12729,12862,144,117,110,105,120,58,115,108,117,114,112,45,112,105,
- 112,101,0,1793,12878,2049,12803,1793,12871,2049,12819,10,1,12868,2049,2250,2049,12838,10,1,
- 12864,2049,3452,10,12843,12889,131,105,111,0,0,12883,12902,144,105,100,101,110,116,105,
- 102,121,0,3841,12889,2049,2527,1793,12969,1,10,2049,9139,2,2049,2562,1793,12957,3,2049,
- 3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,49,48,
- 32,78,79,84,32,70,79,85,78,68,0,1,12920,2049,9235,2049,9198,10,1,12917,
- 1793,12964,4097,12889,10,1,12961,2049,64,10,1,12908,9,10,12843,12993,144,105,111,58,
- 114,110,103,45,111,112,101,114,97,116,105,111,110,0,2049,12902,3841,12889,2049,9122,
- 10,12973,13012,144,110,58,114,97,110,100,111,109,0,2049,12993,10,13000,13026,131,83,
- 111,99,107,101,116,115,0,0,13015,13039,144,105,100,101,110,116,105,102,121,0,
- 3841,13026,2049,2527,1793,13106,1,7,2049,9139,2,2049,2562,1793,13094,3,2049,3646,73,79,
- 32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,52,32,78,79,
- 84,32,70,79,85,78,68,0,1,13057,2049,9235,2049,9198,10,1,13054,1793,13101,4097,
- 13026,10,1,13098,2049,64,10,1,13045,9,10,13000,13133,144,105,111,58,115,111,99,
- 107,101,116,45,111,112,101,114,97,116,105,111,110,0,2049,13039,3841,13026,2049,9122,
- 10,13110,13164,144,115,111,99,107,101,116,58,103,101,116,104,111,115,116,98,121,
- 110,97,109,101,0,1,0,2049,13133,10,13140,13186,144,115,111,99,107,101,116,58,
- 99,114,101,97,116,101,0,1,1,2049,13133,10,13169,13206,144,115,111,99,107,101,
- 116,58,98,105,110,100,0,1,2,2049,13133,10,13191,13228,144,115,111,99,107,101,
- 116,58,108,105,115,116,101,110,0,1,3,2049,13133,10,13211,13250,144,115,111,99,
- 107,101,116,58,97,99,99,101,112,116,0,1,4,2049,13133,10,13233,13273,144,115,
- 111,99,107,101,116,58,99,111,110,110,101,99,116,0,1,5,2049,13133,10,13255,
- 13293,144,115,111,99,107,101,116,58,115,101,110,100,0,1,6,2049,13133,10,13278,
- 13313,144,115,111,99,107,101,116,58,114,101,99,118,0,1,8,2049,13133,10,13298,
- 13334,144,115,111,99,107,101,116,58,99,108,111,115,101,0,1,10,2049,13133,10,
- 13318,13359,144,115,111,99,107,101,116,58,99,111,110,102,105,103,117,114,101,0,
- 1,11,2049,13133,10,13339,13377,131,83,99,114,105,112,116,105,110,103,0,7,13364,
- 13390,144,105,100,101,110,116,105,102,121,0,3841,13377,2049,2527,1793,13457,1,9,2049,
- 9139,2,2049,2562,1793,13445,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,
- 89,80,69,32,48,48,48,57,32,78,79,84,32,70,79,85,78,68,0,1,
- 13408,2049,9235,2049,9198,10,1,13405,1793,13452,4097,13377,10,1,13449,2049,64,10,1,13396,
- 9,10,13339,13481,144,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,
- 115,0,2049,13390,1,0,3841,13377,2049,9122,10,13461,13513,144,115,99,114,105,112,116,
- 58,103,101,116,45,97,114,103,117,109,101,110,116,0,2049,3627,4,2049,13390,1,
- 1,3841,13377,2049,9122,10,13490,13536,144,105,110,99,108,117,100,101,0,2049,13390,1,
- 2,3841,13377,2049,9122,10,13525,13560,144,115,99,114,105,112,116,58,110,97,109,101,
- 0,2049,3627,2049,13390,1,3,3841,13377,2049,9122,10,13545,13594,144,115,99,114,105,112,
- 116,58,99,117,114,114,101,110,116,45,102,105,108,101,0,2049,3627,2049,13390,1,
- 4,3841,13377,2049,9122,10,13571,13628,144,115,99,114,105,112,116,58,99,117,114,114,
- 101,110,116,45,108,105,110,101,0,2049,13390,1,5,3841,13377,2049,9122,10,13605,13661,
- 144,115,99,114,105,112,116,58,105,103,110,111,114,101,45,116,111,45,101,111,
- 108,0,2049,13390,1,6,3841,13377,2049,9122,10,13637,13694,144,115,99,114,105,112,116,
- 58,97,98,111,114,116,45,105,110,99,108,117,100,101,0,2049,13390,1,7,3841,
- 13377,2049,9122,10,13670,13715,144,115,121,115,58,97,114,103,99,0,2049,13481,10,13703,
- 13730,144,115,121,115,58,97,114,103,118,0,2049,13513,10,13718,13745,144,115,121,115,
- 58,110,97,109,101,0,2049,13560,10,13733,1024,131,84,73,66,0,13748,13769,144,105,
- 109,97,103,101,58,115,97,118,101,0,1,1000,2049,9139,2049,9122,10,13755,13788,131,
- 75,101,121,98,111,97,114,100,0,0,13776,13801,144,105,100,101,110,116,105,102,
- 121,0,3841,13788,2049,2527,1793,13868,1,1,2049,9139,2,2049,2562,1793,13856,3,2049,3646,
- 73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,49,32,
- 78,79,84,32,70,79,85,78,68,0,1,13819,2049,9235,2049,9198,10,1,13816,1793,
- 13863,4097,13788,10,1,13860,2049,64,10,1,13807,9,10,13755,13881,144,99,58,103,101,
- 116,0,2049,13801,3841,13788,2049,9122,10,13872,13898,144,103,97,116,104,101,114,0,2,
- 1793,13905,1,8,11,10,1,13901,1793,13913,1,127,11,10,1,13909,2049,2122,22,1,
- 11,1,3336,2049,64,10,13888,13934,144,99,121,99,108,101,0,2049,13881,2049,2090,4,
- 8,2049,2459,25,3,2049,13898,1,13934,7,10,13872,13965,144,112,97,114,115,101,45,
- 117,110,116,105,108,0,1793,13977,2049,3627,2049,3428,2049,13934,771,2049,3302,10,1,13967,
- 2049,3452,10,13950,13991,144,115,58,103,101,116,0,1793,14013,1793,13999,1,10,11,10,
- 1,13995,1793,14007,1,13,11,10,1,14003,2049,2122,22,10,1,13993,2049,13965,10,13982,
- 14032,144,115,58,103,101,116,45,119,111,114,100,0,1,5592,2049,13965,10,14018,14046,
- 144,99,108,101,97,114,0,1,27,2049,9185,2049,3646,91,50,74,0,1,14052,2049,
- 9235,1,27,2049,9185,2049,3646,91,48,59,48,72,0,1,14066,2049,9235,10,14037,14087,
- 131,78,111,69,99,104,111,0,0,14077,14095,144,98,121,101,0,1,0,2049,12446,
- 10,14088,14107,131,69,79,84,0,0,14100,14120,131,73,103,110,111,114,105,110,103,
- 0,0,14108,14134,144,105,103,110,111,114,105,110,103,63,0,3841,14120,10,14121,14148,
- 144,118,101,114,115,105,111,110,0,3841,4,1,100,20,10,14137,14163,144,100,111,
- 110,101,63,0,2,4097,14107,1793,14172,1,13,11,10,1,14168,1793,14180,1,10,11,
- 10,1,14176,1793,14188,1,32,11,10,1,14184,2049,2159,22,22,10,14154,14203,144,101,
- 111,108,63,0,3841,14107,1793,14211,1,13,11,10,1,14207,1793,14219,1,10,11,10,
- 1,14215,2049,2122,22,10,14195,14235,144,118,97,108,105,100,63,0,2,2049,79,2049,
- 2609,10,14225,14254,144,99,104,101,99,107,45,101,111,102,0,2,1793,14261,1,-1,
- 11,10,1,14257,1793,14269,1,4,11,10,1,14265,2049,2122,22,1,14095,9,10,14241,
- 14284,144,98,115,0,2049,3360,2049,3360,771,10,14278,14302,144,99,104,101,99,107,45,
- 98,115,0,2,1793,14309,1,8,11,10,1,14305,1793,14317,1,127,11,10,1,14313,
- 2049,2122,22,1,14284,9,10,14290,14335,144,99,104,101,99,107,0,2049,14254,2049,14302,
- 10,14326,14353,144,99,104,97,114,97,99,116,101,114,0,2049,13881,2,2049,3336,10,
- 14340,14369,144,98,117,102,102,101,114,0,1793,14379,1,1024,2049,3428,8,2049,3302,10,
- 1,14371,2049,3452,10,14359,14398,144,114,101,97,100,45,116,111,107,101,110,0,1793,
- 14414,1793,14409,2049,14353,2049,14335,2049,14163,10,1,14402,2049,2250,10,1,14400,2049,14369,2049,
- 3724,10,14384,14430,144,105,110,112,117,116,0,2049,14398,2049,14235,10,14421,14446,144,112,
- 114,111,99,101,115,115,0,2049,14134,1793,14464,771,2049,14203,1793,14460,1,14120,2049,3047,
- 10,1,14455,9,10,1,14450,2049,2653,1,367,1,11,2049,64,10,14088,14481,156,47,
- 47,0,2049,13661,1,14120,2049,3034,10,14475,14498,144,98,97,110,110,101,114,0,2049,
- 14148,2049,3646,82,69,84,82,79,32,49,50,32,40,37,110,46,37,110,41,92,
- 110,0,1,14502,2049,7212,2049,9235,2049,1543,2049,1874,18,2049,1874,2049,1543,2049,3646,37,
- 110,32,77,97,120,44,32,37,110,32,85,115,101,100,44,32,37,110,32,70,
- 114,101,101,92,110,0,1,14538,2049,7212,2049,9235,10,14488,14582,144,108,105,115,116,
- 101,110,0,3841,14087,1793,14589,2049,14498,10,1,14586,2049,70,2049,14430,2049,14446,1,14593,
- 7,10,14572,14610,131,67,108,111,99,107,0,0,14601,14623,144,105,100,101,110,116,
- 105,102,121,0,3841,14610,2049,2527,1793,14690,1,5,2049,9139,2,2049,2562,1793,14678,3,
- 2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,
- 53,32,78,79,84,32,70,79,85,78,68,0,1,14641,2049,9235,2049,9198,10,1,
- 14638,1793,14685,4097,14610,10,1,14682,2049,64,10,1,14629,9,10,14572,14716,144,105,111,
- 58,99,108,111,99,107,45,111,112,101,114,97,116,105,111,110,0,2049,14623,3841,
- 14610,2049,9122,10,14694,14742,144,99,108,111,99,107,58,116,105,109,101,115,116,97,
- 109,112,0,1,0,2049,14716,10,14723,14760,144,99,108,111,99,107,58,100,97,121,
- 0,1,1,2049,14716,10,14747,14780,144,99,108,111,99,107,58,109,111,110,116,104,
- 0,1,2,2049,14716,10,14765,14799,144,99,108,111,99,107,58,121,101,97,114,0,
- 1,3,2049,14716,10,14785,14818,144,99,108,111,99,107,58,104,111,117,114,0,1,
- 4,2049,14716,10,14804,14839,144,99,108,111,99,107,58,109,105,110,117,116,101,0,
- 1,5,2049,14716,10,14823,14860,144,99,108,111,99,107,58,115,101,99,111,110,100,
- 0,1,6,2049,14716,10,14844,14882,144,99,108,111,99,107,58,117,116,99,58,100,
- 97,121,0,1,7,2049,14716,10,14865,14906,144,99,108,111,99,107,58,117,116,99,
- 58,109,111,110,116,104,0,1,8,2049,14716,10,14887,14929,144,99,108,111,99,107,
- 58,117,116,99,58,121,101,97,114,0,1,9,2049,14716,10,14911,14952,144,99,108,
- 111,99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,14716,10,14934,14977,
- 144,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,
- 2049,14716,10,14957,15002,144,99,108,111,99,107,58,117,116,99,58,115,101,99,111,
- 110,100,0,1,12,2049,14716,10,14982,15018,144,100,58,119,111,114,100,115,0,1793,
- 15027,2049,162,2049,9235,2049,9209,10,1,15020,2049,7441,10,15007,15048,144,100,58,119,111,
- 114,100,115,45,119,105,116,104,0,2049,1874,2049,4648,1793,15079,2049,162,2,2049,1874,
- 2049,4162,1793,15068,2049,9235,2049,9209,10,1,15063,1793,15074,3,10,1,15072,2049,64,10,
- 1,15054,2049,7441,10,15032,15103,144,100,105,115,112,108,97,121,45,105,102,45,108,
- 101,102,116,0,2,2049,1874,2049,4598,1793,15115,2049,9235,2049,9209,10,1,15110,1793,15121,
- 3,10,1,15119,2049,64,10,15032,15152,144,100,58,119,111,114,100,115,45,98,101,
- 103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1874,2049,4648,1793,15163,2049,
- 162,2049,15103,10,1,15158,2049,7441,10,0 };
+ 64,10,1,9340,9,10,9295,9423,144,102,105,108,101,58,111,112,101,114,97,116,
+ 105,111,110,0,2049,9334,3841,9321,2049,9122,10,9405,0,131,102,105,108,101,58,82,
+ 0,9430,1,131,102,105,108,101,58,87,0,9440,2,131,102,105,108,101,58,65,
+ 0,9450,3,131,102,105,108,101,58,82,43,0,9460,9484,144,102,105,108,101,58,
+ 111,112,101,110,0,1,0,2049,9423,10,9471,9503,144,102,105,108,101,58,99,108,
+ 111,115,101,0,1,1,2049,9423,10,9489,9521,144,102,105,108,101,58,114,101,97,
+ 100,0,1,2,2049,9423,10,9508,9540,144,102,105,108,101,58,119,114,105,116,101,
+ 0,1,3,2049,9423,10,9526,9558,144,102,105,108,101,58,116,101,108,108,0,1,
+ 4,2049,9423,10,9545,9576,144,102,105,108,101,58,115,101,101,107,0,1,5,2049,
+ 9423,10,9563,9594,144,102,105,108,101,58,115,105,122,101,0,1,6,2049,9423,10,
+ 9581,9614,144,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049,9423,10,
+ 9599,9633,144,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,9423,10,9619,
+ 9654,144,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049,9484,2,
+ 2049,2543,1793,9668,2049,9503,2049,2350,10,1,9663,1793,9676,3,2049,2362,10,1,9672,2049,
+ 64,10,9638,9707,144,102,105,108,101,58,111,112,101,110,60,102,111,114,45,114,
+ 101,97,100,105,110,103,62,0,1,0,2049,9484,2,2049,9594,4,10,9681,9741,144,
+ 102,105,108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,101,110,100,
+ 62,0,1,2,2049,9484,2,2049,9594,4,10,9716,9776,144,102,105,108,101,58,111,
+ 112,101,110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,1,1,2049,
+ 9484,10,9750,9806,144,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,9484,2,2049,9594,4,10,9781,9839,144,102,
+ 105,108,101,58,111,112,101,110,45,102,111,114,45,97,112,112,101,110,100,0,
+ 1,2,2049,9484,2,2049,9594,4,10,9815,9873,144,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,9484,10,9848,
+ 9885,131,70,73,68,0,0,9878,9894,131,83,105,122,101,0,0,9886,9905,131,65,
+ 99,116,105,111,110,0,0,9895,9916,131,66,117,102,102,101,114,0,0,9906,9926,
+ 144,45,101,111,102,63,0,3841,9885,2049,9558,3841,9894,13,10,9917,9946,144,112,114,
+ 101,115,101,114,118,101,0,1,9885,1793,9957,1,9894,1,21,2049,3079,10,1,9950,
+ 2049,3079,10,9848,9980,144,102,105,108,101,58,114,101,97,100,45,108,105,110,101,
+ 0,4097,9885,1793,10037,2049,1874,2,4097,9916,2049,3428,1793,10029,3841,9885,2049,9521,2,2049,
+ 3336,1793,10006,1,13,11,10,1,10002,1793,10014,1,10,11,10,1,10010,1793,10022,1,
+ 0,11,10,1,10018,2049,2159,22,22,10,1,9993,2049,2250,2049,3360,3,10,1,9984,
+ 2049,3452,3841,9916,10,9962,10066,144,102,105,108,101,58,102,111,114,45,101,97,99,
+ 104,45,108,105,110,101,0,1793,10097,4097,9905,2049,9806,4097,9885,4097,9894,1793,10088,3841,
+ 9885,2049,9980,3841,9905,8,2049,9926,10,1,10078,2049,2227,3841,9885,2049,9503,10,1,10068,
+ 2049,9946,10,10044,10109,131,70,73,68,0,0,10044,10124,144,102,105,108,101,58,115,
+ 108,117,114,112,0,1793,10151,4,2049,3428,2049,9806,4097,10109,1793,10142,3841,10109,2049,9521,
+ 2049,3336,10,1,10135,2049,2275,3841,10109,2049,9503,10,1,10126,2049,3452,10,10110,10169,144,
+ 102,105,108,101,58,115,112,101,119,0,2049,9873,4,1793,10178,67502597,2049,9540,10,1,
+ 10174,2049,3870,2049,9503,10,10156,10192,131,70,80,85,0,0,10185,10205,144,105,100,101,
+ 110,116,105,102,121,0,3841,10192,2049,2527,1793,10272,1,2,2049,9139,2,2049,2562,1793,
+ 10260,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,
+ 48,48,50,32,78,79,84,32,70,79,85,78,68,0,1,10223,2049,9235,2049,9198,
+ 10,1,10220,1793,10267,4097,10192,10,1,10264,2049,64,10,1,10211,9,10,10156,10298,144,
+ 105,111,58,102,108,111,97,116,45,111,112,101,114,97,116,105,111,110,0,2049,
+ 10205,3841,10192,2049,9122,10,10276,10319,144,110,58,116,111,45,102,108,111,97,116,0,
+ 1,0,2049,10298,10,10305,10338,144,115,58,116,111,45,102,108,111,97,116,0,1,
+ 1,2049,10298,10,10324,10358,144,102,58,116,111,45,110,117,109,98,101,114,0,1,
+ 2,2049,10298,10,10343,10378,144,102,58,116,111,45,115,116,114,105,110,103,0,2049,
+ 3627,2,1,3,2049,10298,10,10363,10393,144,102,58,43,0,1,4,2049,10298,10,10386,
+ 10405,144,102,58,45,0,1,5,2049,10298,10,10398,10417,144,102,58,42,0,1,6,
+ 2049,10298,10,10410,10429,144,102,58,47,0,1,7,2049,10298,10,10422,10445,144,102,58,
+ 102,108,111,111,114,0,1,8,2049,10298,10,10434,10463,144,102,58,99,101,105,108,
+ 105,110,103,0,1,9,2049,10298,10,10450,10478,144,102,58,115,113,114,116,0,1,
+ 10,2049,10298,10,10468,10492,144,102,58,101,113,63,0,1,11,2049,10298,10,10483,10507,
+ 144,102,58,45,101,113,63,0,1,12,2049,10298,10,10497,10521,144,102,58,108,116,
+ 63,0,1,13,2049,10298,10,10512,10535,144,102,58,103,116,63,0,1,14,2049,10298,
+ 10,10526,10551,144,102,58,100,101,112,116,104,0,1,15,2049,10298,10,10540,10565,144,
+ 102,58,100,117,112,0,1,16,2049,10298,10,10556,10580,144,102,58,100,114,111,112,
+ 0,1,17,2049,10298,10,10570,10595,144,102,58,115,119,97,112,0,1,18,2049,10298,
+ 10,10585,10609,144,102,58,108,111,103,0,1,19,2049,10298,10,10600,10625,144,102,58,
+ 112,111,119,101,114,0,1,20,2049,10298,10,10614,10639,144,102,58,115,105,110,0,
+ 1,21,2049,10298,10,10630,10653,144,102,58,99,111,115,0,1,22,2049,10298,10,10644,
+ 10667,144,102,58,116,97,110,0,1,23,2049,10298,10,10658,10682,144,102,58,97,115,
+ 105,110,0,1,24,2049,10298,10,10672,10697,144,102,58,97,99,111,115,0,1,25,
+ 2049,10298,10,10687,10712,144,102,58,97,116,97,110,0,1,26,2049,10298,10,10702,10727,
+ 144,102,58,112,117,115,104,0,1,27,2049,10298,10,10717,10741,144,102,58,112,111,
+ 112,0,1,28,2049,10298,10,10732,10758,144,102,58,97,100,101,112,116,104,0,1,
+ 29,2049,10298,10,10746,10775,144,102,58,115,113,117,97,114,101,0,2049,10565,2049,10417,
+ 10,10763,10790,144,102,58,111,118,101,114,0,2049,10727,2049,10565,2049,10741,2049,10595,10,
+ 10780,10809,144,102,58,116,117,99,107,0,2049,10565,2049,10727,2049,10595,2049,10741,10,10799,
+ 10827,144,102,58,110,105,112,0,2049,10595,2049,10580,10,10818,10847,144,102,58,100,114,
+ 111,112,45,112,97,105,114,0,2049,10580,2049,10580,10,10832,10866,144,102,58,100,117,
+ 112,45,112,97,105,114,0,2049,10790,2049,10790,10,10852,10880,144,102,58,114,111,116,
+ 0,2049,10727,2049,10595,2049,10741,2049,10595,10,10871,10904,144,102,58,112,111,115,105,116,
+ 105,118,101,63,0,1,0,2049,10319,2049,10535,10,10889,10926,144,102,58,110,101,103,
+ 97,116,105,118,101,63,0,1,0,2049,10319,2049,10521,10,10911,10945,144,102,58,110,
+ 101,103,97,116,101,0,1,-1,2049,10319,2049,10417,10,10933,10961,144,102,58,97,98,
+ 115,0,2049,10565,2049,10926,1,10945,9,10,10952,10981,156,112,114,101,102,105,120,58,
+ 46,0,2049,1815,1,3672,1,3601,2049,64,1,10338,2049,144,10,10969,11003,144,102,58,
+ 112,117,116,0,2049,10378,2049,9235,10,10994,11016,144,102,58,80,73,0,2049,3646,51,
+ 46,49,52,49,53,57,50,0,1,11018,2049,10338,10,11008,11039,144,102,58,69,0,
+ 2049,3646,50,46,55,49,56,50,56,49,0,1,11041,2049,10338,10,11032,11064,144,102,
+ 58,78,65,78,0,2049,3646,48,0,1,11066,2049,10338,2049,3646,48,0,1,11074,2049,
+ 10338,2049,10429,10,11055,11092,144,102,58,73,78,70,0,2049,3646,49,46,48,0,1,
+ 11094,2049,10338,2049,3646,48,0,1,11104,2049,10338,2049,10429,10,11083,11123,144,102,58,45,
+ 73,78,70,0,2049,3646,45,49,46,48,0,1,11125,2049,10338,2049,3646,48,0,1,
+ 11136,2049,10338,2049,10429,10,11113,11155,144,102,58,110,97,110,63,0,2049,10565,2049,10507,
+ 10,11145,11170,144,102,58,105,110,102,63,0,2049,11092,2049,10492,10,11160,11186,144,102,
+ 58,45,105,110,102,63,0,2049,11123,2049,10492,10,11175,11202,144,102,58,114,111,117,
+ 110,100,0,2049,10565,2049,10926,1793,11223,2049,3646,48,46,53,0,1,11210,2049,10338,2049,
+ 10405,2049,10463,10,1,11208,1793,11242,2049,3646,48,46,53,0,1,11229,2049,10338,2049,10393,
+ 2049,10445,10,1,11227,2049,64,10,11191,11256,144,102,58,109,105,110,0,2049,10866,2049,
+ 10521,1,10580,1,10827,2049,64,10,11247,11276,144,102,58,109,97,120,0,2049,10866,2049,
+ 10535,1,10580,1,10827,2049,64,10,11267,11298,144,102,58,108,105,109,105,116,0,2049,
+ 10595,2049,10727,2049,11256,2049,10741,2049,11276,10,11287,11323,144,102,58,98,101,116,119,101,
+ 101,110,63,0,2049,10880,2049,10565,2049,10727,2049,10880,2049,10880,2049,11298,2049,10741,2049,10492,
+ 10,11309,11349,144,102,58,105,110,99,0,2049,3646,49,0,1,11351,2049,10338,2049,10393,
+ 10,11340,11369,144,102,58,100,101,99,0,2049,3646,49,0,1,11371,2049,10338,2049,10405,
+ 10,11360,11390,144,102,58,99,97,115,101,0,2049,10790,2049,10492,1793,11402,2049,10580,8,
+ 1,-1,10,1,11396,1793,11410,3,1,0,10,1,11406,2049,64,25,6,771,10,11380,
+ 11428,144,102,58,115,105,103,110,0,2049,10565,2049,3646,48,0,1,11432,2049,10338,2049,
+ 10492,1793,11447,1,0,2049,10580,10,1,11442,2049,2653,2049,3646,48,0,1,11453,2049,10338,
+ 2049,10535,1793,11466,1,1,10,1,11463,1793,11473,1,-1,10,1,11470,2049,64,10,11418,
+ 2147483645,131,101,58,77,65,88,0,11478,-2147483645,131,101,58,77,73,78,0,11487,-2147483647,131,
+ 101,58,78,65,78,0,11496,2147483646,131,101,58,73,78,70,0,11505,-2147483646,131,101,58,
+ 45,73,78,70,0,11514,11532,144,101,58,110,63,0,1,-2147483645,2049,2890,1,2147483645,2049,
+ 2903,2049,2921,10,11524,11553,144,101,58,109,97,120,63,0,1,2147483645,11,10,11543,11567,
+ 144,101,58,109,105,110,63,0,1,-2147483645,11,10,11557,11582,144,101,58,122,101,114,
+ 111,63,0,2049,2527,10,11571,11595,144,101,58,110,97,110,63,0,1,-2147483647,11,10,
+ 11585,11609,144,101,58,105,110,102,63,0,1,2147483646,11,10,11599,11624,144,101,58,45,
+ 105,110,102,63,0,1,-2147483646,11,10,11613,11638,144,101,58,99,108,105,112,0,1,
+ -2147483645,1,2147483645,2049,2873,10,11628,11653,144,102,58,69,49,0,1793,11655,2049,3646,49,46,
+ 101,53,0,1,11657,2049,10338,10,11645,11679,144,102,58,45,115,104,105,102,116,0,
+ 2049,11653,2049,10417,10,11667,11696,144,102,58,43,115,104,105,102,116,0,2049,11653,2049,
+ 10429,10,11684,11718,144,102,58,115,105,103,110,101,100,45,115,113,114,116,0,2049,
+ 10565,2049,11428,2049,10961,2049,10478,2049,10319,2049,10417,10,11701,11744,144,102,58,43,101,110,
+ 99,111,100,101,0,2049,11718,2049,11679,10,11731,11762,144,102,58,45,101,110,99,111,
+ 100,101,0,2049,10565,2049,11428,2049,11696,2049,10565,2049,10417,2049,10319,2049,10417,10,11749,11796,
+ 144,102,58,115,105,103,110,101,100,45,115,113,117,97,114,101,0,2049,10565,2049,
+ 11428,2049,10565,2049,10417,2049,10319,2049,10417,10,11777,11819,144,102,58,116,111,45,101,0,
+ 2049,10565,2049,11155,1793,11830,2049,10580,1,-2147483647,10,1,11825,2049,2653,2049,10565,2049,11170,1793,
+ 11845,2049,10580,1,2147483646,10,1,11840,2049,2653,2049,10565,2049,11186,1793,11860,2049,10580,1,-2147483646,
+ 10,1,11855,2049,2653,2049,11744,2049,11202,2049,10358,2049,11638,1,-2147483645,1793,11879,2049,10580,10,
+ 1,11876,2049,2373,1,2147483645,1793,11890,2049,10580,10,1,11887,2049,2373,10,11809,11905,144,101,
+ 58,116,111,45,102,0,1,-2147483647,1793,11912,2049,11064,10,1,11909,2049,2373,1,2147483646,1793,
+ 11923,2049,11092,10,1,11920,2049,2373,1,-2147483646,1793,11934,2049,11123,10,1,11931,2049,2373,2049,
+ 10319,2049,11762,10,11895,11954,144,102,58,115,116,111,114,101,0,1793,11959,2049,11819,10,
+ 1,11956,2049,2100,16,10,11943,11976,144,102,58,102,101,116,99,104,0,15,2049,11905,
+ 10,11965,11996,144,102,58,100,117,109,112,45,115,116,97,99,107,0,2049,10551,2,
+ 1,10727,2049,2275,1793,12014,2049,10741,2049,10565,2049,11003,2049,9209,10,1,12005,2049,2275,10,
+ 11980,12036,144,102,58,100,117,109,112,45,97,115,116,97,99,107,0,2049,10758,2,
+ 1,10741,2049,2275,1793,12054,2049,10565,2049,11003,2049,9209,2049,10727,10,1,12045,2049,2275,10,
+ 12019,12068,144,101,58,112,117,116,0,1,2147483645,1793,12085,2049,3646,101,58,77,65,88,
+ 0,1,12074,2049,9235,10,1,12072,2049,2373,1,-2147483645,1793,12106,2049,3646,101,58,77,73,
+ 78,0,1,12095,2049,9235,10,1,12093,2049,2373,1,0,1793,12125,2049,3646,101,58,48,
+ 0,1,12116,2049,9235,10,1,12114,2049,2373,1,-2147483647,1793,12146,2049,3646,101,58,78,65,
+ 78,0,1,12135,2049,9235,10,1,12133,2049,2373,1,2147483646,1793,12167,2049,3646,101,58,73,
+ 78,70,0,1,12156,2049,9235,10,1,12154,2049,2373,1,-2147483646,1793,12189,2049,3646,101,58,
+ 45,73,78,70,0,1,12177,2049,9235,10,1,12175,2049,2373,2049,11905,2049,11003,10,12059,
+ 12206,131,85,110,105,120,0,0,12198,12219,144,105,100,101,110,116,105,102,121,0,
+ 3841,12206,2049,2527,1793,12286,1,8,2049,9139,2,2049,2562,1793,12274,3,2049,3646,73,79,
+ 32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,56,32,78,79,
+ 84,32,70,79,85,78,68,0,1,12237,2049,9235,2049,9198,10,1,12234,1793,12281,4097,
+ 12206,10,1,12278,2049,64,10,1,12225,9,10,12059,12309,144,105,111,58,117,110,105,
+ 120,45,115,121,115,99,97,108,108,0,2049,12219,3841,12206,2049,9122,10,12290,12331,144,
+ 117,110,105,120,58,115,121,115,116,101,109,0,1,0,2049,12309,10,12316,12349,144,
+ 117,110,105,120,58,102,111,114,107,0,1,1,2049,12309,10,12336,12368,144,117,110,
+ 105,120,58,101,120,101,99,48,0,1,2,2049,12309,10,12354,12387,144,117,110,105,
+ 120,58,101,120,101,99,49,0,1,3,2049,12309,10,12373,12406,144,117,110,105,120,
+ 58,101,120,101,99,50,0,1,4,2049,12309,10,12392,12425,144,117,110,105,120,58,
+ 101,120,101,99,51,0,1,5,2049,12309,10,12411,12443,144,117,110,105,120,58,101,
+ 120,105,116,0,1,6,2049,12309,10,12430,12463,144,117,110,105,120,58,103,101,116,
+ 112,105,100,0,1,7,2049,12309,10,12448,12481,144,117,110,105,120,58,119,97,105,
+ 116,0,1,8,2049,12309,10,12468,12499,144,117,110,105,120,58,107,105,108,108,0,
+ 1,9,2049,12309,10,12486,12518,144,117,110,105,120,58,112,111,112,101,110,0,1,
+ 10,2049,12309,10,12504,12538,144,117,110,105,120,58,112,99,108,111,115,101,0,1,
+ 11,2049,12309,10,12523,12557,144,117,110,105,120,58,99,104,100,105,114,0,1,13,
+ 2049,12309,10,12543,12577,144,117,110,105,120,58,103,101,116,101,110,118,0,1,14,
+ 2049,12309,10,12562,12597,144,117,110,105,120,58,112,117,116,101,110,118,0,1,15,
+ 2049,12309,10,12582,12616,144,117,110,105,120,58,115,108,101,101,112,0,1,16,2049,
+ 12309,10,12602,12637,144,117,110,105,120,58,103,101,116,45,99,119,100,0,2049,3646,
+ 112,119,100,0,1,12639,1,0,2049,12518,2,2049,9980,2049,5990,4,2049,12538,2049,3646,
+ 47,0,1,12659,2049,3852,10,12621,12693,144,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,3646,108,115,32,45,
+ 49,32,124,32,119,99,32,45,108,0,1,12695,1,0,2049,12518,2,2049,9980,2049,
+ 5990,2049,220,4,2049,12538,10,12666,12748,144,117,110,105,120,58,102,111,114,45,101,
+ 97,99,104,45,102,105,108,101,0,2049,3646,108,115,32,45,49,32,45,112,0,
+ 1,12750,1,0,2049,12518,2049,12693,1793,12783,1793,12778,2049,9980,2049,3601,67502597,8,10,1,
+ 12771,2049,2110,10,1,12769,2049,2275,2049,12538,3,10,12726,12800,144,115,116,97,114,116,
+ 0,4,2049,3428,1,0,2049,12518,10,12791,12816,144,114,101,97,100,0,2,2049,9521,
+ 2,2049,3336,2049,2527,10,12808,12835,144,102,105,110,105,115,104,0,2049,12538,2049,3408,
+ 10,12726,12859,144,117,110,105,120,58,115,108,117,114,112,45,112,105,112,101,0,
+ 1793,12875,2049,12800,1793,12868,2049,12816,10,1,12865,2049,2250,2049,12835,10,1,12861,2049,3452,
+ 10,12840,12886,131,105,111,0,0,12880,12899,144,105,100,101,110,116,105,102,121,0,
+ 3841,12886,2049,2527,1793,12966,1,10,2049,9139,2,2049,2562,1793,12954,3,2049,3646,73,79,
+ 32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,49,48,32,78,79,
+ 84,32,70,79,85,78,68,0,1,12917,2049,9235,2049,9198,10,1,12914,1793,12961,4097,
+ 12886,10,1,12958,2049,64,10,1,12905,9,10,12840,12990,144,105,111,58,114,110,103,
+ 45,111,112,101,114,97,116,105,111,110,0,2049,12899,3841,12886,2049,9122,10,12970,13009,
+ 144,110,58,114,97,110,100,111,109,0,2049,12990,10,12997,13023,131,83,111,99,107,
+ 101,116,115,0,0,13012,13036,144,105,100,101,110,116,105,102,121,0,3841,13023,2049,
+ 2527,1793,13103,1,7,2049,9139,2,2049,2562,1793,13091,3,2049,3646,73,79,32,68,69,
+ 86,73,67,69,32,84,89,80,69,32,48,48,48,52,32,78,79,84,32,70,
+ 79,85,78,68,0,1,13054,2049,9235,2049,9198,10,1,13051,1793,13098,4097,13023,10,1,
+ 13095,2049,64,10,1,13042,9,10,12997,13130,144,105,111,58,115,111,99,107,101,116,
+ 45,111,112,101,114,97,116,105,111,110,0,2049,13036,3841,13023,2049,9122,10,13107,13161,
+ 144,115,111,99,107,101,116,58,103,101,116,104,111,115,116,98,121,110,97,109,
+ 101,0,1,0,2049,13130,10,13137,13183,144,115,111,99,107,101,116,58,99,114,101,
+ 97,116,101,0,1,1,2049,13130,10,13166,13203,144,115,111,99,107,101,116,58,98,
+ 105,110,100,0,1,2,2049,13130,10,13188,13225,144,115,111,99,107,101,116,58,108,
+ 105,115,116,101,110,0,1,3,2049,13130,10,13208,13247,144,115,111,99,107,101,116,
+ 58,97,99,99,101,112,116,0,1,4,2049,13130,10,13230,13270,144,115,111,99,107,
+ 101,116,58,99,111,110,110,101,99,116,0,1,5,2049,13130,10,13252,13290,144,115,
+ 111,99,107,101,116,58,115,101,110,100,0,1,6,2049,13130,10,13275,13310,144,115,
+ 111,99,107,101,116,58,114,101,99,118,0,1,8,2049,13130,10,13295,13331,144,115,
+ 111,99,107,101,116,58,99,108,111,115,101,0,1,10,2049,13130,10,13315,13356,144,
+ 115,111,99,107,101,116,58,99,111,110,102,105,103,117,114,101,0,1,11,2049,
+ 13130,10,13336,13374,131,83,99,114,105,112,116,105,110,103,0,7,13361,13387,144,105,
+ 100,101,110,116,105,102,121,0,3841,13374,2049,2527,1793,13454,1,9,2049,9139,2,2049,
+ 2562,1793,13442,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,
+ 32,48,48,48,57,32,78,79,84,32,70,79,85,78,68,0,1,13405,2049,9235,
+ 2049,9198,10,1,13402,1793,13449,4097,13374,10,1,13446,2049,64,10,1,13393,9,10,13336,
+ 13478,144,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,0,2049,
+ 13387,1,0,3841,13374,2049,9122,10,13458,13510,144,115,99,114,105,112,116,58,103,101,
+ 116,45,97,114,103,117,109,101,110,116,0,2049,3627,4,2049,13387,1,1,3841,13374,
+ 2049,9122,10,13487,13533,144,105,110,99,108,117,100,101,0,2049,13387,1,2,3841,13374,
+ 2049,9122,10,13522,13557,144,115,99,114,105,112,116,58,110,97,109,101,0,2049,3627,
+ 2049,13387,1,3,3841,13374,2049,9122,10,13542,13591,144,115,99,114,105,112,116,58,99,
+ 117,114,114,101,110,116,45,102,105,108,101,0,2049,3627,2049,13387,1,4,3841,13374,
+ 2049,9122,10,13568,13625,144,115,99,114,105,112,116,58,99,117,114,114,101,110,116,
+ 45,108,105,110,101,0,2049,13387,1,5,3841,13374,2049,9122,10,13602,13658,144,115,99,
+ 114,105,112,116,58,105,103,110,111,114,101,45,116,111,45,101,111,108,0,2049,
+ 13387,1,6,3841,13374,2049,9122,10,13634,13691,144,115,99,114,105,112,116,58,97,98,
+ 111,114,116,45,105,110,99,108,117,100,101,0,2049,13387,1,7,3841,13374,2049,9122,
+ 10,13667,13712,144,115,121,115,58,97,114,103,99,0,2049,13478,10,13700,13727,144,115,
+ 121,115,58,97,114,103,118,0,2049,13510,10,13715,13742,144,115,121,115,58,110,97,
+ 109,101,0,2049,13557,10,13730,1024,131,84,73,66,0,13745,13766,144,105,109,97,103,
+ 101,58,115,97,118,101,0,1,1000,2049,9139,2049,9122,10,13752,13785,131,75,101,121,
+ 98,111,97,114,100,0,0,13773,13798,144,105,100,101,110,116,105,102,121,0,3841,
+ 13785,2049,2527,1793,13865,1,1,2049,9139,2,2049,2562,1793,13853,3,2049,3646,73,79,32,
+ 68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,49,32,78,79,84,
+ 32,70,79,85,78,68,0,1,13816,2049,9235,2049,9198,10,1,13813,1793,13860,4097,13785,
+ 10,1,13857,2049,64,10,1,13804,9,10,13752,13878,144,99,58,103,101,116,0,2049,
+ 13798,3841,13785,2049,9122,10,13869,13895,144,103,97,116,104,101,114,0,2,1793,13902,1,
+ 8,11,10,1,13898,1793,13910,1,127,11,10,1,13906,2049,2122,22,1,11,1,3336,
+ 2049,64,10,13885,13931,144,99,121,99,108,101,0,2049,13878,2049,2090,4,8,2049,2459,
+ 25,3,2049,13895,1,13931,7,10,13869,13962,144,112,97,114,115,101,45,117,110,116,
+ 105,108,0,1793,13974,2049,3627,2049,3428,2049,13931,771,2049,3302,10,1,13964,2049,3452,10,
+ 13947,13988,144,115,58,103,101,116,0,1793,14010,1793,13996,1,10,11,10,1,13992,1793,
+ 14004,1,13,11,10,1,14000,2049,2122,22,10,1,13990,2049,13962,10,13979,14029,144,115,
+ 58,103,101,116,45,119,111,114,100,0,1,5592,2049,13962,10,14015,14043,144,99,108,
+ 101,97,114,0,1,27,2049,9185,2049,3646,91,50,74,0,1,14049,2049,9235,1,27,
+ 2049,9185,2049,3646,91,48,59,48,72,0,1,14063,2049,9235,10,14034,14084,131,78,111,
+ 69,99,104,111,0,0,14074,14092,144,98,121,101,0,1,0,2049,12443,10,14085,14104,
+ 131,69,79,84,0,0,14097,14117,131,73,103,110,111,114,105,110,103,0,0,14105,
+ 14131,144,105,103,110,111,114,105,110,103,63,0,3841,14117,10,14118,14145,144,118,101,
+ 114,115,105,111,110,0,3841,4,1,100,20,10,14134,14160,144,100,111,110,101,63,
+ 0,2,4097,14104,1793,14169,1,13,11,10,1,14165,1793,14177,1,10,11,10,1,14173,
+ 1793,14185,1,32,11,10,1,14181,2049,2159,22,22,10,14151,14200,144,101,111,108,63,
+ 0,3841,14104,1793,14208,1,13,11,10,1,14204,1793,14216,1,10,11,10,1,14212,2049,
+ 2122,22,10,14192,14232,144,118,97,108,105,100,63,0,2,2049,79,2049,2609,10,14222,
+ 14251,144,99,104,101,99,107,45,101,111,102,0,2,1793,14258,1,-1,11,10,1,
+ 14254,1793,14266,1,4,11,10,1,14262,2049,2122,22,1,14092,9,10,14238,14281,144,98,
+ 115,0,2049,3360,2049,3360,771,10,14275,14299,144,99,104,101,99,107,45,98,115,0,
+ 2,1793,14306,1,8,11,10,1,14302,1793,14314,1,127,11,10,1,14310,2049,2122,22,
+ 1,14281,9,10,14287,14332,144,99,104,101,99,107,0,2049,14251,2049,14299,10,14323,14350,
+ 144,99,104,97,114,97,99,116,101,114,0,2049,13878,2,2049,3336,10,14337,14366,144,
+ 98,117,102,102,101,114,0,1793,14376,1,1024,2049,3428,8,2049,3302,10,1,14368,2049,
+ 3452,10,14356,14395,144,114,101,97,100,45,116,111,107,101,110,0,1793,14411,1793,14406,
+ 2049,14350,2049,14332,2049,14160,10,1,14399,2049,2250,10,1,14397,2049,14366,2049,3724,10,14381,
+ 14427,144,105,110,112,117,116,0,2049,14395,2049,14232,10,14418,14443,144,112,114,111,99,
+ 101,115,115,0,2049,14131,1793,14461,771,2049,14200,1793,14457,1,14117,2049,3047,10,1,14452,
+ 9,10,1,14447,2049,2653,1,367,1,11,2049,64,10,14085,14478,156,47,47,0,2049,
+ 13658,1,14117,2049,3034,10,14472,14495,144,98,97,110,110,101,114,0,2049,14145,2049,3646,
+ 82,69,84,82,79,32,49,50,32,40,37,110,46,37,110,41,92,110,0,1,
+ 14499,2049,7212,2049,9235,2049,1543,2049,1874,18,2049,1874,2049,1543,2049,3646,37,110,32,77,
+ 97,120,44,32,37,110,32,85,115,101,100,44,32,37,110,32,70,114,101,101,
+ 92,110,0,1,14535,2049,7212,2049,9235,10,14485,14579,144,108,105,115,116,101,110,0,
+ 3841,14084,1793,14586,2049,14495,10,1,14583,2049,70,2049,14427,2049,14443,1,14590,7,10,14569,
+ 14607,131,67,108,111,99,107,0,0,14598,14620,144,105,100,101,110,116,105,102,121,
+ 0,3841,14607,2049,2527,1793,14687,1,5,2049,9139,2,2049,2562,1793,14675,3,2049,3646,73,
+ 79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,53,32,78,
+ 79,84,32,70,79,85,78,68,0,1,14638,2049,9235,2049,9198,10,1,14635,1793,14682,
+ 4097,14607,10,1,14679,2049,64,10,1,14626,9,10,14569,14713,144,105,111,58,99,108,
+ 111,99,107,45,111,112,101,114,97,116,105,111,110,0,2049,14620,3841,14607,2049,9122,
+ 10,14691,14739,144,99,108,111,99,107,58,116,105,109,101,115,116,97,109,112,0,
+ 1,0,2049,14713,10,14720,14757,144,99,108,111,99,107,58,100,97,121,0,1,1,
+ 2049,14713,10,14744,14777,144,99,108,111,99,107,58,109,111,110,116,104,0,1,2,
+ 2049,14713,10,14762,14796,144,99,108,111,99,107,58,121,101,97,114,0,1,3,2049,
+ 14713,10,14782,14815,144,99,108,111,99,107,58,104,111,117,114,0,1,4,2049,14713,
+ 10,14801,14836,144,99,108,111,99,107,58,109,105,110,117,116,101,0,1,5,2049,
+ 14713,10,14820,14857,144,99,108,111,99,107,58,115,101,99,111,110,100,0,1,6,
+ 2049,14713,10,14841,14879,144,99,108,111,99,107,58,117,116,99,58,100,97,121,0,
+ 1,7,2049,14713,10,14862,14903,144,99,108,111,99,107,58,117,116,99,58,109,111,
+ 110,116,104,0,1,8,2049,14713,10,14884,14926,144,99,108,111,99,107,58,117,116,
+ 99,58,121,101,97,114,0,1,9,2049,14713,10,14908,14949,144,99,108,111,99,107,
+ 58,117,116,99,58,104,111,117,114,0,1,10,2049,14713,10,14931,14974,144,99,108,
+ 111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,2049,14713,10,
+ 14954,14999,144,99,108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,
+ 1,12,2049,14713,10,14979,15015,144,100,58,119,111,114,100,115,0,1793,15024,2049,162,
+ 2049,9235,2049,9209,10,1,15017,2049,7441,10,15004,15045,144,100,58,119,111,114,100,115,
+ 45,119,105,116,104,0,2049,1874,2049,4648,1793,15076,2049,162,2,2049,1874,2049,4162,1793,
+ 15065,2049,9235,2049,9209,10,1,15060,1793,15071,3,10,1,15069,2049,64,10,1,15051,2049,
+ 7441,10,15029,15100,144,100,105,115,112,108,97,121,45,105,102,45,108,101,102,116,
+ 0,2,2049,1874,2049,4598,1793,15112,2049,9235,2049,9209,10,1,15107,1793,15118,3,10,1,
+ 15116,2049,64,10,15029,15149,144,100,58,119,111,114,100,115,45,98,101,103,105,110,
+ 110,105,110,103,45,119,105,116,104,0,2049,1874,2049,4648,1793,15160,2049,162,2049,15100,
+ 10,1,15155,2049,7441,10,0 };